diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/pom.xml index 4586d614..185095ea 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/pom.xml @@ -49,6 +49,19 @@ + + + + ../src/main/resources + true + + + src/main/resources + true + + + + imagename diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/java/org/springframework/cloud/kubernetes/client/config/it/ConfigMapAndSecretIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/java/org/springframework/cloud/kubernetes/client/config/it/ConfigMapAndSecretIT.java index c78f4c4e..6bcff80d 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/java/org/springframework/cloud/kubernetes/client/config/it/ConfigMapAndSecretIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/java/org/springframework/cloud/kubernetes/client/config/it/ConfigMapAndSecretIT.java @@ -44,6 +44,7 @@ import org.springframework.web.client.RestTemplate; import static org.assertj.core.api.Assertions.assertThat; import static org.awaitility.Awaitility.await; import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.createApiClient; +import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.getPomVersion; /** * @author Ryan Baxter @@ -185,12 +186,18 @@ public class ConfigMapAndSecretIT { private static V1Deployment getConfigK8sClientItDeployment() throws Exception { V1Deployment deployment = (V1Deployment) k8SUtils .readYamlFromClasspath("spring-cloud-kubernetes-client-config-it-deployment.yaml"); + String image = deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage() + ":" + + getPomVersion(); + deployment.getSpec().getTemplate().getSpec().getContainers().get(0).setImage(image); return deployment; } private static V1Deployment getConfigK8sClientItPollingDeployment() throws Exception { V1Deployment deployment = (V1Deployment) k8SUtils .readYamlFromClasspath("spring-cloud-kubernetes-client-config-it-polling-deployment.yaml"); + String image = deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage() + ":" + + getPomVersion(); + deployment.getSpec().getTemplate().getSpec().getContainers().get(0).setImage(image); return deployment; } diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/resources/spring-cloud-kubernetes-client-config-it-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/resources/spring-cloud-kubernetes-client-config-it-deployment.yaml index 455e20aa..ebe12000 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/resources/spring-cloud-kubernetes-client-config-it-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/resources/spring-cloud-kubernetes-client-config-it-deployment.yaml @@ -14,7 +14,7 @@ spec: serviceAccountName: spring-cloud-kubernetes-serviceaccount containers: - name: spring-cloud-kubernetes-client-config-it - image: docker.io/springcloud/spring-cloud-kubernetes-client-config-it:2.0.3-SNAPSHOT + image: docker.io/springcloud/spring-cloud-kubernetes-client-config-it imagePullPolicy: IfNotPresent readinessProbe: httpGet: diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/resources/spring-cloud-kubernetes-client-config-it-polling-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/resources/spring-cloud-kubernetes-client-config-it-polling-deployment.yaml index 099caba4..3ea26285 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/resources/spring-cloud-kubernetes-client-config-it-polling-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/resources/spring-cloud-kubernetes-client-config-it-polling-deployment.yaml @@ -14,7 +14,7 @@ spec: serviceAccountName: spring-cloud-kubernetes-serviceaccount containers: - name: spring-cloud-kubernetes-client-config-it - image: docker.io/springcloud/spring-cloud-kubernetes-client-config-it:2.0.3-SNAPSHOT + image: docker.io/springcloud/spring-cloud-kubernetes-client-config-it imagePullPolicy: IfNotPresent readinessProbe: httpGet: diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/pom.xml index 58130fab..1f949e3c 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/pom.xml @@ -50,6 +50,19 @@ + + + + ../src/main/resources + true + + + src/main/resources + true + + + + skaffold diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/LoadBalancerIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/LoadBalancerIT.java index 5261d042..72b7b58b 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/LoadBalancerIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/LoadBalancerIT.java @@ -43,6 +43,7 @@ import org.springframework.web.client.RestTemplate; import static org.assertj.core.api.Assertions.assertThat; import static org.awaitility.Awaitility.await; import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.createApiClient; +import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.getPomVersion; /** * @author Ryan Baxter @@ -187,12 +188,18 @@ public class LoadBalancerIT { private V1Deployment getLoadbalancerServiceItDeployment() throws Exception { V1Deployment deployment = (V1Deployment) k8SUtils .readYamlFromClasspath("spring-cloud-kubernetes-client-loadbalancer-service-it-deployment.yaml"); + String image = deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage() + ":" + + getPomVersion(); + deployment.getSpec().getTemplate().getSpec().getContainers().get(0).setImage(image); return deployment; } private V1Deployment getLoadbalancerPodItDeployment() throws Exception { V1Deployment deployment = (V1Deployment) k8SUtils .readYamlFromClasspath("spring-cloud-kubernetes-client-loadbalancer-service-it-deployment.yaml"); + String image = deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage() + ":" + + getPomVersion(); + deployment.getSpec().getTemplate().getSpec().getContainers().get(0).setImage(image); return deployment; } diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/resources/spring-cloud-kubernetes-client-loadbalancer-pod-it-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/resources/spring-cloud-kubernetes-client-loadbalancer-pod-it-deployment.yaml index 5985400a..8b1401e6 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/resources/spring-cloud-kubernetes-client-loadbalancer-pod-it-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/resources/spring-cloud-kubernetes-client-loadbalancer-pod-it-deployment.yaml @@ -17,7 +17,7 @@ spec: env: - name: SPRING_CLOUD_KUBERNETES_LOADBALANCER_MODE value: POD - image: docker.io/springcloud/spring-cloud-kubernetes-client-loadbalancer-it:2.0.3-SNAPSHOT + image: docker.io/springcloud/spring-cloud-kubernetes-client-loadbalancer-it imagePullPolicy: IfNotPresent readinessProbe: httpGet: diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/resources/spring-cloud-kubernetes-client-loadbalancer-service-it-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/resources/spring-cloud-kubernetes-client-loadbalancer-service-it-deployment.yaml index f94354ab..3024a4fe 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/resources/spring-cloud-kubernetes-client-loadbalancer-service-it-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/resources/spring-cloud-kubernetes-client-loadbalancer-service-it-deployment.yaml @@ -17,7 +17,7 @@ spec: env: - name: SPRING_CLOUD_KUBERNETES_LOADBALANCER_MODE value: SERVICE - image: docker.io/springcloud/spring-cloud-kubernetes-client-loadbalancer-it:2.0.3-SNAPSHOT + image: docker.io/springcloud/spring-cloud-kubernetes-client-loadbalancer-it imagePullPolicy: IfNotPresent readinessProbe: httpGet: diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/pom.xml index fba70e7a..53ab8fd0 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/pom.xml @@ -49,6 +49,19 @@ + + + + ../src/main/resources + true + + + src/main/resources + true + + + + skaffold diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/src/test/java/org/springframework/cloud/kubernetes/client/reactive/discovery/it/ReactiveDiscoveryClientIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/src/test/java/org/springframework/cloud/kubernetes/client/reactive/discovery/it/ReactiveDiscoveryClientIT.java index 18069a14..4e238299 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/src/test/java/org/springframework/cloud/kubernetes/client/reactive/discovery/it/ReactiveDiscoveryClientIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/src/test/java/org/springframework/cloud/kubernetes/client/reactive/discovery/it/ReactiveDiscoveryClientIT.java @@ -44,6 +44,7 @@ import org.springframework.web.client.RestTemplate; import static org.assertj.core.api.Assertions.assertThat; import static org.awaitility.Awaitility.await; import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.createApiClient; +import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.getPomVersion; /** * @author Ryan Baxter @@ -193,6 +194,9 @@ public class ReactiveDiscoveryClientIT { private V1Deployment getReactiveDiscoveryItDeployment() throws Exception { V1Deployment deployment = (V1Deployment) k8SUtils .readYamlFromClasspath("spring-cloud-kubernetes-client-reactive-discovery-it-deployment.yaml"); + String image = deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage() + ":" + + getPomVersion(); + deployment.getSpec().getTemplate().getSpec().getContainers().get(0).setImage(image); return deployment; } diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/src/test/resources/spring-cloud-kubernetes-client-reactive-discovery-it-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/src/test/resources/spring-cloud-kubernetes-client-reactive-discovery-it-deployment.yaml index 33c4d63d..c6687cb3 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/src/test/resources/spring-cloud-kubernetes-client-reactive-discovery-it-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/src/test/resources/spring-cloud-kubernetes-client-reactive-discovery-it-deployment.yaml @@ -14,7 +14,7 @@ spec: serviceAccountName: spring-cloud-kubernetes-serviceaccount containers: - name: spring-cloud-kubernetes-client-reactive-discovery-it - image: docker.io/springcloud/spring-cloud-kubernetes-client-reactive-discovery-client-it:2.0.3-SNAPSHOT + image: docker.io/springcloud/spring-cloud-kubernetes-client-reactive-discovery-client-it imagePullPolicy: IfNotPresent readinessProbe: httpGet: diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/pom.xml index 1eee8801..8aa15da0 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/pom.xml @@ -76,4 +76,17 @@ + + + + ../src/main/resources + true + + + src/main/resources + true + + + + diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshIT.java index ac85981b..3c36c6fc 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshIT.java @@ -46,6 +46,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; import static com.github.tomakehurst.wiremock.client.WireMock.verify; import static org.awaitility.Awaitility.await; import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.createApiClient; +import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.getPomVersion; /** * @author Ryan Baxter @@ -179,6 +180,9 @@ public class ActuatorRefreshIT { private V1Deployment getConfigWatcherDeployment() throws Exception { V1Deployment deployment = (V1Deployment) k8SUtils .readYamlFromClasspath("spring-cloud-kubernetes-configuration-watcher-http-deployment.yaml"); + String image = deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage() + ":" + + getPomVersion(); + deployment.getSpec().getTemplate().getSpec().getContainers().get(0).setImage(image); return deployment; } diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshKafkaIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshKafkaIT.java index b613f232..7ae9d61a 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshKafkaIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshKafkaIT.java @@ -45,6 +45,7 @@ import org.springframework.web.client.RestTemplate; import static org.assertj.core.api.Assertions.assertThat; import static org.awaitility.Awaitility.await; import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.createApiClient; +import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.getPomVersion; /** * @author Kris Iyer @@ -212,6 +213,9 @@ public class ActuatorRefreshKafkaIT { private V1Deployment getConfigWatcherDeployment() throws Exception { V1Deployment deployment = (V1Deployment) k8SUtils .readYamlFromClasspath("spring-cloud-kubernetes-configuration-watcher-bus-kafka-deployment.yaml"); + String image = deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage() + ":" + + getPomVersion(); + deployment.getSpec().getTemplate().getSpec().getContainers().get(0).setImage(image); return deployment; } @@ -224,6 +228,9 @@ public class ActuatorRefreshKafkaIT { private V1Deployment getItDeployment() throws Exception { String urlString = "spring-cloud-kubernetes-configuration-watcher-it-bus-kafka-deployment.yaml"; V1Deployment deployment = (V1Deployment) k8SUtils.readYamlFromClasspath(urlString); + String image = deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage() + ":" + + getPomVersion(); + deployment.getSpec().getTemplate().getSpec().getContainers().get(0).setImage(image); return deployment; } diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshRabbitMQIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshRabbitMQIT.java index 35361420..0afb439e 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshRabbitMQIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshRabbitMQIT.java @@ -46,6 +46,7 @@ import org.springframework.web.client.RestTemplate; import static org.assertj.core.api.Assertions.assertThat; import static org.awaitility.Awaitility.await; import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.createApiClient; +import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.getPomVersion; /** * @author Ryan Baxter @@ -204,6 +205,9 @@ public class ActuatorRefreshRabbitMQIT { private V1Deployment getConfigWatcherDeployment() throws Exception { V1Deployment deployment = (V1Deployment) k8SUtils .readYamlFromClasspath("spring-cloud-kubernetes-configuration-watcher-bus-amqp-deployment.yaml"); + String image = deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage() + ":" + + getPomVersion(); + deployment.getSpec().getTemplate().getSpec().getContainers().get(0).setImage(image); return deployment; } @@ -216,6 +220,9 @@ public class ActuatorRefreshRabbitMQIT { private V1Deployment getItDeployment() throws Exception { String urlString = "spring-cloud-kubernetes-configuration-watcher-it-bus-amqp-deployment.yaml"; V1Deployment deployment = (V1Deployment) k8SUtils.readYamlFromClasspath(urlString); + String image = deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage() + ":" + + getPomVersion(); + deployment.getSpec().getTemplate().getSpec().getContainers().get(0).setImage(image); return deployment; } diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-bus-amqp-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-bus-amqp-deployment.yaml index ec706f1c..c08365cf 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-bus-amqp-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-bus-amqp-deployment.yaml @@ -14,7 +14,7 @@ spec: serviceAccountName: spring-cloud-kubernetes-serviceaccount containers: - name: spring-cloud-kubernetes-configuration-watcher - image: docker.io/springcloud/spring-cloud-kubernetes-configuration-watcher:2.0.3-SNAPSHOT + image: docker.io/springcloud/spring-cloud-kubernetes-configuration-watcher imagePullPolicy: IfNotPresent env: - name: SPRING_PROFILES_ACTIVE diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-bus-kafka-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-bus-kafka-deployment.yaml index f5a91384..b345c9f8 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-bus-kafka-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-bus-kafka-deployment.yaml @@ -14,7 +14,7 @@ spec: serviceAccountName: spring-cloud-kubernetes-serviceaccount containers: - name: spring-cloud-kubernetes-configuration-watcher - image: docker.io/springcloud/spring-cloud-kubernetes-configuration-watcher:2.0.3-SNAPSHOT + image: docker.io/springcloud/spring-cloud-kubernetes-configuration-watcher imagePullPolicy: IfNotPresent env: - name: SPRING_PROFILES_ACTIVE diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-http-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-http-deployment.yaml index 4a0d9f04..403db22b 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-http-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-http-deployment.yaml @@ -14,7 +14,7 @@ spec: serviceAccountName: spring-cloud-kubernetes-serviceaccount containers: - name: spring-cloud-kubernetes-configuration-watcher - image: docker.io/springcloud/spring-cloud-kubernetes-configuration-watcher:2.0.3-SNAPSHOT + image: docker.io/springcloud/spring-cloud-kubernetes-configuration-watcher imagePullPolicy: IfNotPresent readinessProbe: httpGet: diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-it-bus-amqp-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-it-bus-amqp-deployment.yaml index 4ec17c9e..9869d82d 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-it-bus-amqp-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-it-bus-amqp-deployment.yaml @@ -13,7 +13,7 @@ spec: spec: containers: - name: spring-cloud-kubernetes-configuration-watcher-it - image: docker.io/springcloud/spring-cloud-kubernetes-configuration-watcher-it:2.0.3-SNAPSHOT + image: docker.io/springcloud/spring-cloud-kubernetes-configuration-watcher-it imagePullPolicy: IfNotPresent env: - name: SPRING_PROFILES_ACTIVE diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-it-bus-kafka-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-it-bus-kafka-deployment.yaml index ac0d82a6..167aa15e 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-it-bus-kafka-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/resources/spring-cloud-kubernetes-configuration-watcher-it-bus-kafka-deployment.yaml @@ -13,7 +13,7 @@ spec: spec: containers: - name: spring-cloud-kubernetes-configuration-watcher-it - image: docker.io/springcloud/spring-cloud-kubernetes-configuration-watcher-it:2.0.3-SNAPSHOT + image: docker.io/springcloud/spring-cloud-kubernetes-configuration-watcher-it imagePullPolicy: IfNotPresent env: - name: SPRING_PROFILES_ACTIVE diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/pom.xml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/pom.xml index 10d7e854..b8dc7e24 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/pom.xml @@ -48,6 +48,18 @@ + + + + ../src/main/resources + true + + + src/main/resources + true + + + diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/src/test/java/org/springframework/cloud/kubernetes/core/k8s/it/ActuatorEndpointIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/src/test/java/org/springframework/cloud/kubernetes/core/k8s/it/ActuatorEndpointIT.java index 1cac4654..c9d3d120 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/src/test/java/org/springframework/cloud/kubernetes/core/k8s/it/ActuatorEndpointIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/src/test/java/org/springframework/cloud/kubernetes/core/k8s/it/ActuatorEndpointIT.java @@ -44,6 +44,7 @@ import org.springframework.web.client.RestTemplate; import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat; import static org.awaitility.Awaitility.await; import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.createApiClient; +import static org.springframework.cloud.kubernetes.integration.tests.commons.K8SUtils.getPomVersion; /** * @author Ryan Baxter @@ -94,6 +95,9 @@ public class ActuatorEndpointIT { private static V1Deployment getCoreK8sClientItDeployment() throws Exception { V1Deployment deployment = (V1Deployment) k8SUtils .readYamlFromClasspath("spring-cloud-kubernetes-core-k8s-client-it-deployment.yaml"); + String image = deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage() + ":" + + getPomVersion(); + deployment.getSpec().getTemplate().getSpec().getContainers().get(0).setImage(image); return deployment; } @@ -134,7 +138,8 @@ public class ActuatorEndpointIT { await().timeout(Duration.ofSeconds(60)) .until(() -> rest.getForEntity("http://localhost:80/core-k8s-client-it/actuator/health", String.class) .getStatusCode().is2xxSuccessful()); - + LOG.debug("Response from /health endpoint: " + + rest.getForEntity("http://localhost:80/core-k8s-client-it/actuator/health", String.class)); Map health = rest.getForObject("http://localhost:80/core-k8s-client-it/actuator/health", Map.class); Map components = (Map) health.get("components"); @@ -181,7 +186,8 @@ public class ActuatorEndpointIT { await().timeout(Duration.ofSeconds(60)) .until(() -> rest.getForEntity("http://localhost:80/core-k8s-client-it/actuator/info", String.class) .getStatusCode().is2xxSuccessful()); - + LOG.debug("Response from /info endpoint: " + + rest.getForEntity("http://localhost:80/core-k8s-client-it/actuator/info", String.class)); Map info = rest.getForObject("http://localhost:80/core-k8s-client-it/actuator/info", Map.class); Map kubernetes = (Map) info.get("kubernetes"); assertThat(kubernetes.containsKey("hostIp")).isTrue(); diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/src/test/resources/spring-cloud-kubernetes-core-k8s-client-it-deployment.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/src/test/resources/spring-cloud-kubernetes-core-k8s-client-it-deployment.yaml index 42265d95..102d98f1 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/src/test/resources/spring-cloud-kubernetes-core-k8s-client-it-deployment.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/src/test/resources/spring-cloud-kubernetes-core-k8s-client-it-deployment.yaml @@ -14,7 +14,7 @@ spec: serviceAccountName: spring-cloud-kubernetes-serviceaccount containers: - name: spring-cloud-kubernetes-core-k8s-client-it - image: docker.io/springcloud/spring-cloud-kubernetes-core-k8s-client-it:2.0.3-SNAPSHOT + image: docker.io/springcloud/spring-cloud-kubernetes-core-k8s-client-it imagePullPolicy: IfNotPresent readinessProbe: httpGet: diff --git a/spring-cloud-kubernetes-integration-tests/src/main/resources/META-INF/springcloudkubernetes-version.txt b/spring-cloud-kubernetes-integration-tests/src/main/resources/META-INF/springcloudkubernetes-version.txt new file mode 100644 index 00000000..73f30eb1 --- /dev/null +++ b/spring-cloud-kubernetes-integration-tests/src/main/resources/META-INF/springcloudkubernetes-version.txt @@ -0,0 +1 @@ +@project.version@ diff --git a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/K8SUtils.java b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/K8SUtils.java index d140dd5e..33015d96 100644 --- a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/K8SUtils.java +++ b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/K8SUtils.java @@ -19,9 +19,11 @@ package org.springframework.cloud.kubernetes.integration.tests.commons; import java.io.BufferedReader; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; +import java.nio.charset.StandardCharsets; import java.time.Duration; import java.util.Collection; import java.util.Map; @@ -47,6 +49,11 @@ import io.kubernetes.client.util.Yaml; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.core.io.ClassPathResource; +import org.springframework.util.ReflectionUtils; +import org.springframework.util.StreamUtils; +import org.springframework.util.StringUtils; + import static org.awaitility.Awaitility.await; import static org.junit.Assert.fail; @@ -55,6 +62,8 @@ import static org.junit.Assert.fail; */ public class K8SUtils { + private static final String KUBERNETES_VERSION_FILE = "META-INF/springcloudkubernetes-version.txt"; + private Log log = LogFactory.getLog(getClass()); private CoreV1Api api; @@ -65,6 +74,21 @@ public class K8SUtils { return createApiClient(false, Duration.ofSeconds(15)); } + public static String getPomVersion() { + try (InputStream in = new ClassPathResource(KUBERNETES_VERSION_FILE).getInputStream()) { + String version = StreamUtils.copyToString(in, StandardCharsets.UTF_8); + if (StringUtils.hasText(version)) { + version = version.trim(); + } + return version; + } + catch (IOException e) { + ReflectionUtils.rethrowRuntimeException(e); + } + // not reachable since exception rethrown at runtime + return null; + } + public static ApiClient createApiClient(boolean debug, Duration readTimeout) throws IOException { ApiClient client = Config.defaultClient(); client.setHttpClient(client.getHttpClient().newBuilder().readTimeout(readTimeout).build());