|
| 1 | +{{- if .Values.taskProcessor.enabled }} |
| 2 | +apiVersion: apps/v1 |
| 3 | +kind: Deployment |
| 4 | +metadata: |
| 5 | + name: {{ template "flagsmith.fullname" . }}-task-processor |
| 6 | + labels: |
| 7 | + {{- include "flagsmith.labels" . | nindent 4 }} |
| 8 | + app.kubernetes.io/component: task-processor |
| 9 | +spec: |
| 10 | + selector: |
| 11 | + matchLabels: |
| 12 | + {{- include "flagsmith.selectorLabels" . | nindent 6 }} |
| 13 | + app.kubernetes.io/component: task-processor |
| 14 | + replicas: {{ .Values.taskProcessor.replicacount }} |
| 15 | + template: |
| 16 | + metadata: |
| 17 | + annotations: |
| 18 | + checksum/secrets-api: {{ include (print $.Template.BasePath "/secrets-api.yaml") . | sha256sum }} |
| 19 | + {{- if and .Values.influxdbExternal.enabled (not .Values.influxdbExternal.tokenFromExistingSecret.enabled) }} |
| 20 | + checksum/secrets-influxdb-external: {{ include (print $.Template.BasePath "/secrets-influxdb-external.yaml") . | sha256sum }} |
| 21 | + {{- end }} |
| 22 | +{{- if .Values.taskProcessor.podAnnotations }} |
| 23 | +{{ toYaml .Values.taskProcessor.podAnnotations | nindent 8 }} |
| 24 | +{{- end }} |
| 25 | + labels: |
| 26 | + {{- include "flagsmith.selectorLabels" . | nindent 8 }} |
| 27 | + app.kubernetes.io/component: task-processor |
| 28 | + {{- if .Values.taskProcessor.podLabels }} |
| 29 | +{{ toYaml .Values.taskProcessor.podLabels | indent 8 }} |
| 30 | + {{- end }} |
| 31 | + spec: |
| 32 | + {{- if .Values.taskProcessor.affinity }} |
| 33 | + affinity: |
| 34 | +{{ toYaml .Values.taskProcessor.affinity | indent 8 }} |
| 35 | + {{- end }} |
| 36 | + {{- if .Values.taskProcessor.nodeSelector }} |
| 37 | + nodeSelector: |
| 38 | +{{ toYaml .Values.taskProcessor.nodeSelector | indent 8 }} |
| 39 | + {{- end }} |
| 40 | + {{- if .Values.taskProcessor.tolerations }} |
| 41 | + tolerations: |
| 42 | +{{ toYaml .Values.taskProcessor.tolerations | indent 8 }} |
| 43 | + {{- end }} |
| 44 | + {{- if .Values.taskProcessor.schedulerName }} |
| 45 | + schedulerName: "{{ .Values.taskProcessor.schedulerName }}" |
| 46 | + {{- end }} |
| 47 | + {{- if .Values.api.image.imagePullSecrets }} |
| 48 | + imagePullSecrets: |
| 49 | +{{ toYaml .Values.api.image.imagePullSecrets | indent 8 }} |
| 50 | + {{- end }} |
| 51 | + securityContext: |
| 52 | + {{- $securityContext := .Values.taskProcessor.podSecurityContext | default (dict) | deepCopy }} |
| 53 | + {{- if .Values.taskProcessor.defaultPodSecurityContext.enabled }} |
| 54 | + {{- $securityContext = $securityContext | merge (omit .Values.taskProcessor.defaultPodSecurityContext "enabled") }} |
| 55 | + {{- end }} |
| 56 | + {{- toYaml $securityContext | nindent 8 }} |
| 57 | + containers: |
| 58 | + - name: {{ .Chart.Name }}-task-processor |
| 59 | + image: {{ .Values.api.image.repository }}:{{ .Values.api.image.tag | default (printf "%s" .Chart.AppVersion) }} |
| 60 | + imagePullPolicy: {{ .Values.api.image.imagePullPolicy }} |
| 61 | + command: |
| 62 | + - python |
| 63 | + - manage.py |
| 64 | + args: |
| 65 | + - runprocessor |
| 66 | +{{- with .Values.taskProcessor.sleepIntervalMs }} |
| 67 | + - --sleepintervalms |
| 68 | + - {{ . | quote }} |
| 69 | +{{- end }} |
| 70 | +{{- with .Values.taskProcessor.numThreads }} |
| 71 | + - --numthreads |
| 72 | + - {{ . | quote }} |
| 73 | +{{- end }} |
| 74 | +{{- with .Values.taskProcessor.gracePeriodMs }} |
| 75 | + - --graceperiodms |
| 76 | + - {{ . | quote }} |
| 77 | +{{- end }} |
| 78 | + env: {{ include (print $.Template.BasePath "/_api_environment.yaml") . | nindent 8 }} |
| 79 | + livenessProbe: |
| 80 | + failureThreshold: {{ .Values.taskProcessor.livenessProbe.failureThreshold }} |
| 81 | + exec: |
| 82 | + command: |
| 83 | + - python |
| 84 | + - manage.py |
| 85 | + - checktaskprocessorthreadhealth |
| 86 | + initialDelaySeconds: {{ .Values.taskProcessor.livenessProbe.initialDelaySeconds }} |
| 87 | + periodSeconds: {{ .Values.taskProcessor.livenessProbe.periodSeconds }} |
| 88 | + successThreshold: {{ .Values.taskProcessor.livenessProbe.successThreshold }} |
| 89 | + timeoutSeconds: {{ .Values.taskProcessor.livenessProbe.timeoutSeconds }} |
| 90 | + readinessProbe: |
| 91 | + failureThreshold: {{ .Values.taskProcessor.readinessProbe.failureThreshold }} |
| 92 | + exec: |
| 93 | + command: |
| 94 | + - python |
| 95 | + - manage.py |
| 96 | + - checktaskprocessorthreadhealth |
| 97 | + initialDelaySeconds: {{ .Values.taskProcessor.readinessProbe.initialDelaySeconds }} |
| 98 | + periodSeconds: {{ .Values.taskProcessor.readinessProbe.periodSeconds }} |
| 99 | + successThreshold: {{ .Values.taskProcessor.readinessProbe.successThreshold }} |
| 100 | + timeoutSeconds: {{ .Values.taskProcessor.readinessProbe.timeoutSeconds }} |
| 101 | + resources: |
| 102 | +{{ toYaml .Values.taskProcessor.resources | indent 10 }} |
| 103 | +{{- end }} |
0 commit comments