Skip to content

← Back to Fly standards

Fly checklist

Step-by-step checklist for promoting a Fly API through staging, UAT, and production—GitHub secrets, Fly env vars, tunnel, and go-live gates.

Check items off in your browser (saved locally on this page).


See Fly · Sentry · Branches · GitHub

Staging checklist

Everything to stand up and run in the staging Fly org (staging branch).

UAT checklist

Full list for UAT (uat branch, UAT Fly org)—including promotion from staging.

Production checklist

Full list for production (main branch, production Fly org).

GitHub Actions information

These are the minimum repository secrets required for deploy. Add them under Settings → Secrets and variables → Actions in the GitHub repo. The deploy workflow uses them for Sentry (source maps and release tied to the build).

  • SENTRY_AUTH_TOKEN
  • SENTRY_ORG
  • SENTRY_PROJECT

All three must be defined before deploy can ship with production observability. More on go-live: Sentry standards.

Fly environment variables

Minimum Fly secrets on each tier’s app (fly secrets set). Set per app name in that tier’s Fly org.

  • MONGODB_URI — when the API uses MongoDB Atlas (MongoDB standards)
  • SENTRY_ORG
  • SENTRY_PROJECT
  • SENTRY_ENVIRONMENT — e.g. staging, uat, production
  • CLOUDFLARE_TUNNEL_TOKEN — so cloudflared can register the app with Cloudflare Tunnel

Example (one secret at a time or combined):

fly secrets set CLOUDFLARE_TUNNEL_TOKEN=<token> -a <fly-app-name>

Token from Cloudflare → your org’s tunnel → Install connector. See Fly tunnel standards.

Dedicated egress IPv4 (only if needed)

If the API talks to MongoDB Atlas or another service that uses IP access rules, manually attach a dedicated egress IPv4 to that Fly app and give that IP to the data layer.

fly ips allocate-egress —region iad -a <fly-app-name> —yes — then fly ips list and allowlist the egress address (not ingress).

If nothing external requires IP allowlisting, do not allocate an egress IP.

Atlas rule naming and key rotation: Naming conventions.