github.com/replicatedcom/ship@v0.50.0/integration/update/helm-values-files-and-new-files/expected/.ship/upstream/templates/config.yaml (about) 1 {{- if not .Values.Master.CustomConfigMap }} 2 3 apiVersion: v1 4 kind: ConfigMap 5 metadata: 6 name: {{ template "jenkins.fullname" . }} 7 data: 8 config.xml: |- 9 <?xml version='1.0' encoding='UTF-8'?> 10 <hudson> 11 <disabledAdministrativeMonitors/> 12 <version>{{ .Values.Master.ImageTag }}</version> 13 <numExecutors>0</numExecutors> 14 <mode>NORMAL</mode> 15 <useSecurity>{{ .Values.Master.UseSecurity }}</useSecurity> 16 <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"> 17 <denyAnonymousReadAccess>true</denyAnonymousReadAccess> 18 </authorizationStrategy> 19 <securityRealm class="hudson.security.LegacySecurityRealm"/> 20 <disableRememberMe>false</disableRememberMe> 21 <projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/> 22 <workspaceDir>${JENKINS_HOME}/workspace/${ITEM_FULLNAME}</workspaceDir> 23 <buildsDir>${ITEM_ROOTDIR}/builds</buildsDir> 24 <markupFormatter class="hudson.markup.EscapedMarkupFormatter"/> 25 <jdks/> 26 <viewsTabBar class="hudson.views.DefaultViewsTabBar"/> 27 <myViewsTabBar class="hudson.views.DefaultMyViewsTabBar"/> 28 <clouds> 29 <org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud plugin="kubernetes@{{ template "jenkins.kubernetes-version" . }}"> 30 <name>kubernetes</name> 31 <templates> 32 {{- if .Values.Agent.Enabled }} 33 <org.csanchez.jenkins.plugins.kubernetes.PodTemplate> 34 <inheritFrom></inheritFrom> 35 <name>default</name> 36 <instanceCap>2147483647</instanceCap> 37 <idleMinutes>0</idleMinutes> 38 <label>{{ .Release.Name }}-{{ .Values.Agent.Component }} {{ .Values.Agent.CustomJenkinsLabels | join " " }}</label> 39 <nodeSelector> 40 {{- $local := dict "first" true }} 41 {{- range $key, $value := .Values.Agent.NodeSelector }} 42 {{- if not $local.first }},{{- end }} 43 {{- $key }}={{ $value }} 44 {{- $_ := set $local "first" false }} 45 {{- end }}</nodeSelector> 46 <nodeUsageMode>NORMAL</nodeUsageMode> 47 <volumes> 48 {{- range $index, $volume := .Values.Agent.volumes }} 49 <org.csanchez.jenkins.plugins.kubernetes.volumes.{{ $volume.type }}Volume> 50 {{- range $key, $value := $volume }}{{- if not (eq $key "type") }} 51 <{{ $key }}>{{ $value }}</{{ $key }}> 52 {{- end }}{{- end }} 53 </org.csanchez.jenkins.plugins.kubernetes.volumes.{{ $volume.type }}Volume> 54 {{- end }} 55 </volumes> 56 <containers> 57 <org.csanchez.jenkins.plugins.kubernetes.ContainerTemplate> 58 <name>jnlp</name> 59 <image>{{ .Values.Agent.Image }}:{{ .Values.Agent.ImageTag }}</image> 60 {{- if .Values.Agent.Privileged }} 61 <privileged>true</privileged> 62 {{- else }} 63 <privileged>false</privileged> 64 {{- end }} 65 <alwaysPullImage>{{ .Values.Agent.AlwaysPullImage }}</alwaysPullImage> 66 <workingDir>/home/jenkins</workingDir> 67 <command></command> 68 <args>${computer.jnlpmac} ${computer.name}</args> 69 <ttyEnabled>false</ttyEnabled> 70 # Resources configuration is a little hacky. This was to prevent breaking 71 # changes, and should be cleanned up in the future once everybody had 72 # enough time to migrate. 73 <resourceRequestCpu>{{.Values.Agent.Cpu | default .Values.Agent.resources.requests.cpu}}</resourceRequestCpu> 74 <resourceRequestMemory>{{.Values.Agent.Memory | default .Values.Agent.resources.requests.memory}}</resourceRequestMemory> 75 <resourceLimitCpu>{{.Values.Agent.Cpu | default .Values.Agent.resources.limits.cpu}}</resourceLimitCpu> 76 <resourceLimitMemory>{{.Values.Agent.Memory | default .Values.Agent.resources.limits.memory}}</resourceLimitMemory> 77 <envVars> 78 <org.csanchez.jenkins.plugins.kubernetes.ContainerEnvVar> 79 <key>JENKINS_URL</key> 80 {{- if .Values.Master.SlaveKubernetesNamespace }} 81 <value>http://{{ template "jenkins.fullname" . }}.{{.Release.Namespace}}:{{.Values.Master.ServicePort}}{{ default "" .Values.Master.JenkinsUriPrefix }}</value> 82 {{- else }} 83 <value>http://{{ template "jenkins.fullname" . }}:{{.Values.Master.ServicePort}}{{ default "" .Values.Master.JenkinsUriPrefix }}</value> 84 {{- end }} 85 </org.csanchez.jenkins.plugins.kubernetes.ContainerEnvVar> 86 </envVars> 87 </org.csanchez.jenkins.plugins.kubernetes.ContainerTemplate> 88 </containers> 89 <envVars/> 90 <annotations/> 91 {{- if .Values.Agent.ImagePullSecret }} 92 <imagePullSecrets> 93 <org.csanchez.jenkins.plugins.kubernetes.PodImagePullSecret> 94 <name>{{ .Values.Agent.ImagePullSecret }}</name> 95 </org.csanchez.jenkins.plugins.kubernetes.PodImagePullSecret> 96 </imagePullSecrets> 97 {{- else }} 98 <imagePullSecrets/> 99 {{- end }} 100 <nodeProperties/> 101 <podRetention class="org.csanchez.jenkins.plugins.kubernetes.pod.retention.Default"/> 102 </org.csanchez.jenkins.plugins.kubernetes.PodTemplate> 103 {{- end -}} 104 </templates> 105 <serverUrl>https://kubernetes.default</serverUrl> 106 <skipTlsVerify>false</skipTlsVerify> 107 <namespace>{{ default .Release.Namespace .Values.Master.SlaveKubernetesNamespace }}</namespace> 108 {{- if .Values.Master.SlaveKubernetesNamespace }} 109 <jenkinsUrl>http://{{ template "jenkins.fullname" . }}.{{.Release.Namespace}}:{{.Values.Master.ServicePort}}{{ default "" .Values.Master.JenkinsUriPrefix }}</jenkinsUrl> 110 <jenkinsTunnel>{{ template "jenkins.fullname" . }}-agent.{{.Release.Namespace}}:{{ .Values.Master.SlaveListenerPort }}</jenkinsTunnel> 111 {{- else }} 112 <jenkinsUrl>http://{{ template "jenkins.fullname" . }}:{{.Values.Master.ServicePort}}{{ default "" .Values.Master.JenkinsUriPrefix }}</jenkinsUrl> 113 <jenkinsTunnel>{{ template "jenkins.fullname" . }}-agent:{{ .Values.Master.SlaveListenerPort }}</jenkinsTunnel> 114 {{- end }} 115 <containerCap>10</containerCap> 116 <retentionTimeout>5</retentionTimeout> 117 <connectTimeout>0</connectTimeout> 118 <readTimeout>0</readTimeout> 119 <podRetention class="org.csanchez.jenkins.plugins.kubernetes.pod.retention.{{ .Values.Agent.PodRetention }}"/> 120 </org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud> 121 </clouds> 122 <quietPeriod>5</quietPeriod> 123 <scmCheckoutRetryCount>0</scmCheckoutRetryCount> 124 <views> 125 <hudson.model.AllView> 126 <owner class="hudson" reference="../../.."/> 127 <name>All</name> 128 <filterExecutors>false</filterExecutors> 129 <filterQueue>false</filterQueue> 130 <properties class="hudson.model.View$PropertyList"/> 131 </hudson.model.AllView> 132 </views> 133 <primaryView>All</primaryView> 134 <slaveAgentPort>{{ .Values.Master.SlaveListenerPort }}</slaveAgentPort> 135 <disabledAgentProtocols> 136 {{- range .Values.Master.DisabledAgentProtocols }} 137 <string>{{ . }}</string> 138 {{- end }} 139 </disabledAgentProtocols> 140 <label></label> 141 {{- if .Values.Master.CSRF.DefaultCrumbIssuer.Enabled }} 142 <crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer"> 143 {{- if .Values.Master.CSRF.DefaultCrumbIssuer.ProxyCompatability }} 144 <excludeClientIPFromCrumb>true</excludeClientIPFromCrumb> 145 {{- end }} 146 </crumbIssuer> 147 {{- end }} 148 <nodeProperties/> 149 <globalNodeProperties/> 150 <noUsageStatistics>true</noUsageStatistics> 151 </hudson> 152 {{- if .Values.Master.ScriptApproval }} 153 scriptapproval.xml: |- 154 <?xml version='1.0' encoding='UTF-8'?> 155 <scriptApproval plugin="script-security@1.27"> 156 <approvedScriptHashes/> 157 <approvedSignatures> 158 {{- range $key, $val := .Values.Master.ScriptApproval }} 159 <string>{{ $val }}</string> 160 {{- end }} 161 </approvedSignatures> 162 <aclApprovedSignatures/> 163 <approvedClasspathEntries/> 164 <pendingScripts/> 165 <pendingSignatures/> 166 <pendingClasspathEntries/> 167 </scriptApproval> 168 {{- end }} 169 jenkins.model.JenkinsLocationConfiguration.xml: |- 170 <?xml version='1.1' encoding='UTF-8'?> 171 <jenkins.model.JenkinsLocationConfiguration> 172 <adminAddress>{{ default "" .Values.Master.JenkinsAdminEmail }}</adminAddress> 173 {{- if .Values.Master.HostName }} 174 {{- if .Values.Master.Ingress.TLS }} 175 <jenkinsUrl>https://{{ .Values.Master.HostName }}{{ default "" .Values.Master.JenkinsUriPrefix }}</jenkinsUrl> 176 {{- else }} 177 <jenkinsUrl>http://{{ .Values.Master.HostName }}{{ default "" .Values.Master.JenkinsUriPrefix }}</jenkinsUrl> 178 {{- end }} 179 {{- else }} 180 <jenkinsUrl>http://{{ template "jenkins.fullname" . }}:{{.Values.Master.ServicePort}}{{ default "" .Values.Master.JenkinsUriPrefix }}</jenkinsUrl> 181 {{- end}} 182 </jenkins.model.JenkinsLocationConfiguration> 183 jenkins.CLI.xml: |- 184 <?xml version='1.1' encoding='UTF-8'?> 185 <jenkins.CLI> 186 {{- if .Values.Master.CLI }} 187 <enabled>true</enabled> 188 {{- else }} 189 <enabled>false</enabled> 190 {{- end }} 191 </jenkins.CLI> 192 apply_config.sh: |- 193 mkdir -p /usr/share/jenkins/ref/secrets/; 194 echo "false" > /usr/share/jenkins/ref/secrets/slave-to-master-security-kill-switch; 195 {{- if .Values.Master.OverwriteConfig }} 196 cp /var/jenkins_config/config.xml /var/jenkins_home; 197 cp /var/jenkins_config/jenkins.CLI.xml /var/jenkins_home; 198 cp /var/jenkins_config/jenkins.model.JenkinsLocationConfiguration.xml /var/jenkins_home; 199 {{- else }} 200 cp --no-clobber /var/jenkins_config/config.xml /var/jenkins_home; 201 cp --no-clobber /var/jenkins_config/jenkins.CLI.xml /var/jenkins_home; 202 cp --no-clobber /var/jenkins_config/jenkins.model.JenkinsLocationConfiguration.xml /var/jenkins_home; 203 {{- end }} 204 {{- if .Values.Master.InstallPlugins }} 205 # Install missing plugins 206 cp /var/jenkins_config/plugins.txt /var/jenkins_home; 207 rm -rf /usr/share/jenkins/ref/plugins/*.lock 208 /usr/local/bin/install-plugins.sh `echo $(cat /var/jenkins_home/plugins.txt)`; 209 # Copy plugins to shared volume 210 cp -n /usr/share/jenkins/ref/plugins/* /var/jenkins_plugins; 211 {{- end }} 212 {{- if .Values.Master.ScriptApproval }} 213 cp -n /var/jenkins_config/scriptapproval.xml /var/jenkins_home/scriptApproval.xml; 214 {{- end }} 215 {{- if .Values.Master.InitScripts }} 216 mkdir -p /var/jenkins_home/init.groovy.d/; 217 cp -n /var/jenkins_config/*.groovy /var/jenkins_home/init.groovy.d/ 218 {{- end }} 219 {{- if .Values.Master.CredentialsXmlSecret }} 220 cp -n /var/jenkins_credentials/credentials.xml /var/jenkins_home; 221 {{- end }} 222 {{- if .Values.Master.SecretsFilesSecret }} 223 cp -n /var/jenkins_secrets/* /usr/share/jenkins/ref/secrets; 224 {{- end }} 225 {{- if .Values.Master.Jobs }} 226 for job in $(ls /var/jenkins_jobs); do 227 mkdir -p /var/jenkins_home/jobs/$job 228 cp -n /var/jenkins_jobs/$job /var/jenkins_home/jobs/$job/config.xml 229 done 230 {{- end }} 231 {{- range $key, $val := .Values.Master.InitScripts }} 232 init{{ $key }}.groovy: |- 233 {{ $val | indent 4 }} 234 {{- end }} 235 plugins.txt: |- 236 {{- if .Values.Master.InstallPlugins }} 237 {{- range $index, $val := .Values.Master.InstallPlugins }} 238 {{ $val | indent 4 }} 239 {{- end }} 240 {{- end }} 241 {{ else }} 242 {{ include "override_config_map" . }} 243 {{- end -}}