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:
- Instalação Global do package:
npm i -g @tsmx/secure-config-tool;
- 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