github.com/replicatedhq/ship@v0.55.0/integration/failing/init/concourse/expected/.ship/upstream/templates/worker-statefulset.yaml (about) 1 apiVersion: apps/v1beta1 2 kind: StatefulSet 3 metadata: 4 name: {{ template "concourse.worker.fullname" . }} 5 labels: 6 app: {{ template "concourse.worker.fullname" . }} 7 chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 release: "{{ .Release.Name }}" 9 heritage: "{{ .Release.Service }}" 10 11 spec: 12 serviceName: {{ template "concourse.worker.fullname" . }} 13 replicas: {{ .Values.worker.replicas }} 14 template: 15 metadata: 16 labels: 17 app: {{ template "concourse.worker.fullname" . }} 18 release: "{{ .Release.Name }}" 19 annotations: 20 {{- range $key, $value := .Values.worker.annotations }} 21 {{ $key }}: {{ $value | quote }} 22 {{- end }} 23 spec: 24 {{- with .Values.worker.nodeSelector }} 25 nodeSelector: 26 {{ toYaml . | indent 8 }} 27 {{- end }} 28 serviceAccountName: {{ if .Values.rbac.create }}{{ template "concourse.worker.fullname" . }}{{ else }}{{ .Values.rbac.workerServiceAccountName }}{{ end }} 29 tolerations: 30 {{ toYaml .Values.worker.tolerations | indent 8 }} 31 {{- if .Values.imagePullSecrets }} 32 imagePullSecrets: 33 {{- range .Values.imagePullSecrets }} 34 - name: {{ . }} 35 {{- end }} 36 {{- end }} 37 terminationGracePeriodSeconds: {{ .Values.worker.terminationGracePeriodSeconds }} 38 containers: 39 - name: {{ template "concourse.worker.fullname" . }} 40 {{- if .Values.imageDigest }} 41 image: "{{ .Values.image }}@{{ .Values.imageDigest }}" 42 {{- else }} 43 image: "{{ .Values.image }}:{{ .Values.imageTag }}" 44 {{- end }} 45 imagePullPolicy: {{ .Values.imagePullPolicy | quote }} 46 command: 47 - /bin/sh 48 args: 49 - -c 50 - |- 51 cp /dev/null /tmp/.liveness_probe 52 rm -rf ${CONCOURSE_WORK_DIR:-/concourse-work-dir}/* 53 while ! concourse retire-worker --name=${HOSTNAME} | grep -q worker-not-found; do 54 touch /tmp/.pre_start_cleanup 55 sleep 5 56 done 57 rm -f /tmp/.pre_start_cleanup 58 concourse worker --name=${HOSTNAME} | tee -a /tmp/.liveness_probe 59 livenessProbe: 60 exec: 61 command: 62 - /bin/sh 63 - -c 64 - |- 65 FATAL_ERRORS=$( echo "${LIVENESS_PROBE_FATAL_ERRORS}" | grep -q '\S' && \ 66 grep -F "${LIVENESS_PROBE_FATAL_ERRORS}" /tmp/.liveness_probe ) 67 cp /dev/null /tmp/.liveness_probe 68 if [ ! -z "${FATAL_ERRORS}" ]; then 69 >&2 echo "Fatal error detected: ${FATAL_ERRORS}" 70 exit 1 71 fi 72 if [ -f /tmp/.pre_start_cleanup ]; then 73 >&2 echo "Still trying to clean up before starting concourse. 'fly prune-worker -w ${HOSTNAME}' might need to be called to force cleanup." 74 exit 1 75 fi 76 failureThreshold: 1 77 initialDelaySeconds: 10 78 periodSeconds: 10 79 lifecycle: 80 preStop: 81 exec: 82 command: 83 - /bin/sh 84 - -c 85 - |- 86 while ! concourse retire-worker --name=${HOSTNAME} | grep -q worker-not-found; do 87 sleep 5 88 done 89 env: 90 {{- if .Values.concourse.worker.name }} 91 - name: CONCOURSE_NAME 92 value: {{ .Values.concourse.worker.name | quote }} 93 {{- end }} 94 {{- if .Values.concourse.worker.tag }} 95 - name: CONCOURSE_TAG 96 value: {{ .Values.concourse.worker.tag | quote }} 97 {{- end }} 98 {{- if .Values.concourse.worker.team }} 99 - name: CONCOURSE_TEAM 100 value: {{ .Values.concourse.worker.team | quote }} 101 {{- end }} 102 {{- if .Values.concourse.worker.http_proxy }} 103 - name: http_proxy 104 value: {{ .Values.concourse.worker.http_proxy | quote }} 105 {{- end }} 106 {{- if .Values.concourse.worker.https_proxy }} 107 - name: https_proxy 108 value: {{ .Values.concourse.worker.https_proxy | quote }} 109 {{- end }} 110 {{- if .Values.concourse.worker.no_proxy }} 111 - name: no_proxy 112 value: {{ .Values.concourse.worker.no_proxy | quote }} 113 {{- end }} 114 {{- if .Values.concourse.worker.ephemeral }} 115 - name: CONCOURSE_EPHEMERAL 116 value: {{ .Values.concourse.worker.ephemeral | quote }} 117 {{- end }} 118 {{- if .Values.concourse.worker.bindDebugPort }} 119 - name: CONCOURSE_BIND_DEBUG_PORT 120 value: {{ .Values.concourse.worker.bindDebugPort | quote }} 121 {{- end }} 122 {{- if .Values.concourse.worker.certsDir }} 123 - name: CONCOURSE_CERTS_DIR 124 value: {{ .Values.concourse.worker.certsDir | quote }} 125 {{- end }} 126 {{- if .Values.concourse.worker.workDir }} 127 - name: CONCOURSE_WORK_DIR 128 value: {{ .Values.concourse.worker.workDir | quote }} 129 {{- end }} 130 {{- if .Values.concourse.worker.bindIp }} 131 - name: CONCOURSE_BIND_IP 132 value: {{ .Values.concourse.worker.bindIp | quote }} 133 {{- end }} 134 {{- if .Values.concourse.worker.bindPort }} 135 - name: CONCOURSE_BIND_PORT 136 value: {{ .Values.concourse.worker.bindPort | quote }} 137 {{- end }} 138 {{- if .Values.concourse.worker.peerIp }} 139 - name: CONCOURSE_PEER_IP 140 value: {{ .Values.concourse.worker.peerIp | quote }} 141 {{- end }} 142 {{- if .Values.concourse.worker.logLevel }} 143 - name: CONCOURSE_LOG_LEVEL 144 value: {{ .Values.concourse.worker.logLevel | quote }} 145 {{- end }} 146 147 - name: CONCOURSE_TSA_HOST 148 value: "{{ template "concourse.web.fullname" . }}:{{ .Values.concourse.web.tsa.bindPort}}" 149 - name: CONCOURSE_TSA_PUBLIC_KEY 150 value: "{{ .Values.worker.keySecretsPath }}/host_key.pub" 151 - name: CONCOURSE_TSA_WORKER_PRIVATE_KEY 152 value: "{{ .Values.worker.keySecretsPath }}/worker_key" 153 154 {{- if .Values.concourse.worker.garden.logLevel }} 155 - name: CONCOURSE_GARDEN_LOG_LEVEL 156 value: {{ .Values.concourse.worker.garden.logLevel | quote }} 157 {{- end }} 158 {{- if .Values.concourse.worker.garden.timeFormat }} 159 - name: CONCOURSE_GARDEN_TIME_FORMAT 160 value: {{ .Values.concourse.worker.garden.timeFormat | quote }} 161 {{- end }} 162 {{- if .Values.concourse.worker.garden.bindIp }} 163 - name: CONCOURSE_GARDEN_BIND_IP 164 value: {{ .Values.concourse.worker.garden.bindIp | quote }} 165 {{- end }} 166 {{- if .Values.concourse.worker.garden.bindPort }} 167 - name: CONCOURSE_GARDEN_BIND_PORT 168 value: {{ .Values.concourse.worker.garden.bindPort | quote }} 169 {{- end }} 170 {{- if .Values.concourse.worker.garden.bindSocket }} 171 - name: CONCOURSE_GARDEN_BIND_SOCKET 172 value: {{ .Values.concourse.worker.garden.bindSocket | quote }} 173 {{- end }} 174 {{- if .Values.concourse.worker.garden.debugBindIp }} 175 - name: CONCOURSE_GARDEN_DEBUG_BIND_IP 176 value: {{ .Values.concourse.worker.garden.debugBindIp | quote }} 177 {{- end }} 178 {{- if .Values.concourse.worker.garden.debugBindPort }} 179 - name: CONCOURSE_GARDEN_DEBUG_BIND_PORT 180 value: {{ .Values.concourse.worker.garden.debugBindPort | quote }} 181 {{- end }} 182 {{- if .Values.concourse.worker.garden.skipSetup }} 183 - name: CONCOURSE_GARDEN_SKIP_SETUP 184 value: {{ .Values.concourse.worker.garden.skipSetup | quote }} 185 {{- end }} 186 {{- if .Values.concourse.worker.garden.depot }} 187 - name: CONCOURSE_GARDEN_DEPOT 188 value: {{ .Values.concourse.worker.garden.depot | quote }} 189 {{- end }} 190 {{- if .Values.concourse.worker.garden.propertiesPath }} 191 - name: CONCOURSE_GARDEN_PROPERTIES_PATH 192 value: {{ .Values.concourse.worker.garden.propertiesPath | quote }} 193 {{- end }} 194 {{- if .Values.concourse.worker.garden.consoleSocketsPath }} 195 - name: CONCOURSE_GARDEN_CONSOLE_SOCKETS_PATH 196 value: {{ .Values.concourse.worker.garden.consoleSocketsPath | quote }} 197 {{- end }} 198 {{- if .Values.concourse.worker.garden.cleanupProcessDirsOnWait }} 199 - name: CONCOURSE_GARDEN_CLEANUP_PROCESS_DIRS_ON_WAIT 200 value: {{ .Values.concourse.worker.garden.cleanupProcessDirsOnWait | quote }} 201 {{- end }} 202 {{- if .Values.concourse.worker.garden.disablePrivilegedContainers }} 203 - name: CONCOURSE_GARDEN_DISABLE_PRIVILEGED_CONTAINERS 204 value: {{ .Values.concourse.worker.garden.disablePrivilegedContainers | quote }} 205 {{- end }} 206 {{- if .Values.concourse.worker.garden.uidMapStart }} 207 - name: CONCOURSE_GARDEN_UID_MAP_START 208 value: {{ .Values.concourse.worker.garden.uidMapStart | quote }} 209 {{- end }} 210 {{- if .Values.concourse.worker.garden.uidMapLength }} 211 - name: CONCOURSE_GARDEN_UID_MAP_LENGTH 212 value: {{ .Values.concourse.worker.garden.uidMapLength | quote }} 213 {{- end }} 214 {{- if .Values.concourse.worker.garden.gidMapStart }} 215 - name: CONCOURSE_GARDEN_GID_MAP_START 216 value: {{ .Values.concourse.worker.garden.gidMapStart | quote }} 217 {{- end }} 218 {{- if .Values.concourse.worker.garden.gidMapLength }} 219 - name: CONCOURSE_GARDEN_GID_MAP_LENGTH 220 value: {{ .Values.concourse.worker.garden.gidMapLength | quote }} 221 {{- end }} 222 {{- if .Values.concourse.worker.garden.defaultRootfs }} 223 - name: CONCOURSE_GARDEN_DEFAULT_ROOTFS 224 value: {{ .Values.concourse.worker.garden.defaultRootfs | quote }} 225 {{- end }} 226 {{- if .Values.concourse.worker.garden.defaultGraceTime }} 227 - name: CONCOURSE_GARDEN_DEFAULT_GRACE_TIME 228 value: {{ .Values.concourse.worker.garden.defaultGraceTime | quote }} 229 {{- end }} 230 {{- if .Values.concourse.worker.garden.destroyContainersOnStartup }} 231 - name: CONCOURSE_GARDEN_DESTROY_CONTAINERS_ON_STARTUP 232 value: {{ .Values.concourse.worker.garden.destroyContainersOnStartup | quote }} 233 {{- end }} 234 {{- if .Values.concourse.worker.garden.apparmor }} 235 - name: CONCOURSE_GARDEN_APPARMOR 236 value: {{ .Values.concourse.worker.garden.apparmor | quote }} 237 {{- end }} 238 {{- if .Values.concourse.worker.garden.assetsDir }} 239 - name: CONCOURSE_GARDEN_ASSETS_DIR 240 value: {{ .Values.concourse.worker.garden.assetsDir | quote }} 241 {{- end }} 242 {{- if .Values.concourse.worker.garden.dadooBin }} 243 - name: CONCOURSE_GARDEN_DADOO_BIN 244 value: {{ .Values.concourse.worker.garden.dadooBin | quote }} 245 {{- end }} 246 {{- if .Values.concourse.worker.garden.nstarBin }} 247 - name: CONCOURSE_GARDEN_NSTAR_BIN 248 value: {{ .Values.concourse.worker.garden.nstarBin | quote }} 249 {{- end }} 250 {{- if .Values.concourse.worker.garden.tarBin }} 251 - name: CONCOURSE_GARDEN_TAR_BIN 252 value: {{ .Values.concourse.worker.garden.tarBin | quote }} 253 {{- end }} 254 {{- if .Values.concourse.worker.garden.iptablesBin }} 255 - name: CONCOURSE_GARDEN_IPTABLES_BIN 256 value: {{ .Values.concourse.worker.garden.iptablesBin | quote }} 257 {{- end }} 258 {{- if .Values.concourse.worker.garden.iptablesRestoreBin }} 259 - name: CONCOURSE_GARDEN_IPTABLES_RESTORE_BIN 260 value: {{ .Values.concourse.worker.garden.iptablesRestoreBin | quote }} 261 {{- end }} 262 {{- if .Values.concourse.worker.garden.initBin }} 263 - name: CONCOURSE_GARDEN_INIT_BIN 264 value: {{ .Values.concourse.worker.garden.initBin | quote }} 265 {{- end }} 266 {{- if .Values.concourse.worker.garden.runtimePlugin }} 267 - name: CONCOURSE_GARDEN_RUNTIME_PLUGIN 268 value: {{ .Values.concourse.worker.garden.runtimePlugin | quote }} 269 {{- end }} 270 {{- if .Values.concourse.worker.garden.runtimePluginExtraArg }} 271 - name: CONCOURSE_GARDEN_RUNTIME_PLUGIN_EXTRA_ARG 272 value: {{ .Values.concourse.worker.garden.runtimePluginExtraArg | quote }} 273 {{- end }} 274 {{- if .Values.concourse.worker.garden.graph }} 275 - name: CONCOURSE_GARDEN_GRAPH 276 value: {{ .Values.concourse.worker.garden.graph | quote }} 277 {{- end }} 278 {{- if .Values.concourse.worker.garden.graphCleanupThresholdInMegabytes }} 279 - name: CONCOURSE_GARDEN_GRAPH_CLEANUP_THRESHOLD_IN_MEGABYTES 280 value: {{ .Values.concourse.worker.garden.graphCleanupThresholdInMegabytes | quote }} 281 {{- end }} 282 {{- if .Values.concourse.worker.garden.persistentImage }} 283 - name: CONCOURSE_GARDEN_PERSISTENT_IMAGE 284 value: {{ .Values.concourse.worker.garden.persistentImage | quote }} 285 {{- end }} 286 {{- if .Values.concourse.worker.garden.imagePlugin }} 287 - name: CONCOURSE_GARDEN_IMAGE_PLUGIN 288 value: {{ .Values.concourse.worker.garden.imagePlugin | quote }} 289 {{- end }} 290 {{- if .Values.concourse.worker.garden.imagePluginExtraArg }} 291 - name: CONCOURSE_GARDEN_IMAGE_PLUGIN_EXTRA_ARG 292 value: {{ .Values.concourse.worker.garden.imagePluginExtraArg | quote }} 293 {{- end }} 294 {{- if .Values.concourse.worker.garden.privilegedImagePlugin }} 295 - name: CONCOURSE_GARDEN_PRIVILEGED_IMAGE_PLUGIN 296 value: {{ .Values.concourse.worker.garden.privilegedImagePlugin | quote }} 297 {{- end }} 298 {{- if .Values.concourse.worker.garden.privilegedImagePluginExtraArg }} 299 - name: CONCOURSE_GARDEN_PRIVILEGED_IMAGE_PLUGIN_EXTRA_ARG 300 value: {{ .Values.concourse.worker.garden.privilegedImagePluginExtraArg | quote }} 301 {{- end }} 302 {{- if .Values.concourse.worker.garden.dockerRegistry }} 303 - name: CONCOURSE_GARDEN_DOCKER_REGISTRY 304 value: {{ .Values.concourse.worker.garden.dockerRegistry | quote }} 305 {{- end }} 306 {{- if .Values.concourse.worker.garden.insecureDockerRegistry }} 307 - name: CONCOURSE_GARDEN_INSECURE_DOCKER_REGISTRY 308 value: {{ .Values.concourse.worker.garden.insecureDockerRegistry | quote }} 309 {{- end }} 310 {{- if .Values.concourse.worker.garden.networkPool }} 311 - name: CONCOURSE_GARDEN_NETWORK_POOL 312 value: {{ .Values.concourse.worker.garden.networkPool | quote }} 313 {{- end }} 314 {{- if .Values.concourse.worker.garden.allowHostAccess }} 315 - name: CONCOURSE_GARDEN_ALLOW_HOST_ACCESS 316 value: {{ .Values.concourse.worker.garden.allowHostAccess | quote }} 317 {{- end }} 318 {{- if .Values.concourse.worker.garden.denyNetwork }} 319 - name: CONCOURSE_GARDEN_DENY_NETWORK 320 value: {{ .Values.concourse.worker.garden.denyNetwork | quote }} 321 {{- end }} 322 {{- if .Values.concourse.worker.garden.dnsServer }} 323 - name: CONCOURSE_GARDEN_DNS_SERVER 324 value: {{ .Values.concourse.worker.garden.dnsServer | quote }} 325 {{- end }} 326 {{- if .Values.concourse.worker.garden.additionalDnsServer }} 327 - name: CONCOURSE_GARDEN_ADDITIONAL_DNS_SERVER 328 value: {{ .Values.concourse.worker.garden.additionalDnsServer | quote }} 329 {{- end }} 330 {{- if .Values.concourse.worker.garden.additionalHostEntry }} 331 - name: CONCOURSE_GARDEN_ADDITIONAL_HOST_ENTRY 332 value: {{ .Values.concourse.worker.garden.additionalHostEntry | quote }} 333 {{- end }} 334 {{- if .Values.concourse.worker.garden.externalIp }} 335 - name: CONCOURSE_GARDEN_EXTERNAL_IP 336 value: {{ .Values.concourse.worker.garden.externalIp | quote }} 337 {{- end }} 338 {{- if .Values.concourse.worker.garden.portPoolStart }} 339 - name: CONCOURSE_GARDEN_PORT_POOL_START 340 value: {{ .Values.concourse.worker.garden.portPoolStart | quote }} 341 {{- end }} 342 {{- if .Values.concourse.worker.garden.portPoolSize }} 343 - name: CONCOURSE_GARDEN_PORT_POOL_SIZE 344 value: {{ .Values.concourse.worker.garden.portPoolSize | quote }} 345 {{- end }} 346 {{- if .Values.concourse.worker.garden.portPoolPropertiesPath }} 347 - name: CONCOURSE_GARDEN_PORT_POOL_PROPERTIES_PATH 348 value: {{ .Values.concourse.worker.garden.portPoolPropertiesPath | quote }} 349 {{- end }} 350 {{- if .Values.concourse.worker.garden.mtu }} 351 - name: CONCOURSE_GARDEN_MTU 352 value: {{ .Values.concourse.worker.garden.mtu | quote }} 353 {{- end }} 354 {{- if .Values.concourse.worker.garden.networkPlugin }} 355 - name: CONCOURSE_GARDEN_NETWORK_PLUGIN 356 value: {{ .Values.concourse.worker.garden.networkPlugin | quote }} 357 {{- end }} 358 {{- if .Values.concourse.worker.garden.networkPluginExtraArg }} 359 - name: CONCOURSE_GARDEN_NETWORK_PLUGIN_EXTRA_ARG 360 value: {{ .Values.concourse.worker.garden.networkPluginExtraArg | quote }} 361 {{- end }} 362 {{- if .Values.concourse.worker.garden.cpuQuotaPerShare }} 363 - name: CONCOURSE_GARDEN_CPU_QUOTA_PER_SHARE 364 value: {{ .Values.concourse.worker.garden.cpuQuotaPerShare | quote }} 365 {{- end }} 366 {{- if .Values.concourse.worker.garden.tcpMemoryLimit }} 367 - name: CONCOURSE_GARDEN_TCP_MEMORY_LIMIT 368 value: {{ .Values.concourse.worker.garden.tcpMemoryLimit | quote }} 369 {{- end }} 370 {{- if .Values.concourse.worker.garden.defaultContainerBlockioWeight }} 371 - name: CONCOURSE_GARDEN_DEFAULT_CONTAINER_BLOCKIO_WEIGHT 372 value: {{ .Values.concourse.worker.garden.defaultContainerBlockioWeight | quote }} 373 {{- end }} 374 {{- if .Values.concourse.worker.garden.maxContainers }} 375 - name: CONCOURSE_GARDEN_MAX_CONTAINERS 376 value: {{ .Values.concourse.worker.garden.maxContainers | quote }} 377 {{- end }} 378 {{- if .Values.concourse.worker.garden.disableSwapLimit }} 379 - name: CONCOURSE_GARDEN_DISABLE_SWAP_LIMIT 380 value: {{ .Values.concourse.worker.garden.disableSwapLimit | quote }} 381 {{- end }} 382 {{- if .Values.concourse.worker.garden.metricsEmissionInterval }} 383 - name: CONCOURSE_GARDEN_METRICS_EMISSION_INTERVAL 384 value: {{ .Values.concourse.worker.garden.metricsEmissionInterval | quote }} 385 {{- end }} 386 {{- if .Values.concourse.worker.garden.dropsondeOrigin }} 387 - name: CONCOURSE_GARDEN_DROPSONDE_ORIGIN 388 value: {{ .Values.concourse.worker.garden.dropsondeOrigin | quote }} 389 {{- end }} 390 {{- if .Values.concourse.worker.garden.dropsondeDestination }} 391 - name: CONCOURSE_GARDEN_DROPSONDE_DESTINATION 392 value: {{ .Values.concourse.worker.garden.dropsondeDestination | quote }} 393 {{- end }} 394 {{- if .Values.concourse.worker.garden.containerdSocket }} 395 - name: CONCOURSE_GARDEN_CONTAINERD_SOCKET 396 value: {{ .Values.concourse.worker.garden.containerdSocket | quote }} 397 {{- end }} 398 {{- if .Values.concourse.worker.garden.useContainerdForProcesses }} 399 - name: CONCOURSE_GARDEN_USE_CONTAINERD_FOR_PROCESSES 400 value: {{ .Values.concourse.worker.garden.useContainerdForProcesses | quote }} 401 {{- end }} 402 {{- if .Values.concourse.worker.garden.dnsProxyEnable }} 403 - name: CONCOURSE_GARDEN_DNS_PROXY_ENABLE 404 value: {{ .Values.concourse.worker.garden.dnsProxyEnable | quote }} 405 {{- end }} 406 407 {{- if .Values.concourse.worker.baggageclaim.logLevel }} 408 - name: CONCOURSE_BAGGAGECLAIM_LOG_LEVEL 409 value: {{ .Values.concourse.worker.baggageclaim.logLevel | quote }} 410 {{- end }} 411 {{- if .Values.concourse.worker.baggageclaim.bindIp }} 412 - name: CONCOURSE_BAGGAGECLAIM_BIND_IP 413 value: {{ .Values.concourse.worker.baggageclaim.bindIp | quote }} 414 {{- end }} 415 {{- if .Values.concourse.worker.baggageclaim.bindPort }} 416 - name: CONCOURSE_BAGGAGECLAIM_BIND_PORT 417 value: {{ .Values.concourse.worker.baggageclaim.bindPort | quote }} 418 {{- end }} 419 {{- if .Values.concourse.worker.baggageclaim.bindDebugPort }} 420 - name: CONCOURSE_BAGGAGECLAIM_BIND_DEBUG_PORT 421 value: {{ .Values.concourse.worker.baggageclaim.bindDebugPort | quote }} 422 {{- end }} 423 {{- if .Values.concourse.worker.baggageclaim.volumes }} 424 - name: CONCOURSE_BAGGAGECLAIM_VOLUMES 425 value: {{ .Values.concourse.worker.baggageclaim.volumes | quote }} 426 {{- end }} 427 {{- if .Values.concourse.worker.baggageclaim.driver }} 428 - name: CONCOURSE_BAGGAGECLAIM_DRIVER 429 value: {{ .Values.concourse.worker.baggageclaim.driver | quote }} 430 {{- end }} 431 {{- if .Values.concourse.worker.baggageclaim.btrfsBin }} 432 - name: CONCOURSE_BAGGAGECLAIM_BTRFS_BIN 433 value: {{ .Values.concourse.worker.baggageclaim.btrfsBin | quote }} 434 {{- end }} 435 {{- if .Values.concourse.worker.baggageclaim.mkfsBin }} 436 - name: CONCOURSE_BAGGAGECLAIM_MKFS_BIN 437 value: {{ .Values.concourse.worker.baggageclaim.mkfsBin | quote }} 438 {{- end }} 439 {{- if .Values.concourse.worker.baggageclaim.overlaysDir }} 440 - name: CONCOURSE_BAGGAGECLAIM_OVERLAYS_DIR 441 value: {{ .Values.concourse.worker.baggageclaim.overlaysDir | quote }} 442 {{- end }} 443 {{- if .Values.concourse.worker.baggageclaim.reapInterval }} 444 - name: CONCOURSE_BAGGAGECLAIM_REAP_INTERVAL 445 value: {{ .Values.concourse.worker.baggageclaim.reapInterval | quote }} 446 {{- end }} 447 - name: LIVENESS_PROBE_FATAL_ERRORS 448 value: {{ .Values.worker.fatalErrors | quote }} 449 450 {{- if .Values.worker.env }} 451 {{ toYaml .Values.worker.env | indent 12 }} 452 {{- end }} 453 resources: 454 {{ toYaml .Values.worker.resources | indent 12 }} 455 securityContext: 456 privileged: true 457 volumeMounts: 458 - name: concourse-keys 459 mountPath: {{ .Values.worker.keySecretsPath | quote }} 460 readOnly: true 461 - name: concourse-work-dir 462 mountPath: {{ .Values.concourse.workingDirectory | default "/concourse-work-dir" | quote }} 463 {{- if .Values.worker.additionalVolumeMounts }} 464 {{ toYaml .Values.worker.additionalVolumeMounts | indent 12 }} 465 {{- end }} 466 affinity: 467 {{- if .Values.worker.additionalAffinities }} 468 {{ toYaml .Values.worker.additionalAffinities | indent 8 }} 469 {{- end }} 470 podAntiAffinity: 471 {{- if .Values.worker.hardAntiAffinity }} 472 requiredDuringSchedulingIgnoredDuringExecution: 473 - labelSelector: 474 matchLabels: 475 app: {{ template "concourse.worker.fullname" . }} 476 release: {{ .Release.Name | quote }} 477 topologyKey: kubernetes.io/hostname 478 {{- else }} 479 preferredDuringSchedulingIgnoredDuringExecution: 480 - weight: 100 481 podAffinityTerm: 482 topologyKey: kubernetes.io/hostname 483 labelSelector: 484 matchLabels: 485 app: {{ template "concourse.worker.fullname" . }} 486 release: {{ .Release.Name | quote }} 487 {{- end }} 488 volumes: 489 {{- if .Values.worker.additionalVolumes }} 490 {{ toYaml .Values.worker.additionalVolumes | indent 8 }} 491 {{- end }} 492 - name: concourse-keys 493 secret: 494 secretName: {{ template "concourse.concourse.fullname" . }} 495 defaultMode: 0400 496 items: 497 - key: host-key-pub 498 path: host_key.pub 499 - key: worker-key 500 path: worker_key 501 - key: worker-key-pub 502 path: worker_key.pub 503 {{- define "concourse.are-there-additional-volumes.with-the-name.concourse-work-dir" }} 504 {{- range .Values.worker.additionalVolumes }} 505 {{- if .name | eq "concourse-work-dir" }} 506 {{- .name }} 507 {{- end }} 508 {{- end }} 509 {{- end }} 510 {{- if .Values.persistence.enabled }} 511 volumeClaimTemplates: 512 - metadata: 513 name: concourse-work-dir 514 spec: 515 accessModes: 516 - {{ .Values.persistence.worker.accessMode | quote }} 517 resources: 518 requests: 519 storage: {{ .Values.persistence.worker.size | quote }} 520 {{- if .Values.persistence.worker.storageClass }} 521 {{- if (eq "-" .Values.persistence.worker.storageClass) }} 522 storageClassName: "" 523 {{- else }} 524 storageClassName: "{{ .Values.persistence.worker.storageClass }}" 525 {{- end }} 526 {{- end }} 527 {{- else }} 528 {{ if include "concourse.are-there-additional-volumes.with-the-name.concourse-work-dir" . | not }} 529 - name: concourse-work-dir 530 emptyDir: 531 {{- if .Values.worker.emptyDirSize }} 532 sizeLimit: {{ .Values.worker.emptyDirSize | quote }} 533 {{- end }} 534 {{- end }} 535 {{- end }} 536 {{- if semverCompare "^1.7-0" .Capabilities.KubeVersion.GitVersion }} 537 updateStrategy: 538 type: {{ .Values.worker.updateStrategy }} 539 {{- end }} 540 podManagementPolicy: {{ .Values.worker.podManagementPolicy }}