diff --git a/README.md b/README.md index 220fa9a..5b059f6 100644 --- a/README.md +++ b/README.md @@ -28,3 +28,8 @@ visible in the registrar's own list. Audited 2026-11-01, including the full commit history: no credentials, tokens, keys, member emails or account identifiers. Where a runbook needs a credential to exist (a backup passphrase, an S3 key), it records **where the credential is held**, never the credential. + + +## Completed + +- **[cloudron-server-migration.md](cloudron-server-migration.md)** — the move to Infomaniak, **completed 2026-11-02**. Kept as the record of how it was planned and done; current operational procedure now lives in the co-op's `cloudron-ops` skill and current member-facing description in `co-op/docs/infrastructure.md`. diff --git a/cloudron-server-migration.md b/cloudron-server-migration.md index 836b653..f0ca695 100644 --- a/cloudron-server-migration.md +++ b/cloudron-server-migration.md @@ -1,5 +1,20 @@ # Cloudron server migration — Hostinger → Infomaniak +> **COMPLETED 2026-11-02.** The migration is done: the co-op's services run on the new +> Infomaniak box, every hostname resolves there, 16 apps verified against the pre-migration +> baseline, and members were notified before and after the window. +> +> **This document is now HISTORY — retained deliberately, not pending work.** It is the record of +> how the move was planned and carried out, and it is worth keeping for the next one. Read it for +> what was learned, not for current state. Two things went stale the moment the cutover finished: +> anything marked "to do" below, and the mail architecture (see the note further down). +> +> **Where the live knowledge lives now:** the `cloudron-ops` skill for operational procedure, and +> `co-op/docs/infrastructure.md` for the member-facing description. Those two are maintained; this +> file is not. + +--- + Pre-flight and cutover runbook for moving the co-op's Cloudron server. Written 2026-10-29 from a live inventory of the server; revised 2026-10-30 after a read-only review against live DNS, federation and backup state. **Owner:** Nathan. **Executor:** @@ -367,9 +382,13 @@ by pre-cutover DNS plus port 25 — the point is that no *unexplained* failure a --- -# STATE OF PLAY — 2026-11-02 (read this first) +# STATE OF PLAY — 2026-11-02 (AS IT WAS BEFORE THE CUTOVER — superseded) -Written for whoever picks this up next, including a fresh agent session with none of the history. +Written before the cutover for whoever picked it up next, including a fresh agent session with none of +the history. It is kept verbatim because it shows what was believed at the time and what turned out to +matter. **One thing below is now wrong on purpose-left-alone grounds: mail.** Listmonk has since moved to +Scaleway TEM (`smtp.tem.scaleway.com`, username = the DKIM selector UUID) — see the `cloudron-ops` skill +for the current arrangement rather than trusting this section. ## Mail: receiving on the box, sending through a relay