diff --git a/README.md b/README.md
index f24d8435..1ac94525 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,6 @@
- [Transparency](#transparency) *(it is transparent whether the code runs in or outside of Kubernetes)*
- [Kubernetes Profile Autoconfiguration](#kubernetes-profile-autoconfiguration)
- [Ribbon discovery in Kubernetes](#ribbon-discovery-in-kubernetes)
-- [Zipkin discovery in Kubernetes](#zipkin-discovery-in-kubernetes)
- [ConfigMap Archaius Bridge](#configmap-archaius-bridge)
---
@@ -527,33 +526,6 @@ Examples that are using this module for ribbon discovery are:
Remark : The Ribbon discovery client can be disabled by setting this key within the application properties file
`spring.cloud.kubernetes.ribbon.enabled=false`.
-
-### Zipkin discovery in Kubernetes
-
-[](https://maven-badges.herokuapp.com/maven-central/org.springframework.cloud/spring-cloud-starter-kubernetes-zipkin/)
-[](http://www.javadoc.io/doc/org.springframework.cloud/spring-cloud-starter-kubernetes-zipkin)
-[](https://www.versioneye.com/java/org.springframework.cloud:spring-cloud-starter-kubernetes-zipkin/)
-
-[Zipkin](https://github.com/openzipkin/zipkin) is a distributed tracing system which is supported by the project
-[Spring Cloud Sleuth](https://github.com/spring-cloud/spring-cloud-sleuth) which allows
-to collect traces or spans from microservice applications.
-
-A Discovery client has been implemented top of Kubernetes in order to fetch the Zipkin service (e.g. `zipkin`). This
-client is provided by the [spring-cloud-kubernetes-zipkin](spring-cloud-kubernetes-zipkin/pom.xml) project that you
-can use by adding this starter to your maven pom file:
-
-```xml
-
- org.springframework.cloud
- spring-cloud-starter-kubernetes-zipkin
- ${latest.version}
-
-```
-
-This works as an extension of the [spring-cloud-sleuth-zipkin](https://github.com/spring-cloud/spring-cloud-sleuth/tree/master/spring-cloud-sleuth-zipkin) project.
-The name of the Zipkin service and the target Kubernetes namespace/project where the service runs can be specified
-using the following `application.properties` properties:
-
```bash
spring.cloud.kubernetes.zipkin.discovery.serviceName=my-zipkin
spring.cloud.kubernetes.zipkin.discovery.serviceNamespace=tracing
diff --git a/pom.xml b/pom.xml
index 20f78cc8..184b776a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,9 +59,9 @@
- 1.2.3.RELEASE
- 1.3.2.RELEASE
- 1.2.2.RELEASE
+ 1.3.5.RELEASE
+ 1.4.6.RELEASE
+ 1.3.5.RELEASE
3.5
@@ -78,13 +78,11 @@
spring-cloud-kubernetes-config
spring-cloud-kubernetes-discovery
spring-cloud-kubernetes-ribbon
- spring-cloud-kubernetes-zipkin
spring-cloud-kubernetes-hystrix
spring-cloud-kubernetes-archaius
spring-cloud-starter-kubernetes
spring-cloud-starter-kubernetes-config
spring-cloud-starter-kubernetes-netflix
- spring-cloud-starter-kubernetes-zipkin
spring-cloud-starter-kubernetes-ribbon
spring-cloud-starter-kubernetes-all
spring-cloud-kubernetes-examples
diff --git a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/pom.xml
index f5d701cf..0339f45b 100644
--- a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/pom.xml
+++ b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/pom.xml
@@ -87,10 +87,6 @@
-
- org.springframework.cloud
- spring-cloud-kubernetes-zipkin
-
org.springframework.cloud
spring-cloud-sleuth-zipkin
diff --git a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/java/org/springframework/cloud/kubernetes/examples/ZipkinApplication.java b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/java/org/springframework/cloud/kubernetes/examples/ZipkinApplication.java
index 980115ef..9bc36b74 100644
--- a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/java/org/springframework/cloud/kubernetes/examples/ZipkinApplication.java
+++ b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/java/org/springframework/cloud/kubernetes/examples/ZipkinApplication.java
@@ -21,8 +21,6 @@ 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.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.cloud.sleuth.zipkin.ZipkinSpanReporter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.scheduling.annotation.EnableAsync;
diff --git a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/resources/application.yml b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/resources/application.yml
index 8b972127..39d7ebfa 100644
--- a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/resources/application.yml
+++ b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/resources/application.yml
@@ -5,6 +5,9 @@ spring:
sleuth:
sampler:
percentage: 1.0
+ zipkin:
+ # Assuming that zipkinserver is the service name of zipkin server.
+ baseUrl: http://zipkinserver
sample:
zipkin:
diff --git a/spring-cloud-kubernetes-zipkin/.jdk8 b/spring-cloud-kubernetes-zipkin/.jdk8
deleted file mode 100644
index e69de29b..00000000
diff --git a/spring-cloud-kubernetes-zipkin/pom.xml b/spring-cloud-kubernetes-zipkin/pom.xml
deleted file mode 100644
index 85b0e94d..00000000
--- a/spring-cloud-kubernetes-zipkin/pom.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
- spring-cloud-kubernetes
- org.springframework.cloud
- 0.2.1.BUILD-SNAPSHOT
-
- 4.0.0
-
- org.springframework.cloud
- spring-cloud-kubernetes-zipkin
- Spring Cloud Kubernetes :: Zipkin
-
-
-
-
- org.springframework.cloud
- spring-cloud-kubernetes-discovery
- ${project.version}
-
-
-
- org.springframework.boot
- spring-boot-autoconfigure
- true
-
-
-
- org.springframework.cloud
- spring-cloud-commons
- true
-
-
-
- org.springframework.cloud
- spring-cloud-context
- true
-
-
-
- org.springframework.cloud
- spring-cloud-sleuth-zipkin
- true
-
-
-
-
-
diff --git a/spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/KubernetesZipkinDiscoveryProperties.java b/spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/KubernetesZipkinDiscoveryProperties.java
deleted file mode 100644
index 43e6d17e..00000000
--- a/spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/KubernetesZipkinDiscoveryProperties.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2016 to the original 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
- *
- * http://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.zipkin;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-@ConfigurationProperties("spring.cloud.kubernetes.zipkin.discovery")
-public class KubernetesZipkinDiscoveryProperties {
-
- private boolean enabled = true;
- private String serviceName = "zipkin";
- private String serviceNamespace;
-
-
- public boolean isEnabled() {
- return enabled;
- }
-
- public void setEnabled(boolean enabled) {
- this.enabled = enabled;
- }
-
- public String getServiceName() {
- return serviceName;
- }
-
- public void setServiceName(String serviceName) {
- this.serviceName = serviceName;
- }
-
- public String getServiceNamespace() {
- return serviceNamespace;
- }
-
- public void setServiceNamespace(String serviceNamespace) {
- this.serviceNamespace = serviceNamespace;
- }
-}
diff --git a/spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/ZipkinKubernetesAutoConfiguration.java b/spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/ZipkinKubernetesAutoConfiguration.java
deleted file mode 100644
index 645ccfed..00000000
--- a/spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/ZipkinKubernetesAutoConfiguration.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2016 to the original 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
- *
- * http://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.zipkin;
-
-import io.fabric8.kubernetes.api.model.Endpoints;
-import io.fabric8.kubernetes.client.KubernetesClient;
-import io.fabric8.kubernetes.client.utils.Utils;
-import org.springframework.cloud.kubernetes.discovery.KubernetesServiceInstance;
-import org.springframework.boot.autoconfigure.AutoConfigureBefore;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.cloud.client.ServiceInstance;
-import org.springframework.cloud.sleuth.metric.SpanMetricReporter;
-import org.springframework.cloud.sleuth.zipkin.DefaultZipkinRestTemplateCustomizer;
-import org.springframework.cloud.sleuth.zipkin.HttpZipkinSpanReporter;
-import org.springframework.cloud.sleuth.zipkin.ZipkinAutoConfiguration;
-import org.springframework.cloud.sleuth.zipkin.ZipkinProperties;
-import org.springframework.cloud.sleuth.zipkin.ZipkinSpanReporter;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.util.Assert;
-import org.springframework.web.client.RestTemplate;
-import zipkin.Span;
-
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-@Configuration
-@EnableConfigurationProperties(KubernetesZipkinDiscoveryProperties.class)
-@ConditionalOnProperty(value = "spring.cloud.kubernetes.zipkin.discovery.enabled", matchIfMissing = true)
-@AutoConfigureBefore(ZipkinAutoConfiguration.class)
-public class ZipkinKubernetesAutoConfiguration {
-
-
- @Bean
- public ZipkinSpanReporter reporter(KubernetesClient client, KubernetesZipkinDiscoveryProperties discoveryProperties, SpanMetricReporter spanMetricReporter, ZipkinProperties zipkin) {
- String serviceName = discoveryProperties.getServiceName();
- String serviceNamespace = Utils.isNotNullOrEmpty(discoveryProperties.getServiceNamespace()) ? discoveryProperties.getServiceNamespace() : client.getNamespace();
-
- List services = getInstances(client, serviceName, serviceNamespace);
- String serviceUrl = services.stream()
- .findFirst()
- .map(s -> s.getUri().toString())
- .orElse(null);
-
- return serviceUrl == null || serviceUrl.isEmpty()
- ? new NullZipkinSpanReporter()
- : new HttpZipkinSpanReporter(restTemplateWithCompression(), serviceUrl, zipkin.getFlushInterval(), spanMetricReporter);
- }
-
- private static List getInstances(KubernetesClient client, String name, String namespace) {
- Assert.notNull(name, "[Assertion failed] - the service name must not be null");
-
- return Optional.ofNullable(client.endpoints().inNamespace(namespace).withName(name).get())
- .orElse(new Endpoints())
- .getSubsets()
- .stream()
- .flatMap(s -> s.getAddresses().stream().map(a -> (ServiceInstance) new KubernetesServiceInstance(name, a ,s.getPorts().stream().findFirst().orElseThrow(IllegalStateException::new), false)))
- .collect(Collectors.toList());
- }
-
- static final class NullZipkinSpanReporter implements ZipkinSpanReporter {
-
- @Override
- public void report(Span span) {
-
- }
- }
-
- private RestTemplate restTemplateWithCompression() {
- ZipkinProperties zipkinProperties = new ZipkinProperties();
- zipkinProperties.getCompression().setEnabled(true);
- return restTemplate(zipkinProperties);
- }
-
- private RestTemplate restTemplate(ZipkinProperties zipkinProperties) {
- RestTemplate restTemplate = new RestTemplate();
- new DefaultZipkinRestTemplateCustomizer(zipkinProperties).customize(restTemplate);
- return restTemplate;
- }
-}
diff --git a/spring-cloud-kubernetes-zipkin/src/main/resources/META-INF/spring.factories b/spring-cloud-kubernetes-zipkin/src/main/resources/META-INF/spring.factories
deleted file mode 100644
index aceffa6e..00000000
--- a/spring-cloud-kubernetes-zipkin/src/main/resources/META-INF/spring.factories
+++ /dev/null
@@ -1,2 +0,0 @@
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.springframework.cloud.kubernetes.zipkin.ZipkinKubernetesAutoConfiguration
diff --git a/spring-cloud-starter-kubernetes-all/pom.xml b/spring-cloud-starter-kubernetes-all/pom.xml
index 25403c15..35b2f891 100644
--- a/spring-cloud-starter-kubernetes-all/pom.xml
+++ b/spring-cloud-starter-kubernetes-all/pom.xml
@@ -61,16 +61,6 @@
spring-cloud-kubernetes-hystrix
-
- org.springframework.cloud
- spring-cloud-kubernetes-zipkin
-
-
-
- org.springframework.cloud
- spring-cloud-sleuth-zipkin
-
-
org.aspectj
aspectjweaver
diff --git a/spring-cloud-starter-kubernetes-zipkin/pom.xml b/spring-cloud-starter-kubernetes-zipkin/pom.xml
deleted file mode 100644
index 4d2984a5..00000000
--- a/spring-cloud-starter-kubernetes-zipkin/pom.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-
- spring-cloud-kubernetes
- org.springframework.cloud
- 0.2.1.BUILD-SNAPSHOT
-
- 4.0.0
-
- org.springframework.cloud
- spring-cloud-starter-kubernetes-zipkin
- Spring Cloud Kubernetes :: Starter :: Zipkin
-
-
-
- org.springframework.cloud
- spring-cloud-kubernetes-core
-
-
-
- org.springframework.cloud
- spring-cloud-kubernetes-discovery
-
-
-
- org.springframework.cloud
- spring-cloud-kubernetes-zipkin
-
-
-
- org.springframework.cloud
- spring-cloud-sleuth-zipkin
-
-
-
- org.aspectj
- aspectjweaver
-
-
-
- org.aspectj
- aspectjrt
-
-
-
-
-