{{- $needsPvc := eq (include "trymeapp.needsPvc" .) "true" -}} apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "trymeapp.fullname" . }} labels: {{- include "trymeapp.labels" . | nindent 4 }} spec: replicas: {{ if eq .Values.database.mode "sqlite" }}1{{ else }}{{ .Values.replicaCount }}{{ end }} {{- if $needsPvc }} strategy: type: Recreate {{- end }} selector: matchLabels: {{- include "trymeapp.selectorLabels" . | nindent 6 }} template: metadata: labels: {{- include "trymeapp.selectorLabels" . | nindent 8 }} spec: securityContext: fsGroup: 1001 containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} ports: - name: http containerPort: {{ .Values.service.targetPort }} protocol: TCP env: - name: PORT value: {{ .Values.service.targetPort | quote }} - name: ADMIN_USER value: {{ .Values.config.adminUser | quote }} - name: DEV_AUTH_ENABLED value: {{ .Values.config.devAuthEnabled | quote }} - name: SEED_STARTER_QUIZZES value: {{ .Values.config.seedStarterQuizzes | quote }} - name: FRONTEND_BASE_URL value: {{ .Values.config.frontendBaseUrl | quote }} - name: AUTH0_DOMAIN value: {{ .Values.config.auth0Domain | quote }} - name: AUTH0_CLIENT_ID value: {{ .Values.config.auth0ClientId | quote }} - name: AUTH0_AUDIENCE value: {{ .Values.config.auth0Audience | quote }} - name: AUTH0_CALLBACK_URL value: {{ .Values.config.auth0CallbackUrl | quote }} - name: DATABASE_URL valueFrom: secretKeyRef: name: {{ include "trymeapp.fullname" . }}-secret key: DATABASE_URL - name: SESSION_SECRET valueFrom: secretKeyRef: name: {{ include "trymeapp.fullname" . }}-secret key: SESSION_SECRET - name: AUTH0_CLIENT_SECRET valueFrom: secretKeyRef: name: {{ include "trymeapp.fullname" . }}-secret key: AUTH0_CLIENT_SECRET livenessProbe: httpGet: path: /health port: http initialDelaySeconds: 10 periodSeconds: 20 readinessProbe: httpGet: path: /health port: http initialDelaySeconds: 5 periodSeconds: 10 {{- if $needsPvc }} volumeMounts: - name: sqlite-storage mountPath: {{ .Values.database.sqliteMountPath }} {{- end }} resources: {{- toYaml .Values.resources | nindent 12 }} {{- if $needsPvc }} volumes: - name: sqlite-storage persistentVolumeClaim: claimName: {{ include "trymeapp.fullname" . }}-sqlite-pvc {{- end }}