Repository navigation
Consolebook 0.2.0
Safer upgrades and recovery for a pilot: a backup before every migration,
Secure cookies behind HTTPS, backup copies that cannot be buried by a
replacement server, a rehearsed restore drill, and an operations guide.
Upgrading from 0.1.0 runs a migration, so the first start of 0.2.0 takes
a validated backup before it changes the database.
Added
- Before a new version migrates the database, it takes a validated backup
of it as it was and refuses to migrate without one, whichever command
runs first; the install guide shows how to go back with the previous
release. - A version that finds a database upgraded by a newer release refuses it in
plain words and names the way back. --public-url/CONSOLEBOOK_PUBLIC_URL(installer:--public-url): the
address people use. Anhttps://address marks sign-in cookiesSecure,
and the sign-in page points browsers that arrived by another address to it
(ADR 0025). The install guide gives a tested Caddy configuration for HTTPS.
Turning it on signs out sessions whose cookies were notSecure.doctor --backup-copy-dirreports whether off-server backup copies are
current, behind, unreachable, or not configured, without writing anything.- ADR 0027: Consolebook does
not encrypt backup copies; the install guide states what the share must
provide. - A restore drill from a lost server to verified
records, with a scripted version (scripts/restore-drill/) and a recorded
run from the v0.1.0 release. - Operating a pilot installation: what to monitor and
how, the logs and their retention, reporting a problem, and what support a
pre-alpha pilot can expect. The release workflow runs its commands against
a real install.
Changed
- The one-line install fetches the installer published with the latest
release instead of themainbranch, and every release asset carries
build provenance (gh attestation verify; ADR 0026).
Fixed
- A new server set up to replace a lost one no longer copies its own empty
database into the backup copy directory as the newest backup. A copy
directory holds one installation's backups, and copying there is refused
until the lost installation is restored; a restore then backs up what it
restored, so copies resume at once. The database a restore sets aside is
never copied off the server (#115). - Two backups or restores within the same second no longer fail or mislabel
the set-aside database as damaged; the second waits for a new name. doctorjudges whether the newest backup is overdue against the service's
backup interval (--backup-interval-hours, or
CONSOLEBOOK_BACKUP_INTERVAL_HOURS) instead of always 24 hours (#117).- A phase change that waited behind another write is no longer refused as
out of order; it is judged at the moment it can commit (#108). - After a restore, the set-aside database no longer counts as the newest
backup: snapshots order by their time, so off-server copy status,
catch-up copies, and retention follow the latest backup (#105). - A draft that saves after a failed save no longer keeps saying "The draft
did not save" (#83).
Install or upgrade
On a Linux server with systemd, as root:
curl -fsSL https://github.com/FieldmouseWorks/consolebook/releases/latest/download/install.sh | sudo shTo check where an archive came from:
gh attestation verify consolebook-linux-x86_64.tar.gz -R FieldmouseWorks/consolebook.
See docs/install.md.