feat(db-bootstrap): reconcile service-DB sealed secrets via GitOps + seed script (#228)#229
Conversation
…seed script (#228) The per-service DB password SealedSecrets (fuzesales/fuzecontact/fuzeservice/ mendys-db-credentials, key `password`, ns `fuzeinfra`) were already committed to deploy/sealed-secrets/ in 7f25587 — but NOTHING reconciled that directory onto the cluster. fuzeinfra-prod only syncs helm/fuzeinfra and terraform cherry-picks specific Argo apps, so the live Secrets were ad-hoc `kubectl create secret`. On a namespace delete / from-scratch reprovision the provisioning Job would wedge again (x26k CreateContainerConfigError). Files-in-git were necessary but not sufficient. This closes the loop durably: - Add argocd/applications/fuzeinfra-sealed-secrets.yaml — a directory-type Argo Application (path deploy/sealed-secrets, recurse) into ns fuzeinfra, project fuzeinfra, automated prune+selfHeal. Self-heals the SealedSecrets onto the cluster; the controller decrypts them before the provisioning Job needs them, including after a full namespace re-create. - Wire that app into terraform/contabo/provisioning.tf (both null_resource blocks + a filesha256 trigger) so a from-scratch VPS reprovision registers it. - Add scripts/seed-service-db.sh — idempotent bootstrap that generates a 32-char alphanumeric password, seals it offline via seal-secret.sh into deploy/sealed-secrets/<svc>-db-credentials.yaml, and prints the enable-in-the- same-PR next steps. Refuses to clobber an existing manifest (--force to reseal). - Document the canonical two-secret DB provisioning flow + the never-flip- enabled-without-the-secret invariant in docs/CONSUMER_ONBOARDING_SHARED_CLUSTER.md §4. Co-authored-by: Israel Weinberg <99821070+izzywdev@users.noreply.github.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
CI Failure Analysis — test-infrastructureRoot cause: The ``` The Docker CLI binary is present (version 29.5.3 shown), but the daemon is not running — The changes introduced by this PR (ArgoCD app YAML, seed script, Terraform, docs) are unrelated — this is a pre-existing CI infrastructure issue. Fix needed — change one line in ```diff
GitHub-hosted Why I could not push the fix: This bot's GitHub App token lacks the |
Auto-opened — work completed by
@claudeon branchclaude/issue-228-20260709-1748.Closes #228