Separation db-cluster and app

This commit is contained in:
2024-03-24 20:17:14 +03:00
parent fa0d03f97a
commit f239f1a495
7 changed files with 104 additions and 10 deletions

View File

@@ -34,7 +34,7 @@ spec:
- name: PG_URI
valueFrom:
secretKeyRef:
name: {{ required "Cluster name required" .Values.cnpg.clusterName }}-app
name: {{ required "Cluster creds secret required!" .Values.database.secretName }}
key: uri
envFrom:
- secretRef:

View File

@@ -1,57 +0,0 @@
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: {{ required "Cluster name required" .Values.cnpg.clusterName }}
spec:
startDelay: 300
stopDelay: 300
instances: 3
storage:
size: 2Gi
monitoring:
enablePodMonitor: true
{{ if .Values.cnpg.recovery.enable }}
externalClusters:
- name: {{ required "Old cluster name required" .Values.cnpg.recovery.oldClusterName }}
barmanObjectStore:
destinationPath: {{ .Values.cnpg.recovery.oldClusterName }}
endpointURL: {{ .Values.s3.endpointUrl | quote }}
s3Credentials:
accessKeyId:
name: {{ .Values.s3.secretName | quote}}
key: {{ .Values.s3.accessKeyKey | quote }}
secretAccessKey:
name: {{ .Values.s3.secretName | quote}}
key: {{ .Values.s3.secretKeyKey | quote }}
wal:
maxParallel: 8
{{ end }}
bootstrap:
{{ if .Values.cnpg.recovery.enable }}
recovery:
source: {{ required "Old cluster name required" .Values.cnpg.recovery.oldClusterName }}
{{ end }}
{{ if .Values.cnpg.backup.enable }}
backup:
barmanObjectStore:
destinationPath: {{ .Values.cnpg.backup.destinationPath }}
endpointURL: {{ .Values.s3.endpointUrl | quote }}
s3Credentials:
accessKeyId:
name: {{ .Values.s3.secretName | quote}}
key: {{ .Values.s3.accessKeyKey | quote }}
secretAccessKey:
name: {{ .Values.s3.secretName | quote}}
key: {{ .Values.s3.secretKeyKey | quote }}
wal:
compression: bzip2
maxParallel: 8
data:
compression: bzip2
retentionPolicy: "7d"
{{ end }}

View File

@@ -0,0 +1,37 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{.Release.Name}}-migration-job
labels:
app.kubernetes.io/managed-by: {{.Release.Service | quote }}
app.kubernetes.io/instance: {{.Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
annotations:
"helm.sh/hook": pre-install
spec:
template:
metadata:
name: {{.Release.Name}}-migration-pod
labels:
app.kubernetes.io/managed-by: {{.Release.Service | quote }}
app.kubernetes.io/instance: {{.Release.Name | quote }}
helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
spec:
restartPolicy: Never
containers:
- name: {{ .Release.Name }}-backend
image: ghcr.io/nullptroma/liquid-backend:1.0.0
imagePullPolicy: Always
ports:
- containerPort: 8080
env:
- name: PG_URI
valueFrom:
secretKeyRef:
name: {{ required "Cluster creds secret required!" .Values.database.secretName }}
key: uri
- name: MIGRATE_ONLY
value: "1"
imagePullSecrets:
- name: github-registry