Files
akyldash/docs/operations/ROLLBACK.md
T
agent 6f809d3196
CI / tests-and-images (pull_request) Has been cancelled
Add guarded rollback and recovery apply tools
2026-10-11 19:30:22 +03:00

1.6 KiB

Rollback

Current status

There is no production release, backup, or installed rollback helper. The repository contains a root-owned rollback helper and a separate installer, but neither has been run on the VPS.

After a verified cold backup is created before a release, an owner must check that the data format is compatible with the prior backend/OpenSearch images. Then run the limited helper with that archive:

sudo -n /usr/local/sbin/akyldash-rollback \
  /var/backups/akyldash/<pre-release-backup>.tar.gz --data-compatible

The helper verifies archive integrity, Compose image references, deployment file hashes, and the availability of both prior local images. It makes and verifies a second cold backup, restores only the prior backend/OpenSearch image tags, waits for Compose healthchecks, and checks HTTPS locally. It refuses to restore if the current Compose/Caddyfile differs from the saved release. This does not restore data or automatically undo a release with an unknown schema change. The application has no formal migration framework; compatibility must be checked for every change. If it is uncertain, stop and ask the owner.

The initial owner-run deployment must record its running backend image ID in /opt/akyldash/deployed-image.txt with mode 0600; the rollback helper updates that record after a successful rollback, and infra/bootstrap/verify.sh checks it against the running container.

Any data restore requires the owner, a verified pre-change backup, and a maintenance window. Preserve the failed release and both backups until recovery is confirmed.