{{- if and .Values.sandbox.enabled}} apiVersion: apps/v1 kind: Deployment metadata: annotations: {{ include "dify.ud.annotations" . | indent 4 }} descriptions: sandbox labels: {{- include "dify.labels" . | nindent 4 }} component: sandbox # app: {{ template "dify.sandbox.fullname" . }} {{ include "dify.ud.labels" . | indent 4 }} name: {{ template "dify.sandbox.fullname" . }} spec: replicas: {{ .Values.sandbox.replicas }} selector: matchLabels: {{- include "dify.selectorLabels" . | nindent 6 }} component: sandbox {{/* # Required labels for istio # app: {{ template "dify.sandbox.fullname" . }} # version: {{ .Values.istioServiceMesh.version | quote }} */}} {{- if .Values.sandbox.updateStrategy }} strategy: {{- toYaml .Values.sandbox.updateStrategy | nindent 4 }} {{- end }} template: metadata: annotations: checksum/sandbox-config: {{ include (print $.Template.BasePath "/sandbox-config.yaml") . | sha256sum }} checksum/sandbox-secret: {{ include (print $.Template.BasePath "/sandbox-secret.yaml") . | sha256sum }} {{ include "dify.ud.annotations" . | indent 8 }} labels: {{- include "dify.selectorLabels" . | nindent 8 }} component: sandbox {{/* # Required labels for istio # app: {{ template "dify.sandbox.fullname" . }} # version: {{ .Values.istioServiceMesh.version | quote }} */}} {{ include "dify.ud.labels" . | indent 8 }} spec: serviceAccountName: {{ include "dify.sandbox.serviceAccountName" . }} {{- if .Values.sandbox.priorityClassName }} priorityClassName: {{ .Values.sandbox.priorityClassName | quote }} {{- end }} {{- if .Values.image.sandbox.pullSecrets }} imagePullSecrets: {{- range .Values.image.sandbox.pullSecrets }} - name: {{ . }} {{- end }} {{- end }} {{- if .Values.sandbox.podSecurityContext }} securityContext: {{ toYaml .Values.sandbox.podSecurityContext | indent 8 }} {{- end }} containers: - image: "{{ .Values.image.sandbox.repository }}:{{ .Values.image.sandbox.tag }}" imagePullPolicy: "{{ .Values.image.sandbox.pullPolicy }}" name: sandbox {{- if .Values.sandbox.customLivenessProbe }} livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.sandbox.customLivenessProbe "context" $) | nindent 10 }} {{- else if .Values.sandbox.livenessProbe.enabled }} livenessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.sandbox.livenessProbe "enabled") "context" $) | nindent 10 }} httpGet: path: /health port: sandbox {{- end }} {{- if .Values.sandbox.customReadinessProbe }} readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.sandbox.customReadinessProbe "context" $) | nindent 10 }} {{- else if .Values.sandbox.readinessProbe.enabled }} readinessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.sandbox.readinessProbe "enabled") "context" $) | nindent 10 }} httpGet: path: /health port: sandbox {{- end }} {{- if .Values.sandbox.customStartupProbe }} startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.sandbox.customStartupProbe "context" $) | nindent 10 }} {{- else if .Values.sandbox.startupProbe.enabled }} startupProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.sandbox.startupProbe "enabled") "context" $) | nindent 10 }} tcpSocket: port: sandbox {{- end }} {{- if .Values.sandbox.containerSecurityContext }} securityContext: {{ toYaml .Values.sandbox.containerSecurityContext | indent 10 }} {{- end }} env: {{- if .Values.sandbox.extraEnv }} {{- toYaml .Values.sandbox.extraEnv | nindent 8 }} {{- end }} envFrom: - configMapRef: name: {{ template "dify.sandbox.fullname" . }} - secretRef: name: {{ template "dify.sandbox.fullname" . }} ports: - name: sandbox containerPort: 8194 protocol: TCP resources: {{- toYaml .Values.sandbox.resources | nindent 12 }} {{- if and (.Values.nodeSelector) (not .Values.sandbox.nodeSelector) }} nodeSelector: {{ toYaml .Values.nodeSelector | indent 8 }} {{- end }} {{- if .Values.sandbox.nodeSelector }} nodeSelector: {{ toYaml .Values.sandbox.nodeSelector | indent 8 }} {{- end }} {{- if and (.Values.affinity) (not .Values.sandbox.affinity) }} affinity: {{ toYaml .Values.affinity | indent 8 }} {{- end }} {{- if .Values.sandbox.affinity }} affinity: {{ toYaml .Values.sandbox.affinity | indent 8 }} {{- end }} {{- if and (.Values.tolerations) (not .Values.sandbox.tolerations) }} tolerations: {{ toYaml .Values.tolerations | indent 8 }} {{- end }} {{- if .Values.sandbox.tolerations }} tolerations: {{ toYaml .Values.sandbox.tolerations | indent 8 }} {{- end }} {{- end }}