From 83f67e2ef8a927f609ce2ed4884d46cb2b5fb16f Mon Sep 17 00:00:00 2001 From: Mikael Bergemalm Date: Fri, 23 Aug 2019 15:21:19 +0200 Subject: [PATCH] [stable/jenkins] Fix: Always mount jenkins-secrets volume if secretsFilesSecret is set (#16512) * Fix: Always mount jenkins-secrets volume if secretsFilesSecret is set Signed-off-by: Mikael Bergemalm * Trim config conditional Signed-off-by: Mikael Bergemalm * Bump version and add info to changelog Signed-off-by: Mikael Bergemalm --- stable/jenkins/CHANGELOG.md | 4 ++ stable/jenkins/Chart.yaml | 2 +- stable/jenkins/templates/config.yaml | 8 +-- .../templates/jenkins-master-deployment.yaml | 50 ++++++++----------- 4 files changed, 31 insertions(+), 33 deletions(-) diff --git a/stable/jenkins/CHANGELOG.md b/stable/jenkins/CHANGELOG.md index f3763f4479..2013e9a67b 100644 --- a/stable/jenkins/CHANGELOG.md +++ b/stable/jenkins/CHANGELOG.md @@ -6,6 +6,10 @@ numbering uses [semantic versioning](http://semver.org). NOTE: The change log until version 1.5.7 is auto generated based on git commits. Those include a reference to the git commit to be able to get more details. +## 1.5.8 + +Fixed an issue when master.enableXmlConfig is set to false: Always mount jenkins-secrets volume if secretsFilesSecret is set (#16512) + ## 1.5.7 added initial changelog (#16324) diff --git a/stable/jenkins/Chart.yaml b/stable/jenkins/Chart.yaml index 3f87f24360..f052d09b24 100755 --- a/stable/jenkins/Chart.yaml +++ b/stable/jenkins/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: jenkins home: https://jenkins.io/ -version: 1.5.7 +version: 1.5.8 appVersion: lts 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 diff --git a/stable/jenkins/templates/config.yaml b/stable/jenkins/templates/config.yaml index a705705fd7..693c4c9cc4 100644 --- a/stable/jenkins/templates/config.yaml +++ b/stable/jenkins/templates/config.yaml @@ -214,8 +214,8 @@ data: {{- end }} apply_config.sh: |- -{{- if .Values.master.enableXmlConfig }} mkdir -p /usr/share/jenkins/ref/secrets/; +{{- if .Values.master.enableXmlConfig }} echo "false" > /usr/share/jenkins/ref/secrets/slave-to-master-security-kill-switch; {{- if .Values.master.overwriteConfig }} cp /var/jenkins_config/config.xml /var/jenkins_home; @@ -278,9 +278,6 @@ data: {{- if .Values.master.credentialsXmlSecret }} yes n | cp -i /var/jenkins_credentials/credentials.xml /var/jenkins_home; {{- end }} -{{- if .Values.master.secretsFilesSecret }} - yes n | cp -i /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 @@ -288,6 +285,9 @@ data: done {{- end }} {{- end }} +{{- if .Values.master.secretsFilesSecret }} + yes n | cp -i /var/jenkins_secrets/* /usr/share/jenkins/ref/secrets/; +{{- end }} {{- range $key, $val := .Values.master.initScripts }} init{{ $key }}.groovy: |- {{ $val | indent 4 }} diff --git a/stable/jenkins/templates/jenkins-master-deployment.yaml b/stable/jenkins/templates/jenkins-master-deployment.yaml index 0accba4e12..45060de6a7 100644 --- a/stable/jenkins/templates/jenkins-master-deployment.yaml +++ b/stable/jenkins/templates/jenkins-master-deployment.yaml @@ -132,16 +132,18 @@ spec: 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/secrets/ + name: secrets-dir + {{- end }} + {{- if .Values.master.secretsFilesSecret }} + - mountPath: /var/jenkins_secrets + name: jenkins-secrets + readOnly: true {{- end }} {{- if .Values.master.installPlugins }} - mountPath: /usr/share/jenkins/ref/plugins @@ -149,10 +151,6 @@ spec: - mountPath: /var/jenkins_plugins name: plugin-dir {{- end }} - {{- if .Values.master.enableXmlConfig }} - - mountPath: /usr/share/jenkins/ref/secrets/ - name: secrets-dir - {{- end }} containers: - name: jenkins {{- if .Values.master.imageTag }} @@ -261,27 +259,25 @@ spec: 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/secrets/ + name: secrets-dir + readOnly: false + {{- end }} + {{- if or .Values.master.secretsFilesSecret }} + - mountPath: /var/jenkins_secrets + name: jenkins-secrets + readOnly: true {{- end }} {{- if .Values.master.installPlugins }} - mountPath: /usr/share/jenkins/ref/plugins/ name: plugin-dir readOnly: false {{- end }} - {{- if .Values.master.enableXmlConfig }} - - mountPath: /usr/share/jenkins/ref/secrets/ - name: secrets-dir - readOnly: false - {{- end }} {{- if and (.Values.master.JCasC.enabled) (.Values.master.sidecars.configAutoReload.enabled) }} - name: sc-config-volume mountPath: {{ .Values.master.sidecars.configAutoReload.folder | default "/var/jenkins_home/casc_configs" | quote }} @@ -354,25 +350,23 @@ spec: 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: secrets-dir + emptyDir: {} + {{- end }} + {{- if .Values.master.secretsFilesSecret }} + - name: jenkins-secrets + secret: + secretName: {{ .Values.master.secretsFilesSecret }} {{- end }} {{- if .Values.master.installPlugins }} - name: plugin-dir emptyDir: {} {{- end }} - {{- if .Values.master.enableXmlConfig }} - - name: secrets-dir - emptyDir: {} - {{- end }} - name: jenkins-home {{- if .Values.persistence.enabled }} persistentVolumeClaim: