Pular para o conteúdo

Segredos

Um projeto Restorm foi feito para ser submetido ao git. Os segredos, esses, nunca devem entrar nele. O tipo de valor Segredo responde a essa necessidade: a variável guarda uma referência para uma fonte, nunca o valor em si.

Escolha o tipo Segredo numa variável e, em seguida, a fonte. O ficheiro de projeto passa então a conter apenas o identificador da fonte e os seus parâmetros. O valor é resolvido no processo principal, no momento da execução.

Duas variáveis de ambiente de tipo Segredo (petstore_auth_token, api_key): a célula tem o marcador $= e os botões atualizar, editar a obtenção e bloquear — ao lado de uma variável de tipo cadeia de caracteres

Um segredo continua a poder ser consultado a partir da aplicação: o editor de ambientes, as vistas de valor resolvido, a consola interna e os excertos de código mostram o seu valor. O segredo é seu, já o conhece — o tipo Segredo não procura escondê-lo de si.

O que ele garante é que o valor:

  • nunca entra nos ficheiros que saem da sua máquina — não é escrito no projeto .restorm, logo não é submetido ao git, nem enviado para um repositório, nem incluído numa exportação;
  • não é transmitido a um serviço terceiro não autorizado — os destinos de saída passam pelo firewall.

Lê uma variável de ambiente do sistema operativo. Um único parâmetro: o nome da variável.

É a fonte a privilegiar em integração contínua: o segredo é injetado pelo cofre da sua CI, e o Restorm apenas o lê.

Terminal window
export API_TOKEN=""
restorm --open projet.restorm --run "Tests" --headless

Lê — e escreve — um ficheiro restorm.env colocado ao lado do projeto. É o modo local: o ficheiro fica na sua máquina e acrescenta-se ao .gitignore.

Ao contrário da fonte anterior, esta é gravável: pode introduzir o valor a partir do Restorm, que o guarda no ficheiro de segredos e não no projeto.

Os valores resolvidos ficam em cache. Depois de alterar um segredo no exterior (rotação de um token, modificação do ficheiro .env), utilize Atualizar o ambiente para limpar a cache e voltar a ler todas as fontes.

O Restorm expurga os segredos daquilo que escreve no disco:

As ferramentas MCP, por seu lado, recebem o valor resolvido, tal como o resto da aplicação: o agente pilota o Restorm em seu nome, sobre os seus próprios segredos. As garantias acima mantêm-se inalteradas — o valor não é escrito no projeto nem numa exportação, e não sai para um serviço terceiro não autorizado.

  1. Adicione restorm.env e *.responses.zip ao seu .gitignore.
  2. Em CI, utilize envVar em vez do ficheiro de segredos.
  3. A palavra-passe de um protocolo nativo (MQTT, AMQP, Redis, Kafka) também aceita um valor de tipo Segredo — não escreva essas palavras-passe em claro no pedido.