apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment labels: app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment spec: replicas: {{ include "cyberchef.replicas" (dict "scaleDown" .Values.scaleDown "replicas" .Values.cyberchef.replicas) }} selector: matchLabels: app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment template: metadata: name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment labels: app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment spec: automountServiceAccountToken: false securityContext: {{- include "cyberchef.podSecurityContext" .Values.cyberchef.securityContext | nindent 8 }} containers: - name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment image: "ghcr.io/gchq/cyberchef:{{ .Chart.AppVersion }}" imagePullPolicy: IfNotPresent {{- if .Values.cyberchef.env }} env: {{- range $value := .Values.cyberchef.env }} {{- if $value.value }} - name: {{ $value.name | quote }} value: {{ tpl $value.value $ | quote }} {{- else if $value.valueFrom }} {{- if $value.valueFrom.secretKeyRef }} - name: {{ $value.name }} valueFrom: secretKeyRef: name: {{ tpl $value.valueFrom.secretKeyRef.name $ | quote }} key: {{ tpl $value.valueFrom.secretKeyRef.key $ | quote }} {{- else if $value.valueFrom.configMapKeyRef }} - name: {{ $value.name }} valueFrom: configMapKeyRef: name: {{ tpl $value.valueFrom.configMapKeyRef.name $ | quote }} key: {{ tpl $value.valueFrom.configMapKeyRef.key $ | quote }} {{- end }} {{- end }} {{- end }} {{- end }} securityContext: {{- include "cyberchef.containerSecurityContext" .Values.cyberchef.securityContext | nindent 12 }} volumeMounts: # nginx-unprivileged keeps its pid file and temp/cache dirs under # /tmp, which needs to be writable with a read-only root filesystem. - name: tmp mountPath: /tmp ports: - containerPort: 8080 protocol: TCP name: http livenessProbe: {{- include "cyberchef.livenessProbe" .Values.cyberchef.livenessProbe | nindent 12 }} readinessProbe: {{- include "cyberchef.readinessProbe" .Values.cyberchef.readinessProbe | nindent 12 }} startupProbe: {{- include "cyberchef.startupProbe" .Values.cyberchef.startupProbe | nindent 12 }} resources: {{- include "cyberchef.effectiveResources" .Values.cyberchef.resources | nindent 12 }} volumes: - name: tmp emptyDir: {} restartPolicy: Always