· 7 years ago · Aug 24, 2018, 05:00 PM
1helm upgrade \
2> --debug \
3> --dry-run \
4> --install \
5> --namespace spinnaker \
6> --timeout 1200 \
7> --values values.yaml \
8> --wait \
9> spinnaker \
10> stable/spinnaker
11[debug] Created tunnel using local port: '57818'
12
13[debug] SERVER: "127.0.0.1:57818"
14
15[debug] Fetched stable/spinnaker to /Users/vasu.srinivasan/.helm/cache/archive/spinnaker-0.5.0.tgz
16
17Release "spinnaker" does not exist. Installing it now.
18[debug] CHART PATH: /Users/vasu.srinivasan/.helm/cache/archive/spinnaker-0.5.0.tgz
19
20NAME: spinnaker
21REVISION: 1
22RELEASED: Fri Aug 24 11:56:23 2018
23CHART: spinnaker-0.5.0
24USER-SUPPLIED VALUES:
25dockerRegistries:
26- address: https://045183003382.dkr.ecr.us-west-2.amazonaws.com
27 email: chameleon-cicd@virtualinstruments.com
28 name: cham-ecr
29 repositories:
30 - chameleon-ping
31 - chameleon-pong
32 username: AWS
33gcs:
34 bucket: <GCS-BUCKET-NAME>
35 enabled: false
36 jsonKey: <INSERT CLOUD STORAGE JSON HERE>
37 project: my-project-name
38halyard:
39 additionalConfig:
40 configMapKey: config.sh
41 configMapName: my-halyard-config
42 enabled: false
43 image:
44 repository: gcr.io/spinnaker-marketplace/halyard
45 tag: stable
46 spinnakerVersion: 1.8.5
47ingress:
48 annotations:
49 external-dns.alpha.kubernetes.io/hostname: spin.chameleon-vi.com
50 kubernetes.io/ingress.class: nginx
51 nginx.ingress.kubernetes.io/ingress.class: nginx
52 enabled: true
53 host: spin.chameleon-vi.com
54 tls:
55 - hosts:
56 - spin.chameleon-vi.com
57 secretName: chameleon-vi-tls
58kubeConfig:
59 contexts:
60 - default
61 deploymentContext: default
62 enabled: false
63 secretKey: config
64 secretName: my-kubeconfig
65minio:
66 accessKey: spinnakeradmin
67 bucket: spinnaker
68 enabled: false
69 imageTag: RELEASE.2018-06-09T02-18-09Z
70 nodeSelector: {}
71 secretKey: spinnakeradmin
72 serviceType: ClusterIP
73nodeSelector: {}
74rbac:
75 create: true
76redis:
77 cluster:
78 enabled: false
79 master:
80 persistence:
81 enabled: true
82 storageClass: gp2
83 nodeSelector: {}
84 password: password
85s3:
86 accessKey: AKIAIUCWPW2Q6SHTTRKQ
87 bucket: cham-eks-prod-spinnaker
88 enabled: true
89 region: us-west-2
90 rootFolder: front50
91 secretKey: HM9CdLqwMvphVA3xwAiQ8Ja6mKi1QtNdnnNg+RN7
92serviceAccount:
93 create: true
94 halyardName: halyard-service-account
95 spinnakerName: spinnaker-service-account
96spinnakerFeatureFlags:
97- artifacts
98- jobs
99
100COMPUTED VALUES:
101accounts:
102- address: https://index.docker.io
103 name: dockerhub
104 repositories:
105 - library/alpine
106 - library/ubuntu
107 - library/centos
108 - library/nginx
109deck:
110 host: localhost
111 ingress:
112 enabled: false
113 port: 9000
114 protocol: http
115dockerRegistries:
116- address: https://045183003382.dkr.ecr.us-west-2.amazonaws.com
117 email: chameleon-cicd@virtualinstruments.com
118 name: cham-ecr
119 repositories:
120 - chameleon-ping
121 - chameleon-pong
122 username: AWS
123gate:
124 allowedOriginsPattern: ^https?://(?:localhost|127.0.0.1|[^/]+\.example\.com)(?::[1-9]\d*)?/?$
125gcs:
126 bucket: <GCS-BUCKET-NAME>
127 enabled: false
128 jsonKey: <INSERT CLOUD STORAGE JSON HERE>
129 project: my-project-name
130halyard:
131 additionalConfig:
132 configMapKey: config.sh
133 configMapName: my-halyard-config
134 enabled: false
135 image:
136 repository: gcr.io/spinnaker-marketplace/halyard
137 tag: stable
138 spinnakerVersion: 1.8.5
139images:
140 clouddriver: gcr.io/spinnaker-marketplace/clouddriver:2.0.0-20180221152902
141 deck: gcr.io/spinnaker-marketplace/deck:2.1.0-20180221143146
142 echo: gcr.io/spinnaker-marketplace/echo:0.8.0-20180221133510
143 front50: gcr.io/spinnaker-marketplace/front50:0.9.0-20180221133510
144 gate: gcr.io/spinnaker-marketplace/gate:0.10.0-20180221133510
145 igor: gcr.io/spinnaker-marketplace/igor:0.9.0-20180221133510
146 orca: gcr.io/spinnaker-marketplace/orca:0.10.0-20180221133510
147 rosco: gcr.io/spinnaker-marketplace/rosco:0.5.0-20180221133510
148ingress:
149 annotations:
150 external-dns.alpha.kubernetes.io/hostname: spin.chameleon-vi.com
151 kubernetes.io/ingress.class: nginx
152 nginx.ingress.kubernetes.io/ingress.class: nginx
153 enabled: true
154 host: spin.chameleon-vi.com
155 tls:
156 - hosts:
157 - spin.chameleon-vi.com
158 secretName: chameleon-vi-tls
159jenkins:
160 Agent:
161 AlwaysPullImage: false
162 Component: jenkins-slave
163 Cpu: 500m
164 Enabled: true
165 Image: jenkins/jnlp-slave
166 ImageTag: 3.10-1
167 Memory: 512Mi
168 NodeSelector: {}
169 Privileged: false
170 volumes: null
171 Master:
172 AdminUser: admin
173 Component: jenkins-master
174 ContainerPort: 8080
175 Cpu: 500m
176 CustomConfigMap: true
177 HealthProbes: true
178 HealthProbesTimeout: 60
179 Image: jenkins/jenkins
180 ImagePullPolicy: Always
181 ImageTag: lts
182 Ingress:
183 Annotations: null
184 TLS: null
185 InitScripts: null
186 InstallPlugins:
187 - kubernetes:1.1
188 - workflow-aggregator:2.5
189 - workflow-job:2.15
190 - credentials-binding:1.13
191 - git:3.6.4
192 LoadBalancerSourceRanges:
193 - 0.0.0.0/0
194 Memory: 512Mi
195 Name: jenkins-master
196 NodeSelector: {}
197 ServiceAnnotations: {}
198 ServicePort: 8080
199 ServiceType: ClusterIP
200 SlaveListenerPort: 50000
201 Tolerations: {}
202 UseSecurity: true
203 NetworkPolicy:
204 ApiVersion: extensions/v1beta1
205 Enabled: false
206 Persistence:
207 AccessMode: ReadWriteOnce
208 Annotations: {}
209 Enabled: true
210 Size: 8Gi
211 mounts: null
212 volumes: null
213 enabled: true
214 global: {}
215 rbac:
216 apiVersion: v1beta1
217 install: false
218 roleRef: cluster-admin
219 serviceAccountName: default
220kubeConfig:
221 contexts:
222 - default
223 deploymentContext: default
224 enabled: false
225 secretKey: config
226 secretName: my-kubeconfig
227mail:
228 enabled: false
229 fromAddress: spinnaker@example.org
230 host: smtp.example.org
231 password: admin
232 port: 25
233 username: admin
234minio:
235 accessKey: spinnakeradmin
236 bucket: spinnaker
237 enabled: false
238 imageTag: RELEASE.2018-06-09T02-18-09Z
239 nodeSelector: {}
240 secretKey: spinnakeradmin
241 serviceType: ClusterIP
242nodeSelector: {}
243rbac:
244 create: true
245redis:
246 cluster:
247 enabled: false
248 global: {}
249 image: bitnami/redis:4.0.6-r1
250 imagePullPolicy: IfNotPresent
251 master:
252 persistence:
253 enabled: true
254 storageClass: gp2
255 metrics:
256 annotations:
257 prometheus.io/port: "9121"
258 prometheus.io/scrape: "true"
259 enabled: false
260 image: oliver006/redis_exporter
261 imagePullPolicy: IfNotPresent
262 imageTag: v0.11
263 resources: {}
264 networkPolicy:
265 allowExternal: true
266 enabled: false
267 nodeSelector: {}
268 password: password
269 persistence:
270 accessMode: ReadWriteOnce
271 enabled: true
272 size: 8Gi
273 podAnnotations: {}
274 podLabels: {}
275 redisPassword: password
276 resources:
277 requests:
278 cpu: 100m
279 memory: 256Mi
280 securityContext:
281 fsGroup: 1001
282 runAsUser: 1001
283 service:
284 annotations: {}
285 loadBalancerIP: null
286 serviceType: ClusterIP
287 tolerations: []
288 usePassword: true
289resources:
290 limits:
291 cpu: 1000m
292 memory: 1280Mi
293 requests:
294 cpu: 1000m
295 memory: 1280Mi
296s3:
297 accessKey: AKIAIUCWPW2Q6SHTTRKQ
298 bucket: cham-eks-prod-spinnaker
299 enabled: true
300 region: us-west-2
301 rootFolder: front50
302 secretKey: HM9CdLqwMvphVA3xwAiQ8Ja6mKi1QtNdnnNg+RN7
303serviceAccount:
304 create: true
305 halyardName: halyard-service-account
306 spinnakerName: spinnaker-service-account
307serviceType: ClusterIP
308slack:
309 botName: spinnakerbot
310 enabled: false
311 token: null
312spinnakerFeatureFlags:
313- artifacts
314- jobs
315storageBucket: spinnaker
316
317HOOKS:
318---
319# spinnaker-upload-run-script
320apiVersion: batch/v1
321kind: Job
322metadata:
323 name: "spinnaker-upload-run-script"
324 labels:
325 app: spinnaker-spinnaker
326 component: jenkins
327 annotations:
328 "helm.sh/hook": post-install
329spec:
330 template:
331 metadata:
332 labels:
333 app: spinnaker-spinnaker
334 component: jenkins
335 spec:
336 restartPolicy: OnFailure
337 volumes:
338 - name: jenkins-jobs
339 configMap:
340 name: spinnaker-jenkins-jobs
341 containers:
342 - name: post-install-job
343 image: "viglesiasce/minio-client:v0.4.0"
344 command:
345 - curl
346 - -X
347 - POST
348 - -H
349 - "Content-Type: application/xml"
350 - --retry
351 - "20"
352 - --retry-delay
353 - "10"
354 - --max-time
355 - "3"
356 - --data-binary
357 - "@/jobs/run-script.xml"
358 - "http://spinnaker-jenkins:8080/createItem?name=run-script"
359 volumeMounts:
360 - name: jenkins-jobs
361 mountPath: /jobs
362---
363# spinnaker-delete-jobs
364apiVersion: batch/v1
365kind: Job
366metadata:
367 name: "spinnaker-delete-jobs"
368 labels:
369 app: spinnaker-spinnaker
370 component: spinnaker
371 annotations:
372 "helm.sh/hook": post-delete
373spec:
374 template:
375 metadata:
376 labels:
377 app: spinnaker-spinnaker
378 component: spinnaker
379 spec:
380 restartPolicy: OnFailure
381 volumes:
382 - name: kubectl
383 hostPath:
384 path: /usr/bin/kubectl
385
386 containers:
387 - name: post-install-job
388 image: "lachlanevenson/k8s-kubectl:v1.6.0"
389 volumeMounts:
390 - name: kubectl
391 mountPath: /kubectl
392 command:
393 - sh
394 - -c
395 - "kubectl delete job --namespace spinnaker -l app=spinnaker-spinnaker"
396---
397# spinnaker-upload-run-pipeline
398apiVersion: batch/v1
399kind: Job
400metadata:
401 name: "spinnaker-upload-run-pipeline"
402 labels:
403 app: spinnaker-spinnaker
404 component: jenkins
405 annotations:
406 "helm.sh/hook": post-install
407spec:
408 template:
409 metadata:
410 labels:
411 app: spinnaker-spinnaker
412 component: jenkins
413 spec:
414 restartPolicy: OnFailure
415 volumes:
416 - name: jenkins-jobs
417 configMap:
418 name: spinnaker-jenkins-jobs
419 containers:
420 - name: post-install-job
421 image: "viglesiasce/minio-client:v0.4.0"
422 command:
423 - curl
424 - -X
425 - POST
426 - -H
427 - "Content-Type: application/xml"
428 - --retry
429 - "20"
430 - --retry-delay
431 - "10"
432 - --max-time
433 - "3"
434 - --data-binary
435 - "@/jobs/run-pipeline.xml"
436 - "http://spinnaker-jenkins:8080/createItem?name=run-pipeline"
437 volumeMounts:
438 - name: jenkins-jobs
439 mountPath: /jobs
440---
441# spinnaker-ui-test-tqyqr
442apiVersion: v1
443kind: Pod
444metadata:
445 name: "spinnaker-ui-test-tqyqr"
446 annotations:
447 "helm.sh/hook": test-success
448spec:
449 initContainers:
450 - name: "test-framework"
451 image: "dduportal/bats:0.4.0"
452 command:
453 - "bash"
454 - "-c"
455 - |
456 set -ex
457 # copy bats to tools dir
458 cp -R /usr/local/libexec/ /tools/bats/
459 volumeMounts:
460 - mountPath: /tools
461 name: tools
462 containers:
463 - name: spinnaker-ui-test
464 image: tutum/curl:trusty
465 command: ["/tools/bats/bats", "-t", "/tests/run.sh"]
466 volumeMounts:
467 - mountPath: /tests
468 name: tests
469 readOnly: true
470 - mountPath: /tools
471 name: tools
472 volumes:
473 - name: tests
474 configMap:
475 name: spinnaker-spinnaker-tests
476 - name: tools
477 emptyDir: {}
478 restartPolicy: Never
479---
480# spinnaker-ui-test-ziarc
481apiVersion: v1
482kind: Pod
483metadata:
484 name: "spinnaker-ui-test-ziarc"
485 annotations:
486 "helm.sh/hook": test-success
487spec:
488 initContainers:
489 - name: "test-framework"
490 image: "dduportal/bats:0.4.0"
491 command:
492 - "bash"
493 - "-c"
494 - |
495 set -ex
496 # copy bats to tools dir
497 cp -R /usr/local/libexec/ /tools/bats/
498 volumeMounts:
499 - mountPath: /tools
500 name: tools
501 containers:
502 - name: spinnaker-ui-test
503 image: jenkins/jenkins:lts
504 command: ["/tools/bats/bats", "-t", "/tests/run.sh"]
505 volumeMounts:
506 - mountPath: /tests
507 name: tests
508 readOnly: true
509 - mountPath: /tools
510 name: tools
511 volumes:
512 - name: tests
513 configMap:
514 name: spinnaker-jenkins-tests
515 - name: tools
516 emptyDir: {}
517 restartPolicy: Never
518---
519# spinnaker-upload-build-image
520apiVersion: batch/v1
521kind: Job
522metadata:
523 name: "spinnaker-upload-build-image"
524 labels:
525 app: spinnaker-spinnaker
526 component: jenkins
527 annotations:
528 "helm.sh/hook": post-install
529spec:
530 template:
531 metadata:
532 labels:
533 app: spinnaker-spinnaker
534 component: jenkins
535 spec:
536 restartPolicy: OnFailure
537 volumes:
538 - name: jenkins-jobs
539 configMap:
540 name: spinnaker-jenkins-jobs
541 containers:
542 - name: post-install-job
543 image: "viglesiasce/minio-client:v0.4.0"
544 command:
545 - curl
546 - -X
547 - POST
548 - -H
549 - "Content-Type: application/xml"
550 - --retry
551 - "20"
552 - --retry-delay
553 - "10"
554 - --max-time
555 - "3"
556 - --data-binary
557 - "@/jobs/build-image.xml"
558 - "http://spinnaker-jenkins:8080/createItem?name=build-image"
559 volumeMounts:
560 - name: jenkins-jobs
561 mountPath: /jobs
562MANIFEST:
563
564---
565# Source: spinnaker/charts/jenkins/templates/secret.yaml
566apiVersion: v1
567kind: Secret
568metadata:
569 name: spinnaker-jenkins
570 labels:
571 app: spinnaker-jenkins
572 chart: "jenkins-0.13.3"
573 release: "spinnaker"
574 heritage: "Tiller"
575type: Opaque
576data:
577
578 jenkins-admin-password: "UE9xY2U2YmJvTw=="
579
580 jenkins-admin-user: "YWRtaW4="
581---
582# Source: spinnaker/charts/redis/templates/secrets.yaml
583apiVersion: v1
584kind: Secret
585metadata:
586 name: spinnaker-redis
587 labels:
588 app: spinnaker-redis
589 chart: "redis-1.1.6"
590 release: "spinnaker"
591 heritage: "Tiller"
592type: Opaque
593data:
594 redis-password: "cGFzc3dvcmQ="
595---
596# Source: spinnaker/templates/secrets/registry.yaml
597apiVersion: v1
598kind: Secret
599metadata:
600 name: spinnaker-spinnaker-registry
601 labels:
602 app: spinnaker-spinnaker
603 component: clouddriver
604type: Opaque
605data:
606 password-dockerhub: ""
607---
608# Source: spinnaker/charts/jenkins/templates/config.yaml
609apiVersion: v1
610kind: ConfigMap
611metadata:
612 name: spinnaker-jenkins
613 labels:
614 app: spinnaker-jenkins
615data:
616 config.xml: |-
617 <?xml version='1.0' encoding='UTF-8'?>
618 <hudson>
619 <disabledAdministrativeMonitors/>
620 <version>2.7.3</version>
621 <numExecutors>0</numExecutors>
622 <mode>NORMAL</mode>
623 <useSecurity>false</useSecurity>
624 <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
625 <denyAnonymousReadAccess>false</denyAnonymousReadAccess>
626 </authorizationStrategy>
627 <disableRememberMe>false</disableRememberMe>
628 <projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
629 <workspaceDir>${JENKINS_HOME}/workspace/${ITEM_FULLNAME}</workspaceDir>
630 <buildsDir>${ITEM_ROOTDIR}/builds</buildsDir>
631 <markupFormatter class="hudson.markup.EscapedMarkupFormatter"/>
632 <jdks/>
633 <viewsTabBar class="hudson.views.DefaultViewsTabBar"/>
634 <myViewsTabBar class="hudson.views.DefaultMyViewsTabBar"/>
635 <clouds>
636 <org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud plugin="kubernetes@0.8">
637 <name>kubernetes</name>
638 <templates>
639 <org.csanchez.jenkins.plugins.kubernetes.PodTemplate>
640 <name>jnlp</name>
641 <image>jenkins/jnlp-slave:3.10-1</image>
642 <privileged>false</privileged>
643 <alwaysPullImage>false</alwaysPullImage>
644 <command></command>
645 <args></args>
646 <remoteFs>/home/jenkins</remoteFs>
647 <instanceCap>2147483647</instanceCap>
648 <label></label>
649 <nodeSelector></nodeSelector>
650 <resourceRequestCpu>500m</resourceRequestCpu>
651 <resourceRequestMemory>512Mi</resourceRequestMemory>
652 <resourceLimitCpu>500m</resourceLimitCpu>
653 <resourceLimitMemory>512Mi</resourceLimitMemory>
654 <volumes>
655 <org.csanchez.jenkins.plugins.kubernetes.PodVolumes_-HostPathVolume>
656 <mountPath>/usr/bin/docker</mountPath>
657 <hostPath>/usr/bin/docker</hostPath>
658 </org.csanchez.jenkins.plugins.kubernetes.PodVolumes_-HostPathVolume>
659 <org.csanchez.jenkins.plugins.kubernetes.PodVolumes_-HostPathVolume>
660 <mountPath>/var/run/docker.sock</mountPath>
661 <hostPath>/var/run/docker.sock</hostPath>
662 </org.csanchez.jenkins.plugins.kubernetes.PodVolumes_-HostPathVolume>
663 </volumes>
664 <envVars/>
665 <annotations/>
666 <imagePullSecrets/>
667 </org.csanchez.jenkins.plugins.kubernetes.PodTemplate></templates>
668 <serverUrl>https://kubernetes.default</serverUrl>
669 <skipTlsVerify>false</skipTlsVerify>
670 <namespace>spinnaker</namespace>
671 <jenkinsUrl>http://spinnaker-jenkins:8080</jenkinsUrl>
672 <jenkinsTunnel>spinnaker-jenkins-agent:50000</jenkinsTunnel>
673 <containerCap>0</containerCap>
674 <retentionTimeout>5</retentionTimeout>
675 </org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud>
676 </clouds>
677 <quietPeriod>0</quietPeriod>
678 <scmCheckoutRetryCount>0</scmCheckoutRetryCount>
679 <views>
680 <hudson.model.AllView>
681 <owner class="hudson" reference="../../.."/>
682 <name>All</name>
683 <filterExecutors>false</filterExecutors>
684 <filterQueue>false</filterQueue>
685 <properties class="hudson.model.View$PropertyList"/>
686 </hudson.model.AllView>
687 </views>
688 <primaryView>All</primaryView>
689 <slaveAgentPort>50000</slaveAgentPort>
690 <label></label>
691 <nodeProperties/>
692 <globalNodeProperties/>
693 <noUsageStatistics>true</noUsageStatistics>
694 </hudson>
695 apply_config.sh: |-
696 mkdir -p /usr/share/jenkins/ref/secrets/;
697 echo "false" > /usr/share/jenkins/ref/secrets/slave-to-master-security-kill-switch;
698 cp -n /var/jenkins_config/config.xml /var/jenkins_home;
699 cp -n /var/jenkins_config/plugins.txt /var/jenkins_home;
700 /usr/local/bin/install-plugins.sh `echo $(cat /var/jenkins_home/plugins.txt)`;
701 plugins.txt: |-
702 kubernetes:1.1
703 workflow-aggregator:2.5
704 workflow-job:2.15
705 credentials-binding:1.13
706 git:3.6.4
707---
708# Source: spinnaker/charts/jenkins/templates/test-config.yaml
709apiVersion: v1
710kind: ConfigMap
711metadata:
712 name: spinnaker-jenkins-tests
713data:
714 run.sh: |-
715 @test "Testing Jenkins UI is accessible" {
716 curl --retry 24 --retry-delay 10 spinnaker-jenkins:8080/login
717 }
718---
719# Source: spinnaker/templates/configmap/jenkins-jobs.yaml
720apiVersion: v1
721kind: ConfigMap
722metadata:
723 name: spinnaker-jenkins-jobs
724 labels:
725 app: spinnaker-spinnaker
726data:
727 run-script.xml: |-
728 <?xml version='1.0' encoding='UTF-8'?>
729 <flow-definition plugin="workflow-job@2.11">
730 <actions/>
731 <description></description>
732 <keepDependencies>false</keepDependencies>
733 <properties>
734 <hudson.model.ParametersDefinitionProperty>
735 <parameterDefinitions>
736 <hudson.model.StringParameterDefinition>
737 <name>EXECUTOR_IMAGE</name>
738 <description></description>
739 <defaultValue>jenkins/jnlp-slave:3.10-1</defaultValue>
740 </hudson.model.StringParameterDefinition>
741 <hudson.model.StringParameterDefinition>
742 <name>REPOSITORY_URL</name>
743 <description></description>
744 <defaultValue></defaultValue>
745 </hudson.model.StringParameterDefinition>
746 <hudson.model.StringParameterDefinition>
747 <name>BRANCH</name>
748 <description></description>
749 <defaultValue></defaultValue>
750 </hudson.model.StringParameterDefinition>
751 <hudson.model.StringParameterDefinition>
752 <name>COMMAND</name>
753 <description></description>
754 <defaultValue></defaultValue>
755 </hudson.model.StringParameterDefinition>
756 </parameterDefinitions>
757 </hudson.model.ParametersDefinitionProperty>
758 <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
759 <triggers/>
760 </org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
761 </properties>
762 <definition class="org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition" plugin="workflow-cps@2.36">
763 <script>podTemplate(label: 'jenkins-build-image', containers: [
764 containerTemplate(name: 'jenkins-executor', image: '$EXECUTOR_IMAGE', ttyEnabled: true, command: 'cat'),
765 ]) {
766
767 node {
768 checkout([$class: 'GitSCM',
769 branches: [[name: '$BRANCH']],
770 doGenerateSubmoduleConfigurations: false,
771 extensions: [],
772 submoduleCfg: [],
773 userRemoteConfigs: [[url: '$REPOSITORY_URL']]]
774 )
775
776 stage('run-command') {
777 sh 'env > properties'
778 sh '$COMMAND'
779 }
780
781 archiveArtifacts 'properties'
782 }
783 }
784 </script>
785 <sandbox>true</sandbox>
786 </definition>
787 <triggers/>
788 <disabled>false</disabled>
789 </flow-definition>
790 build-image.xml: |-
791 <?xml version='1.0' encoding='UTF-8'?>
792 <flow-definition plugin="workflow-job@2.11">
793 <actions/>
794 <description></description>
795 <keepDependencies>false</keepDependencies>
796 <properties>
797 <hudson.model.ParametersDefinitionProperty>
798 <parameterDefinitions>
799 <hudson.model.StringParameterDefinition>
800 <name>REPOSITORY_URL</name>
801 <description></description>
802 <defaultValue></defaultValue>
803 </hudson.model.StringParameterDefinition>
804 <hudson.model.StringParameterDefinition>
805 <name>IMAGE_REPO</name>
806 <description></description>
807 <defaultValue></defaultValue>
808 </hudson.model.StringParameterDefinition>
809 <hudson.model.StringParameterDefinition>
810 <name>IMAGE_TAG</name>
811 <description></description>
812 <defaultValue></defaultValue>
813 </hudson.model.StringParameterDefinition>
814 <hudson.model.StringParameterDefinition>
815 <name>BRANCH</name>
816 <description></description>
817 <defaultValue></defaultValue>
818 </hudson.model.StringParameterDefinition>
819 <hudson.model.StringParameterDefinition>
820 <name>EXECUTOR_IMAGE</name>
821 <description></description>
822 <defaultValue>jenkins/jnlp-slave:3.10-1</defaultValue>
823 </hudson.model.StringParameterDefinition>
824 </parameterDefinitions>
825 </hudson.model.ParametersDefinitionProperty>
826 <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
827 <triggers/>
828 </org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
829 </properties>
830 <definition class="org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition" plugin="workflow-cps@2.36">
831 <script>podTemplate(label: 'jenkins-build-image', containers: [
832 containerTemplate(name: 'jenkins-executor', image: '$EXECUTOR_IMAGE', ttyEnabled: true, command: 'cat'),
833 ]) {
834
835 node {
836 checkout([$class: 'GitSCM',
837 branches: [[name: '$BRANCH']],
838 doGenerateSubmoduleConfigurations: false,
839 extensions: [],
840 submoduleCfg: [],
841 userRemoteConfigs: [[url: '$REPOSITORY_URL']]]
842 )
843
844 stage('save-env') {
845 sh 'env > properties'
846 }
847
848 stage('build-image') {
849 sh 'docker build -t $IMAGE_REPO:$IMAGE_TAG .'
850 }
851
852 stage('push-image') {
853 sh 'gcloud docker -- push $IMAGE_REPO:$IMAGE_TAG'
854 }
855 archiveArtifacts 'properties'
856 }
857 }
858 </script>
859 <sandbox>true</sandbox>
860 </definition>
861 <triggers/>
862 <disabled>false</disabled>
863 </flow-definition>
864 run-pipeline.xml: |
865 <?xml version='1.0' encoding='UTF-8'?>
866 <flow-definition plugin="workflow-job@2.11">
867 <actions/>
868 <description></description>
869 <keepDependencies>false</keepDependencies>
870 <properties>
871 <hudson.model.ParametersDefinitionProperty>
872 <parameterDefinitions>
873 <hudson.model.StringParameterDefinition>
874 <name>REPOSITORY_URL</name>
875 <description></description>
876 <defaultValue></defaultValue>
877 </hudson.model.StringParameterDefinition>
878 <hudson.model.StringParameterDefinition>
879 <name>BRANCH</name>
880 <description></description>
881 <defaultValue></defaultValue>
882 </hudson.model.StringParameterDefinition>
883 </parameterDefinitions>
884 </hudson.model.ParametersDefinitionProperty>
885 <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
886 <triggers/>
887 </org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
888 </properties>
889 <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.36">
890 <scm class="hudson.plugins.git.GitSCM" plugin="git@3.2.0">
891 <configVersion>2</configVersion>
892 <userRemoteConfigs>
893 <hudson.plugins.git.UserRemoteConfig>
894 <url>${REPOSITORY_URL}</url>
895 </hudson.plugins.git.UserRemoteConfig>
896 </userRemoteConfigs>
897 <branches>
898 <hudson.plugins.git.BranchSpec>
899 <name>*/${BRANCH}</name>
900 </hudson.plugins.git.BranchSpec>
901 </branches>
902 <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
903 <submoduleCfg class="list"/>
904 <extensions/>
905 </scm>
906 <scriptPath>Jenkinsfile</scriptPath>
907 <lightweight>false</lightweight>
908 </definition>
909 <triggers/>
910 <disabled>false</disabled>
911 </flow-definition>
912---
913# Source: spinnaker/templates/configmap/s3-config.yaml
914apiVersion: v1
915kind: ConfigMap
916metadata:
917 name: spinnaker-spinnaker-s3-config
918 labels:
919 app: spinnaker-spinnaker
920data:
921 credentials: |
922 [default]
923 aws_access_key_id=spinnakeradmin
924 aws_secret_access_key=spinnakeradmin
925---
926# Source: spinnaker/templates/configmap/spinnaker-config.yaml
927apiVersion: v1
928kind: ConfigMap
929metadata:
930 name: spinnaker-spinnaker-spinnaker-config
931 labels:
932 app: spinnaker-spinnaker
933data:
934 clouddriver.yml: |
935 server:
936 port: ${services.clouddriver.port:7002}
937 address: ${services.clouddriver.host:localhost}
938
939 redis:
940 connection: ${services.redis.connection:redis://localhost:6379}
941
942 udf:
943 # Controls whether UserDataProviders are used to populate user data of new
944 # server groups. If false, user data is copied over from ancestor server
945 # groups on both CopyLastAsgAtomicOperation and
946 # ModifyAsgLaunchConfigurationOperation (only if no user data is provided
947 # on the given request).
948 enabled: ${services.clouddriver.aws.udf.enabled:true}
949
950 default:
951 account:
952 env: ${providers.aws.primaryCredentials.name}
953
954 aws:
955 # AWS Credentials are passed either as environment variables or through
956 # a standard AWS file $HOME/.aws/credentials
957 # See providers.aws.primaryCredentials in spinnaker.yml for more
958 # info on setting environment variables.
959 enabled: ${providers.aws.enabled:false}
960 defaults:
961 iamRole: ${provider.aws.defaultIAMRole:BaseIAMRole}
962 defaultRegions:
963 - name: ${providers.aws.defaultRegion:us-east-1}
964 defaultFront50Template: ${services.front50.baseUrl}
965 defaultKeyPairTemplate: ${providers.aws.defaultKeyPairTemplate}
966
967 azure:
968 enabled: ${providers.azure.enabled:false}
969
970 accounts:
971 - name: ${providers.azure.primaryCredentials.name}
972 clientId: ${providers.azure.primaryCredentials.clientId}
973 appKey: ${providers.azure.primaryCredentials.appKey}
974 tenantId: ${providers.azure.primaryCredentials.tenantId}
975 subscriptionId: ${providers.azure.primaryCredentials.subscriptionId}
976
977 google:
978 enabled: ${providers.google.enabled:false}
979
980 accounts:
981 - name: ${providers.google.primaryCredentials.name}
982 project: ${providers.google.primaryCredentials.project}
983 jsonPath: ${providers.google.primaryCredentials.jsonPath}
984
985 cf:
986 enabled: ${providers.cf.enabled:false}
987
988 accounts:
989 - name: ${providers.cf.primaryCredentials.name}
990 api: ${providers.cf.primaryCredentials.api}
991 console: ${providers.cf.primaryCredentials.console}
992 org: ${providers.cf.defaultOrg}
993 space: ${providers.cf.defaultSpace}
994 username: ${providers.cf.account.name:}
995 password: ${providers.cf.account.password:}
996
997 kubernetes:
998 enabled: ${providers.kubernetes.enabled:false}
999 accounts:
1000 - name: local
1001 serviceAccount: true
1002 dockerRegistries:
1003 - accountName: dockerhub
1004 dockerRegistry:
1005
1006 enabled: true
1007 accounts:
1008 - name: dockerhub
1009 address: https://index.docker.io
1010 repositories:
1011 - library/alpine
1012 - library/ubuntu
1013 - library/centos
1014 - library/nginx
1015
1016
1017 credentials:
1018 primaryAccountTypes: ${providers.aws.primaryCredentials.name}, ${providers.google.primaryCredentials.name}, ${providers.cf.primaryCredentials.name}, ${providers.azure.primaryCredentials.name}
1019 challengeDestructiveActionsEnvironments: ${providers.aws.primaryCredentials.name}, ${providers.google.primaryCredentials.name}, ${providers.cf.primaryCredentials.name}, ${providers.azure.primaryCredentials.name}
1020
1021 echo.yml: |
1022 server:
1023 port: ${services.echo.port:8089}
1024 address: 0.0.0.0
1025
1026 cassandra:
1027 enabled: false
1028 embedded: true
1029 host: ${services.cassandra.host:localhost}
1030
1031 spinnaker:
1032 baseUrl: ${services.deck.baseUrl}
1033 cassandra:
1034 enabled: ${services.echo.cassandra.enabled:true}
1035 inMemory:
1036 enabled: ${services.echo.inMemory.enabled:false}
1037
1038 front50:
1039 baseUrl: ${services.front50.baseUrl:http://localhost:8080}
1040
1041 orca:
1042 baseUrl: ${services.orca.baseUrl:http://localhost:8083}
1043
1044 endpoints.health.sensitive: false
1045
1046 slack:
1047 enabled: ${services.echo.notifications.slack.enabled:false}
1048 token: ${services.echo.notifications.slack.token}
1049
1050 spring:
1051 mail:
1052 host: ${services.echo.notifications.mail.host}
1053 port: ${services.echo.notifications.mail.port}
1054 username: ${services.echo.notifications.mail.username}
1055 password: ${services.echo.notifications.mail.password}
1056 properties:
1057 mail:
1058 smtp:
1059 auth: ${services.echo.notifications.mail.auth:true}
1060 ssl:
1061 enable: ${services.echo.notifications.mail.ssl:true}
1062 mail:
1063 enabled: ${services.echo.notifications.mail.enabled:false}
1064 host: ${services.echo.notifications.mail.host}
1065 from: ${services.echo.notifications.mail.fromAddress}
1066
1067 hipchat:
1068 enabled: ${services.echo.notifications.hipchat.enabled:false}
1069 baseUrl: ${services.echo.notifications.hipchat.url}
1070 token: ${services.echo.notifications.hipchat.token}
1071
1072 twilio:
1073 enabled: ${services.echo.notifications.sms.enabled:false}
1074 baseUrl: ${services.echo.notifications.sms.url:https://api.twilio.com/}
1075 account: ${services.echo.notifications.sms.account}
1076 token: ${services.echo.notifications.sms.token}
1077 from: ${services.echo.notifications.sms.from}
1078
1079 scheduler:
1080 enabled: ${services.echo.cron.enabled:true}
1081 threadPoolSize: 20
1082 triggeringEnabled: true
1083 pipelineConfigsPoller:
1084 enabled: true
1085 pollingIntervalMs: 30000
1086 cron:
1087 timezone: ${services.echo.cron.timezone}
1088
1089 echo-local.yml: |
1090 server:
1091 port: ${services.echo.port:8089}
1092 address: 0.0.0.0
1093
1094 cassandra:
1095 enabled: false
1096
1097 spinnaker:
1098 inMemory:
1099 enabled: true
1100 cassandra:
1101 enabled: false
1102
1103 front50:
1104 baseUrl: ${services.front50.baseUrl:http://localhost:8080}
1105
1106 orca:
1107 baseUrl: ${services.orca.baseUrl:http://localhost:8083}
1108
1109 endpoints.health.sensitive: false
1110
1111 slack:
1112 enabled: ${services.echo.notifications.slack.enabled:false}
1113 token: ${services.echo.notifications.slack.token}
1114
1115 spring:
1116 mail:
1117 host: ${services.echo.notifications.mail.host}
1118 port: ${services.echo.notifications.mail.port}
1119 username: ${services.echo.notifications.mail.username}
1120 password: ${services.echo.notifications.mail.password}
1121 properties:
1122 mail:
1123 smtp:
1124 auth: ${services.echo.notifications.mail.auth:true}
1125 ssl:
1126 enable: ${services.echo.notifications.mail.ssl:true}
1127
1128 mail:
1129 enabled: ${services.echo.notifications.mail.enabled:false}
1130 host: ${services.echo.notifications.mail.host}
1131 from: ${services.echo.notifications.mail.fromAddress}
1132
1133 hipchat:
1134 enabled: ${services.echo.notifications.hipchat.enabled:false}
1135 baseUrl: ${services.echo.notifications.hipchat.url}
1136 token: ${services.echo.notifications.hipchat.token}
1137
1138 twilio:
1139 enabled: ${services.echo.notifications.sms.enabled:false}
1140 baseUrl: ${services.echo.notifications.sms.url:https://api.twilio.com/}
1141 account: ${services.echo.notifications.sms.account}
1142 token: ${services.echo.notifications.sms.token}
1143 from: ${services.echo.notifications.sms.from}
1144
1145 scheduler:
1146 enabled: ${services.echo.cron.enabled:true}
1147 threadPoolSize: 20
1148 triggeringEnabled: true
1149 pipelineConfigsPoller:
1150 enabled: true
1151 pollingIntervalMs: 30000
1152
1153 fiat.yml: |
1154 server:
1155 port: ${services.fiat.port:7003}
1156 address: 0.0.0.0
1157
1158 redis:
1159 connection: ${services.redis.connection:redis://localhost:6379}
1160
1161 auth:
1162 getAll:
1163 enabled: false
1164
1165 fiat.yml-local: |
1166
1167 front50.yml: |
1168 server:
1169 port: ${services.front50.port:8080}
1170 address: ${services.front50.host:localhost}
1171
1172 cassandra:
1173 enabled: ${services.front50.cassandra.enabled:true}
1174 embedded: ${services.cassandra.embedded:false}
1175 host: ${services.cassandra.host:localhost}
1176
1177 aws:
1178 simpleDBEnabled: ${providers.aws.simpleDBEnabled:false}
1179 defaultSimpleDBDomain: ${providers.aws.defaultSimpleDBDomain}
1180
1181 spinnaker:
1182 cassandra:
1183 enabled: ${services.front50.cassandra.enabled:true}
1184 host: ${services.cassandra.host:localhost}
1185 port: ${services.cassandra.port:9042}
1186 cluster: ${services.cassandra.cluster:CASS_SPINNAKER}
1187 keyspace: front50
1188 name: global
1189
1190 redis:
1191 enabled: ${services.front50.redis.enabled:false}
1192
1193 gcs:
1194 enabled: ${services.front50.gcs.enabled:false}
1195 bucket: ${services.front50.storage_bucket:}
1196 # See https://cloud.google.com/storage/docs/managing-buckets#manage-class-location
1197 bucketLocation: ${services.front50.bucket_location:}
1198 rootFolder: ${services.front50.bucket_root:front50}
1199 project: ${providers.google.primaryCredentials.project}
1200 jsonPath: ${providers.google.primaryCredentials.jsonPath}
1201
1202 aws:
1203 enabled: ${services.front50.s3.enabled:false}
1204 bucket: ${services.front50.storage_bucket:}
1205 rootFolder: ${services.front50.bucket_root:front50}
1206 endpoint: ${services.front50.s3.endpoint:}
1207
1208 front50-local.yml: |
1209 server:
1210 port: ${services.front50.port:8080}
1211 address: 0.0.0.0
1212
1213 aws:
1214 simpleDBEnabled: ${providers.aws.simpleDBEnabled:false}
1215 defaultSimpleDBDomain: ${providers.aws.defaultSimpleDBDomain}
1216
1217 cassandra:
1218 enabled: false
1219
1220 spinnaker:
1221 cassandra:
1222 enabled: false
1223 redis:
1224 enabled: false
1225 gcs:
1226 enabled: ${services.front50.gcs.enabled}
1227 project: ${services.front50.gcs.project}
1228 jsonPath: /root/.kube/account.json # Don't change this
1229 rootFolder: ${services.front50.bucket_root}
1230 bucket: ${services.front50.storage_bucket}
1231 s3:
1232 enabled: ${services.front50.s3.enabled}
1233 rootFolder: ${services.front50.bucket_root}
1234 bucket: ${services.front50.storage_bucket}
1235 endpoint: ${services.front50.s3.endpoint}
1236
1237 gate.yml: |
1238 server:
1239 port: ${services.gate.port:8084}
1240 address: 0.0.0.0
1241 # ssl:
1242 # enabled: false
1243 # keyStore: /opt/spinnaker/gate-tls/keystore.jks
1244 # keyStorePassword: password
1245 # keyAlias: server
1246
1247 # Circular references since we're already using 'services'
1248 # services:
1249 # clouddriver:
1250 # baseUrl: ${services.clouddriver.baseUrl:localhost:7002}
1251 # orca:
1252 # baseUrl: ${services.orca.baseUrl:localhost:8083}
1253 # front50:
1254 # baseUrl: ${services.front50.baseUrl:localhost:8080}
1255 # #optional services:
1256 # echo:
1257 # enabled: ${services.echo.enabled:true}
1258 # baseUrl: ${services.echo.baseUrl:8089}
1259 # flapjack:
1260 # enabled: ${services.flapjack.enabled:false}
1261 # igor:
1262 # enabled: ${services.igor.enabled:false}
1263 # baseUrl: ${services.igor.baseUrl:8088}
1264
1265 cors:
1266 allowedOriginsPattern: ^https?://(?:localhost|127.0.0.1|[^/]+\.example\.com)(?::[1-9]\d*)?/?$
1267
1268 redis:
1269 connection: ${services.redis.connection}
1270 igor.yml: |
1271 server:
1272 port: ${services.igor.port:8088}
1273 address: 0.0.0.0
1274
1275 jenkins:
1276 enabled: ${services.jenkins.enabled:false}
1277 masters:
1278 - name: default
1279 address: ${services.jenkins.defaultMaster.baseUrl}
1280 username: ${services.jenkins.defaultMaster.username}
1281 password: ${services.jenkins.defaultMaster.password}
1282
1283 travis:
1284 enabled: ${services.travis.enabled:false}
1285 masters:
1286 - name: ${services.travis.defaultMaster.name}
1287 baseUrl: ${services.travis.defaultMaster.baseUrl}
1288 address: ${services.travis.defaultMaster.address}
1289 githubToken: ${services.travis.defaultMaster.githubToken}
1290
1291 dockerRegistry:
1292 enabled: true
1293
1294 redis:
1295 connection: ${services.redis.connection:redis://localhost:6379}
1296
1297 # Igor depends on Clouddriver and Echo. These are normally configured
1298 # in spinnaker[-local].yml (if present), otherwise, uncomment this.
1299 # services:
1300 # clouddriver:
1301 # baseUrl: ${services.clouddriver.baseUrl}
1302 # echo:
1303 # baseUrl: ${services.echo.baseUrl}
1304
1305 igor-local.yml: |
1306 server:
1307 port: ${services.igor.port:8088}
1308 address: 0.0.0.0
1309
1310 jenkins:
1311 enabled: ${services.jenkins.enabled:false}
1312 masters:
1313 - name: default
1314 address: ${services.jenkins.defaultMaster.baseUrl}
1315 username: ${services.jenkins.defaultMaster.username}
1316 password: ${services.jenkins.defaultMaster.password}
1317
1318 dockerRegistry:
1319 enabled: true
1320
1321 redis:
1322 connection: ${services.redis.connection:redis://localhost:6379}
1323
1324 # Igor depends on Clouddriver and Echo. These are normally configured
1325 # in spinnaker[-local].yml (if present), otherwise, uncomment this.
1326 # services:
1327 # clouddriver:
1328 # baseUrl: ${services.clouddriver.baseUrl}
1329 # echo:
1330 # baseUrl: ${services.echo.baseUrl}
1331
1332 orca.yml: |
1333 server:
1334 port: ${services.orca.port:8083}
1335 address: 0.0.0.0
1336
1337 oort:
1338 baseUrl: ${services.oort.baseUrl:localhost:7002}
1339 front50:
1340 baseUrl: ${services.front50.baseUrl:localhost:8080}
1341 mort:
1342 baseUrl: ${services.mort.baseUrl:localhost:7002}
1343 kato:
1344 baseUrl: ${services.kato.baseUrl:localhost:7002}
1345 bakery:
1346 baseUrl: ${services.bakery.baseUrl:localhost:8087}
1347 extractBuildDetails: ${services.bakery.extractBuildDetails:true}
1348 propagateCloudProviderType: ${services.bakery.propagateCloudProviderType:true}
1349 allowMissingPackageInstallation: ${services.bakery.allowMissingPackageInstallation:false}
1350 echo:
1351 enabled: ${services.echo.enabled:false}
1352 baseUrl: ${services.echo.baseUrl:8089}
1353
1354 igor:
1355 baseUrl: ${services.igor.baseUrl:8088}
1356
1357 # TODO(duftler): Remove this once flex is conditionally-enabled in orca.
1358 flex:
1359 baseUrl: http://not-a-host
1360
1361 default:
1362 bake:
1363 account: local
1364 securityGroups:
1365 vpc:
1366 securityGroups:
1367
1368 redis:
1369 connection: ${services.redis.connection}
1370
1371 tasks:
1372 executionWindow:
1373 timezone: ${services.orca.timezone}
1374
1375 script:
1376 master: default # name of Jenkins master in Spinnaker
1377 job: run-script # from Jenkins job configuration
1378
1379 orca-local.yml: |
1380 server:
1381 port: ${services.orca.port:8083}
1382 address: 0.0.0.0
1383
1384 oort:
1385 baseUrl: ${services.oort.baseUrl:localhost:7002}
1386 front50:
1387 baseUrl: ${services.front50.baseUrl:localhost:8080}
1388 mort:
1389 baseUrl: ${services.mort.baseUrl:localhost:7002}
1390 kato:
1391 baseUrl: ${services.kato.baseUrl:localhost:7002}
1392 bakery:
1393 baseUrl: ${services.bakery.baseUrl:localhost:8087}
1394 extractBuildDetails: ${services.bakery.extractBuildDetails:true}
1395 echo:
1396 enabled: ${services.echo.enabled:false}
1397 baseUrl: ${services.echo.baseUrl:8089}
1398
1399 igor:
1400 baseUrl: ${services.igor.baseUrl:8088}
1401
1402 # TODO(duftler): Remove this once flex is conditionally-enabled in orca.
1403 flex:
1404 baseUrl: http://not-a-host
1405
1406 default:
1407 bake:
1408 account: ${providers.aws.primaryCredentials.name}
1409 securityGroups:
1410 vpc:
1411 securityGroups:
1412
1413 redis:
1414 connection: ${services.redis.connection}
1415
1416 script:
1417 master: default # name of Jenkins master in Spinnaker
1418 job: run-script # from Jenkins job configuration
1419
1420 rosco.yml: |
1421 server:
1422 port: ${services.rosco.port:8087}
1423 address: 0.0.0.0
1424
1425 redis:
1426 connection: ${services.redis.connection:redis://localhost:6379}
1427
1428 aws:
1429 enabled: ${providers.aws.enabled:false}
1430
1431 docker:
1432 enabled: ${services.docker.enabled:false}
1433 bakeryDefaults:
1434 targetRepository: ${services.docker.targetRepository}
1435
1436 google:
1437 enabled: ${providers.google.enabled:false}
1438 accounts:
1439 - name: ${providers.google.primaryCredentials.name}
1440 project: ${providers.google.primaryCredentials.project}
1441 jsonPath: ${providers.google.primaryCredentials.jsonPath}
1442 gce:
1443 bakeryDefaults:
1444 zone: ${providers.google.defaultZone}
1445
1446 rosco:
1447 configDir: ${services.rosco.configDir}
1448
1449 rosco-local.yml: |
1450 server:
1451 port: ${services.rosco.port:8087}
1452 address: 0.0.0.0
1453
1454 redis:
1455 connection: ${services.redis.connection:redis://localhost:6379}
1456
1457 aws:
1458 enabled: ${providers.aws.enabled:false}
1459
1460 docker:
1461 enabled: ${services.docker.enabled:false}
1462 bakeryDefaults:
1463 targetRepository: ${services.docker.targetRepository}
1464
1465 google:
1466 enabled: ${providers.google.enabled:false}
1467 accounts:
1468 - name: ${providers.google.primaryCredentials.name}
1469 project: ${providers.google.primaryCredentials.project}
1470 jsonPath: ${providers.google.primaryCredentials.jsonPath}
1471 gce:
1472 bakeryDefaults:
1473 zone: ${providers.google.defaultZone}
1474
1475 rosco:
1476 configDir: ${services.rosco.configDir}
1477
1478 settings.js: |
1479 'use strict';
1480
1481 var feedbackUrl = 'http://localhost';
1482 var gateHost = '/gate';
1483 var bakeryDetailUrl = gateHost + '/bakery/logs/global/{{ context.status.id }}';
1484
1485 window.spinnakerSettings = {
1486 defaultProviders: ['kubernetes'],
1487 feedbackUrl: feedbackUrl,
1488 gateUrl: gateHost,
1489 bakeryDetailUrl: bakeryDetailUrl,
1490 pollSchedule: 30000,
1491 defaultTimeZone: 'America/Los_Angeles', // see http://momentjs.com/timezone/docs/#/data-utilities/
1492 providers: {
1493 kubernetes: {
1494 defaults: {
1495 account: 'local',
1496 namespace: 'default'
1497 },
1498 }
1499 },
1500 notifications: {
1501 email: {
1502 enabled: false,
1503 },
1504 hipchat: {
1505 enabled: false,
1506 botName: 'Spinnaker Bot'
1507 },
1508 sms: {
1509 enabled: false,
1510 },
1511 slack: {
1512 enabled: false,
1513 botName: 'spinnakerbot'
1514 }
1515 },
1516 whatsNew: {
1517 gistId: '32526cd608db3d811b38',
1518 fileName: 'news.md',
1519 },
1520 feature: {
1521 pipelines: true,
1522 jobs: true,
1523 notifications: true,
1524 fastProperty: false,
1525 vpcMigrator: false,
1526 clusterDiff: false,
1527 roscoMode: false,
1528 netflixMode: false,
1529 infrastructureStages: true, // Should 'createLoadBalancer' be a pipeline stage? (no).
1530 },
1531 };
1532 spinnaker.yml: |
1533
1534 # This file is intended to serve as a master configuration for a Spinnaker
1535 # deployment. Customizations to the deployment should be made in another file
1536 # named "spinnaker-local.yml". The distribution has a prototype called
1537 # "default-spinnaker-local.yml" which calls out the subset of attributes of
1538 # general interest. It can be copied into a "spinnaker-local.yml" to start
1539 # with. The prototype does not change any of the default values here, it just
1540 # surfaces the more critical attributes.
1541
1542 global:
1543 spinnaker:
1544 environment: test
1545 timezone: 'America/Los_Angeles'
1546
1547 services:
1548 default:
1549 # These defaults can be modified to change all the spinnaker subsystems
1550 # (clouddriver, gate, etc) at once, but not external systems (jenkins, etc).
1551 # Individual systems can still be overridden using their own section entry
1552 # directly under 'services'.
1553 host: localhost
1554 protocol: http
1555
1556 clouddriver:
1557 host: ${services.default.host}
1558 port: 7002
1559 baseUrl: ${services.default.protocol}://${services.clouddriver.host}:${services.clouddriver.port}
1560 aws:
1561 udf:
1562 # Controls whether UserDataProviders are used to populate user data of
1563 # new server groups. If false, user data is copied over from ancestor
1564 # server groups on both CopyLastAsgAtomicOperation and
1565 # ModifyAsgLaunchConfigurationOperation (only if no user data is
1566 # provided on the given request).
1567 enabled: true
1568
1569 echo:
1570 enabled: true
1571 host: ${services.default.host}
1572 port: 8089
1573 baseUrl: ${services.default.protocol}://${services.echo.host}:${services.echo.port}
1574
1575 cron:
1576 # Allow pipeline triggers to run periodically via cron expressions.
1577 enabled: true
1578 timezone: ${global.spinnaker.timezone}
1579
1580 notifications:
1581 # The following blocks can enable Spinnaker to send notifications
1582 # using the corresponding mechanism.
1583 # See https://www.spinnaker.io/setup/features/notifications/
1584 # for more information.
1585 mail:
1586 enabled: ${services.echo.notifications.mail.enabled:false}
1587 host: ${services.echo.notifications.mail.host}
1588 from: ${services.echo.notifications.mail.fromAddress}
1589 username: ${services.echo.notifications.mail.username}
1590 password: ${services.echo.notifications.mail.password}
1591 port: ${services.echo.notifications.mail.port}
1592 hipchat:
1593 enabled: false
1594 url: # the hipchat server to connect to
1595 token: # the hipchat auth token
1596 botName: # the username of the bot
1597 sms:
1598 enabled: false
1599 account: # twilio account id
1600 token: # twilio auth token
1601 from: # phone number by which sms messages are sent
1602 slack:
1603 enabled: ${services.echo.notifications.slack.enabled:false}
1604 token: ${services.echo.notifications.slack.token}
1605
1606 deck:
1607 host: ${services.default.host}
1608 port: 9000
1609 baseUrl: ${services.default.protocol}://${services.deck.host}:${services.deck.port}
1610 gateUrl: ${services.gate.baseUrl}
1611 bakeryUrl: ${services.bakery.baseUrl}
1612 timezone: ${global.spinnaker.timezone}
1613 auth:
1614 enabled: false
1615
1616 fiat:
1617 enabled: false
1618 host: ${services.default.host}
1619 port: 7003
1620 baseUrl: ${services.default.protocol}://${services.fiat.host}:${services.fiat.port}
1621
1622 front50:
1623 host: ${services.default.host}
1624 port: 8080
1625 baseUrl: ${services.default.protocol}://${services.front50.host}:${services.front50.port}
1626
1627 # If using storage bucket persistence (gcs or s3), specify the bucket here
1628 # disable cassandra and enable the storage service below.
1629 storage_bucket: ${services.front50.storage_bucket}
1630 # (GCS Only) Location for bucket.
1631 bucket_location:
1632 bucket_root: front50
1633
1634 cassandra:
1635 enabled: false
1636 redis:
1637 enabled: false
1638 gcs:
1639 enabled: ${services.front50.gcs.enabled} # Enable me
1640 project: ${services.front50.gcs.project}
1641 s3:
1642 enabled: ${services.front50.s3.enabled} # Or me
1643 endpoint: ${services.front50.s3.endpoint}
1644
1645 gate:
1646 host: ${services.default.host}
1647 port: 8084
1648 baseUrl: ${services.default.protocol}://${services.gate.host}:${services.gate.port}
1649
1650 igor:
1651 # If you are integrating Jenkins then you must also enable Spinnaker's
1652 # "igor" subsystem.
1653 enabled: false
1654 host: ${services.default.host}
1655 port: 8088
1656 baseUrl: ${services.default.protocol}://${services.igor.host}:${services.igor.port}
1657
1658 kato:
1659 host: ${services.clouddriver.host}
1660 port: ${services.clouddriver.port}
1661 baseUrl: ${services.clouddriver.baseUrl}
1662
1663 mort:
1664 host: ${services.clouddriver.host}
1665 port: ${services.clouddriver.port}
1666 baseUrl: ${services.clouddriver.baseUrl}
1667
1668 orca:
1669 host: ${services.default.host}
1670 port: 8083
1671 baseUrl: ${services.default.protocol}://${services.orca.host}:${services.orca.port}
1672 timezone: ${global.spinnaker.timezone}
1673 enabled: true
1674
1675 oort:
1676 host: ${services.clouddriver.host}
1677 port: ${services.clouddriver.port}
1678 baseUrl: ${services.clouddriver.baseUrl}
1679
1680 rosco:
1681 host: ${services.default.host}
1682 port: 8087
1683 baseUrl: ${services.default.protocol}://${services.rosco.host}:${services.rosco.port}
1684 # You need to provide the fully-qualified path to the directory containing the packer templates.
1685 # They typically live in rosco's config/packer directory.
1686 configDir: /opt/rosco/config/packer
1687
1688 bakery:
1689 host: ${services.rosco.host}
1690 port: ${services.rosco.port}
1691 baseUrl: ${services.rosco.baseUrl}
1692 extractBuildDetails: true
1693 propagateCloudProviderType: true
1694 allowMissingPackageInstallation: false
1695
1696 docker:
1697 # This target repository is used by the bakery to publish baked docker images.
1698 # Do not include http://.
1699 enabled: ${services.docker.enabled:false}
1700 targetRepository: ${services.docker.targetRepository}
1701
1702 jenkins:
1703 # The "name" entry is used for the display name when selecting
1704 # this server. You must set `enabled` to true when enabling igor.
1705 #
1706 # If you have multiple jenkins servers, you will need to list
1707 # them in an igor-local.yml. See jenkins.masters in config/igor.yml.
1708 #
1709 # Note that jenkins is not installed with Spinnaker so you must obtain this
1710 # on your own if you are interested.
1711 enabled: ${services.igor.enabled:false}
1712 defaultMaster:
1713 name: Jenkins
1714 baseUrl: # Expected in spinnaker-local.yml
1715 username: # Expected in spinnaker-local.yml
1716 password: # Expected in spinnaker-local.yml
1717
1718 redis:
1719 host: ${services.default.host}
1720 port: 6379
1721 connection: redis://${services.redis.host}:${services.redis.port}
1722
1723 cassandra:
1724 # cassandra.enabled is no longer used
1725 # cassandra is enabled or disabled on a per-service basis
1726 # where the alternative persistence mechanism for that service
1727 # can be enabled.
1728 host: ${services.cassandra.host}
1729 port: ${services.cassandra.port}
1730 embedded: ${services.cassandra.embedded}
1731 cluster: ${services.cassandra.cluster}
1732
1733 providers:
1734 aws:
1735 # For more information on configuring Amazon Web Services (aws), see
1736 # https://www.spinnaker.io/setup/providers/aws/
1737
1738 enabled: false
1739 simpleDBEnabled: false
1740 defaultRegion: us-east-1
1741 defaultSimpleDBDomain: CLOUD_APPLICATIONS
1742 primaryCredentials:
1743 name: default
1744 # The actual credentials are set using a standard AWS client library mechanism
1745 # http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/credentials.html
1746 # Typically this is a $HOME/.aws/credentials file (remember, a standard
1747 # spinnaker installation runs as user "spinnaker" whose $HOME is
1748 # /home/spinnaker). The primaryCredentials.name will identify which profile
1749 # to use (for .aws/credentials).
1750
1751 # {{name}} will be interpolated with the aws account name (e.g. "my-aws-account-keypair").
1752 defaultKeyPairTemplate: "{{name}}-keypair"
1753
1754 google:
1755 # For more information on configuring Google Cloud Platform (google), see
1756 # https://www.spinnaker.io/setup/providers/gce/
1757
1758 enabled: false
1759 defaultRegion: us-central1
1760 defaultZone: us-central1-f
1761 primaryCredentials:
1762 name: my-account-name
1763 # The project is the Google Project ID for the project to manage with
1764 # Spinnaker. The jsonPath is a path to the JSON service credentials
1765 # downloaded from the Google Developer's Console.
1766 project:
1767 jsonPath:
1768
1769 azure:
1770 # For more information on configuring Microsoft Azure (azure), see
1771 # https://www.spinnaker.io/setup/providers/azure/
1772
1773 enabled: false
1774 defaultRegion: westus
1775 primaryCredentials:
1776 name: my-azure-account
1777
1778 # To set Azure credentials, enter your Azure subscription values for:
1779 # clientId, appKey, tenantId, and subscriptionId.
1780 clientId:
1781 appKey:
1782 tenantId:
1783 subscriptionId:
1784
1785 kubernetes:
1786 # For more information on configuring Kubernetes clusters (kubernetes), see
1787 # https://www.spinnaker.io/setup/providers/kubernetes/
1788
1789 # NOTE: enabling kubernetes also requires enabling dockerRegistry.
1790 enabled: ${providers.kubernetes.enabled}
1791 primaryCredentials:
1792 name: ${providers.kubernetes.primaryCredentials.name}
1793 namespace: ${providers.kubernetes.primaryCredentials.namespace}
1794 dockerRegistryAccount: ${providers.dockerRegistry.primaryCredentials.name}
1795
1796 dockerRegistry:
1797 # If you want to use a container based provider, you need to configure and
1798 # enable this provider to cache images.
1799 enabled: ${providers.dockerRegistry.enabled}
1800 primaryCredentials:
1801 name: ${providers.dockerRegistry.primaryCredentials.name}
1802 address: ${providers.dockerRegistry.primaryCredentials.address}
1803 repository: ${providers.dockerRegistry.primaryCredentials.repository}
1804
1805 clouddriver-local.yml: |
1806 server:
1807 port: ${services.clouddriver.port:7002}
1808 address: 0.0.0.0
1809
1810 default:
1811 account:
1812 env: ${providers.kubernetes.primaryCredentials.name}
1813
1814 kubernetes:
1815 enabled: true
1816 accounts:
1817 - name: local
1818 serviceAccount: true
1819 dockerRegistries:
1820 - accountName: dockerhub
1821 dockerRegistry:
1822 enabled: true
1823 accounts:
1824 - name: dockerhub
1825 address: https://index.docker.io
1826
1827 repositories:
1828 - library/alpine
1829 - library/ubuntu
1830 - library/centos
1831 - library/nginx
1832
1833 credentials:
1834 primaryAccountTypes: ${providers.kubernetes.primaryCredentials.name}
1835 challengeDestructiveActionsEnvironments: ${providers.kubernetes.primaryCredentials.name}
1836 spinnaker-local.yml: |
1837 global:
1838 spinnaker:
1839 environment: test
1840
1841 services:
1842 default:
1843 # These defaults can be modified to change all the spinnaker subsystems
1844 # (clouddriver, gate, etc) at once, but not external systems (jenkins, etc).
1845 # Individual systems can still be overridden using their own section entry
1846 # directly under 'services'.
1847 host: localhost
1848 protocol: http
1849
1850 clouddriver:
1851 host: spinnaker-spinnaker-clouddriver
1852 port: 7002
1853 baseUrl: ${services.default.protocol}://${services.clouddriver.host}:${services.clouddriver.port}
1854 # Controls whether UserDataProviders are used to populate user data of new server groups.
1855 # If false, user data is copied over from ancestor server groups on both CopyLastAsgAtomicOperation and
1856 # ModifyAsgLaunchConfigurationOperation (only if no user data is provided on the given request).
1857 aws:
1858 udf:
1859 enabled: false
1860
1861 echo:
1862 enabled: true
1863 host: spinnaker-spinnaker-echo
1864 port: 8089
1865 baseUrl: ${services.default.protocol}://${services.echo.host}:${services.echo.port}
1866 cron:
1867 enabled: true
1868 notifications:
1869 # allow pipeline triggers to run periodically via cron expressions
1870 # If you wish for spinnaker to send notifications, configure the following blocks
1871 mail:
1872 enabled: false
1873 host: smtp.example.org
1874 username: admin
1875 password: admin
1876 fromAddress: spinnaker@example.org
1877 port: 25
1878 hipchat:
1879 enabled: false
1880 url: # the hipchat server to connect to
1881 token: #the hipchat auth token
1882 sms:
1883 enabled: false
1884 account: # twilio account id
1885 token: # twilio auth token
1886 from: # phone number by which sms messages are sent
1887 slack:
1888 enabled: false
1889 token:
1890
1891 deck:
1892 host: spinnaker-spinnaker-deck
1893 port: 9000
1894 baseUrl: ${services.default.protocol}://${services.deck.host}:${services.deck.port}
1895 gateUrl: ${services.gate.baseUrl}
1896 bakeryUrl: ${services.bakery.baseUrl}
1897 timezone: 'America/New_York'
1898 auth:
1899 enabled: false
1900
1901 front50:
1902 host: spinnaker-spinnaker-front50
1903 port: 8080
1904 baseUrl: ${services.default.protocol}://${services.front50.host}:${services.front50.port}
1905
1906 # If using storage bucket persistence (gcs or s3), specify the bucket here
1907 # disable cassandra and enable the storage service below.
1908 storage_bucket: spinnaker
1909 bucket_root: front50
1910
1911 cassandra:
1912 enabled: false
1913 redis:
1914 enabled: false
1915
1916 gcs:
1917 enabled: false
1918 s3:
1919 enabled: true
1920 endpoint: http://spinnaker-minio:9000
1921
1922 gate:
1923 host: spinnaker-spinnaker-gate
1924 port: 8084
1925 baseUrl: ${services.default.protocol}://${services.gate.host}:${services.gate.port}/gate
1926
1927 igor:
1928 # If you are integrating Jenkins then you must also enable Spinnaker's
1929 # "igor" subsystem.
1930 enabled: true
1931 host: spinnaker-spinnaker-igor
1932 port: 8088
1933 baseUrl: ${services.default.protocol}://${services.igor.host}:${services.igor.port}
1934
1935 kato:
1936 host: ${services.clouddriver.host}
1937 port: ${services.clouddriver.port}
1938 baseUrl: ${services.clouddriver.baseUrl}
1939
1940 mort:
1941 host: ${services.clouddriver.host}
1942 port: ${services.clouddriver.port}
1943 baseUrl: ${services.clouddriver.baseUrl}
1944
1945 orca:
1946 host: spinnaker-spinnaker-orca
1947 port: 8083
1948 baseUrl: ${services.default.protocol}://${services.orca.host}:${services.orca.port}
1949 enabled: true
1950
1951 oort:
1952 host: ${services.clouddriver.host}
1953 port: ${services.clouddriver.port}
1954 baseUrl: ${services.clouddriver.baseUrl}
1955
1956 rosco:
1957 host: spinnaker-spinnaker-rosco
1958 port: 8087
1959 baseUrl: ${services.default.protocol}://${services.rosco.host}:${services.rosco.port}
1960 # You need to provide the fully-qualified path to the directory containing the packer templates.
1961 # They typically live in rosco's config/packer directory.
1962 configDir: /opt/rosco/config/packer
1963
1964 bakery:
1965 host: ${services.rosco.host}
1966 port: ${services.rosco.port}
1967 baseUrl: ${services.rosco.baseUrl}
1968 extractBuildDetails: true
1969
1970 docker:
1971 # This target repository is used by the bakery to publish baked docker images.
1972 # Do not include http://.
1973 enabled: true
1974 targetRepository: viglesiasce/sample-app
1975
1976 jenkins:
1977 # The "name" entry is used for the display name when selecting
1978 # this server. You must set `enabled` to true when enabling igor.
1979 #
1980 # If you have multiple jenkins servers, you will need to list
1981 # them in an igor-local.yml. See jenkins.masters in config/igor.yml.
1982 #
1983 # Note that jenkins is not installed with Spinnaker so you must obtain this
1984 # on your own if you are interested.
1985 enabled: true
1986 defaultMaster:
1987 name: default
1988 baseUrl: http://spinnaker-jenkins:8080/
1989 username: admin
1990 password: admin
1991
1992 redis:
1993 host: spinnaker-redis
1994 port: 6379
1995 connection: redis://:password@${services.redis.host}:${services.redis.port}
1996
1997 providers:
1998
1999 kubernetes:
2000 enabled: true
2001 primaryCredentials:
2002 name: local
2003 namespace: default
2004 dockerRegistryAccount: dockerhub
2005
2006 dockerRegistry:
2007 enabled: true
2008 primaryCredentials:
2009 name: dockerhub
2010 address: https://index.docker.io
2011 repository: vic-goog/gceme
2012---
2013# Source: spinnaker/templates/configmap/test-config.yaml
2014apiVersion: v1
2015kind: ConfigMap
2016metadata:
2017 name: spinnaker-spinnaker-tests
2018data:
2019 run.sh: |-
2020 @test "Testing Spinnaker UI is accessible" {
2021 curl --retry 12 --retry-delay 10 spinnaker-spinnaker-deck:9000
2022 }
2023---
2024# Source: spinnaker/charts/jenkins/templates/home-pvc.yaml
2025kind: PersistentVolumeClaim
2026apiVersion: v1
2027metadata:
2028 name: spinnaker-jenkins
2029 labels:
2030 app: spinnaker-jenkins
2031 chart: "jenkins-0.13.3"
2032 release: "spinnaker"
2033 heritage: "Tiller"
2034spec:
2035 accessModes:
2036 - "ReadWriteOnce"
2037 resources:
2038 requests:
2039 storage: "8Gi"
2040---
2041# Source: spinnaker/charts/redis/templates/pvc.yaml
2042kind: PersistentVolumeClaim
2043apiVersion: v1
2044metadata:
2045 name: spinnaker-redis
2046 labels:
2047 app: spinnaker-redis
2048 chart: "redis-1.1.6"
2049 release: "spinnaker"
2050 heritage: "Tiller"
2051spec:
2052 accessModes:
2053 - "ReadWriteOnce"
2054 resources:
2055 requests:
2056 storage: "8Gi"
2057---
2058# Source: spinnaker/charts/jenkins/templates/jenkins-agent-svc.yaml
2059apiVersion: v1
2060kind: Service
2061metadata:
2062 name: spinnaker-jenkins-agent
2063 labels:
2064 app: spinnaker-jenkins
2065 chart: "jenkins-0.13.3"
2066 component: "spinnaker-jenkins-master"
2067spec:
2068 ports:
2069 - port: 50000
2070 targetPort: 50000
2071 name: slavelistener
2072 selector:
2073 component: "spinnaker-jenkins-master"
2074 type: ClusterIP
2075---
2076# Source: spinnaker/charts/jenkins/templates/jenkins-master-svc.yaml
2077apiVersion: v1
2078kind: Service
2079metadata:
2080 name: spinnaker-jenkins
2081 labels:
2082 app: spinnaker-jenkins
2083 heritage: "Tiller"
2084 release: "spinnaker"
2085 chart: "jenkins-0.13.3"
2086 component: "spinnaker-jenkins-master"
2087spec:
2088 ports:
2089 - port: 8080
2090 name: http
2091 targetPort: 8080
2092
2093 selector:
2094 component: "spinnaker-jenkins-master"
2095 type: ClusterIP
2096---
2097# Source: spinnaker/charts/redis/templates/svc.yaml
2098apiVersion: v1
2099kind: Service
2100metadata:
2101 name: spinnaker-redis
2102 labels:
2103 app: spinnaker-redis
2104 chart: "redis-1.1.6"
2105 release: "spinnaker"
2106 heritage: "Tiller"
2107 annotations:
2108spec:
2109 type: ClusterIP
2110 ports:
2111 - name: redis
2112 port: 6379
2113 targetPort: redis
2114 selector:
2115 app: spinnaker-redis
2116---
2117# Source: spinnaker/templates/svc/clouddriver.yaml
2118apiVersion: v1
2119kind: Service
2120metadata:
2121 name: spinnaker-spinnaker-clouddriver
2122 labels:
2123 app: spinnaker-spinnaker
2124 component: clouddriver
2125spec:
2126 ports:
2127 - port: 7002
2128 selector:
2129 app: spinnaker-spinnaker
2130 component: clouddriver
2131---
2132# Source: spinnaker/templates/svc/deck.yaml
2133apiVersion: v1
2134kind: Service
2135metadata:
2136 name: spinnaker-spinnaker-deck
2137 labels:
2138 app: spinnaker-spinnaker
2139 component: deck
2140spec:
2141 type: ClusterIP
2142 ports:
2143 - port: 9000
2144 selector:
2145 app: spinnaker-spinnaker
2146 component: deck
2147---
2148# Source: spinnaker/templates/svc/echo.yaml
2149apiVersion: v1
2150kind: Service
2151metadata:
2152 name: spinnaker-spinnaker-echo
2153 labels:
2154 app: spinnaker-spinnaker
2155 component: echo
2156spec:
2157 ports:
2158 - port: 8089
2159 selector:
2160 app: spinnaker-spinnaker
2161 component: echo
2162---
2163# Source: spinnaker/templates/svc/front50.yaml
2164apiVersion: v1
2165kind: Service
2166metadata:
2167 name: spinnaker-spinnaker-front50
2168 labels:
2169 app: spinnaker-spinnaker
2170 component: front50
2171spec:
2172 ports:
2173 - port: 8080
2174 selector:
2175 app: spinnaker-spinnaker
2176 component: front50
2177---
2178# Source: spinnaker/templates/svc/gate.yaml
2179apiVersion: v1
2180kind: Service
2181metadata:
2182 name: spinnaker-spinnaker-gate
2183 labels:
2184 app: spinnaker-spinnaker
2185 component: gate
2186spec:
2187 ports:
2188 - port: 8084
2189 selector:
2190 app: spinnaker-spinnaker
2191 component: gate
2192---
2193# Source: spinnaker/templates/svc/igor.yaml
2194apiVersion: v1
2195kind: Service
2196metadata:
2197 name: spinnaker-spinnaker-igor
2198 labels:
2199 app: spinnaker-spinnaker
2200 component: igor
2201spec:
2202 ports:
2203 - port: 8088
2204 name: igor
2205 - port: 8080
2206 name: jenkins-master
2207 - port: 50000
2208 name: jenkins-agent
2209 selector:
2210 app: spinnaker-spinnaker
2211 component: igor
2212---
2213# Source: spinnaker/templates/svc/orca.yaml
2214apiVersion: v1
2215kind: Service
2216metadata:
2217 name: spinnaker-spinnaker-orca
2218 labels:
2219 app: spinnaker-spinnaker
2220 component: orca
2221spec:
2222 ports:
2223 - port: 8083
2224 selector:
2225 app: spinnaker-spinnaker
2226 component: orca
2227---
2228# Source: spinnaker/templates/svc/rosco.yaml
2229apiVersion: v1
2230kind: Service
2231metadata:
2232 name: spinnaker-spinnaker-rosco
2233 labels:
2234 app: spinnaker-spinnaker
2235 component: rosco
2236spec:
2237 ports:
2238 - port: 8087
2239 selector:
2240 app: spinnaker-spinnaker
2241 component: rosco
2242---
2243# Source: spinnaker/charts/jenkins/templates/jenkins-master-deployment.yaml
2244apiVersion: extensions/v1beta1
2245kind: Deployment
2246metadata:
2247 name: spinnaker-jenkins
2248 labels:
2249 heritage: "Tiller"
2250 release: "spinnaker"
2251 chart: "jenkins-0.13.3"
2252 component: "spinnaker-jenkins-master"
2253spec:
2254 replicas: 1
2255 strategy:
2256 type: RollingUpdate
2257 selector:
2258 matchLabels:
2259 component: "spinnaker-jenkins-master"
2260 template:
2261 metadata:
2262 labels:
2263 app: spinnaker-jenkins
2264 heritage: "Tiller"
2265 release: "spinnaker"
2266 chart: "jenkins-0.13.3"
2267 component: "spinnaker-jenkins-master"
2268 annotations:
2269 checksum/config: 5ee6a4cc732a81da16a29a3331c8d1a2da1a10a5814b602a322df6f7d6d73564
2270 spec:
2271 securityContext:
2272 runAsUser: 0
2273 serviceAccountName: "default"
2274 initContainers:
2275 - name: "copy-default-config"
2276 image: "jenkins/jenkins:lts"
2277 imagePullPolicy: "Always"
2278 command: [ "sh", "/var/jenkins_config/apply_config.sh" ]
2279 volumeMounts:
2280 -
2281 mountPath: /var/jenkins_home
2282 name: jenkins-home
2283 -
2284 mountPath: /var/jenkins_config
2285 name: jenkins-config
2286 -
2287 mountPath: /usr/share/jenkins/ref/plugins/
2288 name: plugin-dir
2289 -
2290 mountPath: /usr/share/jenkins/ref/secrets/
2291 name: secrets-dir
2292 containers:
2293 - name: spinnaker-jenkins
2294 image: "jenkins/jenkins:lts"
2295 imagePullPolicy: "Always"
2296 args: [ "--argumentsRealm.passwd.$(ADMIN_USER)=$(ADMIN_PASSWORD)", "--argumentsRealm.roles.$(ADMIN_USER)=admin"]
2297 env:
2298 - name: JAVA_OPTS
2299 value: ""
2300 - name: JENKINS_OPTS
2301 value: ""
2302 - name: ADMIN_PASSWORD
2303 valueFrom:
2304 secretKeyRef:
2305 name: spinnaker-jenkins
2306 key: jenkins-admin-password
2307 - name: ADMIN_USER
2308 valueFrom:
2309 secretKeyRef:
2310 name: spinnaker-jenkins
2311 key: jenkins-admin-user
2312 ports:
2313 - containerPort: 8080
2314 name: http
2315 - containerPort: 50000
2316 name: slavelistener
2317 livenessProbe:
2318 httpGet:
2319 path: /login
2320 port: http
2321 initialDelaySeconds: 60
2322 readinessProbe:
2323 httpGet:
2324 path: /login
2325 port: http
2326 initialDelaySeconds: 60
2327 resources:
2328 requests:
2329 cpu: "500m"
2330 memory: "512Mi"
2331 volumeMounts:
2332 -
2333 mountPath: /var/jenkins_home
2334 name: jenkins-home
2335 readOnly: false
2336 -
2337 mountPath: /var/jenkins_config
2338 name: jenkins-config
2339 readOnly: true
2340 -
2341 mountPath: /usr/share/jenkins/ref/plugins/
2342 name: plugin-dir
2343 readOnly: false
2344 -
2345 mountPath: /usr/share/jenkins/ref/secrets/
2346 name: secrets-dir
2347 readOnly: false
2348 volumes:
2349 - name: jenkins-config
2350 configMap:
2351 name: spinnaker-jenkins
2352 - name: plugin-dir
2353 emptyDir: {}
2354 - name: secrets-dir
2355 emptyDir: {}
2356 - name: jenkins-home
2357 persistentVolumeClaim:
2358 claimName: spinnaker-jenkins
2359---
2360# Source: spinnaker/charts/redis/templates/deployment.yaml
2361apiVersion: extensions/v1beta1
2362kind: Deployment
2363metadata:
2364 name: spinnaker-redis
2365 labels:
2366 app: spinnaker-redis
2367 chart: "redis-1.1.6"
2368 release: "spinnaker"
2369 heritage: "Tiller"
2370spec:
2371 template:
2372 metadata:
2373 labels:
2374 app: spinnaker-redis
2375 spec:
2376 securityContext:
2377 fsGroup: 1001
2378 runAsUser: 1001
2379 containers:
2380 - name: spinnaker-redis
2381 image: "bitnami/redis:4.0.6-r1"
2382 imagePullPolicy: "IfNotPresent"
2383 env:
2384 - name: REDIS_PASSWORD
2385 valueFrom:
2386 secretKeyRef:
2387 name: spinnaker-redis
2388 key: redis-password
2389 ports:
2390 - name: redis
2391 containerPort: 6379
2392 livenessProbe:
2393 exec:
2394 command:
2395 - redis-cli
2396 - ping
2397 initialDelaySeconds: 30
2398 timeoutSeconds: 5
2399 readinessProbe:
2400 exec:
2401 command:
2402 - redis-cli
2403 - ping
2404 initialDelaySeconds: 5
2405 timeoutSeconds: 1
2406 resources:
2407 requests:
2408 cpu: 100m
2409 memory: 256Mi
2410
2411 volumeMounts:
2412 - name: redis-data
2413 mountPath: /bitnami
2414 volumes:
2415 - name: redis-data
2416 persistentVolumeClaim:
2417 claimName: spinnaker-redis
2418---
2419# Source: spinnaker/templates/deployments/clouddriver.yaml
2420apiVersion: extensions/v1beta1
2421kind: Deployment
2422metadata:
2423 name: spinnaker-spinnaker-clouddriver
2424 labels:
2425 app: spinnaker-spinnaker
2426 component: clouddriver
2427spec:
2428 strategy:
2429 rollingUpdate:
2430 maxUnavailable: 0
2431 replicas: 1
2432 template:
2433 metadata:
2434 annotations:
2435 checksum/config: 779bce170a8bef05db7505d4d38eb61e71411995669e0cf16513e38bb307c3ab
2436 labels:
2437 app: spinnaker-spinnaker
2438 component: clouddriver
2439 spec:
2440 containers:
2441 - image: gcr.io/spinnaker-marketplace/clouddriver:2.0.0-20180221152902
2442 name: clouddriver
2443 ports:
2444 - containerPort: 7002
2445 name: clouddriver
2446 volumeMounts:
2447 - mountPath: /opt/spinnaker/config
2448 name: spinnaker-spinnaker-spinnaker-config
2449 - mountPath: /tmp/registry
2450 name: spinnaker-spinnaker-registry
2451 readinessProbe:
2452 httpGet:
2453 path: /health
2454 port: 7002
2455 initialDelaySeconds: 20
2456 timeoutSeconds: 1
2457 volumes:
2458 - name: spinnaker-spinnaker-spinnaker-config
2459 configMap:
2460 name: spinnaker-spinnaker-spinnaker-config
2461 - name: spinnaker-spinnaker-registry
2462 secret:
2463 secretName: spinnaker-spinnaker-registry
2464---
2465# Source: spinnaker/templates/deployments/deck.yaml
2466apiVersion: extensions/v1beta1
2467kind: Deployment
2468metadata:
2469 name: spinnaker-spinnaker-deck
2470 labels:
2471 app: spinnaker-spinnaker
2472 component: deck
2473spec:
2474 strategy:
2475 rollingUpdate:
2476 maxUnavailable: 0
2477 replicas: 1
2478 template:
2479 metadata:
2480 annotations:
2481 checksum/config: 779bce170a8bef05db7505d4d38eb61e71411995669e0cf16513e38bb307c3ab
2482 labels:
2483 app: spinnaker-spinnaker
2484 component: deck
2485 spec:
2486 containers:
2487 - image: gcr.io/spinnaker-marketplace/deck:2.1.0-20180221143146
2488 name: deck
2489 env:
2490 - name: API_HOST
2491 value: http://spinnaker-spinnaker-gate:8084/
2492 - name: DECK_HOST
2493 value: "0.0.0.0"
2494 - name: DECK_PORT
2495 value: "9000"
2496 ports:
2497 - containerPort: 9000
2498 name: deck
2499 volumeMounts:
2500 - mountPath: /opt/spinnaker/config
2501 name: spinnaker-spinnaker-spinnaker-config
2502 volumes:
2503 - name: spinnaker-spinnaker-spinnaker-config
2504 configMap:
2505 name: spinnaker-spinnaker-spinnaker-config
2506---
2507# Source: spinnaker/templates/deployments/echo.yaml
2508apiVersion: extensions/v1beta1
2509kind: Deployment
2510metadata:
2511 name: spinnaker-spinnaker-echo
2512 labels:
2513 app: spinnaker-spinnaker
2514 component: echo
2515spec:
2516 strategy:
2517 rollingUpdate:
2518 maxUnavailable: 0
2519 replicas: 1
2520 template:
2521 metadata:
2522 annotations:
2523 checksum/config: 779bce170a8bef05db7505d4d38eb61e71411995669e0cf16513e38bb307c3ab
2524 labels:
2525 app: spinnaker-spinnaker
2526 component: echo
2527 spec:
2528 containers:
2529 - image: gcr.io/spinnaker-marketplace/echo:0.8.0-20180221133510
2530 name: echo
2531 ports:
2532 - containerPort: 8089
2533 name: echo
2534 volumeMounts:
2535 - mountPath: /opt/spinnaker/config
2536 name: spinnaker-spinnaker-spinnaker-config
2537 readinessProbe:
2538 httpGet:
2539 path: /health
2540 port: 8089
2541 initialDelaySeconds: 20
2542 timeoutSeconds: 1
2543 volumes:
2544 - name: spinnaker-spinnaker-spinnaker-config
2545 configMap:
2546 name: spinnaker-spinnaker-spinnaker-config
2547---
2548# Source: spinnaker/templates/deployments/front50.yaml
2549apiVersion: extensions/v1beta1
2550kind: Deployment
2551metadata:
2552 name: spinnaker-spinnaker-front50
2553 labels:
2554 app: spinnaker-spinnaker
2555 component: front50
2556spec:
2557 strategy:
2558 rollingUpdate:
2559 maxUnavailable: 0
2560 replicas: 1
2561 template:
2562 metadata:
2563 annotations:
2564 checksum/config: 779bce170a8bef05db7505d4d38eb61e71411995669e0cf16513e38bb307c3ab
2565 labels:
2566 app: spinnaker-spinnaker
2567 component: front50
2568 spec:
2569 containers:
2570 - image: gcr.io/spinnaker-marketplace/front50:0.9.0-20180221133510
2571 name: front50
2572 ports:
2573 - containerPort: 8080
2574 name: front50
2575 volumeMounts:
2576 - mountPath: /opt/spinnaker/config
2577 name: spinnaker-spinnaker-spinnaker-config
2578 - mountPath: /root/.aws
2579 name: spinnaker-spinnaker-s3-config
2580
2581 readinessProbe:
2582 httpGet:
2583 path: /health
2584 port: 8080
2585 initialDelaySeconds: 20
2586 timeoutSeconds: 1
2587 volumes:
2588 - name: spinnaker-spinnaker-spinnaker-config
2589 configMap:
2590 name: spinnaker-spinnaker-spinnaker-config
2591 - name: spinnaker-spinnaker-s3-config
2592 configMap:
2593 name: spinnaker-spinnaker-s3-config
2594---
2595# Source: spinnaker/templates/deployments/gate.yaml
2596apiVersion: extensions/v1beta1
2597kind: Deployment
2598metadata:
2599 name: spinnaker-spinnaker-gate
2600 labels:
2601 app: spinnaker-spinnaker
2602 component: gate
2603spec:
2604 strategy:
2605 rollingUpdate:
2606 maxUnavailable: 0
2607 replicas: 1
2608 template:
2609 metadata:
2610 annotations:
2611 checksum/config: 779bce170a8bef05db7505d4d38eb61e71411995669e0cf16513e38bb307c3ab
2612 labels:
2613 app: spinnaker-spinnaker
2614 component: gate
2615 spec:
2616 containers:
2617 - image: gcr.io/spinnaker-marketplace/gate:0.10.0-20180221133510
2618 name: gate
2619 ports:
2620 - containerPort: 8084
2621 name: gate
2622 volumeMounts:
2623 - mountPath: /opt/spinnaker/config
2624 name: spinnaker-spinnaker-spinnaker-config
2625 livenessProbe:
2626 httpGet:
2627 path: /health
2628 port: 8084
2629 initialDelaySeconds: 30
2630 timeoutSeconds: 1
2631 volumes:
2632 - name: spinnaker-spinnaker-spinnaker-config
2633 configMap:
2634 name: spinnaker-spinnaker-spinnaker-config
2635---
2636# Source: spinnaker/templates/deployments/igor.yaml
2637apiVersion: extensions/v1beta1
2638kind: Deployment
2639metadata:
2640 name: spinnaker-spinnaker-igor
2641 labels:
2642 app: spinnaker-spinnaker
2643 component: igor
2644spec:
2645 strategy:
2646 rollingUpdate:
2647 maxUnavailable: 0
2648 replicas: 1
2649 template:
2650 metadata:
2651 annotations:
2652 checksum/config: 779bce170a8bef05db7505d4d38eb61e71411995669e0cf16513e38bb307c3ab
2653 labels:
2654 app: spinnaker-spinnaker
2655 component: igor
2656 spec:
2657 containers:
2658 - image: gcr.io/spinnaker-marketplace/igor:0.9.0-20180221133510
2659 name: igor
2660 ports:
2661 - containerPort: 8088
2662 name: igor
2663 volumeMounts:
2664 - mountPath: /opt/spinnaker/config
2665 name: spinnaker-spinnaker-spinnaker-config
2666 readinessProbe:
2667 httpGet:
2668 path: /health
2669 port: 8088
2670 initialDelaySeconds: 20
2671 timeoutSeconds: 1
2672 volumes:
2673 - name: spinnaker-spinnaker-spinnaker-config
2674 configMap:
2675 name: spinnaker-spinnaker-spinnaker-config
2676---
2677# Source: spinnaker/templates/deployments/orca.yaml
2678apiVersion: extensions/v1beta1
2679kind: Deployment
2680metadata:
2681 name: spinnaker-spinnaker-orca
2682 labels:
2683 app: spinnaker-spinnaker
2684 component: orca
2685spec:
2686 strategy:
2687 rollingUpdate:
2688 maxUnavailable: 0
2689 replicas: 1
2690 template:
2691 metadata:
2692 annotations:
2693 checksum/config: 779bce170a8bef05db7505d4d38eb61e71411995669e0cf16513e38bb307c3ab
2694 labels:
2695 app: spinnaker-spinnaker
2696 component: orca
2697 spec:
2698 containers:
2699 - image: gcr.io/spinnaker-marketplace/orca:0.10.0-20180221133510
2700 name: orca
2701 ports:
2702 - containerPort: 8083
2703 name: orca
2704 volumeMounts:
2705 - mountPath: /opt/spinnaker/config
2706 name: spinnaker-spinnaker-spinnaker-config
2707 readinessProbe:
2708 httpGet:
2709 path: /health
2710 port: 8083
2711 initialDelaySeconds: 20
2712 timeoutSeconds: 1
2713 volumes:
2714 - name: spinnaker-spinnaker-spinnaker-config
2715 configMap:
2716 name: spinnaker-spinnaker-spinnaker-config
2717---
2718# Source: spinnaker/templates/deployments/rosco.yaml
2719apiVersion: extensions/v1beta1
2720kind: Deployment
2721metadata:
2722 name: spinnaker-spinnaker-rosco
2723 labels:
2724 app: spinnaker-spinnaker
2725 component: rosco
2726spec:
2727 strategy:
2728 rollingUpdate:
2729 maxUnavailable: 0
2730 replicas: 1
2731 template:
2732 metadata:
2733 annotations:
2734 checksum/config: 779bce170a8bef05db7505d4d38eb61e71411995669e0cf16513e38bb307c3ab
2735 labels:
2736 app: spinnaker-spinnaker
2737 component: rosco
2738 spec:
2739 containers:
2740 - image: gcr.io/spinnaker-marketplace/rosco:0.5.0-20180221133510
2741 name: rosco
2742 ports:
2743 - containerPort: 8087
2744 name: rosco
2745 volumeMounts:
2746 - mountPath: /opt/spinnaker/config
2747 name: spinnaker-spinnaker-spinnaker-config
2748 - mountPath: /usr/bin/docker
2749 name: docker-bin
2750 - mountPath: /var/run/docker.sock
2751 name: docker-sock
2752 readinessProbe:
2753 httpGet:
2754 path: /health
2755 port: 8087
2756 initialDelaySeconds: 20
2757 timeoutSeconds: 1
2758 volumes:
2759 - name: spinnaker-spinnaker-spinnaker-config
2760 configMap:
2761 name: spinnaker-spinnaker-spinnaker-config
2762 - name: docker-bin
2763 hostPath:
2764 path: /usr/bin/docker
2765 - name: docker-sock
2766 hostPath:
2767 path: /var/run/docker.sock