apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }}-backend namespace: {{ .Release.Namespace }} labels: app: cvat-app tier: backend {{- include "cvat.labels" . | nindent 4 }} {{- with .Values.cvat.backend.labels }} {{- toYaml . | nindent 4 }} {{- end }} {{- with .Values.cvat.backend.annotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} spec: replicas: {{ .Values.cvat.backend.replicas }} strategy: type: Recreate selector: matchLabels: {{- include "cvat.labels" . | nindent 6 }} {{- with .Values.cvat.backend.labels }} {{- toYaml . | nindent 6 }} {{- end }} app: cvat-app tier: backend template: metadata: labels: app: cvat-app tier: backend {{- include "cvat.labels" . | nindent 8 }} {{- with .Values.cvat.backend.labels }} {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.cvat.backend.annotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} spec: containers: - name: cvat-backend-app-container image: {{ .Values.cvat.backend.image }}:{{ .Values.cvat.backend.tag }} {{- with .Values.cvat.backend.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} env: - name: DJANGO_MODWSGI_EXTRA_ARGS value: {{ .Values.cvat.backend.envs.DJANGO_MODWSGI_EXTRA_ARGS}} - name: ALLOWED_HOSTS value: {{ .Values.cvat.backend.envs.ALLOWED_HOSTS | squote}} - name: UI_HOST value: "{{ .Release.Name }}-frontend-service" - name: UI_PORT value: "{{ .Values.cvat.frontend.service.ports }}" {{- if .Values.redis.enabled }} - name: CVAT_REDIS_HOST value: "{{ .Release.Name }}-redis-master" {{- else }} - name: CVAT_REDIS_HOST value: "{{ .Values.redis.external.host }}" {{- end }} {{- if .Values.postgresql.enabled }} - name: CVAT_POSTGRES_HOST valueFrom: secretKeyRef: name: "{{ .Release.Name }}-{{ .Values.postgresql.secret.name }}" key: postgresql-hostname - name: CVAT_POSTGRES_USER valueFrom: secretKeyRef: name: "{{ .Release.Name }}-{{ .Values.postgresql.secret.name }}" key: postgresql-username - name: CVAT_POSTGRES_DBNAME valueFrom: secretKeyRef: name: "{{ .Release.Name }}-{{ .Values.postgresql.secret.name }}" key: postgresql-database - name: CVAT_POSTGRES_PASSWORD valueFrom: secretKeyRef: name: "{{ .Release.Name }}-{{ .Values.postgresql.secret.name }}" key: postgresql-password {{- else }} - name: CVAT_POSTGRES_HOST value: "{{ .Values.postgresql.external.host }}" - name: CVAT_POSTGRES_USER value: "{{ .Values.postgresql.external.user }}" - name: CVAT_POSTGRES_DBNAME value: "{{ .Values.postgresql.external.dbname }}" - name: CVAT_POSTGRES_PASSWORD value: "{{ .Values.postgresql.external.password }}" - name: CVAT_POSTGRES_PORT value: "{{ .Values.postgresql.external.port }}" {{- end }} {{- with .Values.cvat.backend.additionalEnv }} {{- toYaml . | nindent 10 }} {{- end }} ports: - containerPort: 8080 volumeMounts: - mountPath: /home/django/data name: cvat-backend-data subPath: data - mountPath: /home/django/keys name: cvat-backend-data subPath: keys - mountPath: /home/django/logs name: cvat-backend-data subPath: logs - mountPath: /home/django/models name: cvat-backend-data subPath: models {{- with .Values.cvat.backend.additionalVolumeMounts }} {{- toYaml . | nindent 10 }} {{- end }} initContainers: {{- if .Values.cvat.backend.permissionFix.enabled }} - name: user-data-permission-fix image: busybox command: ["/bin/chmod", "-R", "777", "/home/django"] {{- with .Values.cvat.backend.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} volumeMounts: {{- if .Values.cvat.backend.defaultStorage.enabled }} - mountPath: /home/django/data name: cvat-backend-data subPath: data - mountPath: /home/django/keys name: cvat-backend-data subPath: keys - mountPath: /home/django/logs name: cvat-backend-data subPath: logs - mountPath: /home/django/models name: cvat-backend-data subPath: models {{- end }} {{- with .Values.cvat.backend.additionalVolumeMounts }} {{- toYaml . | nindent 10 }} {{- end }} {{- end }} {{- with .Values.cvat.backend.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.cvat.backend.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }} volumes: {{- if .Values.cvat.backend.defaultStorage.enabled }} - name: cvat-backend-data persistentVolumeClaim: claimName: "{{ .Release.Name }}-backend-data" {{- end }} {{- with .Values.cvat.backend.additionalVolumes }} {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }}