apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "passbook.fullname" . }}-worker labels: app.kubernetes.io/name: {{ include "passbook.name" . }} helm.sh/chart: {{ include "passbook.chart" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: {{ .Release.Service }} k8s.passbook.beryju.org/component: worker spec: replicas: {{ .Values.workerReplicas }} selector: matchLabels: app.kubernetes.io/name: {{ include "passbook.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} k8s.passbook.beryju.org/component: worker template: metadata: labels: app.kubernetes.io/name: {{ include "passbook.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} k8s.passbook.beryju.org/component: worker spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app.kubernetes.io/name operator: In values: - {{ include "passbook.name" . }} - key: app.kubernetes.io/instance operator: In values: - {{ .Release.Name }} - key: k8s.passbook.beryju.org/component operator: In values: - worker topologyKey: "kubernetes.io/hostname" containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.name }}:{{ .Values.image.tag }}" imagePullPolicy: IfNotPresent args: [worker] envFrom: - configMapRef: name: "{{ include "passbook.fullname" . }}-config" prefix: "PASSBOOK_" env: - name: PASSBOOK_SECRET_KEY valueFrom: secretKeyRef: name: "{{ include "passbook.fullname" . }}-secret-key" key: secret_key - name: PASSBOOK_REDIS__PASSWORD valueFrom: secretKeyRef: name: "{{ .Release.Name }}-redis" key: "redis-password" - name: PASSBOOK_POSTGRESQL__PASSWORD valueFrom: secretKeyRef: name: "{{ .Release.Name }}-postgresql" key: "postgresql-password" resources: requests: cpu: 150m memory: 300M limits: cpu: 300m memory: 500M