Hosting¶
The tab for people who run a Platform instance or change the resources the estate declares: hosts, DNS records, tunnels, repository settings and credentials. It holds no lore and no feature work. Nerthus.Core's dev hosts are described in Nerthus.Core (until cutover).
A Platform site¶
A site is one Postgres and the instances that share it; a host is a machine; an instance
is one nerthus serve process running one or more roles (the ecosystem map
lists them). No production site exists, and no site runs Platform yet: an instance runs on a laptop
or in CI.
- Configure a Platform instance - every setting, where it is read from, and the environment variables that override it.
- The Platform instance image - what the image carries and how it is pinned.
- Back up and restore a Platform site - the nightly
authoreddump and the corpus bundles, and how a restore is proved.
The estate's resources¶
Nerthus.Config declares every host, DNS record, tunnel, R2 bucket and GitLab project setting in Nerthus.Infra, records what it last observed, and plans the difference. Drift is reported and never fixed on its own.
- Read a plan - what each line of a plan means, and when one refuses to apply.
The runbooks¶
Each runbook is one situation and its procedure.
- Add a read host - a host declared into a site with an instance that serves reads, and the tunnel replica that follows from it.
- Adopt a host - a rented machine made a host of the estate: its key confirmed at the console, the agent installed, its identity minted there, its row declared.
- Apply from the laptop - the bootstrap way of changing the estate's resources, what it refuses before it acts, and the branch it leaves.
- Build and destroy a ceremony box - the throwaway machine a root credential is rotated on, the three properties that make it one, and the hash that proves them.
- Mint the Cloudflare token - the one scoped token
nerthus-configreads Cloudflare with, and why the account token is not it. - Move a site's pin - the image a site runs, moved forward by a merge request, and why a rollback is a higher version rather than an older digest.
- Read a dead-man alert - what the three messages mean, what the status codes behind them say, and what to check when the webhook itself has gone quiet.
- Reach a host when the mesh is down - the admin tunnel behind Cloudflare Access, the one command that opens it, and the trap that looks like a mail problem.
- Retire a host - the agent taken off a machine and its row, key and edge removed from the declaration, for the next plan to delete.
- Rotate a root credential - the account logins and the recovery identity, which live outside the vault and rotate by hand.
Under Nerthus.Core (until cutover)¶
These runbooks keep Core's dev hosts running and are deleted with Core.
- Bootstrap a fleet host
- Build the fleet image by hand
- Commission a rented host
- Keep the monitor box alive
- Manage notifications
- Move a runner between machines
- Offboard a host
- Recover a diverged host
- Recover a failed commit-back
- Restore the estate
- Roll the fleet back
- Rotate secrets
- Run a failover
- Stand the health worker down
- Tell which watcher is live
- Withdraw a source from Repozytorium Dzieł
See also¶
- The ecosystem map - which repositories exist and how they relate
- Instance secrets - where an instance keeps what it must not print