add postgres deployment

This commit is contained in:
Stavros kois
2022-11-02 20:43:55 +02:00
parent dc7889d8e0
commit d83df67347
3 changed files with 75 additions and 0 deletions

View File

@@ -26,3 +26,17 @@
{{- $envList = mustAppend $envList (dict "name" "POSTGRES_PASSWORD" "valueFromSecret" true "secretName" $secretName "secretKey" "db_password") -}}
{{- include "common.containers.environmentVariables" (dict "environmentVariables" $envList) -}}
{{- end -}}
{{/*
Retrieve postgres volume configuration
*/}}
{{- define "postgres.volumeConfiguration" -}}
{{ include "common.storage.configureAppVolumes" (dict "appVolumeMounts" .Values.postgresAppVolumeMounts "emptyDirVolumes" .Values.emptyDirVolumes "ixVolumes" .Values.ixVolumes) | nindent 0 }}
{{- end -}}
{{/*
Retrieve postgres volume mounts configuration
*/}}
{{- define "postgres.volumeMountsConfiguration" -}}
{{ include "common.storage.configureAppVolumeMountsInContainer" (dict "appVolumeMounts" .Values.postgresql ) | nindent 0 }}
{{- end -}}

View File

@@ -0,0 +1,47 @@
{{ $values := (. | mustDeepCopy) }}
{{ $_ := set $values "common" (dict "nameSuffix" (include "postgres.nameSuffix" .)) }}
{{ include "common.deployment.common_config" $values | nindent 0 }}
spec: {{ include "common.deployment.common_spec" $values | nindent 2 }}
template: {{ include "common.deployment.pod.metadata" $values | nindent 4 }}
spec:
containers:
- name: {{ .Chart.Name }}-{{ include "postgres.nameSuffix" .}}
image: {{ template "postgres.imageName" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
env: {{ include "postgres.envVariableConfiguration" $values | nindent 10 }}
volumeMounts: {{ include "postgres.volumeMountsConfiguration" $values | nindent 10 }}
ports:
- name: postgres-tcp
containerPort: 5432
protocol: TCP
readinessProbe:
exec:
command:
- sh
- -c
- "until pg_isready -U${POSTGRES_USER} -h localhost; do sleep 2; done"
initialDelaySeconds: 15
failureThreshold: 5
periodSeconds: 15
timeoutSeconds: 2
livenessProbe:
exec:
command:
- sh
- -c
- "until pg_isready -U${POSTGRES_USER} -h localhost; do sleep 2; done"
initialDelaySeconds: 15
failureThreshold: 5
periodSeconds: 15
timeoutSeconds: 2
startupProbe:
exec:
command:
- sh
- -c
- "until pg_isready -U${POSTGRES_USER} -h localhost; do sleep 2; done"
initialDelaySeconds: 15
failureThreshold: 20
periodSeconds: 15
timeoutSeconds: 2
volumes: {{ include "postgres.volumeConfiguration" $values | nindent 8 }}

View File

@@ -2,6 +2,20 @@ appVolumeMounts:
export:
emptyDir: true
mountPath: /export
postgresAppVolumeMounts:
postgres-backup:
emptyDir: true
mountPath: /postgres_backups
postgres-data:
emptyDir: true
mountPath: /var/lib/postgresql/data
postgresql:
backupVolume:
datasetName: ix-postgres_backups
mountPath: /postgres_backups
dataVolume:
datasetName: ix-postgres_data
mountPath: /var/lib/postgresql/data
distributedIps: []
distributedMode: false
dnsConfig: