Phase 2: Platform CNPG Foundation
Goal: CloudNativePG operator + shared infrastructure on k3s. Platform provides the capability, does NOT define app-level resources.
Owner: Dev agent
Repo: pal-e-platform
Issue: #11
PRs: #12 (merged), #14 (merged — partial drift fix, superseded by architecture revision)
Scope (reduced from original):
- CNPG operator Helm release + cnpg-system namespace — DONE
- postgres namespace — DONE
- MinIO bucket (postgres-wal) + IAM user/policy — DONE
- S3 credentials secret in postgres namespace — DONE
Explicitly NOT in scope (moved to Phase 3 / pal-e-docs):
- Cluster CRD — app-level, goes in pal-e-docs
- Superuser secret — app-level
- App DB credentials — app-level
- ScheduledBackup CRD — app-level
Status: Platform foundation is deployed and running. Remaining work is cleanup (Phase 2b).
Lessons: PR #12 put too much in platform. PRs #14/#15 tried to fix TF provider drift instead of questioning the architecture. See plan-level Lessons Learned.