runner env

Comandos para gerenciar variaveis de ambiente e secrets.

Visao Geral

O Runner separa configuracao em dois arquivos:

  • .env - Variaveis de configuracao
  • .secrets - Credenciais sensiveis (permissao 600)

Comandos

Status

runner env status --app <path>

Exemplo:

runner env status --app /apps/usuario_meu-app

Output:

Environment de meu-app:

.env:
  FLASK_ENV=production
  DEBUG=false
  LOG_LEVEL=info

.secrets:
  DB_PASSWORD=***
  REDIS_PASSWORD=***
  SECRET_KEY=***

Definir Variavel

runner env set --app <path> --key <key> --value <value>

Exemplo:

runner env set --app /apps/meu-app --key LOG_LEVEL --value debug

Definir Secret

runner env set --app <path> --key <key> --value <value> --secret

Exemplo:

runner env set --app /apps/meu-app --key API_KEY --value sk_live_xxx --secret

Regenerar Secret

runner env regenerate --app <path> --key <key>

Gera novo valor aleatorio para o secret.

Exemplo:

runner env regenerate --app /apps/meu-app --key SECRET_KEY

Validar Variaveis

runner env validate --app <path> --required "VAR1,VAR2,VAR3"

Verifica se todas as variaveis obrigatorias estao definidas.

Exemplo:

runner env validate --app /apps/meu-app --required "DB_HOST,DB_USER,DB_PASSWORD"

Output (sucesso):

All required variables are set.

Output (falha):

Missing required variables:
  - DB_PASSWORD

Arquivos

.env

Variaveis de configuracao (nao sensiveis):

FLASK_ENV=production
DEBUG=false
LOG_LEVEL=info
BASE_URL=https://app.meusite.com.br

.secrets

Credenciais sensiveis:

DB_PASSWORD=senha_secreta
REDIS_PASSWORD=outra_senha
SECRET_KEY=chave_muito_secreta_gerada
API_KEY=sk_live_xxxxxxxxxxxx

Permissoes: chmod 600 .secrets

Templates

O Runner processa templates em .env.template:

Sintaxe

# Valor fixo
FLASK_ENV=production

# Gerar automaticamente
SECRET_KEY=${GENERATE:secret:64}
DB_PASSWORD=${GENERATE:password:32}

# Valor manual (prompt no primeiro deploy)
EXTERNAL_API_KEY=${MANUAL:API key do servico externo}

# Referencia a contexto
PROJECT_NAME=${CONTEXT:PROJECT}
DOMAIN=${CONTEXT:DOMAIN}

Tipos de GENERATE

Tipo Descricao Exemplo
secret:N String alfanumerica de N caracteres abc123xyz...
password:N Senha com caracteres especiais aB3$xY9@...
uuid UUID v4 550e8400-e29b-...
hex:N String hexadecimal de N bytes a1b2c3d4...

Variaveis de CONTEXT

Variavel Descricao
PROJECT Nome do projeto
DOMAIN Dominio principal
VERSION Versao atual
INSTANCE Nome da instancia

Docker Compose

O Runner configura env_file automaticamente:

services:
  app:
    env_file:
      - .env
      - .secrets

Seguranca

  • .secrets tem permissao 600
  • Dollar signs ($) sao escapados para $$
  • Secrets nao aparecem em logs
  • env status mostra *** para secrets
By Borlot.com.br on 12/02/2026