Pular para o conteúdo principal

Ambientes e secrets

Ambientes​

Um ambiente separa as configurações de uma mesma tarefa: por exemplo, Produção, com os tokens reais dos sistemas, e Sandbox, com os de teste. Toda execução roda num ambiente, escolhido na barra superior do console ou informado no disparo pela API (environment_id).

Cada ambiente tem:

CampoO que é
NomeO rótulo do ambiente, único na organização.
CorA cor que identifica o ambiente no console.
BranchO branch usado nas execuções deste ambiente.
SecretsAs credenciais cadastradas para ele.
AgendamentosOs agendamentos de tarefas que rodam nele.

Um ambiente com secrets ou agendamentos não pode ser excluído: remova-os antes.

Os ambientes podem ser declarados no Playbook, no arquivo kadu.yaml (O kadu.yaml). Nesse caso, o repositório é a fonte de verdade: uma edição feita só no console volta ao declarado no próximo push.

Secrets​

Um secret é uma credencial que uma tarefa usa: um token de API, uma senha, o id de uma conta. Ele pertence a um ambiente e, opcionalmente, a um workspace.

  • O valor é gravado cifrado e nunca é exibido de volta, nem no console nem na API. Para trocar, grave um valor novo.
  • Uma execução recebe só os secrets que a tarefa declara em required_secrets. É uma lista de permissão: um secret cadastrado e não declarado não chega à execução.
  • O secret chega à skill como variável de ambiente com o nome da chave (KOBANA_ACCESS_TOKEN, FINTERA_TOKEN…).
  • Antes de mandar um evento, um log ou uma pendência ao console, o Kadu substitui o valor de todo secret da execução por uma máscara.

Secrets pendentes​

Configurações → Secrets marca como Pendente todo secret que uma tarefa do workspace exige e que ainda não tem valor no ambiente. O disparo pelo console confere isso antes de começar e mostra o que falta, com o atalho Configurar secrets. No endpoint de disparo, um secret exigido sem valor recusa a chamada com 422 missing_secrets.

Ordem ao incluir um secret novo numa tarefa​

  1. Quem mantém o repositório adiciona o nome em required_secrets da skill e publica.
  2. Depois da sincronização, cadastre o valor no ambiente.

Se a tarefa tem agendamento, cadastre o valor antes do próximo horário. Sem ele, a execução recebe a variável vazia e falha no meio, e não no começo.