{{- define "override_config_map" }} apiVersion: v1 kind: ConfigMap metadata: name: {{ template "jenkins.fullname" . }} data: config.xml: |- {{ .Values.Master.ImageTag }} 0 NORMAL {{ .Values.Master.UseSecurity }} true {{- if .Values.Master.Security.UseGitHub }} https://github.com https://api.github.com {{ .Values.Master.Security.GitHub.ClientID }} {{ .Values.Master.Security.GitHub.ClientSecret }} read:org,user:email {{- else }} {{- end }} false ${JENKINS_HOME}/workspace/${ITEM_FULLNAME} ${ITEM_ROOTDIR}/builds all false false {{- range $viewName, $view := .Values.Master.Views }} {{ $viewName }} false false {{- range $index, $job := $view }} {{ $job }} {{- end }} false {{- end }} {{ .Values.Master.DefaultView }} kubernetes {{- range $podName, $pod := .Values.Pods }} {{ $pod.InheritFrom | default "" }} {{ $podName }} 2147483647 0 {{- $local := dict "first" true }} {{- range $key, $value := .NodeSelector }} {{- if not $local.first }},{{- end }} {{- $key }}={{ $value }} {{- $_ := set $local "first" false }} {{- end }} {{ .NodeUsageMode }} {{- range $index, $volume := .volumes }} {{- range $key, $value := $volume }}{{- if not (eq $key "type") }} <{{ $key }}>{{ $value }} {{- end }}{{- end }} {{- end }} {{- range $containerName, $container := .Containers }} {{ $containerName }} {{ .Image }}:{{ .ImageTag | default "latest" }} {{- range $index, $envVar := .Ports }} {{ .name }} {{ .containerPort }} {{ .hostPort }} {{- end }} {{- if .Privileged }} true {{- else }} false {{- end }} {{- if .AlwaysPullImage }} true {{- else }} false {{- end }} {{ .WorkingDir | default "" }} {{ .Command | default "" }} {{ .Args | default "" }} {{- if .TTY }} true {{- else }} false {{- end }} {{- range $index, $envVar := .EnvVars }} {{- range $key, $value := $envVar }}{{- if not (eq $key "type") }} <{{ $key }}>{{ $value }} {{- end }}{{- end }} {{- end }} {{- if .resources }} {{- if .resources.requests }} {{ .resources.requests.cpu | default "" }} {{ .resources.requests.memory | default "" }} {{- end }} {{- if .resources.limits }} {{ .resources.limits.cpu | default "" }} {{ .resources.limits.memory | default "" }} {{- end }} {{- end }} {{- end }} JENKINS_URL http://{{ template "jenkins.fullname" $ }}:{{$.Values.Master.ServicePort}}{{ default "" $.Values.Master.JenkinsUriPrefix }} {{- range $index, $envVar := .EnvVars }} {{- range $key, $value := $envVar }}{{- if not (eq $key "type") }} <{{ $key }}>{{ $value }} {{- end }}{{- end }} {{- end }} {{- if .ImagePullSecret }} {{ .ImagePullSecret }} {{- else }} {{- end }} {{- end }} https://kubernetes.default false {{ .Release.Namespace }} http://{{ template "jenkins.fullname" . }}:{{.Values.Master.ServicePort}}{{ default "" .Values.Master.JenkinsUriPrefix }} {{ template "jenkins.fullname" . }}-agent:50000 50 5 0 0 5 0 50000 {{- range .Values.Master.DisabledAgentProtocols }} {{ . }} {{- end }} {{- if .Values.Master.CSRF.DefaultCrumbIssuer.Enabled }} {{- if .Values.Master.CSRF.DefaultCrumbIssuer.ProxyCompatability }} true {{- end }} {{- end }} true {{- if .Values.Master.ScriptApproval }} scriptapproval.xml: |- {{- range $key, $val := .Values.Master.ScriptApproval }} {{ $val }} {{- end }} {{- end }} jenkins.CLI.xml: |- {{- if .Values.Master.CLI }} true {{- else }} false {{- end }} apply_config.sh: |- mkdir -p /usr/share/jenkins/ref/secrets/; echo "false" > /usr/share/jenkins/ref/secrets/slave-to-master-security-kill-switch; cp -n /var/jenkins_config/config.xml /var/jenkins_home; cp -n /var/jenkins_config/jenkins.CLI.xml /var/jenkins_home; {{- if .Values.Master.InstallPlugins }} # Install missing plugins cp /var/jenkins_config/plugins.txt /var/jenkins_home; rm -rf /usr/share/jenkins/ref/plugins/*.lock /usr/local/bin/install-plugins.sh `echo $(cat /var/jenkins_home/plugins.txt)`; # Copy plugins to shared volume cp -n /usr/share/jenkins/ref/plugins/* /var/jenkins_plugins; {{- end }} {{- if .Values.Master.ScriptApproval }} cp -n /var/jenkins_config/scriptapproval.xml /var/jenkins_home/scriptApproval.xml; {{- end }} {{- if .Values.Master.InitScripts }} 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 }} {{- end }} plugins.txt: |- {{- if .Values.Master.InstallPlugins }} {{- range $index, $val := .Values.Master.InstallPlugins }} {{ $val | indent 4 }} {{- end }} {{- end }} {{- end }}