Aller au contenu

Deployment and Ops Checklist

Context

This runbook provides a repeatable checklist for safe deployments and post-deployment verification.

Details

Pre-deployment: - confirm tests are green; - review configuration changes and environment variables; - confirm wiki updates are included when operational behavior changed. - when /speckit.review is used, preserve the generated terminal report as the review artifact; - if direct PR publication is unavailable, post a concise manual PR note with verdict and blockers.

Deployment: - apply code and configuration updates; - validate service startup and expected logs; - verify no immediate alert regressions.

Post-deployment: - run smoke checks on critical workflows; - validate quota state updates and alert behavior; - verify no broken links or wiki drift for changed features. - verify FR and EN published content has no spelling or grammar errors.

Rollback trigger examples: - repeated workflow failures after deploy; - missing/invalid operational state updates; - alerting failures with impact on incident response.

TOTP environment preparation and verification

  • Obtain explicit owner validation of the representative local version before merging to main, following the development workflow.
  • Run the isolated validation commands, including persistent login → transaction → dashboard → logout, factor replacement and restart. A reset-on-navigation public demo cannot validate private persistence.
  • Verify migration and concurrency on an isolated MariaDB database and inspect branch/PR CI results. SQLite checks and versioned workflow tests do not prove that a remote run passed.
  • Provision independent persistent SECRET_KEY and TOTP_ENCRYPTION_KEY through the environment, back up the encryption key separately from the database, and apply migration 0005. Do not record secret values as evidence.
  • Use the interactive activation/replacement procedure. Verify confirmation, password-only refusal, previous-session revocation and rejection of the consumed confirmation code.
  • Verify actual Nginx/TLS and remote inaccessibility of port 8000. The versioned backend binding is 127.0.0.1:8000:8000; AUTH_PROXY_HOPS=0 is the default. Enable 1 only for a verified single trusted proxy, with origin/protocol forwarding and no host trust.
  • Check startup fails closed for invalid schema, factor or keys; check HTTPS, Secure/HttpOnly/SameSite=Lax cookies, CSRF-protected POST logout, and authentication responses without caching.
  • Branch, PR and manual workflow validation must not deploy; deployment is restricted to successful checks on a push to main. Do not infer production state from that configuration.

Rollback: preserve schema and factors. After activation, deny private access rather than exposing a version without TOTP. Diagnose and fix forward; unreadable keys or databases do not authorize a bypass. Retain administrative server access independent of the phone; without it, recovery requires hosting support.

See the activity report for historical results and their limits, and the non-published feature follow-up for implementation milestones.