Decommission the modron host (praha) — it moves to lar.ad/modron + flake-ops #31

Open
opened 2026-08-06 05:23:56 +00:00 by agent.odin · 1 comment
Collaborator

Stable ID: FM-MODRON-DECOMMISSION
Source: owner directive 2026-08-06
Source status: new user story, owner-requested
Disposition: open — waiting on modron + flake-ops to be ready
Blocked by: lar.ad/modron#21 (self-deployable), lar.ad/flake-ops#5 (staging VPS provisioned)

Problem

flaky-mesh currently owns the modron host at outputs/hosts/modron/. Under
the new architecture, modron becomes an independent building group
(lar.ad/modron) deployed via flake-ops. flaky-mesh stops owning the host.

The host entry, its secrets, its mesh membership, and the vendored modron
flake input all need to be decommissioned from this repo once the replacement
is live.

Scope

  1. Delete outputs/hosts/modron/. The entire host directory — configuration,
    secrets, any host-local files. The modron flake owns its config now.

  2. Remove the modron flake input. flake.nix:18-21 declares
    modron = { url = "git+https://git.sr.ht/~larandar/modron"; }. Once no host
    in this repo consumes it, the input goes.

  3. Remove mesh node entry. If contracts/mesh-nodes carries a modron entry
    (the praha VPS), it moves to wherever modron's mesh config lands
    (modron#21 Q2) or is removed.

  4. Regenerate fixtures. tests/aspects/fixtures/shadow-hosts.json and
    any parity fixtures that include modron need regeneration after the host is
    gone — same as any host removal.

  5. Clean up flake.lock. The modron input's lock entries disappear on
    nix flake lock --update-input modron removal.

Sequencing

This is the last step, not the first:

  1. lar.ad/modron#21 — modron can deploy itself
  2. lar.ad/flake-ops#5 — staging VPS provisioned and serving
  3. This ticket — flaky-mesh lets go

Deleting the host before the replacement is live breaks the fleet's auth proxy.

What stays

  • The modron flake input may survive if other hosts in flaky-mesh still
    consume services.modron.* through it. Check before removing — if only
    outputs/hosts/modron/ used it, it goes; if other hosts reference modron's
    modules, the input stays but the host directory goes.

Acceptance

  • outputs/hosts/modron/ deleted
  • No flaky-mesh host selects services.modron.*
  • modron flake input removed (if no other consumer) or documented as shared
  • contracts/mesh-nodes updated — modron entry removed or transferred
  • Fixtures regenerated (shadow-hosts.json, parity)
  • flake.lock clean
  • just check green
  • The auth proxy is served from the new location (flake-ops staging VPS)

Provenance

Owner request 2026-08-06. Modron becomes an independent building group
(lar.ad/modron); flake-ops provisions the staging VPS; this repo stops owning
the host.

flaky-mesh's outputs/hosts/modron/configuration.nix currently holds: sops
secrets (wireguard, provider env, management env), mesh membership, Caddy
mesh-only ingress, and the auth-manager + selector service configuration.

Stable ID: FM-MODRON-DECOMMISSION Source: owner directive 2026-08-06 Source status: new user story, owner-requested Disposition: open — waiting on modron + flake-ops to be ready Blocked by: [lar.ad/modron#21](https://jo.et0.pw/lar.ad/modron/issues/21) (self-deployable), [lar.ad/flake-ops#5](https://jo.et0.pw/lar.ad/flake-ops/issues/5) (staging VPS provisioned) ## Problem flaky-mesh currently owns the modron host at `outputs/hosts/modron/`. Under the new architecture, modron becomes an independent building group (`lar.ad/modron`) deployed via flake-ops. flaky-mesh stops owning the host. The host entry, its secrets, its mesh membership, and the vendored `modron` flake input all need to be decommissioned from this repo once the replacement is live. ## Scope 1. **Delete `outputs/hosts/modron/`.** The entire host directory — configuration, secrets, any host-local files. The modron flake owns its config now. 2. **Remove the `modron` flake input.** `flake.nix:18-21` declares `modron = { url = "git+https://git.sr.ht/~larandar/modron"; }`. Once no host in this repo consumes it, the input goes. 3. **Remove mesh node entry.** If `contracts/mesh-nodes` carries a modron entry (the praha VPS), it moves to wherever modron's mesh config lands (modron#21 Q2) or is removed. 4. **Regenerate fixtures.** `tests/aspects/fixtures/shadow-hosts.json` and any parity fixtures that include modron need regeneration after the host is gone — same as any host removal. 5. **Clean up `flake.lock`.** The modron input's lock entries disappear on `nix flake lock --update-input modron` removal. ## Sequencing This is the **last** step, not the first: 1. `lar.ad/modron`#21 — modron can deploy itself 2. `lar.ad/flake-ops`#5 — staging VPS provisioned and serving 3. **This ticket** — flaky-mesh lets go Deleting the host before the replacement is live breaks the fleet's auth proxy. ## What stays - **The `modron` flake input may survive** if other hosts in flaky-mesh still consume `services.modron.*` through it. Check before removing — if only `outputs/hosts/modron/` used it, it goes; if other hosts reference modron's modules, the input stays but the host directory goes. ## Acceptance - [ ] `outputs/hosts/modron/` deleted - [ ] No flaky-mesh host selects `services.modron.*` - [ ] `modron` flake input removed (if no other consumer) or documented as shared - [ ] `contracts/mesh-nodes` updated — modron entry removed or transferred - [ ] Fixtures regenerated (`shadow-hosts.json`, parity) - [ ] `flake.lock` clean - [ ] `just check` green - [ ] The auth proxy is served from the new location (flake-ops staging VPS) ## Provenance Owner request 2026-08-06. Modron becomes an independent building group (`lar.ad/modron`); flake-ops provisions the staging VPS; this repo stops owning the host. flaky-mesh's `outputs/hosts/modron/configuration.nix` currently holds: sops secrets (wireguard, provider env, management env), mesh membership, Caddy mesh-only ingress, and the auth-manager + selector service configuration.
Author
Collaborator

Owner ruling 2026-08-06

The mesh is being decommissioned. Full OIDC.

Wireguard mesh0 has been dying — keepalive-only, packet loss on mobile — and
the owner is formally killing it. Trust moves from mesh membership to OIDC
authentication
(Authelia on heimdallr).

This changes the decommission scope:

  • No mesh membership to transfer. The wireguard key and peer config in
    outputs/hosts/modron/secrets.yaml and configuration.nix do not migrate.
    They are deleted.
  • contracts/mesh-nodes modron entry is removed, not transferred.
  • policies/mesh dependency goes away for modron (and eventually fleet-wide).

Fleet-wide mesh decommission tracked on #32.

This ticket's acceptance stays the same — delete the host, clean inputs,
regenerate fixtures. The mesh-specific cleanups now land here rather than
requiring a transfer step.

## Owner ruling 2026-08-06 **The mesh is being decommissioned. Full OIDC.** Wireguard mesh0 has been dying — keepalive-only, packet loss on mobile — and the owner is formally killing it. Trust moves from *mesh membership* to *OIDC authentication* (Authelia on heimdallr). This changes the decommission scope: - **No mesh membership to transfer.** The wireguard key and peer config in `outputs/hosts/modron/secrets.yaml` and `configuration.nix` do not migrate. They are deleted. - **`contracts/mesh-nodes` modron entry** is removed, not transferred. - **`policies/mesh` dependency** goes away for modron (and eventually fleet-wide). Fleet-wide mesh decommission tracked on #32. This ticket's acceptance stays the same — delete the host, clean inputs, regenerate fixtures. The mesh-specific cleanups now land here rather than requiring a transfer step.
Commenting is not possible because the repository is archived.
No description provided.