Runbook completo de restauración desde cero + prueba E2E ejecutada en la VPS: integridad sin clave privada, roundtrip de descifrado, pg_restore a BD scratch con 5000/5000 filas, zip y tar válidos. Sin tocar producción (no existe BD de producción de cayce-ops).
Runbook completo de restauración desde cero + prueba E2E ejecutada en la VPS: integridad sin clave privada, roundtrip de descifrado, pg_restore a BD scratch con 5000/5000 filas, zip y tar válidos. Sin tocar producción (no existe BD de producción de cayce-ops).
RESTORE.md documents the exact from-zero recovery on a fresh VPS:
download+verify (sha256 over encrypted artifacts, no private key needed
on the pull side), decrypt on the operator Mac, Postgres pg_restore,
Gitea unzip+migrate, Caddy/systemd/.env config restore, repo re-clone,
backup pipeline reinstall with the SAME age recipient, and a
post-restore checklist.
E2E test executed on the VPS (no production touched — cayce-ops has no
production DB; a probe DB was created and dropped):
- manifest.sha256: 3/3 artifacts OK (verified WITHOUT any private key)
- age decrypt roundtrip with a throwaway keypair (destroyed afterwards)
- pg_restore TOC valid; full restore into a scratch DB: 5000/5000 rows
- gitea zip valid, config tar valid (34 entries)
- all test material removed: probe DB dropped, throwaway key deleted,
recipient file removed, test backup deleted (was encrypted to the
destroyed throwaway key)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Runbook completo de restauración desde cero + prueba E2E ejecutada en la VPS: integridad sin clave privada, roundtrip de descifrado, pg_restore a BD scratch con 5000/5000 filas, zip y tar válidos. Sin tocar producción (no existe BD de producción de cayce-ops).
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.