Specifying required environment variables

Heroku’s app.json schema has some useful ideas, like marking certain environment variables as required. It also allows adding a description to these env vars.

This would be a useful addition to fly.toml for building app templates that require specific variables or secrets to run. Rather than relying on Docker images to check for these values, deployment could fail fast when these variables are not set.

Also good for ADD developers like me who don’t read the docs up front :laughing:

We’ve been working on this! We’re not very far along, but you can look at:

  1. Add template launcher · Issue #419 · superfly/flyctl · GitHub
  2. Elixir launch options

The long term plan is to have a [template] block (or similar) in fly.toml that lets you define all the plumbing needed to run an app. Heroku’s app.json is pretty decent.