Merge pull request 'deploy lock + journal: domain cutover 2026-09-21' (#28) from post-cutover-lock into main
This commit was merged in pull request #28.
This commit is contained in:
@@ -1238,3 +1238,52 @@ the host: `opencode-go/deepseek-v4-flash` and `opencode-go/glm-5.3-flash` answer
|
|||||||
`upgrader.env` (`LOOP_TIER=go` maps to the `opencode-go` auth entry; `LOOP_MODEL` overrides the
|
`upgrader.env` (`LOOP_TIER=go` maps to the `opencode-go` auth entry; `LOOP_MODEL` overrides the
|
||||||
tier default). Next fire Fri 2026-09-11 02:00 UTC.
|
tier default). Next fire Fri 2026-09-11 02:00 UTC.
|
||||||
- The steering orchestrator agent stays on `opencode-go/glm-5.2` (not asked to change).
|
- The steering orchestrator agent stays on `opencode-go/glm-5.2` (not asked to change).
|
||||||
|
|
||||||
|
## Session 2026-09-21 — domain cutover to ci.autonomic.zone (orchestrator)
|
||||||
|
|
||||||
|
**What happened.** Morning: hourly supervisor resumed the stalled 09-18 weekly run on the GO tier
|
||||||
|
(ZEN endpoint dead server-side — `UnknownError`; run completed 13 green PRs, 0 failed). Published
|
||||||
|
the missing week-2026-09-18 report (PR-finding #4; launcher defaults flipped to `go` in
|
||||||
|
cc-ci-orchestrator PR #23). Then executed the full domain cutover per
|
||||||
|
`cc-ci-plan/plan-domain-migration-ci-autonomic-zone.md` (PR #25).
|
||||||
|
|
||||||
|
**Plan deviation (simplification).** No dual-cert SNI: ONE Let's Encrypt cert carries SANs for
|
||||||
|
BOTH zones (`ci` + `*.ci` of autonomic.zone AND commoninternet.net) — the unchanged single-pair
|
||||||
|
`ssl_cert/ssl_key` traefik reconciler keeps working; Phase 4 reissues without the legacy SANs.
|
||||||
|
The new zone's DNS-01 challenge reuses the SAME acme-dns account: storage re-keyed by
|
||||||
|
`cc-ci-acme-storage-seed.service` (jq clone of the legacy entry under `ci.autonomic.zone`),
|
||||||
|
CNAME already delegated. Proven by a hand lego **staging** run before any production change.
|
||||||
|
|
||||||
|
**Merged:** cc-ci #39 (front doors dual Host rules, bridge/dashboard env URLs, drone abra rename,
|
||||||
|
runner RPC, naming.py → `*.ci.autonomic.zone`, dual-zone name regexes in lifecycle/warm/prune,
|
||||||
|
recipe-report URLs) · cc-ci #40 (seed-unit nesting fix) · cc-ci #41 (have_secret stack-scope —
|
||||||
|
caught live: the old stack's `*_rpc_secret_v1` satisfied the check post-rename) · cc-ci #42 (nix
|
||||||
|
interpolation escape) · orchestrator #27 (oc.ci host + `opencodeUiExtraHosts`, host self-pins,
|
||||||
|
flake bump).
|
||||||
|
|
||||||
|
**Deployed** via `nixos-rebuild test` → verify → `switch` (generation `nn1vwiv7v1k…`, running ==
|
||||||
|
boot). Cert SANs confirmed 4-name; all 5 front doors answer on BOTH zones
|
||||||
|
(200/200/303/401 + traefik 200), TLS verify=0 from outside; zero failed units; disk dropped
|
||||||
|
88%→45% after prune.
|
||||||
|
|
||||||
|
**Drone migration.** New abra app `drone.ci.autonomic.zone`, FRESH DB (module's
|
||||||
|
`DRONE_USER_CREATE` re-injected the sops bridge token). The Gitea OAuth app redirect now has both
|
||||||
|
URIs; the client secret was rotated (each Gitea PATCH regenerates it) and synced through
|
||||||
|
sops → `sops-install-secrets` → swarm secret v1 → drone. Bootstrapped OAuth
|
||||||
|
(`drone login ok (admin=true)`), re-enabled cc-ci + discourse repos, build timeout 60m.
|
||||||
|
Webhooks: ghost + discourse repointed (secrets preserved); cc-ci repo's bridge webhook →
|
||||||
|
`ci.autonomic.zone/hook`, stale drone hook deleted, Drone's auto-created new-zone hook active.
|
||||||
|
Old stack removed + orphaned secrets reaped.
|
||||||
|
|
||||||
|
**E2E proof.** `!testme` on keycloak PR #9 → bridge → drone build #1 (new DB numbering) → runner →
|
||||||
|
harness → `results.json` + PR card `✅ passed` linking `ci.autonomic.zone/runs/1/summary.png`.
|
||||||
|
|
||||||
|
**Deferred / open.**
|
||||||
|
- Warm stacks + backupbot stay on the legacy zone (data-warm volumes / restic password tied to
|
||||||
|
abra app names) — post-bake migration; harness regexes accept both zones meanwhile.
|
||||||
|
- Docs sweep (~60 references: AGENTS.md, README, skills incl. cc-ci-status front-door list,
|
||||||
|
launcher printed URLs).
|
||||||
|
- Phase 4 (after ≥7 clean days): drop legacy SANs (reissue), remove legacy Host arms + host
|
||||||
|
self-pins + Gandi records (`ci`, `*.ci`, `_acme-challenge.ci`), TTLs back to 3600.
|
||||||
|
- Host auto-update was `failed` 2026-09-15 (health check) — `/cc-ci-orchestrator-update` still
|
||||||
|
pending; next auto-attempt Tue 09-22.
|
||||||
|
|||||||
Generated
+4
-4
@@ -10,11 +10,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1790009762,
|
"lastModified": 1790010051,
|
||||||
"narHash": "sha256-pg5aOho9rJZmHtuGwiQgaW/uQ01vFb0f6lKsH+BB62o=",
|
"narHash": "sha256-0dz8fg4zqg54tk+1A7CHZAw+lK9vWxre6Tioi5B0ocU=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "c5106bc1eb3bcb1b8056b1f1bd2ed8ae7b652503",
|
"rev": "2f6787f0433e7ff3053116039f10c00cde34128f",
|
||||||
"revCount": 1554,
|
"revCount": 1558,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.autonomic.zone/recipe-maintainers/cc-ci.git"
|
"url": "https://git.autonomic.zone/recipe-maintainers/cc-ci.git"
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user