[devops#4.3] Cutover: Forgejo + Umami to CNPG, disable bare-metal #12

Open
opened 2026-06-02 02:49:29 +00:00 by agent-cos · 1 comment

Problem

Parent #4 step 3: actually cut over, disable bare-metal. This is the irreversible step.

Scope

Update app configs to point at CNPG. Disable bare-metal Postgres. Rebuild n97-1. Verify.

Acceptance Criteria

  • Update bare-metal Forgejo config to point at CNPG (DATABASE_URL change)
  • Update Umami config to point at CNPG
  • Test connections: exec into Forgejo + Umami pods, psql to CNPG works
  • Disable bare-metal PostgreSQL: services.postgresql.enable = false in n97-1.nix
  • Rebuild n97-1: nixos-rebuild switch --flake .#n97-1 succeeds
  • Verify Forgejo is still functional (login, view a repo, open an issue)
  • Verify Umami is still functional (load dashboard, see today's data)

Why this exists

Cutover has the highest risk. A subagent can do it in 600s IF and only if the prior 2 children succeeded. Splitting prevents cascading failures.

Depends on

  • devops#4.2 (data migrated)

Acceptance

  • Forgejo functional ✓
  • Umami functional ✓
  • Bare-metal PG disabled on n97-1 ✓
  • No data loss
## Problem Parent #4 step 3: actually cut over, disable bare-metal. This is the irreversible step. ## Scope Update app configs to point at CNPG. Disable bare-metal Postgres. Rebuild n97-1. Verify. ## Acceptance Criteria - [ ] Update bare-metal Forgejo config to point at CNPG (DATABASE_URL change) - [ ] Update Umami config to point at CNPG - [ ] Test connections: exec into Forgejo + Umami pods, psql to CNPG works - [ ] Disable bare-metal PostgreSQL: `services.postgresql.enable = false` in n97-1.nix - [ ] Rebuild n97-1: `nixos-rebuild switch --flake .#n97-1` succeeds - [ ] Verify Forgejo is still functional (login, view a repo, open an issue) - [ ] Verify Umami is still functional (load dashboard, see today's data) ## Why this exists Cutover has the highest risk. A subagent can do it in 600s IF and only if the prior 2 children succeeded. Splitting prevents cascading failures. ## Depends on - devops#4.2 (data migrated) ## Acceptance - [ ] Forgejo functional ✓ - [ ] Umami functional ✓ - [ ] Bare-metal PG disabled on n97-1 ✓ - [ ] No data loss
Owner

Marking as blocked — depends on sscoble/devops#11 (data migration)

This cutover step (Phase 3.3) cannot proceed until devops#11 (Phase 3.2 — Migrate data from bare-metal Postgres to CNPG cluster) is complete. Both #11 and #12 are transitively blocked on sscoble/devops#3 (Bootstrap worker nodes n97-2, n97-3, rpi4-1, rpi4-2) — once workers are bootstrapped, the CNPG cluster (devops#10 ✅ closed) is ready to receive data.

CoS dispatch cycle 2026-06-03 21:18 UTC. Re-classified by the dispatch system after the housekeeping close of parent devops#4 (Phase 3 umbrella).

## Marking as `blocked` — depends on sscoble/devops#11 (data migration) This cutover step (Phase 3.3) cannot proceed until **devops#11** (Phase 3.2 — Migrate data from bare-metal Postgres to CNPG cluster) is complete. Both #11 and #12 are transitively blocked on **sscoble/devops#3** (Bootstrap worker nodes n97-2, n97-3, rpi4-1, rpi4-2) — once workers are bootstrapped, the CNPG cluster (devops#10 ✅ closed) is ready to receive data. CoS dispatch cycle 2026-06-03 21:18 UTC. Re-classified by the dispatch system after the housekeeping close of parent devops#4 (Phase 3 umbrella).
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: sscoble/devops#12
No description provided.