Skip to main content
Every app on floo has two environments out of the box: dev and production. This is the backbone of how you ship safely.

The two URLs

EnvironmentURL pattern
dev<app-name>-dev.on.getfloo.com
production<app-name>.on.getfloo.com
Your git push always deploys to dev first. Production stays untouched until you promote.

The flow

git push origin main                      # deploys to dev
floo deploys watch --app my-app           # verify on the dev URL
floo releases promote --app my-app \      # promote to production
  --tag v1.2.0
Promote always moves the latest live dev deploy into production. You cannot accidentally promote a broken build — it has to have landed cleanly in dev first.

Per-environment config

Override config values per environment using [environments.<name>]:
[app]
name = "my-app"
access_mode = "accounts"

[environments.dev]
access_mode = "public"
Resolution: [environments.<name>] wins over [app]. This lets you run a locked-down production app while keeping dev open for rapid iteration. Common per-environment overrides:
  • access_mode — public in dev, accounts in prod
  • resources.cpu / resources.memory — small in dev, bigger in prod
  • managed service tier — basic in dev, standard in prod
See the config spec for every override-able field.

Per-environment env vars

Set an env var for only one environment with --env:
floo env set STRIPE_KEY=sk_test_... --app my-app --env dev
floo env set STRIPE_KEY=sk_live_... --app my-app --env production
Secrets and keys that differ between test and live systems should always be scoped this way.

Why this matters

Every team wants the same thing: fast iteration without shipping breakage. Dev/prod gives you both:
  • Move fast in dev. Push, see it live in seconds on the dev URL, share it with teammates.
  • Ship deliberately to production. Promote when you’re ready. Tag the release. Keep production stable.
No branch-per-environment dance, no staging cluster to maintain, no parallel infrastructure. Two URLs, one config file, one promote command.

Releases and Rollbacks

How promote flows work, and how to roll back production when you need to.

Environment Variables

Full scoping rules: app, service, environment.