mirror of
https://github.com/helm/charts.git
synced 2026-08-23 22:37:45 +00:00
[stable/jenkins] Provision credentials.xml, secrets files and jobs (#3316)
In order to allow for a more immutable deployment, this commit adds support to allow provisioning of the following: - credentials.xml - secrets files - jobs Bump version to 0.13.0.
This commit is contained in:
committed by
k8s-ci-robot
parent
da7d836a29
commit
d305c5961b
@@ -1,6 +1,6 @@
|
||||
name: jenkins
|
||||
home: https://jenkins.io/
|
||||
version: 0.12.1
|
||||
version: 0.13.0
|
||||
appVersion: 2.73
|
||||
description: Open source continuous integration server. It supports multiple SCM tools
|
||||
including CVS, Subversion and Git. It can execute Apache Ant and Apache Maven-based
|
||||
|
||||
@@ -55,6 +55,9 @@ The following tables lists the configurable parameters of the Jenkins chart and
|
||||
| `Master.Ingress.Annotations` | Ingress annotations | `{}` |
|
||||
| `Master.Ingress.TLS` | Ingress TLS configuration | `[]` |
|
||||
| `Master.InitScripts` | List of Jenkins init scripts | Not set |
|
||||
| `Master.CredentialsXmlSecret` | Kubernetes secret that contains a 'credentials.xml' file | Not set |
|
||||
| `Master.SecretsFilesSecret` | Kubernetes secret that contains 'secrets' files | Not set |
|
||||
| `Master.Jobs` | Jenkins XML job configs | Not set |
|
||||
| `Master.InstallPlugins` | List of Jenkins plugins to install | `kubernetes:0.11 workflow-aggregator:2.5 credentials-binding:1.11 git:3.2.0` |
|
||||
| `Master.ScriptApproval` | List of groovy functions to approve | Not set |
|
||||
| `Master.NodeSelector` | Node labels for pod assignment | `{}` |
|
||||
|
||||
@@ -156,6 +156,18 @@ data:
|
||||
mkdir -p /var/jenkins_home/init.groovy.d/;
|
||||
cp -n /var/jenkins_config/*.groovy /var/jenkins_home/init.groovy.d/
|
||||
{{- end }}
|
||||
{{- if .Values.Master.CredentialsXmlSecret }}
|
||||
cp -n /var/jenkins_credentials/credentials.xml /var/jenkins_home;
|
||||
{{- end }}
|
||||
{{- if .Values.Master.SecretsFilesSecret }}
|
||||
cp -n /var/jenkins_secrets/* /usr/share/jenkins/ref/secrets;
|
||||
{{- end }}
|
||||
{{- if .Values.Master.Jobs }}
|
||||
for job in $(ls /var/jenkins_jobs); do
|
||||
mkdir -p /var/jenkins_home/jobs/$job
|
||||
cp -n /var/jenkins_jobs/$job /var/jenkins_home/jobs/$job/config.xml
|
||||
done
|
||||
{{- end }}
|
||||
{{- range $key, $val := .Values.Master.InitScripts }}
|
||||
init{{ $key }}.groovy: |-
|
||||
{{ $val | indent 4 }}
|
||||
|
||||
@@ -53,6 +53,24 @@ spec:
|
||||
-
|
||||
mountPath: /var/jenkins_config
|
||||
name: jenkins-config
|
||||
{{- if .Values.Master.CredentialsXmlSecret }}
|
||||
-
|
||||
mountPath: /var/jenkins_credentials
|
||||
name: jenkins-credentials
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
{{- if .Values.Master.SecretsFilesSecret }}
|
||||
-
|
||||
mountPath: /var/jenkins_secrets
|
||||
name: jenkins-secrets
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
{{- if .Values.Master.Jobs }}
|
||||
-
|
||||
mountPath: /var/jenkins_jobs
|
||||
name: jenkins-jobs
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
-
|
||||
mountPath: /usr/share/jenkins/ref/plugins/
|
||||
name: plugin-dir
|
||||
@@ -120,6 +138,24 @@ spec:
|
||||
mountPath: /var/jenkins_config
|
||||
name: jenkins-config
|
||||
readOnly: true
|
||||
{{- if .Values.Master.CredentialsXmlSecret }}
|
||||
-
|
||||
mountPath: /var/jenkins_credentials
|
||||
name: jenkins-credentials
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
{{- if .Values.Master.SecretsFilesSecret }}
|
||||
-
|
||||
mountPath: /var/jenkins_secrets
|
||||
name: jenkins-secrets
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
{{- if .Values.Master.Jobs }}
|
||||
-
|
||||
mountPath: /var/jenkins_jobs
|
||||
name: jenkins-jobs
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
-
|
||||
mountPath: /usr/share/jenkins/ref/plugins/
|
||||
name: plugin-dir
|
||||
@@ -135,6 +171,21 @@ spec:
|
||||
- name: jenkins-config
|
||||
configMap:
|
||||
name: {{ template "jenkins.fullname" . }}
|
||||
{{- if .Values.Master.CredentialsXmlSecret }}
|
||||
- name: jenkins-credentials
|
||||
secret:
|
||||
secretName: {{ .Values.Master.CredentialsXmlSecret }}
|
||||
{{- end }}
|
||||
{{- if .Values.Master.SecretsFilesSecret }}
|
||||
- name: jenkins-secrets
|
||||
secret:
|
||||
secretName: {{ .Values.Master.SecretsFilesSecret }}
|
||||
{{- end }}
|
||||
{{- if .Values.Master.Jobs }}
|
||||
- name: jenkins-jobs
|
||||
configMap:
|
||||
name: {{ template "jenkins.fullname" . }}-jobs
|
||||
{{- end }}
|
||||
- name: plugin-dir
|
||||
emptyDir: {}
|
||||
- name: secrets-dir
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{{- if .Values.Master.Jobs }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "jenkins.fullname" . }}-jobs
|
||||
data:
|
||||
{{ .Values.Master.Jobs | indent 2 }}
|
||||
{{- end -}}
|
||||
@@ -64,6 +64,16 @@ Master:
|
||||
InitScripts:
|
||||
# - |
|
||||
# print 'adding global pipeline libraries, register properties, bootstrap jobs...'
|
||||
# Kubernetes secret that contains a 'credentials.xml' for Jenkins
|
||||
# CredentialsXmlSecret: jenkins-credentials
|
||||
# Kubernetes secret that contains files to be put in the Jenkins 'secrets' directory,
|
||||
# useful to manage encryption keys used for credentials.xml for instance (such as
|
||||
# master.key and hudson.util.Secret)
|
||||
# SecretsFilesSecret: jenkins-secrets
|
||||
# Jenkins XML job configs to provision
|
||||
# Jobs: |-
|
||||
# test: |-
|
||||
# <<xml here>>
|
||||
CustomConfigMap: false
|
||||
# Node labels and tolerations for pod assignment
|
||||
# ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
|
||||
|
||||
Reference in New Issue
Block a user