prole/deploy/opentofu/k3s
chrisfu 8e5cf9c9bc feat: config-driven CNPG cluster registry
Add [CNPG Clusters] section to prole.cfg as the authoritative source for
CNPG cluster definitions. The deploy pipeline reads this registry instead
of computing version-appended namespace names at runtime.

- conf/service/prole.cfg: add [CNPG Clusters] with knoe-db as identity
  cluster; fix DATABASE_NAMESPACE=knoe-db (was knoe-db-18-140); add
  KNOE_IMAGE_REGISTRY for the k3s in-cluster registry hostname
- deploy/opentofu/k3s/manifests/prole/knoe-db.yaml: replace hardcoded
  registry.test-system image with templated KNOE_IMAGE_REGISTRY
- knoe/core/actions.py: add _cnpg_cluster_registry(), _cnpg_identity_cluster();
  fix _initial_db_namespace() to use declared namespace without version suffix
- knoe/core/milestones.py: iterate over all declared clusters in Init and
  Deploy milestones; per-cluster CNPG_IMAGE_NAME support
- knoe/core/ops/cloudnative_pg.py: resolve KNOE_IMAGE_REGISTRY and
  CNPG_IMAGE_NAME overrides in _apply_manifest()

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 10:56:12 -07:00
..
argocd feat: service layer — GitLab, Redis, DB ArgoCD app, Kong, monitoring updates 2026-04-01 20:38:57 -07:00
manifests feat: config-driven CNPG cluster registry 2026-04-11 10:56:12 -07:00
main.tf feat: Add GitOps (Gitea) and Supabase integration, plus database options 2026-02-26 18:32:15 -08:00
opentofu.auto.tfvars Fix installer path portability (avoid hardcoded /Users paths) 2026-03-09 16:55:49 -07:00
README.md feat: infrastructure and installer updates for k3s, OpenTofu, and prole-db 2026-02-05 21:27:18 -08:00
terraform.tfstate Add prole.spec and extend OpenTofu k3s configuration 2026-02-24 21:47:02 -08:00
variables.tf Add prole.spec and extend OpenTofu k3s configuration 2026-02-24 21:47:02 -08:00

OpenTofu k3s Pipeline

This pipeline re-deploys the Prole environment into a k3s cluster using OpenTofu.

Usage

  1. Ensure opentofu.auto.tfvars is populated (install.py will generate it).
  2. Sync manifests into deploy/opentofu/k3s/manifests.
  3. Run:
tofu init
tofu plan
tofu apply

Files

  • main.tf: Applies Kubernetes manifests with the configured namespace.
  • variables.tf: Pipeline inputs (server URL, token, namespace).
  • opentofu.auto.tfvars: Auto-generated values from Prole install/config.
  • manifests/: Copy of k8s/ manifests to re-deploy.