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 +