Variables and secrets

Configuration that stays in sync and secrets that stay sealed.

Variables can reference other projects, so an address changes in one place. Secrets are sealed on the server, can rotate on a schedule, and can come from Infisical, Vault, Doppler or 1Password.

Open source, MIT licensed · Runs on any Linux server with Docker

Sound familiar?

Copied .env files drift, and secrets end up in them.

The same API address lives in five env files until one is missed. A password pasted into a variable is readable by anyone who can open the project.

How it works

Three steps, on a server you control.

  1. 01

    Reference, do not copy

    Write ${{ shop.API_URL }} and the value follows the shop project.

  2. 02

    Seal what is secret

    A secret can be replaced but never read back. Projects use it as ${{ secret.NAME }}.

  3. 03

    Rotate or fetch

    Generate and rotate a secret on a schedule, or read it from a secret manager on every deploy.

Workspace secrets

Before you get started.

Where are secrets stored?

Sealed on your server. They are resolved into the project's environment when it starts.

Which secret managers are supported?

Infisical, HashiCorp Vault, Doppler and 1Password.

More of FlatRun

Star us on GitHub