Pipelines Deploy do SAPI

A partir da versão 0.25.846 (03/10/2023) a aplicação do Sapi utiliza arquivos de config com informações sensíveis encriptadas.

Foi adicionado o package secure-config (https://www.npmjs.com/package/@tsmx/secure-config) para possibilitar a leitura dessas informações.

A encriptação dos configs é efetuada nos pipelines de Build, para isso foi criada uma varíável nomeada encriptKey que guarda o valor da chave gerada pelo package @tsmx/secure-config-tool (https://www.npmjs.com/package/@tsmx/secure-config-tool).

Como existem configurações diferentes para cada ambiente (chave, envio de informações para o Sonar Qube), foram configurados 2 pipelines.

Passos para geração da chave:

  1. Instalação Global do package:
    • npm i -g @tsmx/secure-config-tool;

  2. Geração:
    • secure-config-tool genkey


A chave gerada deve ser utilizada no Pipeline de Build e também configurada como variável de ambiente com o nome CONFIG_ENCRYPTION_KEY nas VMs para que a aplicação possa efetuar a leitura do config.

Atenção

O package @tsmx/secure-config-tool não deve ser instalado nas VMs, ele é utilizado apenas para a geração da chave, encriptação e validação do arquivo de config.

Validação arquivo encriptado:

No mesmo ambiente onde foi instalado o package @tsmx/secure-config-tool:

  • Copiar o arquivo encriptado para o ambiente
  • Executar: secure-config-tool test config-xxx.json --verbose > teste.txt 

Esse procedimento gera um arquivo de nome test.txt que contém os valores encriptados e desencriptados para validação.

Pontos Importante

  • A versão miníma do NodeJs passa a ser a 12.14.0 (https://nodejs.org/en/blog/release/v12.14.0);
  • Os arquivos de config antigos (*.json) não são mais necessários e devem ser removidos da pasta ..\linx-sapi\support\env nas VMs