apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "ai-teacher.fullname" . }}-frontend labels: app: {{ include "ai-teacher.fullname" . }}-frontend spec: replicas: {{ .Values.frontend.replicaCount }} selector: matchLabels: app: {{ include "ai-teacher.fullname" . }}-frontend template: metadata: labels: app: {{ include "ai-teacher.fullname" . }}-frontend spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} containers: - name: frontend image: "{{ .Values.frontend.image.repository }}:{{ .Values.frontend.image.tag }}" imagePullPolicy: {{ .Values.frontend.image.pullPolicy }} ports: - containerPort: 80 env: - name: VITE_UPLOAD_ENABLED value: {{ .Values.frontend.env.VITE_UPLOAD_ENABLED | quote }} - name: VITE_DELETE_ENABLED value: {{ .Values.frontend.env.VITE_DELETE_ENABLED | quote }} - name: VITE_APP_AUTH_USERNAME valueFrom: secretKeyRef: name: {{ include "ai-teacher.secretName" . }} key: APP_AUTH_USERNAME volumeMounts: - name: nginx-conf mountPath: /etc/nginx/conf.d/default.conf subPath: default.conf resources: {{- toYaml .Values.frontend.resources | nindent 12 }} volumes: - name: nginx-conf configMap: name: {{ include "ai-teacher.fullname" . }}-nginx