helm-charts/charts/cnpg-cluster/templates/cluster.cnpg.yaml
devthejo 103cc957ca
Some checks failed
Mirror Sync / codeberg (push) Successful in 8s
🎉 Release Commit / create release using commit-and-tag-version (push) Has been cancelled
feat: cnpg-cluster
2024-07-19 00:47:26 +02:00

166 lines
5 KiB
YAML

apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: {{ include "cnpg-cluster.fullname" . }}
labels:
{{- include "cnpg-cluster.labels" . | nindent 4 }}
annotations:
{{- include "cnpg-cluster.annotations" . | nindent 4 }}
spec:
logLevel: {{ .Values.logLevel }}
instances: {{ .Values.instances }}
{{- if .Values.image.repository }}
imageName: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
{{- end }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if or .Values.imagePullSecrets .Values.registryCredentials }}
imagePullSecrets:
{{- with .Values.imagePullSecrets }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- range $name, $settings := .Values.registryCredentials }}
- name: "{{ include "cnpg-cluster.fullname" $ }}-{{ $name }}"
{{- end }}
{{- end }}
{{- with .Values.resources }}
resources:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- if or .Values.nodeSelector .Values.tolerations .Values.extraAffinity }}
affinity:
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 6 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 6 }}
{{- end }}
{{- with .Values.extraAffinity }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}
storage:
size: {{ .Values.persistence.size | quote }}
{{- with .Values.persistence.resizeInUseVolumes }}
resizeInUseVolumes: {{ . | quote }}
{{- end }}
{{- if .Values.persistence.storageClass }}
{{- if (eq "-" .Values.persistence.storageClass) }}
storageClass: ""
{{- else }}
storageClass: "{{ .Values.persistence.storageClass }}"
{{- end }}
{{- end }}
{{- with .Values.persistence.pvcTemplate }}
pvcTemplate:
{{- toYaml . | nindent 6 }}
{{- end }}
{{- if .Values.backup.enabled }}
backup:
retentionPolicy: "{{ .Values.backup.retentionPolicy }}"
barmanObjectStore:
{{- toYaml .Values.backup.barmanObjectStore | nindent 6 }}
{{- end }}
minSyncReplicas: {{ .Values.minSyncReplicas }}
maxSyncReplicas: {{ .Values.maxSyncReplicas }}
postgresql:
pg_hba:
{{- with .Values.pg_hba }}
{{- toYaml . | nindent 8 }}
{{- end }}
parameters:
{{- with .Values.postgresqlParameters }}
{{- toYaml . | nindent 8 }}
{{- end }}
shared_preload_libraries:
{{- with .Values.sharedPreloadLibraries }}
{{- toYaml . | nindent 8 }}
{{- end }}
monitoring:
enablePodMonitor: {{ .Values.monitoring.enablePodMonitor }}
{{ if .Values.superuserSecretName }}
superuserSecret:
name: {{ .Values.superuserSecretName }}
{{ end}}
{{- if .Values.replica.enabled }}
replica:
enabled: true
source: {{ .Values.replica.source }}
{{- end }}
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
bootstrap:
{{- if .Values.recovery.enabled }}
recovery:
source: {{ .Values.recovery.externalClusterName | default "recovery-cluster" }}
{{ if .Values.recovery.database }}
database: {{ .Values.recovery.database }}
{{- end }}
{{ if .Values.recovery.owner }}
owner: {{ .Values.recovery.owner }}
{{- end }}
{{ if .Values.recovery.secretName }}
secret:
name: {{ .Values.recovery.secretName }}
{{ end }}
{{- if .Values.recovery.targetTime }}
recoveryTarget:
targetTime: "{{ .Values.recovery.targetTime }}"
{{- end }}
{{- else if (and .Values.pg_basebackup.enabled .Values.pg_basebackup.source) }}
pg_basebackup:
source: {{ .Values.pg_basebackup.source }}
{{- else }}
initdb:
database: {{ .Values.dbName }}
owner: {{ .Values.dbOwner }}
{{ if .Values.dbSecretName }}
secret:
name: {{ .Values.dbSecretName }}
{{ end }}
# postgis configuration plugins
postInitTemplateSQL:
{{- range $cmd := .Values.postgresqlInitCommandsBeforeExtensions }}
- {{ $cmd | quote }}
{{- end }}
{{- range $name := .Values.extensions }}
- CREATE EXTENSION IF NOT EXISTS "{{ $name }}";
{{- end }}
{{- range $cmd := .Values.postgresqlInitCommands }}
- {{ $cmd | quote }}
{{- end }}
{{ if .Values.postInitApplicationSQL }}
postInitApplicationSQL:
{{- toYaml .Values.postInitApplicationSQL | nindent 8 }}
{{ end }}
{{ if .Values.postInitApplicationSQLRefs }}
postInitApplicationSQLRefs:
{{- toYaml .Values.postInitApplicationSQLRefs | nindent 8 }}
{{ end }}
{{- end }}
externalClusters:
{{- if .Values.recovery.enabled }}
- name: {{ .Values.recovery.externalClusterName | default "recovery-cluster" }}
barmanObjectStore:
{{- toYaml .Values.recovery.barmanObjectStore | nindent 8 }}
{{- end }}
{{- if .Values.externalClusters }}
{{- toYaml .Values.externalClusters | nindent 4 }}
{{- end }}
{{- with .Values.clusterExtraSpec }}
{{- toYaml . | nindent 2 }}
{{- end }}