trymeapp/helm-chart/templates/deployment.yaml

91 lines
3.2 KiB
YAML

{{- $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 }}