Verified: cnpg-controller-manager pod Ready on k3s-ringtail; CRDs clusters.postgresql.cnpg.io etc. installed; ArgoCD app Synced/Healthy. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.5 KiB
1.5 KiB
| title | modified | last-reviewed | tags | ||||
|---|---|---|---|---|---|---|---|
| CNPG Operator on Ringtail | 2026-05-13 | 2026-05-13 |
|
CNPG Operator on Ringtail
Bring up the cloudnative-pg operator on k3s-ringtail. Today the
operator only exists on minikube-indri (see
argocd/apps/cloudnative-pg.yaml, destination kubernetes.default.svc).
Prerequisite of migrate-immich-to-ringtail; consumed by immich-pg-on-ringtail.
What to do
- Add a sibling
argocd/apps/cloudnative-pg-ringtail.yamlpointing at the same mirror (mirrors/cloudnative-pg, tagv1.27.1), destinationhttps://ringtail.tail8d86e.ts.net:6443, namespacecnpg-system. - Mirror the
ServerSideApply=trueandCreateNamespace=truesync options (the CRDs exceed the annotation size limit). - Sync
appsthencloudnative-pg-ringtail. Verify the operator pod is running on ringtail.
Verification
kubectl --context=k3s-ringtail -n cnpg-system get pods
kubectl --context=k3s-ringtail get crd clusters.postgresql.cnpg.io
Why a separate app
Each ArgoCD app targets a single cluster via destination.server.
We could parameterize with ApplicationSets, but blumeops' convention
is to duplicate the manifest with a -ringtail suffix (see
alloy-ringtail, external-secrets-ringtail, etc.). Keep the
convention.
Out of scope
- Postgres clusters themselves (
immich-pg, etc.) — those come from immich-pg-on-ringtail. - Removing the minikube cnpg operator. That happens at the very end of the indri-k8s decommission, not in this chain.