Skip to content

Pre-Go-Live Checklist

A list a deployer can tick through before opening the firewall. No hidden mandatory broker, no required cluster coordination, no per-deployment licensing dance — one binary, one config, one data directory.

  • Service account configured with the right network access (SFTP, SQL, mail — whatever the flows need).
  • Storage backend chosen, credentialed, and writable from the service account.
  • TLS terminating at the edge; Auth.KnownProxies set to the proxy’s literal IP address(es) (it does not accept CIDR ranges — a CIDR entry is silently dropped).
  • Local overlay offLocalOverlay.Enabled: false; /api/v1/local/... rejected at the edge.
  • Auth wired upAuth.Enabled: true; OIDC / LDAP / Windows credentials verified.
  • Secrets provider chosen and seeded; encryption key sourced (env var, file, or password).
  • Backups scheduled and a restore exercise tested. Not optional.
  • Monitoring scrapes /api/v1/platform/diagnostics; alert on 503 for more than 60 seconds.
  • Audit log shipped to the customer’s SIEM.
  • Swagger blocked at the reverse proxy (/swagger and /swagger/*), or gated behind auth — there is no config key to disable it.
  • Rollback runbook for “binary rollback” written and rehearsed.

If you’re short on time, these are the items that most often turn into a 2 a.m. incident:

  1. Untested restore. A backup you’ve never restored is a hope, not a backup. Rehearse it on a non-prod host.
  2. Encryption key not backed up separately. Lose the key and secrets.enc is unrecoverable.
  3. Auth.KnownProxies not set to the proxy’s literal IP(s). Every audit-log entry records the proxy’s IP instead of the real client. A CIDR range here is silently dropped — list the actual proxy address(es).
  4. Swagger left reachable. With no config key to disable it, it stays exposed unless you block it at the proxy or put auth in front of it.