`runner set-ckey`

Cifra .env/.secrets locais em secrets.<instancia>.enc e registra a ckey daquele ambiente no vault/state local do servidor. E o comando para estruturar secrets isolados por instancia (ver Secrets por Instancia).

Sintaxe

runner set-ckey <app> --instance <NAME> [--ckey <VALOR>] [--json]

Flags

Flag Tipo Descricao
<app> string Nome da app registrada (obrigatorio)
--instance <NAME> string Instancia alvo (ex: production, staging) (obrigatorio)
--ckey <VALOR> string Ckey a usar. Se omitido, le de stdin sem eco (mascarada)
--json flag Output em JSON

Onde rodar

Rode runner set-ckey no servidor dono daquela ckey — o servidor que hospeda a instancia correspondente:

  • Producao: rode no servidor de producao (ops), com a ckey de producao.
  • Staging: rode no servidor de staging (dev), com a ckey de staging.

O dev nunca precisa tocar na ckey de producao, e vice-versa.

Comportamento

  • Cifra .env/.secrets do diretorio da app em secrets.<instancia>.enc dentro de .runner/.
  • Registra a ckey no vault/state local (cifrada em repouso com a master key do servidor).
  • Sem --ckey, le a ckey de stdin sem eco — nunca ecoa o valor no terminal e nunca grava a ckey no .deploy.yml.
  • No proximo deploy, o failover de resolucao encontra o secrets.<instancia>.enc recem-criado (ver Secrets por Instancia).

Erro: ckey diferente ja registrada

Se o app ja tem uma ckey diferente no state daquele servidor para aquela instancia, runner set-ckey falha loud, exit 1, sem escrever nada. O caso "mesmo servidor, ckeys diferentes para a mesma instancia" nao e suportado.

Exemplos

# Staging, ckey explicita (dev roda no servidor de staging)
runner set-ckey meu-app --instance staging --ckey "<staging-key>"

# Producao, ckey via stdin (ops roda no servidor de producao)
runner set-ckey meu-app --instance production
# digite a ckey (mascarada, sem eco)

# Output JSON
runner set-ckey meu-app --instance staging --ckey "<staging-key>" --json

Depois de rodar em cada servidor, commit e push do .runner/secrets.<instancia>.enc seguem o fluxo normal (o proprio deploy re-cifra e commita o arquivo).

Veja Tambem

By Borlot.com.br on 02/07/2026