{{- /* 선언적 데이터베이스/확장 관리 (CNPG 1.26+ Database CRD). 중요: bootstrap.initdb.postInitApplicationSQL 안의 CREATE EXTENSION 은 CNPG 1.30.0 에서 반영되지 않는다(오류도 나지 않고 조용히 무시됨 — 배포 검증에서 확인). 확장은 반드시 이 Database CRD 로 선언해야 한다. */}} {{- range .Values.databases }} --- apiVersion: postgresql.cnpg.io/v1 kind: Database metadata: name: {{ include "cnpg-cluster.fullname" $ }}-{{ .name }} namespace: {{ include "cnpg-cluster.namespace" $ }} labels: {{- include "cnpg-cluster.labels" $ | nindent 4 }} spec: cluster: name: {{ include "cnpg-cluster.fullname" $ }} name: {{ .name }} owner: {{ .owner | default $.Values.bootstrap.initdb.owner }} ensure: {{ .ensure | default "present" }} # retain = Database 리소스를 지워도 실제 DB 는 남는다 (운영 기본값) databaseReclaimPolicy: {{ .reclaimPolicy | default "retain" }} {{- with .extensions }} extensions: {{- range . }} - name: {{ .name }} ensure: {{ .ensure | default "present" }} {{- with .version }} version: {{ . | quote }} {{- end }} {{- with .schema }} schema: {{ . }} {{- end }} {{- end }} {{- end }} {{- with .schemas }} schemas: {{- range . }} - name: {{ .name }} ensure: {{ .ensure | default "present" }} {{- with .owner }} owner: {{ . }} {{- end }} {{- end }} {{- end }} {{- end }}