• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Aucun tag

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

the default GitOps source repository for booting up Jenkins X


Commit MetaInfo

Révision58cf06a9ca5706b8c2c09ff2e2a4956624cf9fb4 (tree)
l'heure2019-08-29 22:11:33
AuteurJames Strachan <james.strachan@gmai...>
CommiterJames Strachan

Message de Log

fix: lets move the env/templates/*.yaml into a separate chart

to reduce the amount of code inside the boot config and help reduce merge conflicts

Change Summary

  • modified: env/jenkins/values.yaml (diff)
  • add: env/jxboot-resources/README.MD (diff)
  • add: env/jxboot-resources/values.tmpl.yaml (diff)
  • modified: env/requirements.yaml (diff)
  • modified: env/tekton/values.tmpl.yaml (diff)
  • delete: env/templates/000-namespace.yaml
  • delete: env/templates/700-chartmuseum-ing.yaml
  • delete: env/templates/700-deck-ing.yaml
  • delete: env/templates/700-docker-ing.yaml
  • delete: env/templates/700-hook-ing.yaml
  • delete: env/templates/700-jenkins-ing.yaml
  • delete: env/templates/700-nexus-ing.yaml
  • delete: env/templates/700-tide-ing.yaml
  • delete: env/templates/core-chartmuseum-secret.yaml
  • delete: env/templates/default-scheduler.yaml
  • delete: env/templates/dev-env.yaml
  • delete: env/templates/dev-repo.yaml
  • delete: env/templates/env-scheduler.yaml
  • delete: env/templates/featureflag-secret.yaml
  • delete: env/templates/gh-secret.yaml
  • delete: env/templates/ingress-config-configmap.yaml
  • delete: env/templates/production-env.yaml
  • delete: env/templates/production-repo.yaml
  • delete: env/templates/staging-env.yaml
  • delete: env/templates/staging-repo.yaml
  • delete: env/templates/tekton-artifact-bucket-secret.yaml
  • modified: env/values.tmpl.yaml (diff)
  • delete: systems/acme/templates/cert-manager-prod-certificate.yaml
  • delete: systems/acme/templates/cert-manager-prod-issuer.yaml
  • delete: systems/acme/templates/cert-manager-staging-certificate.yaml
  • delete: systems/acme/templates/cert-manager-staging-issuer.yaml

Modification

--- a/env/jenkins/values.yaml
+++ b/env/jenkins/values.yaml
@@ -1 +1,5 @@
1+{{- if eq .Requirements.webhook "jenkins" }}
2+enabled: true
3+{{- else }}
14 enabled: false
5+{{- end }}
\ No newline at end of file
--- /dev/null
+++ b/env/jxboot-resources/README.MD
@@ -0,0 +1,6 @@
1+# jxboot-resources
2+
3+|App Metadata||
4+|---|---|
5+| **Version** | 0.0.1 |
6+| **Chart Repository** | http://chartmuseum.jenkins-x.io |
--- /dev/null
+++ b/env/jxboot-resources/values.tmpl.yaml
@@ -0,0 +1,153 @@
1+cluster:
2+ domain: {{ .Requirements.ingress.domain }}
3+ namespace: {{ .Requirements.cluster.namespace | default "jx" }}
4+ namespaceSubDomain: {{ .Requirements.ingress.namespaceSubDomain | default ".jx." }}
5+{{- if hasKey .Requirements.cluster "project" }}
6+ projectID: {{ .Requirements.cluster.project }}
7+{{- else }}
8+ projectID: ""
9+{{- end }}
10+{{- if hasKey .Requirements.cluster "zone" }}
11+ zone: {{ .Requirements.cluster.zone }}
12+{{- else }}
13+ zone: ""
14+{{- end }}
15+ name: ""
16+ serverUrl: ""
17+{{- if .Requirements.ingress.tls.enabled }}
18+ tls: true
19+{{- end }}
20+
21+gitops:
22+ versionStreamUrl: {{ .Requirements.versionStream.url }}
23+ versionStreamRef: {{ .Requirements.versionStream.ref }}
24+
25+ gitKind: {{ .Requirements.cluster.gitKind | default "github" }}
26+ gitName: {{ .Requirements.cluster.gitName | default "github" }}
27+ server: {{ .Requirements.cluster.gitServer | default "https://github.com" }}
28+ owner: {{ .Requirements.cluster.environmentGitOwner }}
29+ webhook: {{ .Requirements.webhook | default "prow" | title | quote }}
30+{{- if eq .Requirements.cluster.gitKind "bitbucketserver" }}
31+ gitUrlPathPrefix: "/scm"
32+{{- else }}
33+ gitUrlPathPrefix: ""
34+{{- end }}
35+
36+ dev:
37+ server: ""
38+{{- if .Requirements.gitops }}
39+ repo: "{{ .Environments.dev.repository }}"
40+ owner: "{{ .Environments.dev.owner }}"
41+ envOrganisation: "{{ .Requirements.cluster.environmentGitOwner }}"
42+{{- else }}
43+ repo: ""
44+ owner: ""
45+ envOrganisation: ""
46+{{- end }}
47+{{- if eq .Requirements.cluster.provider "gke" }}
48+ dockerRegistryOrg: "{{ .Requirements.cluster.project }}"
49+{{- else }}
50+ dockerRegistryOrg: ""
51+{{- end }}
52+
53+
54+ staging:
55+ repo: "{{ .Environments.staging.repository }}"
56+ owner: "{{ .Environments.staging.owner | default .Requirements.cluster.environmentGitOwner }}"
57+ server: ""
58+
59+ production:
60+ repo: "{{ .Environments.production.repository }}"
61+ owner: "{{ .Environments.production.owner | default .Requirements.cluster.environmentGitOwner }}"
62+ server: ""
63+
64+storage:
65+ logs:
66+ url: "{{ .Requirements.storage.logs.url }}"
67+ reports:
68+ url: "{{ .Requirements.storage.reports.url }}"
69+ repository:
70+ url: "{{ .Requirements.storage.repository.url }}"
71+
72+expose:
73+ enabled: false
74+
75+cleanup:
76+ enabled: false
77+
78+controllerbuild:
79+ enabled: true
80+controllerteam:
81+ enabled: false
82+controllerworkflow:
83+ enabled: false
84+jenkins:
85+ enabled: false
86+jenkins-x-platform:
87+ chartmuseum:
88+ enabled: true
89+ env:
90+ open:
91+ AUTH_ANONYMOUS_GET: true
92+ DISABLE_API: false
93+# STORAGE: google
94+# STORAGE_GOOGLE_BUCKET: chartmuseum.jenkins-x.io
95+# STORAGE_GOOGLE_PREFIX: charts
96+# gcp:
97+# secret:
98+# enabled: true
99+# key: gcs-chartmuseum.key.json
100+# name: gcs-jenkinsx-chartmuseum
101+ image:
102+ tag: v0.7.1
103+ controllerbuild:
104+ enabled: true
105+ jenkins:
106+ Agent:
107+ PodTemplates:
108+ Go:
109+ Containers:
110+ Go:
111+ Image: jenkinsxio/builder-go:latest
112+ Maven:
113+ Containers:
114+ Maven:
115+ Image: jenkinsxio/builder-maven:latest
116+ volumes:
117+ - mountPath: /root/.m2/
118+ secretName: jenkins-maven-settings
119+ type: Secret
120+ - mountPath: /home/jenkins/.docker
121+ secretName: jenkins-docker-cfg
122+ type: Secret
123+ Nodejs:
124+ Containers:
125+ Nodejs:
126+ Image: jenkinsxio/builder-nodejs:latest
127+ monocular:
128+ api:
129+ livenessProbe:
130+ initialDelaySeconds: 1000
131+ nexus:
132+ persistence:
133+ size: 100Gi
134+ postinstalljob:
135+ enabled: "true"
136+
137+tekton:
138+ webhook:
139+ enabled: false
140+
141+JenkinsXGitHub:
142+ username: "{{ .Parameters.pipelineUser.username }}"
143+ password: "{{ .Parameters.pipelineUser.token }}"
144+
145+{{- if .Requirements.ingress.tls }}
146+certmanager:
147+ production: "{{ .Requirements.ingress.tls.production }}"
148+{{- if .Requirements.ingress.tls.enabled }}
149+ email: "{{ .Requirements.ingress.tls.email }}"
150+{{- else }}
151+ enabled: false
152+{{- end }}
153+{{- end }}
\ No newline at end of file
--- a/env/requirements.yaml
+++ b/env/requirements.yaml
@@ -1,4 +1,6 @@
11 dependencies:
2+- name: jxboot-resources
3+ repository: http://chartmuseum.jenkins-x.io
24 - alias: tekton
35 name: tekton
46 repository: http://chartmuseum.jenkins-x.io
--- a/env/tekton/values.tmpl.yaml
+++ b/env/tekton/values.tmpl.yaml
@@ -1,3 +1,11 @@
1+{{- if eq .Requirements.webhook "prow" }}
2+enabled: true
3+{{- else if eq .Requirements.webhook "lighthouse" }}
4+enabled: true
5+{{- else }}
6+enabled: false
7+{{- end }}
8+
19 webhook:
210 enabled: false
311
--- a/env/templates/000-namespace.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
1-apiVersion: v1
2-kind: Namespace
3-metadata:
4- annotations:
5- jenkins-x.io/created-by: Jenkins X
6- labels:
7- env: dev
8- team: jx
9- certmanager.k8s.io/disable-validation: true
10- name: jx
11-spec:
12- finalizers:
13- - kubernetes
\ No newline at end of file
--- a/env/templates/700-chartmuseum-ing.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
1-{{- if index .Values "jenkins-x-platform" "chartmuseum" "enabled" }}
2-apiVersion: extensions/v1beta1
3-kind: Ingress
4-metadata:
5- annotations:
6- kubernetes.io/ingress.class: nginx
7- name: chartmuseum
8-spec:
9- rules:
10- - host: chartmuseum{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
11- http:
12- paths:
13- - backend:
14- serviceName: jenkins-x-chartmuseum
15- servicePort: 8080
16-{{- if .Values.cluster.tls }}
17- tls:
18- - hosts:
19- - chartmuseum{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
20-{{- if eq .Values.certmanager.production "true" }}
21- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-p"
22-{{- else }}
23- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-s"
24-{{- end }}
25-{{- end }}
26-{{- end }}
\ No newline at end of file
--- a/env/templates/700-deck-ing.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
1-{{- if .Values.prow.enabled }}
2-apiVersion: extensions/v1beta1
3-kind: Ingress
4-metadata:
5- annotations:
6- kubernetes.io/ingress.class: nginx
7- nginx.ingress.kubernetes.io/auth-secret: jx-basic-auth
8- nginx.ingress.kubernetes.io/auth-type: basic
9- name: deck
10-spec:
11- rules:
12- - host: deck{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
13- http:
14- paths:
15- - backend:
16- serviceName: deck
17- servicePort: 80
18-{{- if .Values.cluster.tls }}
19- tls:
20- - hosts:
21- - deck{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
22-{{- if eq .Values.certmanager.production "true" }}
23- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-p"
24-{{- else }}
25- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-s"
26-{{- end }}
27-{{- end }}
28-{{- end }}
\ No newline at end of file
--- a/env/templates/700-docker-ing.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
1-{{- if index .Values "docker-registry" "enabled" }}
2-apiVersion: extensions/v1beta1
3-kind: Ingress
4-metadata:
5- annotations:
6- kubernetes.io/ingress.class: nginx
7- nginx.ingress.kubernetes.io/auth-secret: jx-basic-auth
8- nginx.ingress.kubernetes.io/auth-type: basic
9- name: docker-registry
10-spec:
11- rules:
12- - host: docker-registry{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
13- http:
14- paths:
15- - backend:
16- serviceName: jenkins-x-docker-registry
17- servicePort: 5000
18-{{- if .Values.cluster.tls }}
19- tls:
20- - hosts:
21- - docker-registry{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
22-{{- if eq .Values.certmanager.production "true" }}
23- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-p"
24-{{- else }}
25- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-s"
26-{{- end }}
27-{{- end }}
28-{{- end }}
\ No newline at end of file
--- a/env/templates/700-hook-ing.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
1-{{- if or .Values.prow.enabled .Values.lighthouse.enabled }}
2-apiVersion: extensions/v1beta1
3-kind: Ingress
4-metadata:
5- name: hook
6- annotations:
7- kubernetes.io/ingress.class: nginx
8-spec:
9- rules:
10- - host: hook{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
11- http:
12- paths:
13- - backend:
14- serviceName: hook
15- servicePort: 80
16-{{- if .Values.cluster.tls }}
17- tls:
18- - hosts:
19- - hook{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
20-{{- if eq .Values.certmanager.production "true" }}
21- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-p"
22-{{- else }}
23- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-s"
24-{{- end }}
25-{{- end }}
26-{{- end }}
--- a/env/templates/700-jenkins-ing.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
1-{{- if .Values.jenkins.enabled }}
2-apiVersion: extensions/v1beta1
3-kind: Ingress
4-metadata:
5- annotations:
6- kubernetes.io/ingress.class: nginx
7- nginx.ingress.kubernetes.io/auth-secret: jx-basic-auth
8- nginx.ingress.kubernetes.io/auth-type: basic
9- name: jenkins
10-spec:
11- rules:
12- - host: jenkins{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
13- http:
14- paths:
15- - backend:
16- serviceName: jenkins
17- servicePort: 8080
18-{{- if .Values.cluster.tls }}
19- tls:
20- - hosts:
21- - jenkins{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
22-{{- if eq .Values.certmanager.production "true" }}
23- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-p"
24-{{- else }}
25- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-s"
26-{{- end }}
27-{{- end }}
28-{{- end }}
\ No newline at end of file
--- a/env/templates/700-nexus-ing.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
1-{{- if .Values.nexus.enabled }}
2-apiVersion: extensions/v1beta1
3-kind: Ingress
4-metadata:
5- annotations:
6- kubernetes.io/ingress.class: nginx
7- name: nexus
8-spec:
9- rules:
10- - host: nexus{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
11- http:
12- paths:
13- - backend:
14- serviceName: nexus
15- servicePort: 80
16-{{- if .Values.cluster.tls }}
17- tls:
18- - hosts:
19- - nexus{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
20-{{- if eq .Values.certmanager.production "true" }}
21- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-p"
22-{{- else }}
23- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-s"
24-{{- end }}
25-{{- end }}
26-{{- end }}
\ No newline at end of file
--- a/env/templates/700-tide-ing.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
1-{{- if .Values.prow.enabled }}
2-apiVersion: extensions/v1beta1
3-kind: Ingress
4-metadata:
5- annotations:
6- kubernetes.io/ingress.class: nginx
7- nginx.ingress.kubernetes.io/auth-secret: jx-basic-auth
8- nginx.ingress.kubernetes.io/auth-type: basic
9- name: tide
10-spec:
11- rules:
12- - host: tide{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
13- http:
14- paths:
15- - backend:
16- serviceName: tide
17- servicePort: 80
18-{{- if .Values.cluster.tls }}
19- tls:
20- - hosts:
21- - tide{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
22-{{- if eq .Values.certmanager.production "true" }}
23- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-p"
24-{{- else }}
25- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-s"
26-{{- end }}
27-{{- end }}
28-{{- end }}
\ No newline at end of file
--- a/env/templates/core-chartmuseum-secret.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
1-{{- if .Values.CoreChartmuseum }}
2-apiVersion: v1
3-data:
4- BASIC_AUTH_PASS: {{ .Values.CoreChartmuseum.password | b64enc | quote }}
5- BASIC_AUTH_USER: {{ .Values.CoreChartmuseum.username | b64enc | quote }}
6-kind: Secret
7-metadata:
8- annotations:
9- jenkins.io/credentials-keybinding-password: BASIC_AUTH_PASS
10- jenkins.io/credentials-keybinding-username: BASIC_AUTH_USER
11- jenkins.io/foo: bar
12- labels:
13- jenkins.io/credentials-type: usernamePassword
14- release: jenkins-x
15- name: jenkins-x-chartmuseum-core
16-type: Opaque
17-{{- end }}
\ No newline at end of file
--- a/env/templates/default-scheduler.yaml
+++ /dev/null
@@ -1,118 +0,0 @@
1-apiVersion: jenkins.io/v1
2-kind: Scheduler
3-metadata:
4- creationTimestamp: null
5- name: default-scheduler
6-spec:
7- approve:
8- issueRequired: false
9- lgtmActsAsApprove: true
10- requireSelfApproval: true
11- merger:
12- blockerLabel: ""
13- maxGoroutines: 0
14- mergeMethod: merge
15- policy:
16- fromBranchProtection: true
17- optionalContexts: {}
18- requiredContexts: {}
19- requiredIfPresentContexts: {}
20- skipUnknownContexts: false
21- prStatusBaseUrl: ""
22- squashLabel: ""
23- targetUrl: http://deck{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
24- plugins:
25- entries:
26- - approve
27- - assign
28- - blunderbuss
29- - help
30- - hold
31- - lgtm
32- - lifecycle
33- - override
34- - size
35- - trigger
36- - wip
37- - heart
38- - cat
39- - dog
40- - pony
41- - override
42- policy:
43- protectTested: true
44- postsubmits:
45- entries:
46- - agent: tekton
47- branches:
48- entries:
49- - master
50- cluster: ""
51- context: ""
52- labels: {}
53- maxConcurrency: 0
54- name: release
55- report: false
56- runIfChanged: ""
57- skipBranches: {}
58- presubmits:
59- entries:
60- - agent: tekton
61- alwaysRun: true
62- branches: {}
63- cluster: ""
64- context: pr-build
65- labels: {}
66- maxConcurrency: 0
67- mergeMethod: ""
68- name: pr-build
69- optional: false
70- policy:
71- Replace: false
72- requiredStatusChecks:
73- contexts:
74- entries:
75- - pr-build
76- queries:
77- - excludedBranches: {}
78- includedBranches: {}
79- labels:
80- entries:
81- - approved
82- milestone: ""
83- missingLabels:
84- entries:
85- - do-not-merge
86- - do-not-merge/hold
87- - do-not-merge/work-in-progress
88- - needs-ok-to-test
89- - needs-rebase
90- reviewApprovedRequired: false
91- - excludedBranches: {}
92- includedBranches: {}
93- labels:
94- entries:
95- - updatebot
96- milestone: ""
97- missingLabels:
98- entries:
99- - do-not-merge
100- - do-not-merge/hold
101- - do-not-merge/work-in-progress
102- - needs-ok-to-test
103- - needs-rebase
104- reviewApprovedRequired: false
105- report: true
106- rerunCommand: /test this
107- runIfChanged: ""
108- skipBranches: {}
109- trigger: (?m)^/test( all| this),?(\s+|$)
110- schedulerAgent:
111- agent: tekton
112- trigger:
113- ignoreOkToTest: false
114- joinOrgUrl: ""
115- onlyOrgMembers: false
116- trustedOrg: {{ .Values.gitops.owner }}
117- welcome:
118- - message_template: Welcome
--- a/env/templates/dev-env.yaml
+++ /dev/null
@@ -1,61 +0,0 @@
1-apiVersion: jenkins.io/v1
2-kind: Environment
3-metadata:
4- labels:
5- env: dev
6- team: {{ .Values.cluster.namespace | default "jx" }}
7- name: dev
8-spec:
9- kind: Development
10- label: Development
11- namespace: {{ .Values.cluster.namespace | default "jx" }}
12- previewGitInfo:
13- user: {}
14- promotionStrategy: Never
15-{{- if and .Values.gitops.dev.repo .Values.gitops.dev.owner }}
16- source:
17- ref: master
18- url: "{{ .Values.gitops.dev.server | default .Values.gitops.server }}{{ .Values.gitops.gitUrlPathPrefix}}/{{ .Values.gitops.dev.owner }}/{{ .Values.gitops.dev.repo }}.git"
19-{{- end }}
20- teamSettings:
21- appsRepository: http://chartmuseum.jenkins-x.io
22- buildPackName: kubernetes-workloads
23- buildPackRef: master
24- buildPackUrl: https://github.com/jenkins-x-buildpacks/jenkins-x-kubernetes.git
25- defaultScheduler:
26- apiVersion: jenkins.io/v1
27- kind: Scheduler
28- name: default-scheduler
29- dockerRegistryOrg: "{{ .Values.gitops.dev.dockerRegistryOrg }}"
30- envOrganisation: "{{ .Values.gitops.dev.envOrganisation }}"
31- gitServer: https://github.com
32- helmTemplate: true
33- importMode: YAML
34- kubeProvider: gke
35- pipelineUsername: "{{ .Values.JenkinsXGitHub.username }}"
36- promotionEngine: Prow
37- prowConfig: Scheduler
38- prowEngine: Tekton
39- quickstartLocations:
40- - excludes:
41- - WIP-*
42- gitKind: github
43- gitUrl: https://github.com
44- includes:
45- - '*'
46- owner: jenkins-x-quickstarts
47-{{- if or .Values.storage.logs.url .Values.storage.reports.url }}
48- storageLocations:
49-{{- end }}
50-{{- if .Values.storage.logs.url }}
51- - bucketUrl: {{ .Values.storage.logs.url }}
52- classifier: logs
53-{{- end }}
54-{{- if .Values.storage.reports.url }}
55- - bucketUrl: {{ .Values.storage.reports.url }}
56- classifier: reports
57-{{- end }}
58- versionStreamUrl: "{{ .Values.gitops.versionStreamUrl }}"
59- versionStreamRef: "{{ .Values.gitops.versionStreamRef }}"
60- useGitOps: true
61- webHookEngine: "{{ .Values.gitops.webhook }}"
--- a/env/templates/dev-repo.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
1-{{- if and .Values.gitops.dev.repo .Values.gitops.dev.owner }}
2-apiVersion: jenkins.io/v1
3-kind: SourceRepository
4-metadata:
5- name: "{{ .Values.gitops.dev.owner | default .Values.gitops.owner }}-{{ .Values.gitops.dev.repo }}"
6- labels:
7- jenkins.io/gitSync: "false"
8-spec:
9- provider: "{{ .Values.gitops.dev.server | default .Values.gitops.server }}"
10- providerName: '{{ .Values.gitops.gitKind | default "github" }}'
11- org: "{{ .Values.gitops.dev.owner | default .Values.gitops.owner }}"
12- repo: "{{ .Values.gitops.dev.repo }}"
13- description: "the git repository for the Dev environment - used to manage the Jenkins X installation"
14- scheduler:
15- kind: Scheduler
16- name: env-scheduler
17-{{- end }}
--- a/env/templates/env-scheduler.yaml
+++ /dev/null
@@ -1,103 +0,0 @@
1-apiVersion: jenkins.io/v1
2-kind: Scheduler
3-metadata:
4- creationTimestamp: null
5- name: env-scheduler
6-spec:
7- approve:
8- issueRequired: false
9- lgtmActsAsApprove: true
10- requireSelfApproval: true
11- merger:
12- blockerLabel: ""
13- maxGoroutines: 0
14- mergeMethod: merge
15- policy:
16- fromBranchProtection: true
17- optionalContexts: {}
18- requiredContexts: {}
19- requiredIfPresentContexts: {}
20- skipUnknownContexts: false
21- prStatusBaseUrl: ""
22- squashLabel: ""
23- targetUrl: http://deck{{ .Values.cluster.namespaceSubDomain }}{{ .Values.cluster.domain }}
24- plugins:
25- entries:
26- - config-updater
27- - approve
28- - assign
29- - blunderbuss
30- - help
31- - hold
32- - lgtm
33- - lifecycle
34- - size
35- - trigger
36- - wip
37- - heart
38- - cat
39- - override
40- policy:
41- protectTested: true
42- postsubmits:
43- replace: true
44- entries:
45- - agent: tekton
46- branches:
47- entries:
48- - master
49- cluster: ""
50- context: ""
51- labels: {}
52- maxConcurrency: 0
53- name: promotion
54- report: false
55- runIfChanged: ""
56- skipBranches: {}
57- presubmits:
58- replace: true
59- entries:
60- - agent: tekton
61- alwaysRun: true
62- branches: {}
63- cluster: ""
64- context: promotion-build
65- labels: {}
66- maxConcurrency: 0
67- mergeMethod: ""
68- name: promotion-build
69- optional: false
70- policy:
71- requiredStatusChecks:
72- contexts:
73- entries:
74- - promotion-build
75- queries:
76- - excludedBranches: {}
77- includedBranches: {}
78- labels:
79- entries:
80- - approved
81- milestone: ""
82- missingLabels:
83- entries:
84- - do-not-merge
85- - do-not-merge/hold
86- - do-not-merge/work-in-progress
87- - needs-ok-to-test
88- - needs-rebase
89- reviewApprovedRequired: false
90- report: true
91- rerunCommand: /test this
92- runIfChanged: ""
93- skipBranches: {}
94- trigger: (?m)^/test( all| this),?(\s+|$)
95- schedulerAgent:
96- agent: tekton
97- trigger:
98- ignoreOkToTest: false
99- joinOrgUrl: ""
100- onlyOrgMembers: false
101- trustedOrg: {{ .Values.gitops.owner }}
102- welcome:
103- - message_template: Welcome
--- a/env/templates/featureflag-secret.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
1-{{- if .Values.featureFlagAPIKey }}
2-apiVersion: v1
3-data:
4- key: {{ .Values.featureFlagAPIKey | b64enc | quote }}
5-kind: Secret
6-metadata:
7- name: jx-featureflag
8-type: Opaque
9-{{- end }}
\ No newline at end of file
--- a/env/templates/gh-secret.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
1-{{- if .Values.JenkinsXGitHub.password }}
2-apiVersion: v1
3-data:
4- password: {{ .Values.JenkinsXGitHub.password | b64enc | quote }}
5- username: {{ .Values.JenkinsXGitHub.username | b64enc | quote }}
6-kind: Secret
7-metadata:
8- name: jx-pipeline-git-{{ .Values.gitops.gitKind | default "github" }}-{{ .Values.gitops.gitName | default "github" }}
9- annotations:
10- build.knative.dev/git-0: {{ .Values.gitops.server | default "https://github.com" }}
11- jenkins.io/credentials-description: API Token for acccessing {{ .Values.gitops.server | default "https://github.com" }}
12- Git service inside pipelines
13- jenkins.io/name: {{ .Values.gitops.gitName | default "github" }}
14- jenkins.io/url: {{ .Values.gitops.server | default "https://github.com" }}
15- labels:
16- jenkins.io/created-by: jx
17- jenkins.io/credentials-type: usernamePassword
18- jenkins.io/kind: git
19- jenkins.io/service-kind: {{ .Values.gitops.gitKind | default "github" }}
20-type: Opaque
21-{{- end }}
\ No newline at end of file
--- a/env/templates/ingress-config-configmap.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
1-apiVersion: v1
2-data:
3- domain: {{ .Values.cluster.domain }}
4- email: ""
5- exposer: Ingress
6- issuer: ""
7- tls: {{ .Values.cluster.tls | quote }}
8-kind: ConfigMap
9-metadata:
10- name: ingress-config
--- a/env/templates/production-env.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
1-{{- if .Values.gitops.production.repo }}
2-apiVersion: jenkins.io/v1
3-kind: Environment
4-metadata:
5- creationTimestamp: null
6- name: production
7-spec:
8- kind: Permanent
9- label: Production
10- namespace: {{ .Values.cluster.namespace | default "jx" }}-production
11- order: 200
12- previewGitInfo:
13- user: {}
14- promotionStrategy: Manual
15- source:
16- ref: master
17- url: "{{ .Values.gitops.production.server | default .Values.gitops.server }}{{ .Values.gitops.gitUrlPathPrefix}}/{{ .Values.gitops.production.owner | default .Values.gitops.owner }}/{{ .Values.gitops.production.repo }}.git"
18-{{- end }}
\ No newline at end of file
--- a/env/templates/production-repo.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
1-{{- if .Values.gitops.production.repo }}
2-apiVersion: jenkins.io/v1
3-kind: SourceRepository
4-metadata:
5- name: "{{ .Values.gitops.production.owner | default .Values.gitops.owner }}-{{ .Values.gitops.production.repo }}"
6- labels:
7- jenkins.io/gitSync: "false"
8-spec:
9- provider: "{{ .Values.gitops.production.server | default .Values.gitops.server }}"
10- providerName: '{{ .Values.gitops.gitName | default .Values.gitops.gitKind | default "github" }}'
11- providerKind: '{{ .Values.gitops.gitKind | default "github" }}'
12- httpCloneURL: "{{ .Values.gitops.production.server | default .Values.gitops.server }}{{ .Values.gitops.gitUrlPathPrefix}}/{{ .Values.gitops.production.owner | default .Values.gitops.owner }}/{{ .Values.gitops.production.repo }}.git"
13- url: "{{ .Values.gitops.production.server | default .Values.gitops.server }}{{ .Values.gitops.gitUrlPathPrefix}}/{{ .Values.gitops.production.owner | default .Values.gitops.owner }}/{{ .Values.gitops.production.repo }}.git"
14- org: "{{ .Values.gitops.production.owner | default .Values.gitops.owner }}"
15- repo: "{{ .Values.gitops.production.repo }}"
16- description: "the git repository for the Production environment"
17- scheduler:
18- kind: Scheduler
19- name: env-scheduler
20-{{- end }}
\ No newline at end of file
--- a/env/templates/staging-env.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
1-{{- if .Values.gitops.staging.repo }}
2-apiVersion: jenkins.io/v1
3-kind: Environment
4-metadata:
5- name: staging
6-spec:
7- kind: Permanent
8- label: Staging
9- namespace: {{ .Values.cluster.namespace | default "jx" }}-staging
10- order: 100
11- previewGitInfo:
12- user: {}
13- promotionStrategy: Auto
14- source:
15- ref: master
16- url: "{{ .Values.gitops.staging.server | default .Values.gitops.server }}{{ .Values.gitops.gitUrlPathPrefix}}/{{ .Values.gitops.staging.owner | default .Values.gitops.owner }}/{{ .Values.gitops.staging.repo }}.git"
17-{{- end }}
\ No newline at end of file
--- a/env/templates/staging-repo.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
1-{{- if .Values.gitops.staging.repo }}
2-apiVersion: jenkins.io/v1
3-kind: SourceRepository
4-metadata:
5- name: "{{ .Values.gitops.staging.owner | default .Values.gitops.owner }}-{{ .Values.gitops.staging.repo }}"
6- labels:
7- jenkins.io/gitSync: "false"
8-spec:
9- provider: "{{ .Values.gitops.staging.server | default .Values.gitops.server }}"
10- providerName: '{{ .Values.gitops.gitName | default .Values.gitops.gitKind | default "github" }}'
11- providerKind: '{{ .Values.gitops.gitKind | default "github" }}'
12- org: "{{ .Values.gitops.staging.owner | default .Values.gitops.owner }}"
13- repo: "{{ .Values.gitops.staging.repo }}"
14- url: "{{ .Values.gitops.staging.server | default .Values.gitops.server }}{{ .Values.gitops.gitUrlPathPrefix}}/{{ .Values.gitops.staging.owner | default .Values.gitops.owner }}/{{ .Values.gitops.staging.repo }}.git"
15- httpCloneURL: "{{ .Values.gitops.staging.server | default .Values.gitops.server }}{{ .Values.gitops.gitUrlPathPrefix}}/{{ .Values.gitops.staging.owner | default .Values.gitops.owner }}/{{ .Values.gitops.staging.repo }}.git"
16- description: "the git repository for the Staging environment"
17- scheduler:
18- kind: Scheduler
19- name: env-scheduler
20-{{- end }}
\ No newline at end of file
--- a/env/templates/tekton-artifact-bucket-secret.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
1-{{- if .Values.Tekton }}
2-apiVersion: v1
3-data:
4- json: {{ .Values.Tekton.Data | b64enc | quote }}
5-kind: Secret
6-metadata:
7- annotations:
8- # Workaround until Kubernetes Credentials Provider can deal with a secret without annotations.
9- jenkins.io/foo: bar
10- labels:
11- jenkins.io/credentials-type: secretText
12- name: tekton-artifact-bucket
13-type: Opaque
14-{{- end }}
--- a/env/values.tmpl.yaml
+++ b/env/values.tmpl.yaml
@@ -1,153 +1 @@
1-cluster:
2- domain: {{ .Requirements.ingress.domain }}
3- namespace: {{ .Requirements.cluster.namespace | default "jx" }}
4- namespaceSubDomain: {{ .Requirements.ingress.namespaceSubDomain | default ".jx." }}
5-{{- if hasKey .Requirements.cluster "project" }}
6- projectID: {{ .Requirements.cluster.project }}
7-{{- else }}
8- projectID: ""
9-{{- end }}
10-{{- if hasKey .Requirements.cluster "zone" }}
11- zone: {{ .Requirements.cluster.zone }}
12-{{- else }}
13- zone: ""
14-{{- end }}
15- name: ""
16- serverUrl: ""
17-{{- if .Requirements.ingress.tls.enabled }}
18- tls: true
19-{{- end }}
20-
21-gitops:
22- versionStreamUrl: {{ .Requirements.versionStream.url }}
23- versionStreamRef: {{ .Requirements.versionStream.ref }}
24-
25- gitKind: {{ .Requirements.cluster.gitKind | default "github" }}
26- gitName: {{ .Requirements.cluster.gitName | default "github" }}
27- server: {{ .Requirements.cluster.gitServer | default "https://github.com" }}
28- owner: {{ .Requirements.cluster.environmentGitOwner }}
29- webhook: {{ .Requirements.webhook | default "prow" | title | quote }}
30-{{- if eq .Requirements.cluster.gitKind "bitbucketserver" }}
31- gitUrlPathPrefix: "/scm"
32-{{- else }}
33- gitUrlPathPrefix: ""
34-{{- end }}
35-
36- dev:
37- server: ""
38-{{- if .Requirements.gitops }}
39- repo: "{{ .Environments.dev.repository }}"
40- owner: "{{ .Environments.dev.owner }}"
41- envOrganisation: "{{ .Requirements.cluster.environmentGitOwner }}"
42-{{- else }}
43- repo: ""
44- owner: ""
45- envOrganisation: ""
46-{{- end }}
47-{{- if eq .Requirements.cluster.provider "gke" }}
48- dockerRegistryOrg: "{{ .Requirements.cluster.project }}"
49-{{- else }}
50- dockerRegistryOrg: ""
51-{{- end }}
52-
53-
54- staging:
55- repo: "{{ .Environments.staging.repository }}"
56- owner: "{{ .Environments.staging.owner | default .Requirements.cluster.environmentGitOwner }}"
57- server: ""
58-
59- production:
60- repo: "{{ .Environments.production.repository }}"
61- owner: "{{ .Environments.production.owner | default .Requirements.cluster.environmentGitOwner }}"
62- server: ""
63-
64-storage:
65- logs:
66- url: "{{ .Requirements.storage.logs.url }}"
67- reports:
68- url: "{{ .Requirements.storage.reports.url }}"
69- repository:
70- url: "{{ .Requirements.storage.repository.url }}"
71-
72-expose:
73- enabled: false
74-
75-cleanup:
76- enabled: false
77-
78-controllerbuild:
79- enabled: true
80-controllerteam:
81- enabled: false
82-controllerworkflow:
83- enabled: false
84-jenkins:
85- enabled: false
86-jenkins-x-platform:
87- chartmuseum:
88- enabled: true
89- env:
90- open:
91- AUTH_ANONYMOUS_GET: true
92- DISABLE_API: false
93-# STORAGE: google
94-# STORAGE_GOOGLE_BUCKET: chartmuseum.jenkins-x.io
95-# STORAGE_GOOGLE_PREFIX: charts
96-# gcp:
97-# secret:
98-# enabled: true
99-# key: gcs-chartmuseum.key.json
100-# name: gcs-jenkinsx-chartmuseum
101- image:
102- tag: v0.7.1
103- controllerbuild:
104- enabled: true
105- jenkins:
106- Agent:
107- PodTemplates:
108- Go:
109- Containers:
110- Go:
111- Image: jenkinsxio/builder-go:latest
112- Maven:
113- Containers:
114- Maven:
115- Image: jenkinsxio/builder-maven:latest
116- volumes:
117- - mountPath: /root/.m2/
118- secretName: jenkins-maven-settings
119- type: Secret
120- - mountPath: /home/jenkins/.docker
121- secretName: jenkins-docker-cfg
122- type: Secret
123- Nodejs:
124- Containers:
125- Nodejs:
126- Image: jenkinsxio/builder-nodejs:latest
127- monocular:
128- api:
129- livenessProbe:
130- initialDelaySeconds: 1000
131- nexus:
132- persistence:
133- size: 100Gi
134- postinstalljob:
135- enabled: "true"
136-
137-tekton:
138- webhook:
139- enabled: false
140-
141-JenkinsXGitHub:
142- username: "{{ .Parameters.pipelineUser.username }}"
143- password: "{{ .Parameters.pipelineUser.token }}"
144-
145-{{- if .Requirements.ingress.tls }}
146-certmanager:
147- production: "{{ .Requirements.ingress.tls.production }}"
148-{{- if .Requirements.ingress.tls.enabled }}
149- email: "{{ .Requirements.ingress.tls.email }}"
150-{{- else }}
151- enabled: false
152-{{- end }}
153-{{- end }}
\ No newline at end of file
1+dummy: true
\ No newline at end of file
--- a/systems/acme/templates/cert-manager-prod-certificate.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
1-{{- if .Values.certmanager.enabled }}
2-{{- if eq .Values.certmanager.production "true" }}
3-apiVersion: certmanager.k8s.io/v1alpha1
4-kind: Certificate
5-metadata:
6- name: "tls-{{ .Values.cluster.domain | replace "." "-" }}-p"
7-spec:
8- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-p"
9- issuerRef:
10- name: letsencrypt-prod
11- commonName: "*.{{ .Values.cluster.domain }}"
12- dnsNames:
13- - "*.{{ .Values.cluster.domain }}"
14-{{- end }}
15-{{- end }}
--- a/systems/acme/templates/cert-manager-prod-issuer.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
1-{{- if .Values.certmanager.enabled }}
2-{{- if eq .Values.certmanager.production "true" }}
3-apiVersion: certmanager.k8s.io/v1alpha1
4-kind: Issuer
5-metadata:
6- name: letsencrypt-prod
7-spec:
8- acme:
9- server: https://acme-v02.api.letsencrypt.org/directory
10- email: "{{ .Values.certmanager.email }}"
11- # Name of a secret used to store the ACME account private key
12- privateKeySecretRef:
13- name: letsencrypt-prod
14- solvers:
15- - selector:
16- dnsNames:
17- - "*.{{ .Values.cluster.domain }}"
18- - "{{ .Values.cluster.domain }}"
19- # ACME DNS-01 provider configurations
20- dns01:
21- clouddns:
22- # The project in which to update the DNS zone
23- project: "{{ .Values.cluster.projectID }}"
24- # A secretKeyRef to a google cloud json service account
25- serviceAccountSecretRef:
26- name: external-dns-gcp-sa
27- key: credentials.json
28-{{- end }}
29-{{- end }}
--- a/systems/acme/templates/cert-manager-staging-certificate.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
1-{{- if .Values.certmanager.enabled }}
2-{{- if eq .Values.certmanager.production "false" }}
3-apiVersion: certmanager.k8s.io/v1alpha1
4-kind: Certificate
5-metadata:
6- name: "tls-{{ .Values.cluster.domain | replace "." "-" }}-s"
7-spec:
8- secretName: "tls-{{ .Values.cluster.domain | replace "." "-" }}-s"
9- issuerRef:
10- name: letsencrypt-staging
11- commonName: "*.{{ .Values.cluster.domain }}"
12- dnsNames:
13- - "*.{{ .Values.cluster.domain }}"
14-{{- end }}
15-{{- end }}
--- a/systems/acme/templates/cert-manager-staging-issuer.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
1-{{- if .Values.certmanager.enabled }}
2-{{- if eq .Values.certmanager.production "false" }}
3-apiVersion: certmanager.k8s.io/v1alpha1
4-kind: Issuer
5-metadata:
6- name: letsencrypt-staging
7-spec:
8- acme:
9- server: https://acme-staging-v02.api.letsencrypt.org/directory
10- email: "{{ .Values.certmanager.email }}"
11- # Name of a secret used to store the ACME account private key
12- privateKeySecretRef:
13- name: letsencrypt-staging
14- solvers:
15- - selector:
16- dnsNames:
17- - "*.{{ .Values.cluster.domain }}"
18- - "{{ .Values.cluster.domain }}"
19- # ACME DNS-01 provider configurations
20- dns01:
21- clouddns:
22- # The project in which to update the DNS zone
23- project: "{{ .Values.cluster.projectID }}"
24- # A secretKeyRef to a google cloud json service account
25- serviceAccountSecretRef:
26- name: external-dns-gcp-sa
27- key: credentials.json
28-{{- end }}
29-{{- end }}
30-