From 2a969f491dc3aca1e46d0d5e0cede18143cf2019 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 8 Jun 2020 16:47:57 +0200 Subject: [PATCH 1/7] Uploading sources for docs --- docs/pom.xml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index 04fed145..7530ea8f 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -16,7 +16,6 @@ spring-cloud-kubernetes ${basedir}/.. - 1.0.x,1.1.x spring.cloud.kubernetes.* deploy @@ -35,15 +34,7 @@ - - - - maven-deploy-plugin - - true - - - + src/main/asciidoc From 272001bc61e589cb0139042352bc90c0cdab19b8 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 8 Jun 2020 17:12:01 +0200 Subject: [PATCH 2/7] Changed packaging to jar --- docs/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pom.xml b/docs/pom.xml index 7530ea8f..80413d89 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -10,7 +10,7 @@ spring-cloud-kubernetes 2.0.0-SNAPSHOT - pom + jar Spring Cloud Kubernetes Docs Spring Cloud Kubernetes Docs From a611924f7fe998e40db68b10d7b4affb737c0780 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 8 Jun 2020 18:29:23 +0200 Subject: [PATCH 3/7] Updated props --- docs/src/main/asciidoc/_configprops.adoc | 68 ++++++++++++------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc index 0f66d483..5ed06703 100644 --- a/docs/src/main/asciidoc/_configprops.adoc +++ b/docs/src/main/asciidoc/_configprops.adoc @@ -1,54 +1,54 @@ |=== |Name | Default | Description -|spring.cloud.kubernetes.client.api-version | | null +|spring.cloud.kubernetes.client.api-version | | |spring.cloud.kubernetes.client.apiVersion | v1 | Kubernetes API Version -|spring.cloud.kubernetes.client.ca-cert-data | | null -|spring.cloud.kubernetes.client.ca-cert-file | | null +|spring.cloud.kubernetes.client.ca-cert-data | | +|spring.cloud.kubernetes.client.ca-cert-file | | |spring.cloud.kubernetes.client.caCertData | | Kubernetes API CACertData |spring.cloud.kubernetes.client.caCertFile | | Kubernetes API CACertFile -|spring.cloud.kubernetes.client.client-cert-data | | null -|spring.cloud.kubernetes.client.client-cert-file | | null -|spring.cloud.kubernetes.client.client-key-algo | | null -|spring.cloud.kubernetes.client.client-key-data | | null -|spring.cloud.kubernetes.client.client-key-file | | null -|spring.cloud.kubernetes.client.client-key-passphrase | | null +|spring.cloud.kubernetes.client.client-cert-data | | +|spring.cloud.kubernetes.client.client-cert-file | | +|spring.cloud.kubernetes.client.client-key-algo | | +|spring.cloud.kubernetes.client.client-key-data | | +|spring.cloud.kubernetes.client.client-key-file | | +|spring.cloud.kubernetes.client.client-key-passphrase | | |spring.cloud.kubernetes.client.clientCertData | | Kubernetes API ClientCertData |spring.cloud.kubernetes.client.clientCertFile | | Kubernetes API ClientCertFile |spring.cloud.kubernetes.client.clientKeyAlgo | RSA | Kubernetes API ClientKeyAlgo |spring.cloud.kubernetes.client.clientKeyData | | Kubernetes API ClientKeyData |spring.cloud.kubernetes.client.clientKeyFile | | Kubernetes API ClientKeyFile |spring.cloud.kubernetes.client.clientKeyPassphrase | changeit | Kubernetes API ClientKeyPassphrase -|spring.cloud.kubernetes.client.connection-timeout | | null +|spring.cloud.kubernetes.client.connection-timeout | | |spring.cloud.kubernetes.client.connectionTimeout | 10s | Connection timeout -|spring.cloud.kubernetes.client.http-proxy | | null -|spring.cloud.kubernetes.client.https-proxy | | null -|spring.cloud.kubernetes.client.logging-interval | | null +|spring.cloud.kubernetes.client.http-proxy | | +|spring.cloud.kubernetes.client.https-proxy | | +|spring.cloud.kubernetes.client.logging-interval | | |spring.cloud.kubernetes.client.loggingInterval | 20s | Logging interval -|spring.cloud.kubernetes.client.master-url | | null +|spring.cloud.kubernetes.client.master-url | | |spring.cloud.kubernetes.client.masterUrl | https://kubernetes.default.svc | Kubernetes API Master Node URL |spring.cloud.kubernetes.client.namespace | true | Kubernetes Namespace -|spring.cloud.kubernetes.client.no-proxy | | null +|spring.cloud.kubernetes.client.no-proxy | | |spring.cloud.kubernetes.client.password | | Kubernetes API Password -|spring.cloud.kubernetes.client.proxy-password | | null -|spring.cloud.kubernetes.client.proxy-username | | null -|spring.cloud.kubernetes.client.request-timeout | | null +|spring.cloud.kubernetes.client.proxy-password | | +|spring.cloud.kubernetes.client.proxy-username | | +|spring.cloud.kubernetes.client.request-timeout | | |spring.cloud.kubernetes.client.requestTimeout | 10s | Request timeout -|spring.cloud.kubernetes.client.rolling-timeout | | null +|spring.cloud.kubernetes.client.rolling-timeout | | |spring.cloud.kubernetes.client.rollingTimeout | 900s | Rolling timeout -|spring.cloud.kubernetes.client.trust-certs | | null +|spring.cloud.kubernetes.client.trust-certs | | |spring.cloud.kubernetes.client.trustCerts | false | Kubernetes API Trust Certificates |spring.cloud.kubernetes.client.username | | Kubernetes API Username -|spring.cloud.kubernetes.client.watch-reconnect-interval | | null -|spring.cloud.kubernetes.client.watch-reconnect-limit | | null +|spring.cloud.kubernetes.client.watch-reconnect-interval | | +|spring.cloud.kubernetes.client.watch-reconnect-limit | | |spring.cloud.kubernetes.client.watchReconnectInterval | 1s | Reconnect Interval |spring.cloud.kubernetes.client.watchReconnectLimit | -1 | Reconnect Interval limit retries -|spring.cloud.kubernetes.config.enable-api | true | null +|spring.cloud.kubernetes.config.enable-api | true | |spring.cloud.kubernetes.config.enabled | true | Enable the ConfigMap property source locator. -|spring.cloud.kubernetes.config.name | | null -|spring.cloud.kubernetes.config.namespace | | null -|spring.cloud.kubernetes.config.paths | | null -|spring.cloud.kubernetes.config.sources | | null +|spring.cloud.kubernetes.config.name | | +|spring.cloud.kubernetes.config.namespace | | +|spring.cloud.kubernetes.config.paths | | +|spring.cloud.kubernetes.config.sources | | |spring.cloud.kubernetes.discovery.all-namespaces | false | If discovering all namespaces. |spring.cloud.kubernetes.discovery.enabled | true | If Kubernetes Discovery is enabled. |spring.cloud.kubernetes.discovery.filter | | SpEL expression to filter services AFTER they have been retrieved from the Kubernetes API server. @@ -59,7 +59,7 @@ |spring.cloud.kubernetes.discovery.metadata.annotations-prefix | | When addAnnotations is set, then this will be used as a prefix to the key names in the metadata map. |spring.cloud.kubernetes.discovery.metadata.labels-prefix | | When addLabels is set, then this will be used as a prefix to the key names in the metadata map. |spring.cloud.kubernetes.discovery.metadata.ports-prefix | port. | When addPorts is set, then this will be used as a prefix to the key names in the metadata map. -|spring.cloud.kubernetes.discovery.order | | null +|spring.cloud.kubernetes.discovery.order | | |spring.cloud.kubernetes.discovery.primary-port-name | | If set then the port with a given name is used as primary when multiple ports are defined for a service. |spring.cloud.kubernetes.discovery.service-labels | | If set, then only the services matching these labels will be fetched from the Kubernetes API server. |spring.cloud.kubernetes.discovery.service-name | unknown | The service name of the local instance. @@ -71,12 +71,12 @@ |spring.cloud.kubernetes.reload.monitoring-secrets | false | Enables monitoring on secrets to detect changes. |spring.cloud.kubernetes.reload.period | 15000ms | Sets the polling period to use when the detection mode is POLLING. |spring.cloud.kubernetes.reload.strategy | | Sets the reload strategy for Kubernetes configuration reload on change. -|spring.cloud.kubernetes.secrets.enable-api | false | null +|spring.cloud.kubernetes.secrets.enable-api | false | |spring.cloud.kubernetes.secrets.enabled | true | Enable the Secrets property source locator. -|spring.cloud.kubernetes.secrets.labels | | null -|spring.cloud.kubernetes.secrets.name | | null -|spring.cloud.kubernetes.secrets.namespace | | null -|spring.cloud.kubernetes.secrets.paths | | null -|spring.cloud.kubernetes.secrets.sources | | null +|spring.cloud.kubernetes.secrets.labels | | +|spring.cloud.kubernetes.secrets.name | | +|spring.cloud.kubernetes.secrets.namespace | | +|spring.cloud.kubernetes.secrets.paths | | +|spring.cloud.kubernetes.secrets.sources | | |=== \ No newline at end of file From 7d78d64f918bbcc6119cf5a32e3ff6ccac699a3b Mon Sep 17 00:00:00 2001 From: spencergibb Date: Mon, 8 Jun 2020 12:44:04 -0400 Subject: [PATCH 4/7] Adds junit-vintage-engine --- .../kubernetes-leader-election-example/pom.xml | 5 +++++ .../discovery/tests/pom.xml | 5 +++++ .../simple-configmap/pom.xml | 5 +++++ .../simple-core/pom.xml | 5 +++++ spring-cloud-kubernetes-leader/pom.xml | 5 +++++ 5 files changed, 25 insertions(+) diff --git a/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml index 9e05eb53..4dc16630 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml @@ -49,6 +49,11 @@ spring-boot-starter-test test + + org.junit.vintage + junit-vintage-engine + test + diff --git a/spring-cloud-kubernetes-integration-tests/discovery/tests/pom.xml b/spring-cloud-kubernetes-integration-tests/discovery/tests/pom.xml index 5987eb4b..97fd9aa3 100644 --- a/spring-cloud-kubernetes-integration-tests/discovery/tests/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/discovery/tests/pom.xml @@ -19,6 +19,11 @@ spring-boot-starter-test test + + org.junit.vintage + junit-vintage-engine + test + org.arquillian.cube arquillian-cube-kubernetes diff --git a/spring-cloud-kubernetes-integration-tests/simple-configmap/pom.xml b/spring-cloud-kubernetes-integration-tests/simple-configmap/pom.xml index b7caa713..37ebae6e 100644 --- a/spring-cloud-kubernetes-integration-tests/simple-configmap/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/simple-configmap/pom.xml @@ -36,6 +36,11 @@ spring-boot-starter-test test + + org.junit.vintage + junit-vintage-engine + test + org.arquillian.cube arquillian-cube-kubernetes diff --git a/spring-cloud-kubernetes-integration-tests/simple-core/pom.xml b/spring-cloud-kubernetes-integration-tests/simple-core/pom.xml index 77da694b..41cd2ce2 100644 --- a/spring-cloud-kubernetes-integration-tests/simple-core/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/simple-core/pom.xml @@ -36,6 +36,11 @@ spring-boot-starter-test test + + org.junit.vintage + junit-vintage-engine + test + org.arquillian.cube arquillian-cube-kubernetes diff --git a/spring-cloud-kubernetes-leader/pom.xml b/spring-cloud-kubernetes-leader/pom.xml index 9cd05253..4f9c39ef 100644 --- a/spring-cloud-kubernetes-leader/pom.xml +++ b/spring-cloud-kubernetes-leader/pom.xml @@ -62,6 +62,11 @@ spring-boot-starter-test test + + org.junit.vintage + junit-vintage-engine + test + From d691f1353986ccb1d33a70ed9fd206f9752c5278 Mon Sep 17 00:00:00 2001 From: Thomas Zoratto Date: Mon, 15 Jun 2020 21:31:29 +0200 Subject: [PATCH 5/7] Fix scheduled discovery when allNamespaces property is true (#544) Co-authored-by: Thomas Zoratto --- .../discovery/KubernetesCatalogWatch.java | 13 ++++++++++--- .../KubernetesCatalogWatchAutoConfiguration.java | 5 +++-- .../discovery/KubernetesCatalogWatchTest.java | 3 +++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatch.java b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatch.java index 03511b14..d59d88a6 100644 --- a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatch.java +++ b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatch.java @@ -45,12 +45,16 @@ public class KubernetesCatalogWatch implements ApplicationEventPublisherAware { private final KubernetesClient kubernetesClient; + private final KubernetesDiscoveryProperties properties; + private final AtomicReference> catalogEndpointsState = new AtomicReference<>(); private ApplicationEventPublisher publisher; - public KubernetesCatalogWatch(KubernetesClient kubernetesClient) { + public KubernetesCatalogWatch(KubernetesClient kubernetesClient, + KubernetesDiscoveryProperties properties) { this.kubernetesClient = kubernetesClient; + this.properties = properties; } @Override @@ -66,8 +70,11 @@ public class KubernetesCatalogWatch implements ApplicationEventPublisherAware { // not all pods participate in the service discovery. only those that have // endpoints. - List endpoints = this.kubernetesClient.endpoints().list() - .getItems(); + List endpoints = this.properties + .isAllNamespaces() + ? this.kubernetesClient.endpoints().inAnyNamespace().list() + .getItems() + : this.kubernetesClient.endpoints().list().getItems(); List endpointsPodNames = endpoints.stream().map(Endpoints::getSubsets) .filter(Objects::nonNull).flatMap(Collection::stream) .map(EndpointSubset::getAddresses).filter(Objects::nonNull) diff --git a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatchAutoConfiguration.java b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatchAutoConfiguration.java index 7fd8b229..c0cb2a5f 100644 --- a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatchAutoConfiguration.java +++ b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatchAutoConfiguration.java @@ -42,8 +42,9 @@ public class KubernetesCatalogWatchAutoConfiguration { @ConditionalOnProperty( name = "spring.cloud.kubernetes.discovery.catalog-services-watch.enabled", matchIfMissing = true) - public KubernetesCatalogWatch kubernetesCatalogWatch(KubernetesClient client) { - return new KubernetesCatalogWatch(client); + public KubernetesCatalogWatch kubernetesCatalogWatch(KubernetesClient client, + KubernetesDiscoveryProperties properties) { + return new KubernetesCatalogWatch(client, properties); } } diff --git a/spring-cloud-kubernetes-discovery/src/test/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatchTest.java b/spring-cloud-kubernetes-discovery/src/test/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatchTest.java index 8102e9e6..419cb595 100644 --- a/spring-cloud-kubernetes-discovery/src/test/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatchTest.java +++ b/spring-cloud-kubernetes-discovery/src/test/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatchTest.java @@ -57,6 +57,9 @@ public class KubernetesCatalogWatchTest { @Mock private KubernetesClient kubernetesClient; + @Mock + private KubernetesDiscoveryProperties kubernetesDiscoveryProperties; + @Mock private ApplicationEventPublisher applicationEventPublisher; From 9224c760aa0f94de925086ba3798fa683202e10f Mon Sep 17 00:00:00 2001 From: spencergibb Date: Mon, 15 Jun 2020 16:37:44 -0400 Subject: [PATCH 6/7] Adds junit-vintage-engine --- spring-cloud-kubernetes-config/pom.xml | 5 +++++ spring-cloud-kubernetes-discovery/pom.xml | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/spring-cloud-kubernetes-config/pom.xml b/spring-cloud-kubernetes-config/pom.xml index 4f9ad643..c5df2ea0 100644 --- a/spring-cloud-kubernetes-config/pom.xml +++ b/spring-cloud-kubernetes-config/pom.xml @@ -90,6 +90,11 @@ spring-boot-starter-test test + + org.junit.vintage + junit-vintage-engine + test + org.springframework.cloud spring-cloud-test-support diff --git a/spring-cloud-kubernetes-discovery/pom.xml b/spring-cloud-kubernetes-discovery/pom.xml index 2ea35f15..80c18886 100644 --- a/spring-cloud-kubernetes-discovery/pom.xml +++ b/spring-cloud-kubernetes-discovery/pom.xml @@ -72,6 +72,11 @@ spring-boot-starter-test test + + org.junit.vintage + junit-vintage-engine + test + org.springframework.boot From c03922ef6124111cec47ad727731357801d92ea8 Mon Sep 17 00:00:00 2001 From: buildmaster Date: Tue, 16 Jun 2020 11:47:21 +0000 Subject: [PATCH 7/7] Bumping versions --- .../kubernetes/discovery/KubernetesCatalogWatch.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatch.java b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatch.java index d59d88a6..a0bee9f6 100644 --- a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatch.java +++ b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesCatalogWatch.java @@ -70,11 +70,9 @@ public class KubernetesCatalogWatch implements ApplicationEventPublisherAware { // not all pods participate in the service discovery. only those that have // endpoints. - List endpoints = this.properties - .isAllNamespaces() - ? this.kubernetesClient.endpoints().inAnyNamespace().list() - .getItems() - : this.kubernetesClient.endpoints().list().getItems(); + List endpoints = this.properties.isAllNamespaces() + ? this.kubernetesClient.endpoints().inAnyNamespace().list().getItems() + : this.kubernetesClient.endpoints().list().getItems(); List endpointsPodNames = endpoints.stream().map(Endpoints::getSubsets) .filter(Objects::nonNull).flatMap(Collection::stream) .map(EndpointSubset::getAddresses).filter(Objects::nonNull)