Add Bitcoin Pulse operations runbook

This commit is contained in:
Tobias Ostner 2026-07-30 13:45:51 +07:00
parent 81fea16376
commit 1bdf25bf06
3 changed files with 271 additions and 16 deletions

View file

@ -162,9 +162,9 @@ message, Migratus error, and systemd exit status.
## Deployment and verification
A human must review and merge the change, provision the encrypted keys above,
and deploy the resulting NixOS generation manually. The agent does not access
or rebuild Tobserver.
Use `bitcoin-pulse-operations.md` for the standard build, switch, and complete
post-deployment procedure. The checks below cover the database-specific
acceptance paths.
After deployment, verify the service and loopback binding:
@ -240,14 +240,15 @@ NixOS test host: both must make `bitcoin-pulse-migrate.service` fail, leave
`bitcoin-pulse.service` stopped, finish within the configured timeout, and emit
an actionable journal message. Never inject invalid credentials into production.
## Rollback expectations
## Application compatibility constraints
A NixOS generation rollback changes the application package and service
configuration but does not reverse migrations in PostgreSQL. Do not use
`bitcoin-pulse-migrate rollback` as an automatic deployment action. Every schema
change must remain compatible with the previous application generation. Use an
expand/migrate/contract sequence for breaking changes, and perform any reviewed
manual rollback only after assessing data loss and application compatibility.
A full-host NixOS generation rollback is not part of the Bitcoin Pulse
production procedure because it can affect unrelated Tobserver services and it
does not reverse PostgreSQL migrations. Do not use `bitcoin-pulse-migrate
rollback` as an automatic deployment action. Every schema change must remain
compatible with the previously deployed application while that version remains
a possible recovery version. Use an expand/migrate/contract sequence for
breaking changes.
## Credential rotation for an existing database