diff --git a/spring-cloud-kubernetes-integration-tests/pom.xml b/spring-cloud-kubernetes-integration-tests/pom.xml
index 0d55b6df..9faa484b 100644
--- a/spring-cloud-kubernetes-integration-tests/pom.xml
+++ b/spring-cloud-kubernetes-integration-tests/pom.xml
@@ -61,7 +61,6 @@
spring-cloud-kubernetes-fabric8-client-reload
spring-cloud-kubernetes-k8s-client-reload
- spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap
spring-cloud-kubernetes-fabric8-istio-it
spring-cloud-kubernetes-discoveryclient-it
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/pom.xml
deleted file mode 100644
index 0f5a4a49..00000000
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/pom.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
- spring-cloud-kubernetes-integration-tests
- org.springframework.cloud
- 3.0.5-SNAPSHOT
-
- 4.0.0
-
- spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap
-
-
-
- org.springframework.cloud
- spring-cloud-kubernetes-fabric8-discovery
-
-
- org.springframework.cloud
- spring-cloud-starter-bootstrap
-
-
- org.springframework.boot
- spring-boot-starter-webflux
-
-
- org.springframework.boot
- spring-boot-starter-actuator
-
-
-
- org.springframework.cloud
- spring-cloud-kubernetes-test-support
-
-
-
-
-
-
- ../src/main/resources
- true
-
-
- src/main/resources
- true
-
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
- docker.io/springcloud/${project.artifactId}:${project.version}
-
-
-
- build-image
-
- ${skip.build.image}
-
- package
-
- build-image
-
-
-
- repackage
- package
-
- repackage
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
- true
-
-
-
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
-
-
-
- integration-test
-
-
-
-
-
- ${testsToRun}
-
-
-
-
-
-
-
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/bootstrap/Fabric8DiscoveryBootstrapApp.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/bootstrap/Fabric8DiscoveryBootstrapApp.java
deleted file mode 100644
index 607af1be..00000000
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/bootstrap/Fabric8DiscoveryBootstrapApp.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2013-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.cloud.kubernetes.fabric8.discovery.bootstrap;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-/**
- * @author wind57
- */
-@SpringBootApplication
-public class Fabric8DiscoveryBootstrapApp {
-
- public static void main(String[] args) {
- SpringApplication.run(Fabric8DiscoveryBootstrapApp.class, args);
- }
-
-}
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/bootstrap/Fabric8DiscoveryBootstrapController.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/bootstrap/Fabric8DiscoveryBootstrapController.java
deleted file mode 100644
index f9fac40b..00000000
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/bootstrap/Fabric8DiscoveryBootstrapController.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2013-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.cloud.kubernetes.fabric8.discovery.bootstrap;
-
-import java.util.List;
-
-import org.springframework.cloud.kubernetes.fabric8.discovery.KubernetesDiscoveryClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author wind57
- */
-@RestController
-public class Fabric8DiscoveryBootstrapController {
-
- private final KubernetesDiscoveryClient discoveryClient;
-
- public Fabric8DiscoveryBootstrapController(KubernetesDiscoveryClient discoveryClient) {
- this.discoveryClient = discoveryClient;
- }
-
- @GetMapping("/services")
- public List allServices() {
- return discoveryClient.getServices();
- }
-
-}
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/main/resources/bootstrap.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/main/resources/bootstrap.yaml
deleted file mode 100644
index fec3cf7b..00000000
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/main/resources/bootstrap.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-spring:
- application:
- name: fabric8-discovery-with-bootstrap
- cloud:
- config:
- discovery:
- enabled: true
- fail-fast: true
- retry:
- max-attempts: 60
- enabled: true
- request-connect-timeout: 1000
- request-read-timeout: 1000
-logging:
- level:
- root: DEBUG
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/bootstrap/Fabric8DiscoveryBootstrapIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/bootstrap/Fabric8DiscoveryBootstrapIT.java
deleted file mode 100644
index cc1ee665..00000000
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/bootstrap/Fabric8DiscoveryBootstrapIT.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright 2013-2023 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.cloud.kubernetes.fabric8.discovery.bootstrap;
-
-import java.io.InputStream;
-import java.time.Duration;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-import io.fabric8.kubernetes.api.model.EnvVar;
-import io.fabric8.kubernetes.api.model.EnvVarBuilder;
-import io.fabric8.kubernetes.api.model.Service;
-import io.fabric8.kubernetes.api.model.apps.Deployment;
-import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
-import io.fabric8.kubernetes.client.KubernetesClient;
-import io.fabric8.kubernetes.client.utils.Serialization;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.testcontainers.k3s.K3sContainer;
-import reactor.netty.http.client.HttpClient;
-import reactor.util.retry.Retry;
-import reactor.util.retry.RetryBackoffSpec;
-
-import org.springframework.cloud.kubernetes.integration.tests.commons.Commons;
-import org.springframework.cloud.kubernetes.integration.tests.commons.Phase;
-import org.springframework.cloud.kubernetes.integration.tests.commons.fabric8_client.Util;
-import org.springframework.core.ParameterizedTypeReference;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.client.reactive.ReactorClientHttpConnector;
-import org.springframework.web.reactive.function.client.WebClient;
-
-/**
- * @author wind57
- */
-class Fabric8DiscoveryBootstrapIT {
-
- private static final String NAMESPACE = "default";
-
- private static final String IMAGE_NAME = "spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap";
-
- private static KubernetesClient client;
-
- private static Util util;
-
- private static final K3sContainer K3S = Commons.container();
-
- @BeforeAll
- static void beforeAll() throws Exception {
- K3S.start();
- Commons.validateImage(IMAGE_NAME, K3S);
- Commons.loadSpringCloudKubernetesImage(IMAGE_NAME, K3S);
-
- util = new Util(K3S);
- client = util.client();
-
- util.setUp(NAMESPACE);
-
- manifests(Phase.CREATE);
- util.wiremock(NAMESPACE, "/wiremock", Phase.CREATE, false);
- }
-
- @AfterAll
- static void after() throws Exception {
- util.wiremock(NAMESPACE, "/wiremock", Phase.DELETE, false);
- manifests(Phase.DELETE);
- Commons.cleanUp(IMAGE_NAME, K3S);
- Commons.systemPrune();
- }
-
- /**
- * A simple test to discover services.
- */
- @Test
- void testSimple() {
- WebClient client = builder().baseUrl("http://localhost/services").build();
-
- List result = client.method(HttpMethod.GET).retrieve()
- .bodyToMono(new ParameterizedTypeReference>() {
-
- }).retryWhen(retrySpec()).block();
-
- Assertions.assertEquals(result.size(), 3);
- Assertions.assertTrue(result.contains("kubernetes"));
- Assertions.assertTrue(result.contains("spring-cloud-kubernetes-fabric8-client-discovery"));
- Assertions.assertTrue(result.contains("service-wiremock"));
- }
-
- private static void manifests(Phase phase) {
-
- InputStream deploymentStream = util.inputStream("fabric8-discovery-deployment.yaml");
- InputStream serviceStream = util.inputStream("fabric8-discovery-service.yaml");
- InputStream ingressStream = util.inputStream("fabric8-discovery-ingress.yaml");
-
- Deployment deployment = Serialization.unmarshal(deploymentStream, Deployment.class);
-
- List existing = new ArrayList<>(
- deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getEnv());
- existing.add(new EnvVarBuilder().withName("SPRING_CLOUD_KUBERNETES_DISCOVERY_INCLUDEEXTERNALNAMESERVICES")
- .withValue("true").build());
- existing.add(
- new EnvVarBuilder().withName("LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_CLOUD_KUBERNETES_FABRIC8_DISCOVERY")
- .withValue("DEBUG").build());
- deployment.getSpec().getTemplate().getSpec().getContainers().get(0).setEnv(existing);
-
- Service service = Serialization.unmarshal(serviceStream, Service.class);
- Ingress ingress = Serialization.unmarshal(ingressStream, Ingress.class);
-
- if (phase.equals(Phase.CREATE)) {
- util.createAndWait(NAMESPACE, null, deployment, service, ingress, true);
- }
- else {
- util.deleteAndWait(NAMESPACE, deployment, service, ingress);
- }
-
- }
-
- private WebClient.Builder builder() {
- return WebClient.builder().clientConnector(new ReactorClientHttpConnector(HttpClient.create()));
- }
-
- private RetryBackoffSpec retrySpec() {
- return Retry.fixedDelay(15, Duration.ofSeconds(1)).filter(Objects::nonNull);
- }
-
-}
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/resources/fabric8-discovery-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/resources/fabric8-discovery-deployment.yaml
deleted file mode 100644
index ccc4a430..00000000
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/resources/fabric8-discovery-deployment.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: spring-cloud-kubernetes-fabric8-client-discovery-deployment
-spec:
- selector:
- matchLabels:
- app: spring-cloud-kubernetes-fabric8-client-discovery
- template:
- metadata:
- labels:
- app: spring-cloud-kubernetes-fabric8-client-discovery
- spec:
- serviceAccountName: spring-cloud-kubernetes-serviceaccount
- containers:
- - name: spring-cloud-kubernetes-fabric8-client-discovery
- image: docker.io/springcloud/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap
- imagePullPolicy: IfNotPresent
- readinessProbe:
- httpGet:
- port: 8080
- path: /actuator/health/readiness
- livenessProbe:
- httpGet:
- port: 8080
- path: /actuator/health/liveness
- ports:
- - containerPort: 8080
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/resources/fabric8-discovery-ingress.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/resources/fabric8-discovery-ingress.yaml
deleted file mode 100644
index 334508bf..00000000
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/resources/fabric8-discovery-ingress.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
- name: spring-cloud-kubernetes-fabric8-client-discovery-ingress
- namespace: default
-spec:
- rules:
- - http:
- paths:
- - path: /
- pathType: Prefix
- backend:
- service:
- name: spring-cloud-kubernetes-fabric8-client-discovery
- port:
- number: 8080
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/resources/fabric8-discovery-service.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/resources/fabric8-discovery-service.yaml
deleted file mode 100644
index bea511d5..00000000
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/resources/fabric8-discovery-service.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- app: spring-cloud-kubernetes-fabric8-client-discovery
- name: spring-cloud-kubernetes-fabric8-client-discovery
-spec:
- ports:
- - name: http
- port: 8080
- targetPort: 8080
- selector:
- app: spring-cloud-kubernetes-fabric8-client-discovery
- type: ClusterIP
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/resources/logback-test.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/resources/logback-test.xml
deleted file mode 100644
index ee243343..00000000
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery-with-bootstrap/src/test/resources/logback-test.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
-
-
-
-
-
-
-
-
-
-
-
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/pom.xml
index dfe6a31e..7c3771a1 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/pom.xml
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/pom.xml
@@ -30,6 +30,14 @@
spring-cloud-kubernetes-test-support
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter
+
+
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/Fabric8DiscoveryBoostrapDelegate.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/Fabric8DiscoveryBoostrapDelegate.java
new file mode 100644
index 00000000..c4584c3f
--- /dev/null
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/Fabric8DiscoveryBoostrapDelegate.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2013-2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.springframework.cloud.kubernetes.fabric8.client.discovery;
+
+import java.util.List;
+
+import org.junit.jupiter.api.Assertions;
+
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.http.HttpMethod;
+import org.springframework.web.reactive.function.client.WebClient;
+
+import static org.springframework.cloud.kubernetes.fabric8.client.discovery.Fabric8DiscoveryClientUtil.builder;
+import static org.springframework.cloud.kubernetes.fabric8.client.discovery.Fabric8DiscoveryClientUtil.retrySpec;
+
+/**
+ * @author wind57
+ */
+final class Fabric8DiscoveryBoostrapDelegate {
+
+ /**
+ * KubernetesDiscoveryClient::getServices call must include the external-name-service
+ * also.
+ */
+ static void testAllServicesWithBootstrap() {
+ WebClient client = builder().baseUrl("http://localhost/services").build();
+
+ List result = client.method(HttpMethod.GET).retrieve()
+ .bodyToMono(new ParameterizedTypeReference>() {
+
+ }).retryWhen(retrySpec()).block();
+
+ Assertions.assertEquals(result.size(), 5);
+ Assertions.assertTrue(result.contains("kubernetes"));
+ Assertions.assertTrue(result.contains("spring-cloud-kubernetes-fabric8-client-discovery"));
+ Assertions.assertTrue(result.contains("service-wiremock"));
+ Assertions.assertTrue(result.contains("busybox-service"));
+ Assertions.assertTrue(result.contains("external-name-service"));
+ }
+
+}
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/Fabric8DiscoveryClientUtil.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/Fabric8DiscoveryClientUtil.java
index b7f2c409..3fb07d1b 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/Fabric8DiscoveryClientUtil.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/Fabric8DiscoveryClientUtil.java
@@ -51,6 +51,39 @@ final class Fabric8DiscoveryClientUtil {
{
"name": "SPRING_CLOUD_KUBERNETES_DISCOVERY_INCLUDEEXTERNALNAMESERVICES",
"value": "TRUE"
+ },
+ {
+ "name": "SPRING_CLOUD_BOOTSTRAP_ENABLED",
+ "value": "FALSE"
+ }
+ ]
+ }]
+ }
+ }
+ }
+ }
+ """;
+
+ static final String BODY_ONE_WITH_BOOTSTRAP = """
+ {
+ "spec": {
+ "template": {
+ "spec": {
+ "containers": [{
+ "name": "spring-cloud-kubernetes-fabric8-client-discovery",
+ "image": "image_name_here",
+ "env": [
+ {
+ "name": "LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_CLOUD_KUBERNETES_FABRIC8_DISCOVERY",
+ "value": "DEBUG"
+ },
+ {
+ "name": "SPRING_CLOUD_KUBERNETES_DISCOVERY_INCLUDEEXTERNALNAMESERVICES",
+ "value": "TRUE"
+ },
+ {
+ "name": "SPRING_CLOUD_BOOTSTRAP_ENABLED",
+ "value": "TRUE"
}
]
}]
@@ -84,6 +117,10 @@ final class Fabric8DiscoveryClientUtil {
{
"name": "SPRING_CLOUD_DISCOVERY_REACTIVE_ENABLED",
"value": "FALSE"
+ },
+ {
+ "name": "SPRING_CLOUD_BOOTSTRAP_ENABLED",
+ "value": "FALSE"
}
]
}]
@@ -125,6 +162,10 @@ final class Fabric8DiscoveryClientUtil {
{
"name": "LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_CLOUD_KUBERNETES_FABRIC8_DISCOVERY",
"value": "DEBUG"
+ },
+ {
+ "name": "SPRING_CLOUD_BOOTSTRAP_ENABLED",
+ "value": "FALSE"
}
]
}]
@@ -162,6 +203,10 @@ final class Fabric8DiscoveryClientUtil {
{
"name": "SPRING_CLOUD_DISCOVERY_BLOCKING_ENABLED",
"value": "FALSE"
+ },
+ {
+ "name": "SPRING_CLOUD_BOOTSTRAP_ENABLED",
+ "value": "FALSE"
}
]
}]
@@ -195,6 +240,10 @@ final class Fabric8DiscoveryClientUtil {
{
"name": "LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_CLOUD_KUBERNETES_FABRIC8_DISCOVERY",
"value": "DEBUG"
+ },
+ {
+ "name": "SPRING_CLOUD_BOOTSTRAP_ENABLED",
+ "value": "FALSE"
}
]
}]
@@ -228,6 +277,10 @@ final class Fabric8DiscoveryClientUtil {
{
"name": "LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_CLOUD_KUBERNETES_FABRIC8_DISCOVERY",
"value": "DEBUG"
+ },
+ {
+ "name": "SPRING_CLOUD_BOOTSTRAP_ENABLED",
+ "value": "FALSE"
}
]
}]
@@ -249,6 +302,10 @@ final class Fabric8DiscoveryClientUtil {
{
"name": "SPRING_CLOUD_KUBERNETES_DISCOVERY_NAMESPACES_0",
"value": "namespace-left"
+ },
+ {
+ "name": "SPRING_CLOUD_BOOTSTRAP_ENABLED",
+ "value": "FALSE"
}
]
}]
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/Fabric8DiscoveryPodMetadataIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/Fabric8DiscoveryPodMetadataIT.java
index 3a5aefb0..242310ca 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/Fabric8DiscoveryPodMetadataIT.java
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/Fabric8DiscoveryPodMetadataIT.java
@@ -52,6 +52,7 @@ import org.springframework.web.reactive.function.client.WebClient;
import static org.springframework.cloud.kubernetes.fabric8.client.discovery.Fabric8DiscoveryClientUtil.BODY_FIVE;
import static org.springframework.cloud.kubernetes.fabric8.client.discovery.Fabric8DiscoveryClientUtil.BODY_FOUR;
import static org.springframework.cloud.kubernetes.fabric8.client.discovery.Fabric8DiscoveryClientUtil.BODY_ONE;
+import static org.springframework.cloud.kubernetes.fabric8.client.discovery.Fabric8DiscoveryClientUtil.BODY_ONE_WITH_BOOTSTRAP;
import static org.springframework.cloud.kubernetes.fabric8.client.discovery.Fabric8DiscoveryClientUtil.BODY_SEVEN;
import static org.springframework.cloud.kubernetes.fabric8.client.discovery.Fabric8DiscoveryClientUtil.BODY_SIX;
import static org.springframework.cloud.kubernetes.fabric8.client.discovery.Fabric8DiscoveryClientUtil.BODY_THREE;
@@ -175,6 +176,7 @@ class Fabric8DiscoveryPodMetadataIT {
private void testAllOther() {
testAllServices();
+ testAllServicesWithBootstrap();
testExternalNameServiceInstance();
testBlockingConfiguration();
testDefaultConfiguration();
@@ -189,6 +191,12 @@ class Fabric8DiscoveryPodMetadataIT {
Fabric8DiscoveryDelegate.testAllServices();
}
+ private void testAllServicesWithBootstrap() {
+ util.patchWithReplace(DOCKER_IMAGE, DEPLOYMENT_NAME, NAMESPACE, BODY_ONE_WITH_BOOTSTRAP,
+ Map.of("app", IMAGE_NAME));
+ Fabric8DiscoveryBoostrapDelegate.testAllServicesWithBootstrap();
+ }
+
private void testExternalNameServiceInstance() {
Fabric8DiscoveryDelegate.testExternalNameServiceInstance();
}
diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/resources/fabric8-discovery-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/resources/fabric8-discovery-deployment.yaml
index f2cde39e..47f0a16f 100644
--- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/resources/fabric8-discovery-deployment.yaml
+++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/resources/fabric8-discovery-deployment.yaml
@@ -26,3 +26,6 @@ spec:
path: /actuator/health/liveness
ports:
- containerPort: 8080
+ env:
+ - name: SPRING_CLOUD_BOOTSTRAP_ENABLED
+ value: "FALSE"