Pular para o conteúdo principal

Secrets

1. Visão Geral

Secrets armazenam valores sensíveis usados por Flows, Backend Apps e Frontend Apps — senhas de banco, tokens de API, chaves de assinatura, etc. Diferente de um Config Map, o valor de uma secret não pode ser visualizado depois de salvo (fica mascarado), mesmo por quem tem acesso à tela.

Use Secrets sempre que o valor for uma credencial ou dado sensível. Para valores que só precisam ser configuráveis por ambiente, mas não são sigilosos (como uma URL), use um Config Map.

2. Criando uma Secret

Na tela de Secrets, o botão de criação abre o formulário New Secret:

Basic Information

CampoObrigatórioDescrição
SecretSimNome da secret. Precisa seguir convenções do Kubernetes: apenas letras minúsculas, números e hífens. Exemplo: my-secret.
TypeSimEscopo de dono da secret. Ex: Squad.
SquadSimSquad dono da secret (aparece quando Type = Squad). Padrão: Default.
DescriptionNãoDescrição livre do propósito da secret.

Properties

Uma secret pode ter uma ou mais properties — pares chave/valor dentro da mesma secret. Clique em + Add Property para adicionar uma nova.

Cada property tem:

CampoDescrição
Property NameNome da propriedade dentro da secret (ex: HOST, PASSWORD, TOKEN).
Values by EnvironmentUm valor diferente por ambiente (ex: test, production). O valor fica mascarado (•••), com um ícone de olho para revelar temporariamente o que foi digitado.

Isso permite, por exemplo, ter uma secret db-credentials com properties HOST, USER e PASSWORD, cada uma com um valor diferente para test e para production.

Clique em Save para concluir.

3. Usando uma Secret em Flows, Backend e Frontend Apps

Depois de criada, uma secret precisa ser explicitamente vinculada ao Flow, Backend App ou Frontend App que vai usá-la: em cada um deles existe uma aba onde você seleciona quais secrets (e/ou config maps) aquele app pode acessar. Sem essa vinculação, a secret não fica disponível para uso, mesmo existindo na plataforma.

Depois de vinculada, o valor de uma property é acessado pela expressão:

{$.env.secret_name.property_name}

Por exemplo, para acessar a property PASSWORD da secret db-credentials:

{$.env.db-credentials.PASSWORD}

O valor retornado é o correspondente ao ambiente em que o Flow/App está rodando (test, production, etc.).

4. Perguntas frequentes

Dá para ver o valor de uma secret depois de salva? Não — o valor fica mascarado. Só é possível ver o que está sendo digitado no momento da criação/edição (ícone de olho), não o valor já salvo.

Qual a diferença entre Secret e Config Map? Veja a comparação em Config Maps.

Uma secret pode ser usada por mais de um Flow ou App? TODO: confirmar se a mesma secret pode ser vinculada a múltiplos Flows/Apps simultaneamente.