# CloudNativePG manages PostgreSQL databases as Kubernetes resources. The # companion Barman Cloud plugin sends database backups and transaction logs to # object storage; installing both here gives future apps one shared database # operator without forcing them to share one PostgreSQL server. # # Deliberately NO resources-finalizer.argocd.argoproj.io here. PostgreSQL # clusters managed by this operator hold application data, so removing this # Application must not cascade into a surprise deletion of database machinery. apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: cloudnative-pg namespace: argocd spec: project: default source: repoURL: https://tea.ahmza.com/ahmza.com/k8s-starter-pack.git targetRevision: main path: apps/cloudnative-pg destination: server: https://kubernetes.default.svc namespace: cnpg-system syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true # Both dependencies install cluster-wide CRDs. Server-side apply avoids # annotation-size limits and lets Kubernetes handle CRD fields safely. - ServerSideApply=true