diff --git a/spring-cloud-kubernetes-integration-tests/pom.xml b/spring-cloud-kubernetes-integration-tests/pom.xml index 6716b924..1832422e 100644 --- a/spring-cloud-kubernetes-integration-tests/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/pom.xml @@ -106,7 +106,7 @@ spring-cloud-kubernetes-k8s-client-kafka-configmap-reload - spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps + spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-kafka-configmap-reload/kafka-configmap-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherBuKafkaIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-kafka-configmap-reload/kafka-configmap-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherBusKafkaIT.java similarity index 99% rename from spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-kafka-configmap-reload/kafka-configmap-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherBuKafkaIT.java rename to spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-kafka-configmap-reload/kafka-configmap-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherBusKafkaIT.java index 5acda884..7361bf5a 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-kafka-configmap-reload/kafka-configmap-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherBuKafkaIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-kafka-configmap-reload/kafka-configmap-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherBusKafkaIT.java @@ -47,7 +47,7 @@ import static org.awaitility.Awaitility.await; /** * @author wind57 */ -class ConfigurationWatcherBuKafkaIT { +class ConfigurationWatcherBusKafkaIT { private static final String CONFIG_WATCHER_APP_IMAGE = "kafka-configmap-app"; diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-b/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/appB/AppBTestApplication.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-b/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/appB/AppBTestApplication.java deleted file mode 100644 index ead81ba0..00000000 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-b/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/appB/AppBTestApplication.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2013-2022 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.configuration.watcher.appB; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.bus.event.RefreshRemoteApplicationEvent; -import org.springframework.context.ApplicationListener; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author wind57 - */ -@SpringBootApplication -@RestController -public class AppBTestApplication implements ApplicationListener { - - private final Log LOG = LogFactory.getLog(getClass()); - - private boolean value = false; - - public static void main(String[] args) { - SpringApplication.run(AppBTestApplication.class, args); - } - - @GetMapping("/app-b") - public boolean index() { - LOG.info("Current value: " + value); - return value; - } - - @Override - public void onApplicationEvent(RefreshRemoteApplicationEvent refreshRemoteApplicationEvent) { - LOG.info("Received remote refresh event from origin: " + refreshRemoteApplicationEvent.getOriginService() - + " to destination : " + refreshRemoteApplicationEvent.getDestinationService()); - this.value = true; - } - -} diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-b/src/main/resources/application.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-b/src/main/resources/application.yaml deleted file mode 100644 index 132e62b0..00000000 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-b/src/main/resources/application.yaml +++ /dev/null @@ -1,24 +0,0 @@ -#logging: -# level: -# org.springframework: DEBUG -# -spring: - application: - name: spring-cloud-kubernetes-client-configuration-watcher-secret-app-b - cloud: - bus: - refresh: - enabled: false - enabled: true - destination: multiple-apps - stream: - default-binder: rabbit - autoconfigure: - exclude: org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration -management: - endpoint: - health: - probes: - enabled: true -server: - port: 8081 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/pom.xml deleted file mode 100644 index 3729305a..00000000 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/pom.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps - org.springframework.cloud - 3.3.0-SNAPSHOT - - 4.0.0 - jar - - rabbitmq-secret-test-app - - - - org.springframework.boot - spring-boot-starter-test - - - org.springframework.boot - spring-boot-starter-webflux - - - - org.springframework.cloud - spring-cloud-kubernetes-test-support - - - - - - - - ../../src/main/resources - true - - - src/main/resources - true - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - build-image - - true - - - - repackage - - true - - - - - - - - - - - diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/app-b/app-b-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/app-b/app-b-deployment.yaml deleted file mode 100644 index 3769c5b4..00000000 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/app-b/app-b-deployment.yaml +++ /dev/null @@ -1,32 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: app-b-deployment -spec: - selector: - matchLabels: - app: app-b - template: - metadata: - labels: - app: app-b - spec: - containers: - - name: app-b - image: docker.io/springcloud/rabbitmq-secret-app-b - imagePullPolicy: IfNotPresent - env: - - name: SPRING_PROFILES_ACTIVE - value: bus-amqp - - name: SPRING_RABBITMQ_HOST - value: rabbitmq-service - readinessProbe: - httpGet: - port: 8081 - path: /actuator/health/readiness - livenessProbe: - httpGet: - port: 8081 - path: /actuator/health/liveness - ports: - - containerPort: 8081 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/app-b/app-b-service.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/app-b/app-b-service.yaml deleted file mode 100644 index 779fce45..00000000 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/app-b/app-b-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - app: app-b - name: app-b -spec: - ports: - - name: http - port: 8081 - targetPort: 8081 - selector: - app: app-b - type: ClusterIP diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/config-watcher/spring-cloud-kubernetes-configuration-watcher-service.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/config-watcher/spring-cloud-kubernetes-configuration-watcher-service.yaml deleted file mode 100644 index c8496317..00000000 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/config-watcher/spring-cloud-kubernetes-configuration-watcher-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - app: spring-cloud-kubernetes-configuration-watcher - name: spring-cloud-kubernetes-configuration-watcher -spec: - ports: - - name: http - port: 8888 - targetPort: 8888 - selector: - app: spring-cloud-kubernetes-configuration-watcher - type: ClusterIP diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/ingress/spring-cloud-kubernetes-configuration-watcher-multiple-apps-ingress.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/ingress/spring-cloud-kubernetes-configuration-watcher-multiple-apps-ingress.yaml deleted file mode 100644 index cae12b11..00000000 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/ingress/spring-cloud-kubernetes-configuration-watcher-multiple-apps-ingress.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: it-ingress-multiple-apps - namespace: default -spec: - rules: - - http: - paths: - - path: /app-a - pathType: Prefix - backend: - service: - name: app-a - port: - number: 8080 - - - http: - paths: - - path: /app-b - pathType: Prefix - backend: - service: - name: app-b - port: - number: 8081 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/pom.xml similarity index 84% rename from spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/pom.xml rename to spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/pom.xml index e9db6423..415712cf 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/pom.xml @@ -9,12 +9,11 @@ 4.0.0 - spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps + spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload pom - rabbitmq-secret-app-a - rabbitmq-secret-app-b + rabbitmq-secret-app rabbitmq-secret-test-app diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-b/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-app/pom.xml similarity index 72% rename from spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-b/pom.xml rename to spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-app/pom.xml index 04b9de7a..ce789217 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-b/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-app/pom.xml @@ -3,14 +3,14 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps + spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload org.springframework.cloud 3.3.0-SNAPSHOT 4.0.0 jar - rabbitmq-secret-app-b + rabbitmq-secret-app @@ -28,18 +28,4 @@ - - - - ../src/main/resources - true - - - src/main/resources - true - - - - - diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-a/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/appA/AppATestApplication.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-app/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/appA/AppTestApplication.java similarity index 90% rename from spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-a/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/appA/AppATestApplication.java rename to spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-app/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/appA/AppTestApplication.java index e15b2032..77b2325d 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-a/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/appA/AppATestApplication.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-app/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/appA/AppTestApplication.java @@ -31,17 +31,17 @@ import org.springframework.web.bind.annotation.RestController; */ @SpringBootApplication @RestController -public class AppATestApplication implements ApplicationListener { +public class AppTestApplication implements ApplicationListener { private final Log LOG = LogFactory.getLog(getClass()); private boolean value = false; public static void main(String[] args) { - SpringApplication.run(AppATestApplication.class, args); + SpringApplication.run(AppTestApplication.class, args); } - @GetMapping("/app-a") + @GetMapping("/app") public boolean index() { LOG.info("Current value: " + value); return value; diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-a/src/main/resources/application.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-app/src/main/resources/application.yaml similarity index 67% rename from spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-a/src/main/resources/application.yaml rename to spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-app/src/main/resources/application.yaml index c31741d9..98dbb1d0 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-a/src/main/resources/application.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-app/src/main/resources/application.yaml @@ -1,16 +1,13 @@ -#logging: -# level: -# org.springframework: DEBUG -# spring: application: - name: spring-cloud-kubernetes-client-configuration-watcher-secret-app-a + name: non-app cloud: bus: refresh: enabled: false enabled: true - destination: multiple-apps + destination: app + id: app stream: default-binder: rabbit autoconfigure: diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-a/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/pom.xml similarity index 65% rename from spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-a/pom.xml rename to spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/pom.xml index b0dd94e9..17965ab0 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-app-a/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/pom.xml @@ -3,27 +3,33 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps + spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload org.springframework.cloud 3.3.0-SNAPSHOT 4.0.0 jar - rabbitmq-secret-app-a + + true + true + + + rabbitmq-secret-test-app org.springframework.boot - spring-boot-starter-web - - - org.springframework.cloud - spring-cloud-starter-bus-amqp + spring-boot-starter-test org.springframework.boot - spring-boot-starter-actuator + spring-boot-starter-webflux + + + + org.springframework.cloud + spring-cloud-kubernetes-test-support @@ -31,15 +37,10 @@ - ../src/main/resources - true - - - src/main/resources + ../../src/main/resources true - diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherMultipleAppIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherBusAmqpIT.java similarity index 62% rename from spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherMultipleAppIT.java rename to spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherBusAmqpIT.java index ca5aa5f6..2d9a764f 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherMultipleAppIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/multiple/apps/ConfigurationWatcherBusAmqpIT.java @@ -47,16 +47,12 @@ import static org.awaitility.Awaitility.await; /** * @author wind57 */ -class ConfigurationWatcherMultipleAppIT { +class ConfigurationWatcherBusAmqpIT { - private static final String CONFIG_WATCHER_APP_A_IMAGE = "rabbitmq-secret-app-a"; - - private static final String CONFIG_WATCHER_APP_B_IMAGE = "rabbitmq-secret-app-b"; + private static final String CONFIG_WATCHER_APP_IMAGE = "rabbitmq-secret-app"; private static final String SPRING_CLOUD_K8S_CONFIG_WATCHER_APP_NAME = "spring-cloud-kubernetes-configuration-watcher"; - private static final String SECRET_NAME = "multiple-apps"; - private static final String NAMESPACE = "default"; private static final K3sContainer K3S = Commons.container(); @@ -70,11 +66,8 @@ class ConfigurationWatcherMultipleAppIT { Commons.validateImage(SPRING_CLOUD_K8S_CONFIG_WATCHER_APP_NAME, K3S); Commons.loadSpringCloudKubernetesImage(SPRING_CLOUD_K8S_CONFIG_WATCHER_APP_NAME, K3S); - Commons.validateImage(CONFIG_WATCHER_APP_A_IMAGE, K3S); - Commons.loadSpringCloudKubernetesImage(CONFIG_WATCHER_APP_A_IMAGE, K3S); - - Commons.validateImage(CONFIG_WATCHER_APP_B_IMAGE, K3S); - Commons.loadSpringCloudKubernetesImage(CONFIG_WATCHER_APP_B_IMAGE, K3S); + Commons.validateImage(CONFIG_WATCHER_APP_IMAGE, K3S); + Commons.loadSpringCloudKubernetesImage(CONFIG_WATCHER_APP_IMAGE, K3S); Images.loadRabbitmq(K3S); @@ -86,7 +79,6 @@ class ConfigurationWatcherMultipleAppIT { void setup() { util.rabbitMq(NAMESPACE, Phase.CREATE); appA(Phase.CREATE); - appB(Phase.CREATE); configWatcher(Phase.CREATE); } @@ -94,7 +86,6 @@ class ConfigurationWatcherMultipleAppIT { void after() { util.rabbitMq(NAMESPACE, Phase.DELETE); appA(Phase.DELETE); - appB(Phase.DELETE); configWatcher(Phase.DELETE); } @@ -104,52 +95,34 @@ class ConfigurationWatcherMultipleAppIT { // secret has one label, one that says that we should refresh // and one annotation that says that we should refresh some specific services V1Secret secret = new V1SecretBuilder().editOrNewMetadata() - .withName(SECRET_NAME) + .withName("secret") .addToLabels("spring.cloud.kubernetes.secret", "true") - .addToAnnotations("spring.cloud.kubernetes.secret.apps", - "spring-cloud-kubernetes-client-configuration-watcher-secret-app-a, " - + "spring-cloud-kubernetes-client-configuration-watcher-secret-app-b") + .addToAnnotations("spring.cloud.kubernetes.secret.apps", "app") .endMetadata() .build(); util.createAndWait(NAMESPACE, null, secret); - WebClient.Builder builderA = builder(); - WebClient serviceClientA = builderA.baseUrl("http://localhost:80/app-a").build(); + WebClient.Builder builder = builder(); + WebClient serviceClient = builder.baseUrl("http://localhost:80/app").build(); - WebClient.Builder builderB = builder(); - WebClient serviceClientB = builderB.baseUrl("http://localhost:80/app-b").build(); - - Boolean[] valueA = new Boolean[1]; + Boolean[] value = new Boolean[1]; await().pollInterval(Duration.ofSeconds(3)).atMost(Duration.ofSeconds(240)).until(() -> { - valueA[0] = serviceClientA.method(HttpMethod.GET) + value[0] = serviceClient.method(HttpMethod.GET) .retrieve() .bodyToMono(Boolean.class) .retryWhen(retrySpec()) .block(); - return valueA[0]; + return value[0]; }); - Assertions.assertTrue(valueA[0]); - - Boolean[] valueB = new Boolean[1]; - await().pollInterval(Duration.ofSeconds(3)).atMost(Duration.ofSeconds(240)).until(() -> { - valueB[0] = serviceClientB.method(HttpMethod.GET) - .retrieve() - .bodyToMono(Boolean.class) - .retryWhen(retrySpec()) - .block(); - return valueB[0]; - }); - - Assertions.assertTrue(valueB[0]); + Assertions.assertTrue(value[0]); util.deleteAndWait(NAMESPACE, null, secret); } private void appA(Phase phase) { - V1Deployment deployment = (V1Deployment) util.yaml("app-a/app-a-deployment.yaml"); - V1Service service = (V1Service) util.yaml("app-a/app-a-service.yaml"); - V1Ingress ingress = (V1Ingress) util - .yaml("ingress/spring-cloud-kubernetes-configuration-watcher-multiple-apps-ingress.yaml"); + V1Deployment deployment = (V1Deployment) util.yaml("app/app-deployment.yaml"); + V1Service service = (V1Service) util.yaml("app/app-service.yaml"); + V1Ingress ingress = (V1Ingress) util.yaml("ingress/ingress.yaml"); if (phase.equals(Phase.CREATE)) { util.createAndWait(NAMESPACE, null, deployment, service, ingress, true); @@ -159,23 +132,9 @@ class ConfigurationWatcherMultipleAppIT { } } - private void appB(Phase phase) { - V1Deployment deployment = (V1Deployment) util.yaml("app-b/app-b-deployment.yaml"); - V1Service service = (V1Service) util.yaml("app-b/app-b-service.yaml"); - - if (phase.equals(Phase.CREATE)) { - util.createAndWait(NAMESPACE, null, deployment, service, null, true); - } - else if (phase.equals(Phase.DELETE)) { - util.deleteAndWait(NAMESPACE, deployment, service, null); - } - } - private void configWatcher(Phase phase) { - V1Deployment deployment = (V1Deployment) util - .yaml("config-watcher/spring-cloud-kubernetes-configuration-watcher-it-bus-amqp-deployment.yaml"); - V1Service service = (V1Service) util - .yaml("config-watcher/spring-cloud-kubernetes-configuration-watcher-service.yaml"); + V1Deployment deployment = (V1Deployment) util.yaml("config-watcher/watcher-deployment.yaml"); + V1Service service = (V1Service) util.yaml("config-watcher/watcher-service.yaml"); if (phase.equals(Phase.CREATE)) { util.createAndWait(NAMESPACE, null, deployment, service, null, true); diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/app-a/app-a-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/app/app-deployment.yaml similarity index 81% rename from spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/app-a/app-a-deployment.yaml rename to spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/app/app-deployment.yaml index 54bfba1a..e9cfe2d9 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/app-a/app-a-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/app/app-deployment.yaml @@ -1,19 +1,19 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: app-a-deployment + name: app-deployment spec: selector: matchLabels: - app: app-a + app: app template: metadata: labels: - app: app-a + app: app spec: containers: - - name: app-a - image: docker.io/springcloud/rabbitmq-secret-app-a + - name: app + image: docker.io/springcloud/rabbitmq-secret-app imagePullPolicy: IfNotPresent env: - name: SPRING_PROFILES_ACTIVE diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/app-a/app-a-service.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/app/app-service.yaml similarity index 77% rename from spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/app-a/app-a-service.yaml rename to spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/app/app-service.yaml index 04cd68a2..292541f7 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/app-a/app-a-service.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/app/app-service.yaml @@ -2,13 +2,13 @@ apiVersion: v1 kind: Service metadata: labels: - app: app-a - name: app-a + app: app + name: app spec: ports: - name: http port: 8080 targetPort: 8080 selector: - app: app-a + app: app type: ClusterIP diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/config-watcher/spring-cloud-kubernetes-configuration-watcher-it-bus-amqp-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/config-watcher/watcher-deployment.yaml similarity index 77% rename from spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/config-watcher/spring-cloud-kubernetes-configuration-watcher-it-bus-amqp-deployment.yaml rename to spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/config-watcher/watcher-deployment.yaml index 44e9af80..aef75930 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/config-watcher/spring-cloud-kubernetes-configuration-watcher-it-bus-amqp-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/config-watcher/watcher-deployment.yaml @@ -1,19 +1,19 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: spring-cloud-kubernetes-configuration-watcher-deployment + name: watcher-deployment spec: selector: matchLabels: - app: spring-cloud-kubernetes-configuration-watcher + app: configuration-watcher template: metadata: labels: - app: spring-cloud-kubernetes-configuration-watcher + app: configuration-watcher spec: serviceAccountName: spring-cloud-kubernetes-serviceaccount containers: - - name: spring-cloud-kubernetes-configuration-watcher + - name: configuration-watcher image: docker.io/springcloud/spring-cloud-kubernetes-configuration-watcher imagePullPolicy: IfNotPresent env: @@ -22,7 +22,7 @@ spec: - name: SPRING_RABBITMQ_HOST value: rabbitmq-service - name: SPRING_CLOUD_BUS_DESTINATION - value: multiple-apps + value: app - name: SPRING_CLOUD_KUBERNETES_CONFIGURATION_WATCHER_REFRESHDELAY value: "1" readinessProbe: diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/config-watcher/watcher-service.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/config-watcher/watcher-service.yaml new file mode 100644 index 00000000..3ab3a8ec --- /dev/null +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/config-watcher/watcher-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app: configuration-watcher + name: configuration-watcher +spec: + ports: + - name: http + port: 8888 + targetPort: 8888 + selector: + app: configuration-watcher + type: ClusterIP diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/ingress/ingress.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/ingress/ingress.yaml new file mode 100644 index 00000000..46ea6693 --- /dev/null +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/ingress/ingress.yaml @@ -0,0 +1,16 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: it-ingress + namespace: default +spec: + rules: + - http: + paths: + - path: /app + pathType: Prefix + backend: + service: + name: app + port: + number: 8080 diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/logback-test.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/logback-test.xml similarity index 100% rename from spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload-multiple-apps/rabbitmq-secret-test-app/src/test/resources/logback-test.xml rename to spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-rabbitmq-secret-reload/rabbitmq-secret-test-app/src/test/resources/logback-test.xml