From 8293c42801b6840999da22b82a77ea75d8860043 Mon Sep 17 00:00:00 2001 From: buildmaster Date: Wed, 3 Jul 2019 18:09:24 +0000 Subject: [PATCH] Going back to snapshots --- README.adoc | 104 ++++-------------- docs/pom.xml | 2 +- pom.xml | 10 +- spring-cloud-kubernetes-config/pom.xml | 2 +- .../config/ConfigMapPropertySource.java | 11 +- .../config/ConfigMapsFromFilePathsTests.java | 3 +- .../config/ConfigMapsMixedTests.java | 4 +- ...ConfigMapsWithActiveProfilesNameTests.java | 7 +- spring-cloud-kubernetes-core/pom.xml | 2 +- ...rnetesProfileEnvironmentPostProcessor.java | 3 +- spring-cloud-kubernetes-dependencies/pom.xml | 4 +- spring-cloud-kubernetes-discovery/pom.xml | 2 +- .../greeting-service/pom.xml | 2 +- .../name-service/pom.xml | 2 +- .../pom.xml | 2 +- .../kubernetes-hello-world-example/pom.xml | 2 +- .../pom.xml | 2 +- .../kubernetes-reload-example/pom.xml | 2 +- .../kubernetes-zipkin-example/pom.xml | 2 +- spring-cloud-kubernetes-examples/pom.xml | 2 +- .../discovery/discovery-client/pom.xml | 2 +- .../discovery/discovery-service-a/pom.xml | 2 +- .../discovery/discovery-service-b/pom.xml | 2 +- .../discovery/pom.xml | 2 +- .../discovery/tests/pom.xml | 2 +- .../istio/pom.xml | 2 +- .../pom.xml | 2 +- .../simple-configmap/pom.xml | 2 +- .../simple-core/pom.xml | 2 +- spring-cloud-kubernetes-istio/pom.xml | 2 +- spring-cloud-kubernetes-leader/pom.xml | 2 +- .../leader/LeaderAutoConfigurationTests.java | 3 +- spring-cloud-kubernetes-ribbon/pom.xml | 2 +- .../ribbon/KubernetesEndpointsServerList.java | 29 +++-- .../KubernetesRibbonClientConfiguration.java | 2 +- .../ribbon/KubernetesServerList.java | 17 ++- .../ribbon/KubernetesServicesServerList.java | 28 ++--- .../ribbon/RibbonWithServiceModeTest.java | 53 ++++----- spring-cloud-starter-kubernetes-all/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- spring-cloud-starter-kubernetes/pom.xml | 2 +- 42 files changed, 132 insertions(+), 202 deletions(-) diff --git a/README.adoc b/README.adoc index bd9e5c38..b2301858 100644 --- a/README.adoc +++ b/README.adoc @@ -124,10 +124,6 @@ spring.cloud.kubernetes.discovery.enabled=false Some Spring Cloud components use the `DiscoveryClient` in order to obtain information about the local service instance. For this to work, you need to align the Kubernetes service name with the `spring.application.name` property. -Spring Cloud Kubernetes can also watch the Kubernetes service catalog for changes and update the -`DiscoveryClient` implementation accordingly. In order to enable this functionality you need to add -`@EnableScheduling` on a configuration class in your application. - == Kubernetes native service discovery Kubernetes itself is capable of (server side) service discovery (see: https://kubernetes.io/docs/concepts/services-networking/service/#discovering-services). @@ -142,7 +138,7 @@ Additionally, you can use Hystrix for: == Kubernetes PropertySource implementations -The most common approach to configuring your Spring Boot application is to create an `application.properties` or `application.yaml` or +The most common approach to configuring your Spring Boot application is to create an `application.properties` or `applicaiton.yaml` or an `application-profile.properties` or `application-profile.yaml` file that contains key-value pairs that provide customization values to your application or Spring Boot starters. You can override these properties by specifying system properties or environment variables. @@ -324,89 +320,26 @@ However, if the `production` profile is active, the configuration becomes: If both profiles are active, the property that appears last within the `ConfigMap` overwrites any preceding values. -Another option is to create a different config map per profile and spring boot will automatically fetch it based -on active profiles + +To tell Spring Boot which `profile` should be enabled at bootstrap, you can pass a system property to the Java +command. To do so, you can launch your Spring Boot application with an environment variable that you can define with the OpenShift +`DeploymentConfig` or Kubernetes `ReplicationConfig` resource file, as follows: ==== [source,yaml] ---- -kind: ConfigMap apiVersion: v1 -metadata: - name: demo -data: - application.yml: |- - greeting: - message: Say Hello to the World - farewell: - message: Say Goodbye ----- -==== -==== -[source,yaml] ----- -kind: ConfigMap -apiVersion: v1 -metadata: - name: demo-development -data: - application.yml: |- - spring: - profiles: development - greeting: - message: Say Hello to the Developers - farewell: - message: Say Goodbye to the Developers ----- -==== -==== -[source,yaml] ----- -kind: ConfigMap -apiVersion: v1 -metadata: - name: demo-production -data: - application.yml: |- - spring: - profiles: production - greeting: - message: Say Hello to the Ops - farewell: - message: Say Goodbye ----- -==== - - -To tell Spring Boot which `profile` should be enabled at bootstrap, you can pass `SPRING_PROFILES_ACTIVE` environment variable. - To do so, you can launch your Spring Boot application with an environment variable that you can define it in the PodSpec at the container specification. - Deployment resource file, as follows: - -==== -[source,yaml] ----- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: deployment-name - labels: - app: deployment-name +kind: DeploymentConfig spec: replicas: 1 - selector: - matchLabels: - app: deployment-name - template: - metadata: - labels: - app: deployment-name - spec: - containers: - - name: container-name - image: your-image - env: - - name: SPRING_PROFILES_ACTIVE - value: "development" + ... + spec: + containers: + - env: + - name: JAVA_APP_DIR + value: /deployments + - name: JAVA_OPTIONS + value: -Dspring.profiles.active=developer ---- ==== @@ -651,7 +584,7 @@ The reload feature supports two operating modes: Any event produces a re-check on the configuration and, in case of changes, a reload. The `view` role on the service account is required in order to listen for config map changes. A higher level role (such as `edit`) is required for secrets (by default, secrets are not monitored). -* Polling: Periodically re-creates the configuration from config maps and secrets to see if it has changed. +* Polling: Oeriodically re-creates the configuration from config maps and secrets to see if it has changed. You can configure the polling period by using the `spring.cloud.kubernetes.reload.period` property and defaults to 15 seconds. It requires the same role as the monitored property source. This means, for example, that using polling on file-mounted secret sources does not require particular privileges. @@ -663,7 +596,7 @@ This means, for example, that using polling on file-mounted secret sources does | `spring.cloud.kubernetes.reload.enabled` | `Boolean` | `false` | Enables monitoring of property sources and configuration reload | `spring.cloud.kubernetes.reload.monitoring-config-maps` | `Boolean` | `true` | Allow monitoring changes in config maps | `spring.cloud.kubernetes.reload.monitoring-secrets` | `Boolean` | `false` | Allow monitoring changes in secrets -| `spring.cloud.kubernetes.reload.strategy` | `Enum` | `refresh` | The strategy to use when firing a reload (`refresh`, `restart_context`, or `shutdown`) +| `spring.cloud.kubernetes.reload.strategy ` | `Enum` | `refresh` | The strategy to use when firing a reload (`refresh`, `restart_context`, or `shutdown`) | `spring.cloud.kubernetes.reload.mode` | `Enum` | `event` | Specifies how to listen for changes in property sources (`event` or `polling`) | `spring.cloud.kubernetes.reload.period` | `Duration`| `15s` | The period for verifying changes when using the `polling` strategy |=== @@ -719,6 +652,7 @@ the `PortName` key. If you want to specify in which Kubernetes namespace the tar the `KubernetesNamespace` key, remembering in both instances to prefix these keys with your service name and `ribbon` prefix, as specified earlier. + .Spring Cloud Kubernetes Ribbon Configuration |=== |Property Key |Type |Default Value @@ -745,6 +679,7 @@ the `SERVICE` mode uses load balancing of the Kubernetes service to support Isti * `spring.cloud.kubernetes.ribbon.cluster-domain` Set the custom Kubernetes cluster domain suffix. The default value is: 'cluster.local' + The following examples use this module for ribbon discovery: * link:./spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example[Spring Cloud Circuitbreaker and Ribbon] @@ -1076,7 +1011,6 @@ $ touch .springformat ==== Intellij IDEA In order to setup Intellij you should import our coding conventions, inspection profiles and set up the checkstyle plugin. -The following files can be found in the https://github.com/spring-cloud/spring-cloud-build/tree/master/spring-cloud-build-tools[Spring Cloud Build] project. .spring-cloud-build-tools/ ---- @@ -1121,4 +1055,4 @@ Go to `File` -> `Settings` -> `Other settings` -> `Checkstyle`. There click on t - `checkstyle.suppressions.file` - default suppressions. Please point it to the Spring Cloud Build's, `spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml` file either in your cloned repo or via the `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml` URL. - `checkstyle.additional.suppressions.file` - this variable corresponds to suppressions in your local project. E.g. you're working on `spring-cloud-contract`. Then point to the `project-root/src/checkstyle/checkstyle-suppressions.xml` folder. Example for `spring-cloud-contract` would be: `/home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml`. -IMPORTANT: Remember to set the `Scan Scope` to `All sources` since we apply checkstyle rules for production and test sources. \ No newline at end of file +IMPORTANT: Remember to set the `Scan Scope` to `All sources` since we apply checkstyle rules for production and test sources. diff --git a/docs/pom.xml b/docs/pom.xml index ede2cc05..eded83fe 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-kubernetes - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT pom Spring Cloud Kubernetes Docs diff --git a/pom.xml b/pom.xml index c450ab7f..3050104f 100644 --- a/pom.xml +++ b/pom.xml @@ -24,13 +24,13 @@ org.springframework.cloud spring-cloud-build - 2.2.0.M3 + 2.2.0.BUILD-SNAPSHOT org.springframework.cloud spring-cloud-kubernetes - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT pom Spring Cloud Kubernetes @@ -63,9 +63,9 @@ - 2.2.0.M1 - 2.2.0.M1 - 2.2.0.M1 + 2.2.0.BUILD-SNAPSHOT + 2.2.0.BUILD-SNAPSHOT + 2.2.0.BUILD-SNAPSHOT 3.5 diff --git a/spring-cloud-kubernetes-config/pom.xml b/spring-cloud-kubernetes-config/pom.xml index d3a4fd43..c3aa0603 100644 --- a/spring-cloud-kubernetes-config/pom.xml +++ b/spring-cloud-kubernetes-config/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-config/src/main/java/org/springframework/cloud/kubernetes/config/ConfigMapPropertySource.java b/spring-cloud-kubernetes-config/src/main/java/org/springframework/cloud/kubernetes/config/ConfigMapPropertySource.java index c0442e4a..60fdb812 100644 --- a/spring-cloud-kubernetes-config/src/main/java/org/springframework/cloud/kubernetes/config/ConfigMapPropertySource.java +++ b/spring-cloud-kubernetes-config/src/main/java/org/springframework/cloud/kubernetes/config/ConfigMapPropertySource.java @@ -99,18 +99,16 @@ public class ConfigMapPropertySource extends MapPropertySource { } if (environment != null) { - for (String activeProfile : environment.getActiveProfiles()) { + for (String activeProfile:environment.getActiveProfiles()) { String mapNameWithProfile = name + "-" + activeProfile; ConfigMap mapWithProfile = StringUtils.isEmpty(namespace) - ? client.configMaps().withName(mapNameWithProfile).get() - : client.configMaps().inNamespace(namespace) - .withName(mapNameWithProfile).get(); + ? client.configMaps().withName(mapNameWithProfile).get() + : client.configMaps().inNamespace(namespace).withName(mapNameWithProfile).get(); if (mapWithProfile != null) { - result.putAll( - processAllEntries(mapWithProfile.getData(), environment)); + result.putAll(processAllEntries(mapWithProfile.getData(), environment)); } } @@ -127,6 +125,7 @@ public class ConfigMapPropertySource extends MapPropertySource { return new HashMap<>(); } + private static Map processAllEntries(Map input, Environment environment) { diff --git a/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsFromFilePathsTests.java b/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsFromFilePathsTests.java index d6f1d45d..c987fe19 100644 --- a/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsFromFilePathsTests.java +++ b/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsFromFilePathsTests.java @@ -44,7 +44,8 @@ import static org.springframework.cloud.kubernetes.config.ConfigMapTestUtil.crea properties = { "spring.application.name=configmap-path-example", "spring.cloud.kubernetes.config.enableApi=false", "spring.cloud.kubernetes.config.paths=" - + ConfigMapsFromFilePathsTests.FIRST_FILE_NAME_FULL_PATH + "," + + ConfigMapsFromFilePathsTests.FIRST_FILE_NAME_FULL_PATH + + "," + ConfigMapsFromFilePathsTests.SECOND_FILE_NAME_FULL_PATH }) public class ConfigMapsFromFilePathsTests { diff --git a/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsMixedTests.java b/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsMixedTests.java index 829fbe61..1e458e54 100644 --- a/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsMixedTests.java +++ b/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsMixedTests.java @@ -43,7 +43,9 @@ import static org.springframework.cloud.kubernetes.config.ConfigMapTestUtil.read @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = App.class, - properties = { "spring.application.name=" + ConfigMapsMixedTests.APPLICATION_NAME, + properties = { + "spring.application.name=" + + ConfigMapsMixedTests.APPLICATION_NAME, "spring.cloud.kubernetes.config.enableApi=true", "spring.cloud.kubernetes.config.paths=" + ConfigMapsMixedTests.FILE_NAME_FULL_PATH }) diff --git a/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsWithActiveProfilesNameTests.java b/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsWithActiveProfilesNameTests.java index a6ed2fe5..2496cf63 100644 --- a/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsWithActiveProfilesNameTests.java +++ b/spring-cloud-kubernetes-config/src/test/java/org/springframework/cloud/kubernetes/config/ConfigMapsWithActiveProfilesNameTests.java @@ -42,10 +42,9 @@ import static org.springframework.cloud.kubernetes.config.ConfigMapTestUtil.read * @author Ali Shahbour */ @RunWith(SpringRunner.class) -@SpringBootTest(webEnvironment = RANDOM_PORT, classes = App.class, - properties = { - "spring.application.name=configmap-with-active-profile-name-example", - "spring.cloud.kubernetes.reload.enabled=false" }) +@SpringBootTest(webEnvironment = RANDOM_PORT, classes = App.class, properties = { + "spring.application.name=configmap-with-active-profile-name-example", + "spring.cloud.kubernetes.reload.enabled=false" }) @ActiveProfiles("development") @AutoConfigureWebTestClient public class ConfigMapsWithActiveProfilesNameTests { diff --git a/spring-cloud-kubernetes-core/pom.xml b/spring-cloud-kubernetes-core/pom.xml index 18f4d0ff..d3dc03a8 100644 --- a/spring-cloud-kubernetes-core/pom.xml +++ b/spring-cloud-kubernetes-core/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud spring-cloud-kubernetes - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-core/src/main/java/org/springframework/cloud/kubernetes/profile/KubernetesProfileEnvironmentPostProcessor.java b/spring-cloud-kubernetes-core/src/main/java/org/springframework/cloud/kubernetes/profile/KubernetesProfileEnvironmentPostProcessor.java index 5d0826e7..ccb7840c 100644 --- a/spring-cloud-kubernetes-core/src/main/java/org/springframework/cloud/kubernetes/profile/KubernetesProfileEnvironmentPostProcessor.java +++ b/spring-cloud-kubernetes-core/src/main/java/org/springframework/cloud/kubernetes/profile/KubernetesProfileEnvironmentPostProcessor.java @@ -43,8 +43,7 @@ public class KubernetesProfileEnvironmentPostProcessor public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) { - final String enabledStr = environment - .getProperty("spring.cloud.kubernetes.enabled", "true"); + final String enabledStr = environment.getProperty("spring.cloud.kubernetes.enabled", "true"); if ("false".equals(enabledStr.toLowerCase())) { return; } diff --git a/spring-cloud-kubernetes-dependencies/pom.xml b/spring-cloud-kubernetes-dependencies/pom.xml index c79edffc..83309a95 100644 --- a/spring-cloud-kubernetes-dependencies/pom.xml +++ b/spring-cloud-kubernetes-dependencies/pom.xml @@ -23,11 +23,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 2.2.0.M3 + 2.2.0.BUILD-SNAPSHOT spring-cloud-kubernetes-dependencies - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT pom Spring Cloud Kubernetes :: Dependencies Spring Cloud Kubernetes Dependencies diff --git a/spring-cloud-kubernetes-discovery/pom.xml b/spring-cloud-kubernetes-discovery/pom.xml index 5b7f35ce..27266346 100644 --- a/spring-cloud-kubernetes-discovery/pom.xml +++ b/spring-cloud-kubernetes-discovery/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud spring-cloud-kubernetes - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example/greeting-service/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example/greeting-service/pom.xml index 33fa4b0b..df95d691 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example/greeting-service/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example/greeting-service/pom.xml @@ -23,7 +23,7 @@ org.springframework.cloud kubernetes-circuitbreaker-ribbon-example - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT greeting-service diff --git a/spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example/name-service/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example/name-service/pom.xml index 609decf1..5a6c016b 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example/name-service/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example/name-service/pom.xml @@ -23,7 +23,7 @@ org.springframework.cloud kubernetes-circuitbreaker-ribbon-example - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT name-service diff --git a/spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example/pom.xml index 590757cc..63174f13 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-circuitbreaker-ribbon-example/pom.xml @@ -23,7 +23,7 @@ spring-cloud-kubernetes-examples org.springframework.cloud - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT org.springframework.cloud diff --git a/spring-cloud-kubernetes-examples/kubernetes-hello-world-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-hello-world-example/pom.xml index cb91b304..90d0a6cc 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-hello-world-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-hello-world-example/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes-examples org.springframework.cloud - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml index fe5c27ee..96457680 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-kubernetes-examples - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT kubernetes-leader-election-example diff --git a/spring-cloud-kubernetes-examples/kubernetes-reload-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-reload-example/pom.xml index 9b7276ba..d71a05ca 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-reload-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-reload-example/pom.xml @@ -22,7 +22,7 @@ spring-cloud-kubernetes-examples org.springframework.cloud - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/pom.xml index 8d6c24b9..301f0561 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/pom.xml @@ -22,7 +22,7 @@ spring-cloud-kubernetes-examples org.springframework.cloud - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-examples/pom.xml b/spring-cloud-kubernetes-examples/pom.xml index 64c9f0ee..f845ed91 100644 --- a/spring-cloud-kubernetes-examples/pom.xml +++ b/spring-cloud-kubernetes-examples/pom.xml @@ -23,7 +23,7 @@ spring-cloud-kubernetes org.springframework.cloud - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT spring-cloud-kubernetes-examples diff --git a/spring-cloud-kubernetes-integration-tests/discovery/discovery-client/pom.xml b/spring-cloud-kubernetes-integration-tests/discovery/discovery-client/pom.xml index 62d72678..ea9d5401 100644 --- a/spring-cloud-kubernetes-integration-tests/discovery/discovery-client/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/discovery/discovery-client/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud discovery-parent - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT discovery-client diff --git a/spring-cloud-kubernetes-integration-tests/discovery/discovery-service-a/pom.xml b/spring-cloud-kubernetes-integration-tests/discovery/discovery-service-a/pom.xml index 97451885..8efe51b2 100644 --- a/spring-cloud-kubernetes-integration-tests/discovery/discovery-service-a/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/discovery/discovery-service-a/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud discovery-parent - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT discovery-service-a diff --git a/spring-cloud-kubernetes-integration-tests/discovery/discovery-service-b/pom.xml b/spring-cloud-kubernetes-integration-tests/discovery/discovery-service-b/pom.xml index 46cda83a..5ba81c79 100644 --- a/spring-cloud-kubernetes-integration-tests/discovery/discovery-service-b/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/discovery/discovery-service-b/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud discovery-parent - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT discovery-service-b diff --git a/spring-cloud-kubernetes-integration-tests/discovery/pom.xml b/spring-cloud-kubernetes-integration-tests/discovery/pom.xml index 186dd292..f9b4c725 100644 --- a/spring-cloud-kubernetes-integration-tests/discovery/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/discovery/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT Spring Cloud Kubernetes :: Integration Tests :: Discovery Parent diff --git a/spring-cloud-kubernetes-integration-tests/discovery/tests/pom.xml b/spring-cloud-kubernetes-integration-tests/discovery/tests/pom.xml index d1487bef..4ca5d0d0 100644 --- a/spring-cloud-kubernetes-integration-tests/discovery/tests/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/discovery/tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud discovery-parent - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT tests diff --git a/spring-cloud-kubernetes-integration-tests/istio/pom.xml b/spring-cloud-kubernetes-integration-tests/istio/pom.xml index 60cd2117..ab274ab1 100644 --- a/spring-cloud-kubernetes-integration-tests/istio/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/istio/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT Spring Cloud Kubernetes :: Integration Tests :: Istio diff --git a/spring-cloud-kubernetes-integration-tests/pom.xml b/spring-cloud-kubernetes-integration-tests/pom.xml index a21a06c8..399318e6 100644 --- a/spring-cloud-kubernetes-integration-tests/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-kubernetes - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT spring-cloud-kubernetes-integration-tests diff --git a/spring-cloud-kubernetes-integration-tests/simple-configmap/pom.xml b/spring-cloud-kubernetes-integration-tests/simple-configmap/pom.xml index 53b5a332..a6d7ba5d 100644 --- a/spring-cloud-kubernetes-integration-tests/simple-configmap/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/simple-configmap/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT Spring Cloud Kubernetes :: Integration Tests :: Simple Configmap diff --git a/spring-cloud-kubernetes-integration-tests/simple-core/pom.xml b/spring-cloud-kubernetes-integration-tests/simple-core/pom.xml index 8d28d20d..d5de7362 100644 --- a/spring-cloud-kubernetes-integration-tests/simple-core/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/simple-core/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-kubernetes-integration-tests - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT Spring Cloud Kubernetes :: Integration Tests :: Simple Core diff --git a/spring-cloud-kubernetes-istio/pom.xml b/spring-cloud-kubernetes-istio/pom.xml index 0128b654..4b5c9633 100644 --- a/spring-cloud-kubernetes-istio/pom.xml +++ b/spring-cloud-kubernetes-istio/pom.xml @@ -5,7 +5,7 @@ spring-cloud-kubernetes org.springframework.cloud - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-leader/pom.xml b/spring-cloud-kubernetes-leader/pom.xml index 5e67ce8c..16846284 100644 --- a/spring-cloud-kubernetes-leader/pom.xml +++ b/spring-cloud-kubernetes-leader/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud spring-cloud-kubernetes - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT spring-cloud-kubernetes-leader diff --git a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderAutoConfigurationTests.java b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderAutoConfigurationTests.java index 0072a811..08cdd31f 100644 --- a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderAutoConfigurationTests.java +++ b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderAutoConfigurationTests.java @@ -33,7 +33,8 @@ import static org.hamcrest.Matchers.containsString; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = { // Make sure test passes without Kubernetes cluster - "spring.cloud.kubernetes.leader.autoStartup=false" }) + "spring.cloud.kubernetes.leader.autoStartup=false" +}) public class LeaderAutoConfigurationTests { @Value("${local.server.port}") diff --git a/spring-cloud-kubernetes-ribbon/pom.xml b/spring-cloud-kubernetes-ribbon/pom.xml index 1a560b7e..06275909 100644 --- a/spring-cloud-kubernetes-ribbon/pom.xml +++ b/spring-cloud-kubernetes-ribbon/pom.xml @@ -22,7 +22,7 @@ spring-cloud-kubernetes org.springframework.cloud - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesEndpointsServerList.java b/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesEndpointsServerList.java index 59257e45..7166564c 100644 --- a/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesEndpointsServerList.java +++ b/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesEndpointsServerList.java @@ -32,7 +32,6 @@ import org.apache.commons.logging.LogFactory; /** * the KubernetesEndpointsServerList description. - * * @author wuzishu */ public class KubernetesEndpointsServerList extends KubernetesServerList { @@ -41,11 +40,11 @@ public class KubernetesEndpointsServerList extends KubernetesServerList { /** * Instantiates a new Kubernetes endpoints server list. + * * @param client the client * @param properties the properties */ - KubernetesEndpointsServerList(KubernetesClient client, - KubernetesRibbonProperties properties) { + KubernetesEndpointsServerList(KubernetesClient client, KubernetesRibbonProperties properties) { super(client, properties); } @@ -53,16 +52,16 @@ public class KubernetesEndpointsServerList extends KubernetesServerList { public List getUpdatedListOfServers() { List result = new ArrayList<>(); Endpoints endpoints = StringUtils.isNotBlank(this.getNamespace()) - ? this.getClient().endpoints().inNamespace(this.getNamespace()) - .withName(this.getServiceId()).get() - : this.getClient().endpoints().withName(this.getServiceId()).get(); + ? this.getClient().endpoints().inNamespace(this.getNamespace()) + .withName(this.getServiceId()).get() + : this.getClient().endpoints().withName(this.getServiceId()).get(); if (endpoints != null) { if (LOG.isDebugEnabled()) { LOG.debug(String.format( - "Found [%d] endpoints in l [%s] for name [%s] and portName [%s]", - endpoints.getSubsets().size(), - endpoints.getMetadata().getNamespace(), this.getServiceId(), - this.getPortName())); + "Found [%d] endpoints in l [%s] for name [%s] and portName [%s]", + endpoints.getSubsets().size(), + endpoints.getMetadata().getNamespace(), this.getServiceId(), + this.getPortName())); } for (EndpointSubset subset : endpoints.getSubsets()) { @@ -75,9 +74,10 @@ public class KubernetesEndpointsServerList extends KubernetesServerList { else { for (EndpointPort port : subset.getPorts()) { if (Utils.isNullOrEmpty(this.getPortName()) - || this.getPortName().endsWith(port.getName())) { + || this.getPortName().endsWith(port.getName())) { for (EndpointAddress address : subset.getAddresses()) { - result.add(new Server(address.getIp(), port.getPort())); + result.add( + new Server(address.getIp(), port.getPort())); } } } @@ -86,11 +86,10 @@ public class KubernetesEndpointsServerList extends KubernetesServerList { } if (result.isEmpty()) { LOG.warn(String.format( - "Did not find any endpoints in ribbon in namespace [%s] for name [%s] and portName [%s]", - this.getNamespace(), this.getServiceId(), this.getPortName())); + "Did not find any endpoints in ribbon in namespace [%s] for name [%s] and portName [%s]", + this.getNamespace(), this.getServiceId(), this.getPortName())); } return result; } - } diff --git a/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesRibbonClientConfiguration.java b/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesRibbonClientConfiguration.java index 904e9c46..aa1018ad 100644 --- a/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesRibbonClientConfiguration.java +++ b/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesRibbonClientConfiguration.java @@ -40,7 +40,7 @@ public class KubernetesRibbonClientConfiguration { @Bean @ConditionalOnMissingBean public ServerList ribbonServerList(KubernetesClient client, IClientConfig config, - KubernetesRibbonProperties properties) { + KubernetesRibbonProperties properties) { KubernetesServerList serverList; if (properties.getMode() == KubernetesRibbonMode.SERVICE) { serverList = new KubernetesServicesServerList(client, properties); diff --git a/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesServerList.java b/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesServerList.java index 7c3232f0..7c6abc2a 100644 --- a/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesServerList.java +++ b/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesServerList.java @@ -32,7 +32,7 @@ import io.fabric8.kubernetes.client.KubernetesClient; * @author wuzishu */ public abstract class KubernetesServerList extends AbstractServerList - implements ServerList { + implements ServerList { private static final int FIRST = 0; @@ -48,11 +48,12 @@ public abstract class KubernetesServerList extends AbstractServerList /** * Instantiates a new Kubernetes server list. + * * @param client the client * @param properties the properties */ public KubernetesServerList(KubernetesClient client, - KubernetesRibbonProperties properties) { + KubernetesRibbonProperties properties) { this.client = client; this.properties = properties; } @@ -60,17 +61,19 @@ public abstract class KubernetesServerList extends AbstractServerList public void initWithNiwsConfig(IClientConfig clientConfig) { this.serviceId = clientConfig.getClientName(); this.namespace = clientConfig.getPropertyAsString(KubernetesConfigKey.Namespace, - this.client.getNamespace()); + this.client.getNamespace()); this.portName = clientConfig.getPropertyAsString(KubernetesConfigKey.PortName, - null); + null); } public List getInitialListOfServers() { return Collections.emptyList(); } + /** * Gets first. + * * @return the first */ static int getFIRST() { @@ -79,6 +82,7 @@ public abstract class KubernetesServerList extends AbstractServerList /** * Gets client. + * * @return the client */ KubernetesClient getClient() { @@ -87,6 +91,7 @@ public abstract class KubernetesServerList extends AbstractServerList /** * Gets service id. + * * @return the service id */ String getServiceId() { @@ -95,6 +100,7 @@ public abstract class KubernetesServerList extends AbstractServerList /** * Gets namespace. + * * @return the namespace */ String getNamespace() { @@ -103,6 +109,7 @@ public abstract class KubernetesServerList extends AbstractServerList /** * Gets port name. + * * @return the port name */ String getPortName() { @@ -111,10 +118,10 @@ public abstract class KubernetesServerList extends AbstractServerList /** * Gets properties. + * * @return the properties */ KubernetesRibbonProperties getProperties() { return properties; } - } diff --git a/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesServicesServerList.java b/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesServicesServerList.java index 5d0d6a69..2c445126 100644 --- a/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesServicesServerList.java +++ b/spring-cloud-kubernetes-ribbon/src/main/java/org/springframework/cloud/kubernetes/ribbon/KubernetesServicesServerList.java @@ -30,20 +30,18 @@ import org.apache.commons.logging.LogFactory; /** * the KubernetesServicesServerList description. - * * @author wuzishu */ public class KubernetesServicesServerList extends KubernetesServerList { - private static final Log LOG = LogFactory.getLog(KubernetesServicesServerList.class); /** * Instantiates a new Kubernetes services server list. + * * @param client the client * @param properties the properties */ - KubernetesServicesServerList(KubernetesClient client, - KubernetesRibbonProperties properties) { + KubernetesServicesServerList(KubernetesClient client, KubernetesRibbonProperties properties) { super(client, properties); } @@ -54,32 +52,31 @@ public class KubernetesServicesServerList extends KubernetesServerList { */ private String concatServiceFQDN(Service service) { return String.format("%s.%s.svc.%s", service.getMetadata().getName(), - StringUtils.isNotBlank(service.getMetadata().getNamespace()) - ? service.getMetadata().getNamespace() : "default", - this.getProperties().getClusterDomain()); + StringUtils.isNotBlank(service.getMetadata().getNamespace()) ? service.getMetadata() + .getNamespace() : "default", this.getProperties().getClusterDomain()); } @Override public List getUpdatedListOfServers() { List result = new ArrayList<>(); Service service = StringUtils.isNotBlank(this.getNamespace()) - ? this.getClient().services().inNamespace(this.getNamespace()) - .withName(this.getServiceId()).get() - : this.getClient().services().withName(this.getServiceId()).get(); + ? this.getClient().services().inNamespace(this.getNamespace()) + .withName(this.getServiceId()).get() + : this.getClient().services().withName(this.getServiceId()).get(); if (service != null) { if (LOG.isDebugEnabled()) { LOG.debug("Found Service[" + service.getMetadata().getName() + "]"); } if (service.getSpec().getPorts().size() == 1) { result.add(new Server(this.concatServiceFQDN(service), - service.getSpec().getPorts().get(0).getPort())); + service.getSpec().getPorts().get(0).getPort())); } else { for (ServicePort servicePort : service.getSpec().getPorts()) { if (Utils.isNotNullOrEmpty(this.getPortName()) - || this.getPortName().endsWith(servicePort.getName())) { + || this.getPortName().endsWith(servicePort.getName())) { result.add(new Server(concatServiceFQDN(service), - servicePort.getPort())); + servicePort.getPort())); } } @@ -87,10 +84,9 @@ public class KubernetesServicesServerList extends KubernetesServerList { } if (result.isEmpty()) { LOG.warn(String.format( - "Did not find any service in ribbon in namespace [%s] for name [%s] and portName [%s]", - this.getNamespace(), this.getServiceId(), this.getPortName())); + "Did not find any service in ribbon in namespace [%s] for name [%s] and portName [%s]", + this.getNamespace(), this.getServiceId(), this.getPortName())); } return result; } - } diff --git a/spring-cloud-kubernetes-ribbon/src/test/java/org/springframework/cloud/kubernetes/ribbon/RibbonWithServiceModeTest.java b/spring-cloud-kubernetes-ribbon/src/test/java/org/springframework/cloud/kubernetes/ribbon/RibbonWithServiceModeTest.java index cfb7ba1b..8d75bcc2 100644 --- a/spring-cloud-kubernetes-ribbon/src/test/java/org/springframework/cloud/kubernetes/ribbon/RibbonWithServiceModeTest.java +++ b/spring-cloud-kubernetes-ribbon/src/test/java/org/springframework/cloud/kubernetes/ribbon/RibbonWithServiceModeTest.java @@ -43,24 +43,22 @@ import static org.assertj.core.api.Assertions.assertThat; /** * the RibbonWithServiceModeTest description. - * * @author wuzishu */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = TestApplication.class, - properties = { "spring.application.name=testapp", - "spring.cloud.kubernetes.client.namespace=testns", - "spring.cloud.kubernetes.client.trustCerts=true", - "spring.cloud.kubernetes.config.namespace=testns", - "spring.cloud.kubernetes.enabled=true", - "spring.cloud.kubernetes.discovery.enabled=true", - "spring.cloud.kubernetes.ribbon.enabled=true", - "spring.cloud.kubernetes.ribbon.mode=SERVICE", - "spring.cloud.kubernetes.ribbon.clusterDomain=test.com" }) +@SpringBootTest(classes = TestApplication.class, properties = { + "spring.application.name=testapp", + "spring.cloud.kubernetes.client.namespace=testns", + "spring.cloud.kubernetes.client.trustCerts=true", + "spring.cloud.kubernetes.config.namespace=testns", + "spring.cloud.kubernetes.enabled=true", + "spring.cloud.kubernetes.discovery.enabled=true", + "spring.cloud.kubernetes.ribbon.enabled=true", + "spring.cloud.kubernetes.ribbon.mode=SERVICE", + "spring.cloud.kubernetes.ribbon.clusterDomain=test.com"}) @EnableAutoConfiguration @EnableDiscoveryClient public class RibbonWithServiceModeTest { - @ClassRule public static KubernetesServer server = new KubernetesServer(); @@ -78,22 +76,21 @@ public class RibbonWithServiceModeTest { // Configure the kubernetes master url to point to the mock server System.setProperty(Config.KUBERNETES_MASTER_SYSTEM_PROPERTY, - mockClient.getConfiguration().getMasterUrl()); + mockClient.getConfiguration().getMasterUrl()); System.setProperty(Config.KUBERNETES_TRUST_CERT_SYSTEM_PROPERTY, "true"); System.setProperty(Config.KUBERNETES_AUTH_TRYKUBECONFIG_SYSTEM_PROPERTY, "false"); System.setProperty(Config.KUBERNETES_AUTH_TRYSERVICEACCOUNT_SYSTEM_PROPERTY, - "false"); + "false"); // Configured - server.expect().get().withPath("/api/v1/namespaces/testns/services/testapp") - .andReturn(200, new ServiceBuilder().withNewMetadata().withName("testapp") - .withNamespace("testns").endMetadata().withNewSpec() - .addToSelector("app", "testapp-a").addNewPort().withName("http") - .withPort(mockEndpointA.getMockServer().getPort()) - .withTargetPort( - new IntOrString(mockEndpointA.getMockServer().getPort())) - .withProtocol("TCP").endPort().endSpec().build()) - .always(); + server.expect().get().withPath("/api/v1/namespaces/testns/services/testapp").andReturn(200, + new ServiceBuilder().withNewMetadata().withName("testapp").withNamespace("testns") + .endMetadata().withNewSpec().addToSelector("app", "testapp-a") + .addNewPort().withName("http") + .withPort(mockEndpointA.getMockServer().getPort()) + .withTargetPort(new IntOrString(mockEndpointA.getMockServer().getPort())) + .withProtocol("TCP").endPort().endSpec().build()) + .always(); } @@ -102,14 +99,10 @@ public class RibbonWithServiceModeTest { @Test public void testGreetingWithServiceMode() { - SpringClientFactory springClientFactory = context - .getBean(SpringClientFactory.class); + SpringClientFactory springClientFactory = context.getBean(SpringClientFactory.class); ILoadBalancer testapp = springClientFactory.getLoadBalancer("testapp"); List allServers = testapp.getAllServers(); - assertThat(allServers.stream() - .map(c -> String.format("%s:%s", c.getHost(), c.getPort()))) - .containsOnly("testapp.testns.svc.test.com:" - + mockEndpointA.getMockServer().getPort()); + assertThat(allServers.stream().map(c -> String.format("%s:%s", c.getHost(), c.getPort()))) + .containsOnly("testapp.testns.svc.test.com:" + mockEndpointA.getMockServer().getPort()); } - } diff --git a/spring-cloud-starter-kubernetes-all/pom.xml b/spring-cloud-starter-kubernetes-all/pom.xml index 788f1fdf..9c87ab11 100644 --- a/spring-cloud-starter-kubernetes-all/pom.xml +++ b/spring-cloud-starter-kubernetes-all/pom.xml @@ -22,7 +22,7 @@ spring-cloud-kubernetes org.springframework.cloud - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-kubernetes-config/pom.xml b/spring-cloud-starter-kubernetes-config/pom.xml index 46762651..6d6cac1d 100644 --- a/spring-cloud-starter-kubernetes-config/pom.xml +++ b/spring-cloud-starter-kubernetes-config/pom.xml @@ -22,7 +22,7 @@ spring-cloud-kubernetes org.springframework.cloud - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-kubernetes-ribbon/pom.xml b/spring-cloud-starter-kubernetes-ribbon/pom.xml index badaf52e..55b57a00 100644 --- a/spring-cloud-starter-kubernetes-ribbon/pom.xml +++ b/spring-cloud-starter-kubernetes-ribbon/pom.xml @@ -22,7 +22,7 @@ spring-cloud-kubernetes org.springframework.cloud - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-kubernetes/pom.xml b/spring-cloud-starter-kubernetes/pom.xml index ee56a3bb..0ffbe1f2 100644 --- a/spring-cloud-starter-kubernetes/pom.xml +++ b/spring-cloud-starter-kubernetes/pom.xml @@ -22,7 +22,7 @@ spring-cloud-kubernetes org.springframework.cloud - 1.1.0.M1 + 1.1.0.BUILD-SNAPSHOT 4.0.0