 Alexander Matyushentsev
					
					7 years ago
						Alexander Matyushentsev
					
					7 years ago
					
						
							committed by
							
								 GitHub
								GitHub
							
						 
					
				 
				
			 
		 
		
			
				
					
					No known key found for this signature in database
					
						
							GPG Key ID: 4AEE18F83AFDEB23
						
					
				
			
		
		
		
	
		
			
				 9 changed files with 
248 additions and 
0 deletions
			 
			
		 
		
			
				- 
					
					
					 
					blue-green/.helmignore
				
- 
					
					
					 
					blue-green/Chart.yaml
				
- 
					
					
					 
					blue-green/README.md
				
- 
					
					
					 
					blue-green/templates/NOTES.txt
				
- 
					
					
					 
					blue-green/templates/_helpers.tpl
				
- 
					
					
					 
					blue-green/templates/rollout.yaml
				
- 
					
					
					 
					blue-green/templates/services.yaml
				
- 
					
					
					 
					blue-green/values.yaml
				
- 
					
					
					 
					guestbook/README.md
				
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -0,0 +1,21 @@ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | # Patterns to ignore when building packages. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | # This supports shell glob matching, relative path matching, and | 
			
		
	
		
		
			
				
					|  |  |  |  |  | # negation (prefixed with !). Only one pattern per line. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | .DS_Store | 
			
		
	
		
		
			
				
					|  |  |  |  |  | # Common VCS dirs | 
			
		
	
		
		
			
				
					|  |  |  |  |  | .git/ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | .gitignore | 
			
		
	
		
		
			
				
					|  |  |  |  |  | .bzr/ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | .bzrignore | 
			
		
	
		
		
			
				
					|  |  |  |  |  | .hg/ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | .hgignore | 
			
		
	
		
		
			
				
					|  |  |  |  |  | .svn/ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | # Common backup files | 
			
		
	
		
		
			
				
					|  |  |  |  |  | *.swp | 
			
		
	
		
		
			
				
					|  |  |  |  |  | *.bak | 
			
		
	
		
		
			
				
					|  |  |  |  |  | *.tmp | 
			
		
	
		
		
			
				
					|  |  |  |  |  | *~ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | # Various IDEs | 
			
		
	
		
		
			
				
					|  |  |  |  |  | .project | 
			
		
	
		
		
			
				
					|  |  |  |  |  | .idea/ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | *.tmproj | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -0,0 +1,5 @@ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | apiVersion: v1 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | appVersion: "1.0" | 
			
		
	
		
		
			
				
					|  |  |  |  |  | description: A Helm chart for Kubernetes | 
			
		
	
		
		
			
				
					|  |  |  |  |  | name: helm-guestbook | 
			
		
	
		
		
			
				
					|  |  |  |  |  | version: 0.1.0 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -0,0 +1,30 @@ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | # Blue Green | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | The blue green strategy is not supported by built-in Kubernetes Deployment but available via third-party Kubernetes controller. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | This example demonstrates how to implement blue-green deployment via [Argo Rollouts](https://github.com/argoproj/argo-rollouts): | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 1. Install Argo Rollouts controller: https://github.com/argoproj/argo-rollouts#installation | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 2. Create a sample application and sync it. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | ``` | 
			
		
	
		
		
			
				
					|  |  |  |  |  | argocd app create --name blue-green --repo https://github.com/argoproj/argocd-example-apps --dest-server https://kubernetes.default.svc --dest-namespace default --path blue-green && argocd app sync blue-green | 
			
		
	
		
		
			
				
					|  |  |  |  |  | ``` | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | Once the application is synced you can access it using `blue-green-helm-guestbook` service. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 3. Change image version parameter to trigger blue-green deployment process: | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | ``` | 
			
		
	
		
		
			
				
					|  |  |  |  |  | argocd app set blue-green -p image.tag=0.2 && argocd app sync blue-green | 
			
		
	
		
		
			
				
					|  |  |  |  |  | ``` | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | Now application runs `ks-guestbook-demo:0.1` and `ks-guestbook-demo:0.2` images simultaneously. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | The `ks-guestbook-demo:0.2` is still considered `blue` available only via preview service `blue-green-helm-guestbook-preview`. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 4. Promote `ks-guestbook-demo:0.2` to `green` by patching `Rollout` resource: | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | ``` | 
			
		
	
		
		
			
				
					|  |  |  |  |  | argocd app patch-resource blue-green --kind Rollout --resource-name blue-green-helm-guestbook --patch '{ "spec": { "paused": false } }' --patch-type 'application/merge-patch+json' | 
			
		
	
		
		
			
				
					|  |  |  |  |  | ``` | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | This promotes `ks-guestbook-demo:0.2` to `green` status and `Rollout` deletes old replica which runs `ks-guestbook-demo:0.1`. | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -0,0 +1,19 @@ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 1. Get the application URL by running these commands: | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- if .Values.ingress.enabled }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- range .Values.ingress.hosts }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   http{{ if $.Values.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ingress.path }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- end }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- else if contains "NodePort" .Values.service.type }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "helm-guestbook.fullname" . }}) | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   echo http://$NODE_IP:$NODE_PORT | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- else if contains "LoadBalancer" .Values.service.type }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |      NOTE: It may take a few minutes for the LoadBalancer IP to be available. | 
			
		
	
		
		
			
				
					|  |  |  |  |  |            You can watch the status of by running 'kubectl get svc -w {{ template "helm-guestbook.fullname" . }}' | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "helm-guestbook.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   echo http://$SERVICE_IP:{{ .Values.service.port }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- else if contains "ClusterIP" .Values.service.type }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "helm-guestbook.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   echo "Visit http://127.0.0.1:8080 to use your application" | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   kubectl port-forward $POD_NAME 8080:80 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- end }} | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -0,0 +1,32 @@ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{/* vim: set filetype=mustache: */}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{/* | 
			
		
	
		
		
			
				
					|  |  |  |  |  | Expand the name of the chart. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | */}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- define "helm-guestbook.name" -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- end -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{/* | 
			
		
	
		
		
			
				
					|  |  |  |  |  | Create a default fully qualified app name. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). | 
			
		
	
		
		
			
				
					|  |  |  |  |  | If release name contains chart name it will be used as a full name. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | */}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- define "helm-guestbook.fullname" -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- if .Values.fullnameOverride -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- else -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- $name := default .Chart.Name .Values.nameOverride -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- if contains $name .Release.Name -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- .Release.Name | trunc 63 | trimSuffix "-" -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- else -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- end -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- end -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- end -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{/* | 
			
		
	
		
		
			
				
					|  |  |  |  |  | Create chart name and version as used by the chart label. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | */}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- define "helm-guestbook.chart" -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{- end -}} | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -0,0 +1,56 @@ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | apiVersion: argoproj.io/v1alpha1 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | kind: Rollout | 
			
		
	
		
		
			
				
					|  |  |  |  |  | metadata: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   name: {{ template "helm-guestbook.fullname" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   labels: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     app: {{ template "helm-guestbook.name" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     chart: {{ template "helm-guestbook.chart" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     release: {{ .Release.Name }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     heritage: {{ .Release.Service }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | spec: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   replicas: {{ .Values.replicaCount }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   revisionHistoryLimit: 3 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   selector: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     matchLabels: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       app: {{ template "helm-guestbook.name" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       release: {{ .Release.Name }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   strategy: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     blueGreen: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       activeService: {{ template "helm-guestbook.fullname" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       previewService: {{ template "helm-guestbook.fullname" . }}-preview | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   template: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     metadata: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       labels: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         app: {{ template "helm-guestbook.name" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         release: {{ .Release.Name }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     spec: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       containers: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         - name: {{ .Chart.Name }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           imagePullPolicy: {{ .Values.image.pullPolicy }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           ports: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             - name: http | 
			
		
	
		
		
			
				
					|  |  |  |  |  |               containerPort: 80 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |               protocol: TCP | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           livenessProbe: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             httpGet: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |               path: / | 
			
		
	
		
		
			
				
					|  |  |  |  |  |               port: http | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           readinessProbe: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             httpGet: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |               path: / | 
			
		
	
		
		
			
				
					|  |  |  |  |  |               port: http | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           resources: | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{ toYaml .Values.resources | indent 12 }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     {{- with .Values.nodeSelector }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       nodeSelector: | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{ toYaml . | indent 8 }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     {{- end }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     {{- with .Values.affinity }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       affinity: | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{ toYaml . | indent 8 }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     {{- end }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     {{- with .Values.tolerations }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       tolerations: | 
			
		
	
		
		
			
				
					|  |  |  |  |  | {{ toYaml . | indent 8 }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     {{- end }} | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -0,0 +1,40 @@ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | --- | 
			
		
	
		
		
			
				
					|  |  |  |  |  | apiVersion: v1 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | kind: Service | 
			
		
	
		
		
			
				
					|  |  |  |  |  | metadata: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   name: {{ template "helm-guestbook.fullname" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   labels: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     app: {{ template "helm-guestbook.name" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     chart: {{ template "helm-guestbook.chart" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     release: {{ .Release.Name }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     heritage: {{ .Release.Service }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | spec: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   type: {{ .Values.service.type }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   ports: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - port: {{ .Values.service.port }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       targetPort: http | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       protocol: TCP | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       name: http | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   selector: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     app: {{ template "helm-guestbook.name" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     release: {{ .Release.Name }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | --- | 
			
		
	
		
		
			
				
					|  |  |  |  |  | apiVersion: v1 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | kind: Service | 
			
		
	
		
		
			
				
					|  |  |  |  |  | metadata: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   name: {{ template "helm-guestbook.fullname" . }}-preview | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   labels: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     app: {{ template "helm-guestbook.name" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     chart: {{ template "helm-guestbook.chart" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     release: {{ .Release.Name }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     heritage: {{ .Release.Service }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | spec: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   type: {{ .Values.service.type }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   ports: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - port: {{ .Values.service.port }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       targetPort: http | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       protocol: TCP | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       name: http | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   selector: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     app: {{ template "helm-guestbook.name" . }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     release: {{ .Release.Name }} | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -0,0 +1,45 @@ | 
			
		
	
		
		
			
				
					|  |  |  |  |  | # Default values for helm-guestbook. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | # This is a YAML-formatted file. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | # Declare variables to be passed into your templates. | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | replicaCount: 1 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | image: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   repository: gcr.io/heptio-images/ks-guestbook-demo | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   tag: 0.1 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   pullPolicy: IfNotPresent | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | service: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   type: ClusterIP | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   port: 80 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | ingress: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   enabled: false | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   annotations: {} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     # kubernetes.io/ingress.class: nginx | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     # kubernetes.io/tls-acme: "true" | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   path: / | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   hosts: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - chart-example.local | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   tls: [] | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   #  - secretName: chart-example-tls | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   #    hosts: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   #      - chart-example.local | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | resources: {} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   # We usually recommend not to specify default resources and to leave this as a conscious | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   # choice for the user. This also increases chances charts run on environments with little | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   # resources, such as Minikube. If you do want to specify resources, uncomment the following | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   # lines, adjust them as necessary, and remove the curly braces after 'resources:'. | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   # limits: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   #  cpu: 100m | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   #  memory: 128Mi | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   # requests: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   #  cpu: 100m | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   #  memory: 128Mi | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | nodeSelector: {} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | tolerations: [] | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | affinity: {} |