Files
Spring Operator 7c88016377 URL Cleanup (#380)
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://img.shields.io/badge/license-Apache%202-red.svg with 1 occurrences migrated to:
  https://img.shields.io/badge/license-Apache%202-red.svg ([https](https://img.shields.io/badge/license-Apache%202-red.svg) result 200).
* [ ] http://kubernetes.io with 1 occurrences migrated to:
  https://kubernetes.io ([https](https://kubernetes.io) result 200).
* [ ] http://kubernetes.io/ with 1 occurrences migrated to:
  https://kubernetes.io/ ([https](https://kubernetes.io/) result 200).
* [ ] http://microservices.io/patterns/client-side-discovery.html with 1 occurrences migrated to:
  https://microservices.io/patterns/client-side-discovery.html ([https](https://microservices.io/patterns/client-side-discovery.html) result 200).
* [ ] http://projects.spring.io/spring-cloud/ with 1 occurrences migrated to:
  https://projects.spring.io/spring-cloud/ ([https](https://projects.spring.io/spring-cloud/) result 200).
* [ ] http://repo1.maven.org/maven2/io/fabric8/zipkin/zipkin-starter-minimal/0.1.9/zipkin-starter-minimal-0.1.9-kubernetes.yml with 1 occurrences migrated to:
  https://repo1.maven.org/maven2/io/fabric8/zipkin/zipkin-starter-minimal/0.1.9/zipkin-starter-minimal-0.1.9-kubernetes.yml ([https](https://repo1.maven.org/maven2/io/fabric8/zipkin/zipkin-starter-minimal/0.1.9/zipkin-starter-minimal-0.1.9-kubernetes.yml) result 200).
* [ ] http://repo1.maven.org/maven2/io/fabric8/zipkin/zipkin-starter-minimal/0.1.9/zipkin-starter-minimal-0.1.9-openshift.yml with 1 occurrences migrated to:
  https://repo1.maven.org/maven2/io/fabric8/zipkin/zipkin-starter-minimal/0.1.9/zipkin-starter-minimal-0.1.9-openshift.yml ([https](https://repo1.maven.org/maven2/io/fabric8/zipkin/zipkin-starter-minimal/0.1.9/zipkin-starter-minimal-0.1.9-openshift.yml) result 200).
* [ ] http://www.java.com/en/download/help/error_hotspot.xml with 1 occurrences migrated to:
  https://www.java.com/en/download/help/error_hotspot.xml ([https](https://www.java.com/en/download/help/error_hotspot.xml) result 200).
* [ ] http://kubernetes.io/docs/user-guide/configmap/ with 1 occurrences migrated to:
  https://kubernetes.io/docs/user-guide/configmap/ ([https](https://kubernetes.io/docs/user-guide/configmap/) result 301).
* [ ] http://kubernetes.io/docs/user-guide/production-pods/ with 1 occurrences migrated to:
  https://kubernetes.io/docs/user-guide/production-pods/ ([https](https://kubernetes.io/docs/user-guide/production-pods/) result 301).
* [ ] http://kubernetes.io/docs/user-guide/services/ with 1 occurrences migrated to:
  https://kubernetes.io/docs/user-guide/services/ ([https](https://kubernetes.io/docs/user-guide/services/) result 301).
* [ ] http://www.javadoc.io/badge/org.springframework.cloud/spring-cloud-kubernetes-archaius.svg?color=blue with 1 occurrences migrated to:
  https://www.javadoc.io/badge/org.springframework.cloud/spring-cloud-kubernetes-archaius.svg?color=blue ([https](https://www.javadoc.io/badge/org.springframework.cloud/spring-cloud-kubernetes-archaius.svg?color=blue) result 303).
* [ ] http://www.javadoc.io/badge/org.springframework.cloud/spring-cloud-starter-kubernetes-netflix.svg?color=blue with 1 occurrences migrated to:
  https://www.javadoc.io/badge/org.springframework.cloud/spring-cloud-starter-kubernetes-netflix.svg?color=blue ([https](https://www.javadoc.io/badge/org.springframework.cloud/spring-cloud-starter-kubernetes-netflix.svg?color=blue) result 303).
* [ ] http://www.javadoc.io/badge/org.springframework.cloud/spring-cloud-starter-kubernetes.svg?color=blue with 1 occurrences migrated to:
  https://www.javadoc.io/badge/org.springframework.cloud/spring-cloud-starter-kubernetes.svg?color=blue ([https](https://www.javadoc.io/badge/org.springframework.cloud/spring-cloud-starter-kubernetes.svg?color=blue) result 303).
* [ ] http://www.javadoc.io/doc/org.springframework.cloud/spring-cloud-kubernetes-archaius with 1 occurrences migrated to:
  https://www.javadoc.io/doc/org.springframework.cloud/spring-cloud-kubernetes-archaius ([https](https://www.javadoc.io/doc/org.springframework.cloud/spring-cloud-kubernetes-archaius) result 303).
* [ ] http://www.javadoc.io/doc/org.springframework.cloud/spring-cloud-starter-kubernetes with 1 occurrences migrated to:
  https://www.javadoc.io/doc/org.springframework.cloud/spring-cloud-starter-kubernetes ([https](https://www.javadoc.io/doc/org.springframework.cloud/spring-cloud-starter-kubernetes) result 303).
* [ ] http://www.javadoc.io/doc/org.springframework.cloud/spring-cloud-starter-kubernetes-netflix with 1 occurrences migrated to:
  https://www.javadoc.io/doc/org.springframework.cloud/spring-cloud-starter-kubernetes-netflix ([https](https://www.javadoc.io/doc/org.springframework.cloud/spring-cloud-starter-kubernetes-netflix) result 303).

# Ignored
These URLs were intentionally ignored.

* http://IP_OR_HOSTNAME/ with 1 occurrences
* http://IP_OR_HOSTNAME/greeting with 6 occurrences
* http://localhost with 2 occurrences
* http://localhost/api with 2 occurrences
* http://localhost/db with 2 occurrences
* http://localhost:%d/api/farewell with 3 occurrences
* http://localhost:%d/api/greeting with 4 occurrences
* http://name-service/name?delay=%d with 1 occurrences
* http://testapp/greeting with 5 occurrences
* http://zipkinserver with 1 occurrences
2019-03-26 11:41:00 -04:00
..
2019-03-21 15:18:01 -04:00
2019-03-16 12:05:09 -04:00
2019-03-26 11:41:00 -04:00

Kubernetes Zipkin Example

This project demonstrates how a Spring Boot application generating statistics as Spring Cloud Sleuth Spans/Traces can send them to a ZipKin server deployed in Kubernetes without the need to configure the baseUrl of the ZipKin server deployed as the server will be discovered. The spans/traces generated can be viewed within the Zipkin dashboard under the serviceName=sleuth-zipkin

The Zipkin server is deployed according to the steps described within the Minishift or Minikube section.

The project exposes under the TraceController 2 endpoints / and /hi that you can play with in order to generate traces. When you call the root endpoint /, then it will issue a call against the second endpoint /hi and you will receive /hi/hello as response. If you look to the Zipkin dashboard, you will be able to get 2 traces recorded.

	@RequestMapping("/")
	public String say() throws InterruptedException {
		Thread.sleep(this.random.nextInt(1000));
		log.info("Home");
		String s = this.restTemplate.getForObject("http://localhost:" + this.port
				+ "/hi", String.class);
		return "hi/" + s;
	}

	@RequestMapping("/hi")
	public String hi() throws InterruptedException {
		log.info("hi");
		int millis = this.random.nextInt(1000);
		Thread.sleep(millis);
		this.tracer.addTag("random-sleep-millis", String.valueOf(millis));
		return "hello";
	}

Running the example

This project example runs on ALL the Kubernetes or OpenShift environments, but for development purposes you can use Minishift - OpenShift or Minikube - Kubernetes tool to install the platform locally within a virtual machine managed by VirtualBox, Xhyve or KVM, with no fuss.

Build/Deploy using Minikube

First, create a new virtual machine provisioned with Kubernetes on your laptop using the command minikube start.

To deploy the Zipkin server and store the traces under a MySQL server, execute the following commands to create a persistent volume for the database and next to deploy the Zipkin application

kubectl create -f https://repo1.maven.org/maven2/io/fabric8/zipkin/zipkin-starter-minimal/0.1.9/zipkin-starter-minimal-0.1.9-kubernetes.yml

cat << EOF | kubectl create -f -
kind: PersistentVolume
apiVersion: v1
metadata:
  name: pv0001
  labels:
    type: local
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/tmp/data01"
EOF    

cat << EOF | kubectl create -f - 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-data
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
EOF

Next, you can compile your project and generate the Kubernetes resources (yaml files containing the definition of the pod, deployment, build, service and route to be created) like also to deploy the application on Kubernetes in one maven line :

mvn clean install fabric8:deploy -Dservice.type=NodePort -Dfabric8.generator.from=fabric8/java-jboss-openjdk8-jdk -Pkubernetes

You can find the address of the zipkin server to be opened within your browser using this command

minikube service zipkin --url

like also the endpoint to call to generate traces

export ENDPOINT=$(minikube service kubernetes-zipkin --url)
curl $ENDPOINT
curl $ENDPOINT/hi

Build/Deploy using Minishift

First, create a new virtual machine provisioned with OpenShift on your laptop using the command minishift start.

Next, log on to the OpenShift platform and next within your terminal use the oc client to create a project where we will install the circuit breaker and load balancing application

oc new-project zipkin

When using OpenShift, you must assign the view role to the default service account in the current project in order to allow our Java Kubernetes Api to access the API Server :

oc policy add-role-to-user view --serviceaccount=default

To deploy the Zipkin server and store the traces under a MySQL server, execute the following commands to deploy the Zipkin application

oc create -f https://repo1.maven.org/maven2/io/fabric8/zipkin/zipkin-starter-minimal/0.1.9/zipkin-starter-minimal-0.1.9-openshift.yml
oc delete pvc/mysql-data

cat << EOF | oc create -f - 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-data
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
EOF

You can now compile your project and generate the OpenShift resources (yaml files containing the definition of the pod, deployment, build, service and route to be created) like also to deploy the application on the OpenShift platform in one maven line :

mvn clean install fabric8:deploy -Pkubernetes

You can find the address of the Zipkin server to be opened within your browser using this command

oc get route/zipkin --template='{{.spec.host}}'

like also the endpoint to call to generate traces

export ENDPOINT=$(oc get route/kubernetes-zipkin --template='{{.spec.host}}')
curl $ENDPOINT
curl $ENDPOINT/hi