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 }}