apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "wiki.fullname" . }} labels: {{- include "wiki.labels" . | nindent 4 }} spec: replicas: {{ .Values.replicaCount }} revisionHistoryLimit: {{ .Values.revisionHistoryLimit }} selector: matchLabels: {{- include "wiki.selectorLabels" . | nindent 6 }} template: metadata: labels: {{- include "wiki.selectorLabels" . | nindent 8 }} spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} serviceAccountName: {{ include "wiki.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} {{- if .Values.sideload.enabled }} initContainers: - name: {{ .Chart.Name }}-sideload image: "{{ .Values.image.repository }}:{{ default "latest" .Values.image.tag }}" imagePullPolicy: {{ default "IfNotPresent" .Values.image.imagePullPolicy }} env: {{- toYaml .Values.sideload.env | nindent 12 }} command: [ "sh", "-c" ] args: [ "mkdir -p /wiki/data/sideload && git clone --depth=1 {{ .Values.sideload.repoURL }} /wiki/data/sideload/" ] {{- end }} containers: - name: {{ .Chart.Name }} securityContext: {{- toYaml .Values.securityContext | nindent 12 }} image: "{{ .Values.image.repository }}:{{ default "latest" .Values.image.tag }}" imagePullPolicy: {{ default "IfNotPresent" .Values.image.imagePullPolicy }} env: {{- if .Values.nodeExtraCaCerts }} - name: NODE_EXTRA_CA_CERTS value: {{ .Values.nodeExtraCaCerts }} {{- end }} - name: DB_TYPE value: postgres {{- if (.Values.externalPostgresql).databaseURL }} - name: DATABASE_URL value: {{ .Values.externalPostgresql.databaseURL }} - name: NODE_TLS_REJECT_UNAUTHORIZED value: {{ default "1" .Values.externalPostgresql.NODE_TLS_REJECT_UNAUTHORIZED | quote }} {{- else }} - name: DB_HOST value: {{ template "wiki.postgresql.host" . }} - name: DB_PORT value: "{{ default "5432" .Values.postgresql.postgresqlPort }}" - name: DB_NAME value: {{ default "wiki" .Values.postgresql.postgresqlDatabase }} - name: DB_USER value: {{ default "wiki" .Values.postgresql.postgresqlUser }} - name: DB_SSL value: "{{ default "false" .Values.postgresql.ssl }}" - name: DB_SSL_CA value: "{{ default "" .Values.postgresql.ca }}" - name: DB_PASS valueFrom: secretKeyRef: {{- if .Values.postgresql.existingSecret }} name: {{ .Values.postgresql.existingSecret }} {{- else }} name: {{ template "wiki.postgresql.secret" . }} {{- end }} key: {{ template "wiki.postgresql.secretKey" . }} {{- end }} - name: HA_ACTIVE value: {{ .Values.replicaCount | int | le 2 | quote }} {{- with .Values.volumeMounts }} volumeMounts: {{- toYaml . | nindent 12 }} {{- end }} ports: - name: http containerPort: 3000 protocol: TCP livenessProbe: {{- toYaml .Values.livenessProbe | nindent 12 }} readinessProbe: {{- toYaml .Values.readinessProbe | nindent 12 }} startupProbe: {{- toYaml .Values.startupProbe | nindent 12 }} resources: {{- toYaml .Values.resources | nindent 12 }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.volumes }} volumes: {{- toYaml . | nindent 8 }} {{- end }}