From 96b3cc9a3914ccf3e081e982920eb59d6ded0468 Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Mon, 19 Oct 2020 10:54:08 -0400 Subject: [PATCH 1/2] Add conditional on enabled annotation for info contributor. Fixes #657. --- docs/src/main/asciidoc/info-contributor.adoc | 7 +++++++ docs/src/main/asciidoc/spring-cloud-kubernetes.adoc | 2 ++ .../cloud/kubernetes/KubernetesAutoConfiguration.java | 2 ++ 3 files changed, 11 insertions(+) create mode 100644 docs/src/main/asciidoc/info-contributor.adoc diff --git a/docs/src/main/asciidoc/info-contributor.adoc b/docs/src/main/asciidoc/info-contributor.adoc new file mode 100644 index 00000000..073dfdca --- /dev/null +++ b/docs/src/main/asciidoc/info-contributor.adoc @@ -0,0 +1,7 @@ +== Info Contributor + +Spring Cloud Kubernetes includes an `InfoContributor` which adds Pod information to +Spring Boot's `/info` Acturator endpoint. + +You can disable this `InfoContributor` by setting `management.info.kubernetes.enabled` +to `false` in `bootstrap.[properties | yaml]`. diff --git a/docs/src/main/asciidoc/spring-cloud-kubernetes.adoc b/docs/src/main/asciidoc/spring-cloud-kubernetes.adoc index 4876f418..1d627d1d 100644 --- a/docs/src/main/asciidoc/spring-cloud-kubernetes.adoc +++ b/docs/src/main/asciidoc/spring-cloud-kubernetes.adoc @@ -21,6 +21,8 @@ include::kubernetes-awareness.adoc[] include::pod-health-indicator.adoc[] +include::info-contributor.adoc[] + include::leader-election.adoc[] include::load-balancer.adoc[] diff --git a/spring-cloud-kubernetes-core/src/main/java/org/springframework/cloud/kubernetes/KubernetesAutoConfiguration.java b/spring-cloud-kubernetes-core/src/main/java/org/springframework/cloud/kubernetes/KubernetesAutoConfiguration.java index 9ccdacd1..034a8e14 100644 --- a/spring-cloud-kubernetes-core/src/main/java/org/springframework/cloud/kubernetes/KubernetesAutoConfiguration.java +++ b/spring-cloud-kubernetes-core/src/main/java/org/springframework/cloud/kubernetes/KubernetesAutoConfiguration.java @@ -26,6 +26,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; +import org.springframework.boot.actuate.autoconfigure.info.ConditionalOnEnabledInfoContributor; import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -166,6 +167,7 @@ public class KubernetesAutoConfiguration { } @Bean + @ConditionalOnEnabledInfoContributor("kubernetes") public KubernetesInfoContributor kubernetesInfoContributor(PodUtils podUtils) { return new KubernetesInfoContributor(podUtils); } From 22aa32b1878b24eec12d12af0e354c6c8c7a889b Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Mon, 19 Oct 2020 10:55:12 -0400 Subject: [PATCH 2/2] Formatting changes --- .../config/ConfigMapsFromFilePathsTests.java | 12 ++++++------ .../config/example/GreetingController.java | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsFromFilePathsTests.java b/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsFromFilePathsTests.java index fac9e9fa..03912687 100644 --- a/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsFromFilePathsTests.java +++ b/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsFromFilePathsTests.java @@ -46,7 +46,7 @@ import static org.springframework.cloud.kubernetes.config.ConfigMapTestUtil.crea "spring.cloud.kubernetes.config.paths=" + ConfigMapsFromFilePathsTests.FIRST_FILE_NAME_FULL_PATH + "," + ConfigMapsFromFilePathsTests.SECOND_FILE_NAME_FULL_PATH + "," - + ConfigMapsFromFilePathsTests.FIRST_FILE_NAME_DUPLICATED_FULL_PATH}) + + ConfigMapsFromFilePathsTests.FIRST_FILE_NAME_DUPLICATED_FULL_PATH }) public class ConfigMapsFromFilePathsTests { protected static final String FILES_ROOT_PATH = "/tmp/scktests"; @@ -68,9 +68,8 @@ public class ConfigMapsFromFilePathsTests { protected static final String UNUSED_FILE_NAME_FULL_PATH = FILES_ROOT_PATH + "/" + UNUSED_FILE_NAME; - protected static final String FIRST_FILE_NAME_DUPLICATED_FULL_PATH = FILES_ROOT_PATH + "/" - + FILES_SUB_PATH + "/" - + FIRST_FILE_NAME; + protected static final String FIRST_FILE_NAME_DUPLICATED_FULL_PATH = FILES_ROOT_PATH + + "/" + FILES_SUB_PATH + "/" + FIRST_FILE_NAME; @ClassRule public static KubernetesServer server = new KubernetesServer(); @@ -100,7 +99,8 @@ public class ConfigMapsFromFilePathsTests { createFileWithContent(SECOND_FILE_NAME_FULL_PATH, "bean.farewell=Bye from path!"); createFileWithContent(UNUSED_FILE_NAME_FULL_PATH, "bean.morning=Morning from path!"); - createFileWithContent(FIRST_FILE_NAME_DUPLICATED_FULL_PATH, "bean.bonjour=Bonjour from path!"); + createFileWithContent(FIRST_FILE_NAME_DUPLICATED_FULL_PATH, + "bean.bonjour=Bonjour from path!"); } @AfterClass @@ -136,7 +136,7 @@ public class ConfigMapsFromFilePathsTests { @Test public void bonjourInputShouldReturnPropertyFromDuplicatedFile() { this.webClient.get().uri("/api/bonjour").exchange().expectStatus().isOk() - .expectBody().jsonPath("content").isEqualTo("Bonjour from path!"); + .expectBody().jsonPath("content").isEqualTo("Bonjour from path!"); } } diff --git a/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/example/GreetingController.java b/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/example/GreetingController.java index cc5cf4c6..1b2983d7 100644 --- a/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/example/GreetingController.java +++ b/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/example/GreetingController.java @@ -54,7 +54,7 @@ public class GreetingController { @RequestMapping("/api/bonjour") public ResponseMessage bonjour( - @RequestParam(value = "name", defaultValue = "World") String name) { + @RequestParam(value = "name", defaultValue = "World") String name) { return new ResponseMessage(String.format(this.properties.getBonjour(), name)); }