diff --git a/docs/pom.xml b/docs/pom.xml
index 04fed145..80413d89 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -10,13 +10,12 @@
spring-cloud-kubernetes
2.0.0-SNAPSHOT
- pom
+ jar
Spring Cloud Kubernetes Docs
Spring Cloud Kubernetes Docs
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
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
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
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..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
@@ -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,9 @@ 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;
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
+