apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "proxy.fullname" . }} namespace: {{ .Release.Namespace }} labels: {{- include "proxy.labels" . | nindent 4 }} spec: replicas: {{ .Values.replicaCount }} strategy: {{- toYaml .Values.deploymentStrategy | nindent 4 }} selector: matchLabels: {{- include "proxy.selectorLabels" . | nindent 6 }} template: metadata: labels: {{- include "proxy.selectorLabels" . | nindent 8 }} {{- with .Values.podLabels }} {{- toYaml . | nindent 8 }} {{- end }} annotations: checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }} {{- with .Values.podAnnotations }} {{- toYaml . | nindent 8 }} {{- end }} spec: automountServiceAccountToken: false terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} containers: - name: {{ .Chart.Name }} image: {{ include "proxy.image" . | quote }} imagePullPolicy: {{ .Values.image.pullPolicy }} securityContext: {{- toYaml .Values.containerSecurityContext | nindent 12 }} args: - serve - -config - /etc/proxy/{{ .Values.config.existingConfigMapKey }} {{- with .Values.extraEnv }} env: {{- toYaml . | nindent 12 }} {{- end }} {{- with .Values.extraEnvFrom }} envFrom: {{- toYaml . | nindent 12 }} {{- end }} ports: - name: http containerPort: {{ .Values.service.containerPort }} protocol: TCP startupProbe: {{- toYaml .Values.startupProbe | nindent 12 }} readinessProbe: {{- toYaml .Values.readinessProbe | nindent 12 }} livenessProbe: {{- toYaml .Values.livenessProbe | nindent 12 }} resources: {{- toYaml .Values.resources | nindent 12 }} volumeMounts: - name: config mountPath: /etc/proxy/{{ .Values.config.existingConfigMapKey }} subPath: {{ .Values.config.existingConfigMapKey }} readOnly: true - name: data mountPath: {{ .Values.persistence.mountPath }} volumes: - name: config configMap: name: {{ include "proxy.configMapName" . }} items: - key: {{ required "config.existingConfigMapKey is required" .Values.config.existingConfigMapKey }} path: {{ .Values.config.existingConfigMapKey }} - name: data {{- if .Values.persistence.enabled }} persistentVolumeClaim: claimName: {{ include "proxy.claimName" . }} {{- else }} emptyDir: {} {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.topologySpreadConstraints }} topologySpreadConstraints: {{- toYaml . | nindent 8 }} {{- end }}