84 lines
2.9 KiB
Smarty
84 lines
2.9 KiB
Smarty
|
{{- define "tc.v1.common.class.cnpg.cluster" -}}
|
||
|
{{- $values := .Values.cnpg -}}
|
||
|
|
||
|
{{- if hasKey . "ObjectValues" -}}
|
||
|
{{- with .ObjectValues.cnpg -}}
|
||
|
{{- $values = . -}}
|
||
|
{{- end -}}
|
||
|
{{- end -}}
|
||
|
{{- $cnpgClusterName := $values.name -}}
|
||
|
{{- $cnpgClusterLabels := $values.labels -}}
|
||
|
{{- $cnpgClusterAnnotations := $values.annotations -}}
|
||
|
{{- $hibernation := "off" -}}
|
||
|
{{- if or $values.hibernate (include "tc.v1.common.lib.util.stopAll" $) -}}
|
||
|
{{- $hibernation = "on" -}}
|
||
|
{{- end }}
|
||
|
---
|
||
|
apiVersion: {{ include "tc.v1.common.capabilities.cnpg.cluster.apiVersion" $ }}
|
||
|
kind: Cluster
|
||
|
metadata:
|
||
|
name: {{ $cnpgClusterName }}
|
||
|
namespace: {{ $.Values.namespace | default $.Values.global.namespace | default $.Release.Namespace }}
|
||
|
{{- $labels := (mustMerge ($cnpgClusterLabels | default dict) (include "tc.v1.common.lib.metadata.allLabels" $ | fromYaml)) }}
|
||
|
labels:
|
||
|
cnpg.io/reload: "on"
|
||
|
{{- with (include "tc.v1.common.lib.metadata.render" (dict "rootCtx" $ "labels" $labels) | trim) }}
|
||
|
{{- . | nindent 4 }}
|
||
|
{{- end }}
|
||
|
{{- $annotations := (mustMerge ($cnpgClusterAnnotations | default dict) (include "tc.v1.common.lib.metadata.allAnnotations" $ | fromYaml)) }}
|
||
|
annotations:
|
||
|
cnpg.io/hibernation: {{ $hibernation | quote }}
|
||
|
{{- with (include "tc.v1.common.lib.metadata.render" (dict "rootCtx" $ "annotations" $annotations) | trim) }}
|
||
|
{{- . | nindent 4 }}
|
||
|
{{- end }}
|
||
|
spec:
|
||
|
instances: {{ $values.instances | default 2 }}
|
||
|
|
||
|
bootstrap:
|
||
|
initdb:
|
||
|
database: {{ $values.database | default "app" }}
|
||
|
owner: {{ $values.user | default "app" }}
|
||
|
secret:
|
||
|
name: {{ $cnpgClusterName }}-user
|
||
|
|
||
|
primaryUpdateStrategy: {{ $values.primaryUpdateStrategy | default "unsupervised" }}
|
||
|
|
||
|
storage:
|
||
|
pvcTemplate:
|
||
|
{{- with (include "tc.v1.common.lib.storage.storageClassName" ( dict "rootCtx" $ "objectData" $values.storage )) | trim }}
|
||
|
storageClassName: {{ . }}
|
||
|
{{- end }}
|
||
|
accessModes:
|
||
|
- ReadWriteOnce
|
||
|
resources:
|
||
|
requests:
|
||
|
storage: {{ tpl ($values.storage.walsize | default $.Values.fallbackDefaults.vctSize) $ | quote }}
|
||
|
|
||
|
walStorage:
|
||
|
pvcTemplate:
|
||
|
{{- with (include "tc.v1.common.lib.storage.storageClassName" ( dict "rootCtx" $ "objectData" $values.storage )) | trim }}
|
||
|
storageClassName: {{ . }}
|
||
|
{{- end }}
|
||
|
accessModes:
|
||
|
- ReadWriteOnce
|
||
|
resources:
|
||
|
requests:
|
||
|
storage: {{ tpl ($values.storage.walsize | default $.Values.fallbackDefaults.vctSize) $ | quote }}
|
||
|
|
||
|
monitoring:
|
||
|
enablePodMonitor: {{ $values.monitoring.enablePodMonitor | default true }}
|
||
|
|
||
|
nodeMaintenanceWindow:
|
||
|
inProgress: false
|
||
|
reusePVC: true
|
||
|
|
||
|
{{- with (include "tc.v1.common.lib.container.resources" (dict "rootCtx" $ "objectData" $values) | trim) }}
|
||
|
resources:
|
||
|
{{- . | nindent 4 }}
|
||
|
{{- end }}
|
||
|
|
||
|
postgresql:
|
||
|
{{- tpl ( $values.postgresql | toYaml ) $ | nindent 4 }}
|
||
|
|
||
|
{{- end -}}
|