Deployable vs Managed
- Deployable services are your
web,api, andworkerservices. - Managed services are platform-owned backing resources such as Postgres, Redis, and Cloud Storage.
What Ships Today
The backend and dashboard codebase ship managed-service support for:| Service | Typical env vars | Notes |
|---|---|---|
| Postgres | DATABASE_URL | standard connection string |
| Redis | REDIS_URL | standard Redis URL |
| Cloud Storage | GCS_BUCKET, GOOGLE_CLOUD_PROJECT | bucket/project values for storage SDKs |
Public CLI Surface Today
The public CLI is strongest on consuming managed-service outputs, not managing the full lifecycle. Use the CLI to:- read injected env vars with
floo env get - list masked env vars with
floo env list - deploy and debug apps that depend on those values
managed-services command. Keep that distinction clear when documenting app setup.
Managed Entries in Config
The current CLI config parser can distinguish managed Postgres and Redis entries from deployable services insidefloo.app.toml:
DATABASE_URL and REDIS_URL, and the public CLI docs should stay focused on that env-driven workflow unless a dedicated managed-service command surface ships.
Storage Caveat
The shipped backend exposes managed Cloud Storage withGCS_BUCKET and GOOGLE_CLOUD_PROJECT. The current public CLI docs focus on consuming those env vars once storage is provisioned, not on a separate CLI provisioning workflow.
Recommended Mental Model
- Define and deploy your app services.
- Treat managed services as injected dependencies.
- Read connection details from env vars, not hard-coded hostnames.
- Use logs and deploy history to debug dependency issues.