---
title:  18. Onde configurar as integrações com terceiros e a instalação
slug: 18-onde-configurar-as-integracoes-com-terceiros-e-a-instalacao
docTags: 
createdAt: 2026-10-09T19:14:22.133Z
---

Este capítulo é um guia de consulta rápida: para cada integração com terceiros, mostra **onde** fica cada configuração, na ordem em que deve ser feita, no formato **Menu › Tela › campo**. O detalhe de cada tela, as mensagens de erro e as regras de uso estão nos capítulos do hub de integrações e de mensageria; aqui o foco é o caminho.

O roteiro se repete em todas as integrações: cadastrar a integração no hub com o endereço e a credencial, pedir ao administrador do sistema a aprovação do servidor na **lista de saída**, **Testar**, e só então ligar a integração ao que a usa (canais de área, alertas, mensagens ou conectores).

A última seção reúne os arquivos e as variáveis da instalação do Bússola/BSC no modo interno (Docker Compose) e em nuvem (Kubernetes). Valores secretos nunca aparecem neste manual: onde houver um segredo, ele está indicado como \<valor>.

***

## <font color="#15803D">18.1 Onde configurar o WhatsApp</font>

ID BSC-CFG-01

### <font color="#15803D">Para que serve</font>

O WhatsApp leva os alertas pessoais do Bússola/BSC ao celular de cada pessoa que confirmou o número. O envio é feito pelo provedor contratado, em nome da Empresa Exemplo S.A., e a configuração passa por seis telas: o cadastro da conta no hub, a lista de saída, o endereço dos avisos entregue ao provedor, a mensagem com o modelo aprovado, a regra de alertas e, por fim, o consentimento de cada pessoa.

Só pode haver uma integração de WhatsApp ativa por ambiente.

**Quem usa:** Analista de Integração de Dados; Administrador do sistema; Gestor de Desempenho (escritório de estratégia); Responsável por ação/área.

### <font color="#15803D">Passo a passo</font>

1. Obtenha com o provedor contratado: a URL base do serviço, o identificador do número, o identificador da conta, o token de acesso, o App Secret, o número de WhatsApp da empresa e o nome e o idioma do modelo aprovado dos alertas.
2. Integrações › Integrações › **Nova integração** › **WhatsApp** › **Identificação**: informe Nome (por exemplo, "WhatsApp — alertas (produção)"), Código, Objetivo, Ambiente e responsáveis.
3. Mesma tela › **Endereço**: preencha **URL base** (o endereço do provedor), **Identificador do número (phone number id)**, **Identificador da conta (WABA id)**, **Número de WhatsApp da empresa** e **Nome da empresa no consentimento** (o nome do remetente que aparece no texto de autorização, por exemplo Empresa Exemplo S.A.).
4. Mesma tela › **Autenticação**: preencha **Token de acesso**, **App Secret (assinatura dos avisos)** e **Token de verificação do webhook** (uma palavra que você escolhe). Só altere **Cabeçalho de autenticação** e **Esquema da autenticação** se o provedor pedir.
5. Mesma tela › **Avançado**: confira **Template aprovado dos alertas**, **Idioma do template** e **Teto diário de envios (0 = sem teto)**; clique em **Salvar**.
6. Início › Lista de saída das integrações › **Aprovar destino** (administrador do sistema): informe o **Servidor** do provedor, Protocolo **HTTPS**, porta 443, e a **Justificativa**.
7. Integrações › Integrações › abra a integração de WhatsApp › **Testar**. O teste lê o cadastro do número no provedor e não envia mensagem.
8. Integrações › Canais de área › quadro **WhatsApp da empresa** › copie o **Endereço dos avisos** e entregue-o ao provedor contratado junto com o token de verificação.
9. Início › Mensagens institucionais › abra a variação do tipo de aviso com **Canal** = **WhatsApp** e confira o nome e o idioma do modelo aprovado e o preenchimento de cada espaço numerado.
10. Gestão por indicadores › Alertas e mensagens › em cada tipo de registro, na coluna **Pessoas**, marque **WhatsApp** nas famílias de aviso desejadas (Registro novo, Atraso, Comentário, Mudança).
11. Início › Preferências de notificação › **Meu WhatsApp** (cada pessoa): **Confirmar pelo WhatsApp**, enviar o código pelo próprio celular, **Já enviei — verificar de novo** e **Ligar para os alertas do Bússola/BSC** (consentimento).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/-ZC1RyG-92OeOTqiwjPhK_image.png" size="62" isUploading="false" width="620" height="646" darkWidth="620" darkHeight="646" showCaption="false"}

Figura 196 — Integrações › Nova integração › WhatsApp: endereço do provedor, identificadores do número e da conta, token, App Secret e token de verificação.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/JQ-JRsa-zgiK65opVgQhI_image.png" size="62" isUploading="false" width="620" height="387" darkWidth="620" darkHeight="387" showCaption="false"}

Figura 197 — Início › Lista de saída das integrações › Aprovar destino: servidor, protocolo, porta e justificativa.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/EdECacO52wgC9ni9MLC4j_image.png" size="62" isUploading="false" width="620" height="387" darkWidth="620" darkHeight="387" showCaption="false"}

Figura 198 — Integrações › Canais de área › WhatsApp da empresa: o endereço dos avisos a entregar ao provedor contratado.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Mcvuj7M6ixurRqOquku8i_image.png" size="62" isUploading="false" width="620" height="387" darkWidth="620" darkHeight="387" showCaption="false"}

Figura 199 — Início › Mensagens institucionais: o modelo da mensagem, com as variantes por canal.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/zqgc1O-GVCdRdmkb8A13q_image.png" size="62" isUploading="false" width="620" height="387" darkWidth="620" darkHeight="387" showCaption="false"}

Figura 200 — Gestão por indicadores › Alertas e mensagens: marcar WhatsApp em cada família de aviso.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/52AVhW9F6iVcTZv0FD-a-_image.png" size="62" isUploading="false" width="620" height="387" darkWidth="620" darkHeight="387" showCaption="false"}

Figura 201 — Início › Preferências de notificação › Meu WhatsApp: cada pessoa confirma o número e o consentimento.

### <font color="#15803D">Observações</font>

- Token de acesso, App Secret e token de verificação ficam cifrados e nunca voltam à tela; a ficha mostra só "Definido em … por …".
- Enquanto o token de acesso não for salvo, o **Testar** responde que a integração aguarda credenciais e nada é enviado.
- Sem o App Secret, nenhum aviso do provedor é aceito e ninguém consegue confirmar o número; sem o **Número de WhatsApp da empresa**, também não.
- Se o quadro **WhatsApp da empresa** disser que o endereço público da instalação não foi configurado, peça à equipe de operação; sem ele não há endereço dos avisos para entregar ao provedor.
- Só chega por WhatsApp o aviso que tem as três condições: WhatsApp marcado em **Alertas e mensagens**, variação de WhatsApp com modelo aprovado em **Mensagens institucionais** e pessoa com número confirmado e alertas ligados.
- Registro sigiloso nunca é enviado por WhatsApp. Os envios que não saíram aparecem em **Início › Falhas de envio**, com o motivo.

***

## <font color="#15803D">18.2 Onde configurar o Microsoft Teams e o Discord</font>

ID BSC-CFG-02

### <font color="#15803D">Para que serve</font>

O Microsoft Teams e o Discord recebem os avisos do Bússola/BSC num canal compartilhado de cada área. Cada canal é uma integração do hub com a **URL do webhook** gerada no próprio Teams (fluxo do Workflows) ou no Discord (webhook do canal); depois de testada, a integração é ligada a uma unidade em **Canais de área** e escolhida nas regras de **Alertas e mensagens**.

**Quem usa:** Analista de Integração de Dados; Administrador do sistema; Diretoria de Estratégia (patrocinador/aprovador); Gestor de Desempenho (escritório de estratégia).

### <font color="#15803D">Passo a passo</font>

1. No Teams, gere a URL no canal por **⋯ › Workflows**, com o modelo de postar no canal quando uma solicitação de webhook for recebida; no Discord, por **Configurações do canal › Integrações › Webhooks › Novo webhook › Copiar URL do webhook**.
2. Integrações › Integrações › **Nova integração** › **Microsoft Teams** (ou **Discord**) › **Identificação**: informe Nome (por exemplo, "Teams — avisos da DIROB"), Código, Objetivo, Ambiente e responsáveis.
3. Mesma tela › **Endereço**: cole a URL inteira em **URL do webhook**.
4. Mesma tela › **Avançado**: informe o **Nome do canal** (como as pessoas o chamam) e clique em **Salvar**.
5. Início › Lista de saída das integrações › **Aprovar destino** (administrador do sistema): o servidor do Workflows da Microsoft ou discord.com, Protocolo **HTTPS**, porta 443, com a **Justificativa**. Uma aprovação do Discord serve para todos os canais.
6. Integrações › Integrações › abra a integração › **Testar** e confira a mensagem de teste no canal.
7. Integrações › Canais de área › **Ligar canal**: escolha a **Integração de Teams ou Discord**, a **Unidade** (por exemplo, GEOBR — Gerência de Obras; vazio = **Organização inteira**) e o **Nome do canal**; clique em **Salvar**.
8. Gestão por indicadores › Alertas e mensagens › na família de aviso, em **Canais da área**, clique em **Publicar num canal**, escolha **Microsoft Teams** ou **Discord** e, em **Onde**, o canal da **unidade do registro** ou um canal fixo.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/4pnt1P8biraS1WN2fcjQm_image.png" size="62" isUploading="false" width="620" height="560" darkWidth="620" darkHeight="560" showCaption="false"}

Figura 202 — Integrações › Nova integração › Microsoft Teams: a URL do webhook do fluxo do canal.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/FKP1TatDlLNIyDqzDSAbW_image.png" size="62" isUploading="false" width="620" height="560" darkWidth="620" darkHeight="560" showCaption="false"}

Figura 203 — Integrações › Nova integração › Discord: a URL do webhook do canal.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/JQ-JRsa-zgiK65opVgQhI_image.png" size="62" isUploading="false" width="620" height="387" darkWidth="620" darkHeight="387" showCaption="false"}

Figura 204 — Início › Lista de saída das integrações › Aprovar destino para o servidor do webhook.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/8APsNm0fzmA4BbrDT7m8Y_image.png" size="62" isUploading="false" width="620" height="387" darkWidth="620" darkHeight="387" showCaption="false"}

Figura 205 — Integrações › Canais de área › Ligar canal: a integração de Teams ou Discord e a unidade que recebe os avisos.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/zqgc1O-GVCdRdmkb8A13q_image.png" size="62" isUploading="false" width="620" height="387" darkWidth="620" darkHeight="387" showCaption="false"}

Figura 206 — Gestão por indicadores › Alertas e mensagens: publicar o aviso no canal da área.

### <font color="#15803D">Observações</font>

- A URL do webhook é um segredo: quem a tem consegue publicar no canal. Ela fica cifrada e nunca volta à tela nem ao histórico do canal.
- Só é aceita URL HTTPS na porta 443. No Teams, só fluxos do Workflows; os antigos conectores do Office 365 não são aceitos. No Discord, o link do canal não serve: tem de ser a URL do webhook.
- A mesma URL não pode estar em duas integrações. A integração de um canal ligado não muda: desative o canal e ligue outro.
- Em **Ligar canal** só aparecem integrações ativas; a que falhou no último teste aparece marcada.
- Unidade sem canal ativo do tipo escolhido não recebe a publicação, que fica como "sem destino" em **Início › Falhas de envio**.
- Registro sigiloso nunca é publicado em canal compartilhado, e ninguém é mencionado nas publicações.

***

## <font color="#15803D">18.3 Onde configurar SEI, SIAFI, Portal da Transparência e Tesouro Gerencial</font>

ID BSC-CFG-03

### <font color="#15803D">Para que serve</font>

SEI, SIAFI, Portal da Transparência e Tesouro Gerencial são cadastrados como integrações do hub e usados pelos conectores do BSC. O SEI acompanha e abre processos; o tipo SIAFI traz a execução do orçamento por um de seus canais (API Dados SIAFI (STA), dados abertos do Portal da Transparência, relatório extraído do Tesouro Gerencial ou web services do SIAFI). O De-Para traduz o dado capturado nos objetos do BSC, e cada execução fica registrada no Monitor de integrações.

Para treinar usuários e homologar o lado do Bússola/BSC antes de os acessos reais serem entregues, há um **ambiente de simulação para treinamento e homologação** que responde como o SEI, o STA e o Portal da Transparência; as integrações de simulação levam o selo **Simulador** e não existem em produção.

**Quem usa:** Analista de Integração de Dados; Administrador do sistema; Gestor de Desempenho (escritório de estratégia).

### <font color="#15803D">Passo a passo</font>

1. SEI: Integrações › Integrações › **Nova integração** › **SEI** › **Endereço**: **URL base** (https\://, por exemplo sei.exemplo.com.br), **Interface do SEI**, **Versão da API** e, só se a TI informar outro, **Caminho da API do módulo**.
2. SEI › **Autenticação**: **Usuário de serviço** e **Senha do usuário de serviço**; depois de um Testar com sucesso, em **Avançado**, escolha **Órgão (id no SEI)**, **Unidade padrão (id no SEI)** e marque as **Operações habilitadas no Bússola/BSC**.
3. SIAFI: Integrações › Integrações › **Nova integração** › **SIAFI** › **Canal**: escolha **API Dados SIAFI (STA)**, **Dados abertos — Portal da Transparência**, **Relatório extraído do Tesouro Gerencial** ou **Web services do SIAFI (exige o Tesouro)**.
4. Canal STA: **Unidade gestora (UG)** (6 dígitos) e **Gestão** (5 dígitos) em Endereço; **Usuário** e **Senha** em Autenticação; **Órgão**, **Exercício** e **Tamanho máximo de uma resposta (MB)** em Avançado.
5. Canal Portal da Transparência: **Endereço da API do Portal**, **Chave da API de dados**, **Unidade gestora (UG)**, **Gestão**, **Órgão** e **Exercício**. Canal Tesouro Gerencial: **Formato do relatório**, **Codificação do relatório**, **Separador de colunas**, **Linha do cabeçalho** e **Aba**. Canal web services: **Endereço do serviço (informado pelo Tesouro)**, **Certificado de aplicação (PKCS#12)**, **Senha do certificado**, UG, gestão, órgão e exercício.
6. Início › Lista de saída das integrações › **Aprovar destino** (administrador do sistema): o servidor do SEI, do STA ou do Portal, Protocolo **HTTPS**, porta 443 e **Justificativa**. O canal Tesouro Gerencial não precisa: o arquivo é enviado pela própria tela.
7. Integrações › Integrações › abra a integração › **Testar** e, nos tipos que leem dados, **Pré-visualizar**.
8. Gestão por indicadores › Configuração de conectores › escolha o componente de captura na paleta, a integração do hub em **Envia ou recebe**, **Por agenda** em **Quando age** (a cada N horas, diária, semanal ou mensal) e **Capturar dado** em **O que faz**; **Simular (sem enviar)** e **Salvar conector**.
9. Na ficha do conector › **Abrir o De-Para**: **Executar leitura de teste** (SIAFI), **Novo De-Para para** (ou um modelo pronto SIAFI), linhas **Vem de** e **Conversão**, **Validar (prévia)** e **Publicar**.
10. Integrações › Tabelas de equivalência › **Nova tabela**: traduza códigos do outro sistema (por exemplo, plano interno → entrega) e use-a no De-Para com a conversão **Tabela de equivalência**.
11. Integrações › Monitor de integrações › filtre pela integração ou pelo conector para ver cada captura, cada disparo e cada aplicação do De-Para.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Z24grnysFnhJvAZiPgjFT_image.png" size="62" isUploading="false" width="620" height="646" darkWidth="620" darkHeight="646" showCaption="false"}

Figura 207 — Integrações › Nova integração › SEI: interface, endereço, caminho da API, versão, usuário de serviço e operações habilitadas.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/xBabt1fzA6Qc1RLSZ92dJ_image.png" size="62" isUploading="false" width="620" height="646" darkWidth="620" darkHeight="646" showCaption="false"}

Figura 208 — Integrações › Nova integração › SIAFI e dados abertos de orçamento: o canal (API de dados do SIAFI, Portal da Transparência, Tesouro Gerencial, web services) e os campos de cada um.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/FsXNEjWdgo7gFjBlYuTSG_image.png" size="62" isUploading="false" width="620" height="387" darkWidth="620" darkHeight="387" showCaption="false"}

Figura 209 — Início › Lista de saída das integrações: os servidores aprovados para as integrações.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/uYo0aUL9quw1nU_6TTaSJ_image.png" size="62" isUploading="false" width="620" height="387" darkWidth="620" darkHeight="387" showCaption="false"}

Figura 210 — A integração aberta: Testar, Pré-visualizar e o resultado do último teste.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Ee-20ntCgkuum3eqFv0xm_image.png" size="62" isUploading="false" width="620" height="387" darkWidth="620" darkHeight="387" showCaption="false"}

Figura 211 — Gestão por indicadores › Configuração de conectores: a paleta, com os componentes SEI e SIAFI.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/oQx59UL6RZoW96R2Fq0jl_image.png" size="74" isUploading="false" width="742" height="900" darkWidth="742" darkHeight="900" showCaption="false"}

Figura 212 — O De-Para do conector de captura: de que campo do dado capturado vem cada valor do Bússola/BSC.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/-3f_jHTuLLY4_ad7cAgsj_image.png" size="62" isUploading="false" width="620" height="387" darkWidth="620" darkHeight="387" showCaption="false"}

Figura 213 — Integrações › Tabelas de equivalência: o código da origem e o objeto do Bússola/BSC que ele representa.

### <font color="#15803D">Observações</font>

- Sem usuário e senha (SEI e STA) ou sem chave (Portal), nada é chamado: o **Testar** diz o que falta e a integração não é oferecida aos conectores até um teste com sucesso.
- No SEI, a trava do que o Bússola/BSC faz é o campo **Operações habilitadas no Bússola/BSC**; tudo aparece no SEI como feito pelo usuário de serviço.
- Web services do SIAFI exigem adesão formal ao Tesouro; não são oferecidos aos conectores até a adesão estar completa.
- Até um De-Para ser publicado, o conector de captura fica "De-Para a configurar" e não lê o outro sistema. Os modelos SIAFI trazem uma hipótese de contas contábeis que a contabilidade precisa confirmar.
- Ambiente de simulação: use as integrações com selo **Simulador** para treinamento e homologação e mantenha ao lado a integração real do mesmo tipo; quando os acessos chegarem, preencha a credencial na real e teste de novo.
- Homologação e produção do mesmo sistema são duas integrações, cada uma com seu selo de ambiente.

***

## <font color="#15803D">18.4 Onde configurar a instalação (Compose e Kubernetes)</font>

ID BSC-CFG-04

### <font color="#15803D">Para que serve</font>

Reúne os arquivos e as variáveis que configuram a instalação do Bússola/BSC: no modo interno, com Docker Compose num servidor da empresa; no modo nuvem, com Kubernetes. A configuração da aplicação é a mesma nos dois modos. O procedimento completo de instalação e de backup está nas seções BSC-INS-01 e BSC-INS-02.

Os segredos (senhas, chave de cifragem, chaves do destino do backup) são gerados pela empresa e preenchidos só nos arquivos de segredo, nunca em manual, chamado ou mensagem; aqui eles aparecem como \<valor>.

**Quem usa:** Administrador do sistema.

### <font color="#15803D">Passo a passo</font>

1. Compose: em \`deploy/compose/bussola/\`, copie \`.env.example\` para \`.env\` e proteja-o com \`chmod 600 .env\`; preencha todo valor marcado \`REPLACE\_\`.
2. Compose › \`.env\` › imagens e endereço: \`BUSSOLA\_BACKEND\_IMAGE\`, \`BUSSOLA\_FRONTEND\_IMAGE\`, \`BUSSOLA\_HOST=bussola.exemplo.com.br\`, \`HTTPS\_PORT\`, \`HTTP\_PORT\`; certificado em \`tls/fullchain.pem\` e \`tls/privkey.pem\`.
3. Compose › \`.env\` › identidade e ambiente: \`KEYCLOAK\_ISSUER\_URI\`, \`KEYCLOAK\_JWK\_URI\` (o backend não sobe sem os dois), \`BUSSOLA\_TENANT\_ID\` e \`BUSSOLA\_TENANT\_NAME\`.
4. Compose › \`.env\` › banco e segredos: \`DB\_ADMIN\_USER\`, \`DB\_ADMIN\_PASS=\<valor>\`, \`MASTER\_DB\_NAME\`, \`TENANT\_DB\_NAME\`, \`TENANT\_DB\_SCHEMA\`, \`TENANT\_READER\_PASS=\<valor>\`, \`RESOURCE\_TENANT\_SECURITY\_KEY=\<valor>\`, \`FINANCE\_PIX\_WEBHOOK\_SECRET=\<valor>\`.
5. Compose › \`.env\` › backup: \`BACKUP\_CRON=0 1 \* \* \*\`, \`BACKUP\_TZ=America/Sao\_Paulo\`, \`BACKUP\_KEEP\_LOCAL\`, \`BACKUP\_DEST\_KIND=S3\` (ou \`PATH\` com \`BACKUP\_DEST\_HOST\_DIR\` e \`BACKUP\_DEST\_KEEP\`), \`BACKUP\_S3\_ENDPOINT\`, \`BACKUP\_S3\_BUCKET\`, \`BACKUP\_S3\_PREFIX\`, \`BACKUP\_S3\_REGION\`, \`BACKUP\_S3\_ACCESS\_KEY=\<valor>\`, \`BACKUP\_S3\_SECRET\_KEY=\<valor>\`, \`BACKUP\_S3\_SSE=AES256\`.
6. Compose: suba com \`docker compose up -d\` e acompanhe \`docker compose logs -f backend\`.
7. Kubernetes: o overlay fica em \`k8s/bussola/\` (sobre \`k8s/base\`); confira com \`kubectl kustomize k8s/bussola\`.
8. Kubernetes › \`backend.env\` (segredo \`erp-backend-secret\`): \`MASTER\_DB\_URL\`, \`MASTER\_DB\_USER\`, \`MASTER\_DB\_PASS=\<valor>\`, \`BUSSOLA\_TENANT\_ID\`, \`TENANT\_DB\_URL\`, \`TENANT\_DB\_USER\`, \`TENANT\_DB\_PASS=\<valor>\`, \`TENANT\_DB\_SCHEMA\`, \`TENANT\_READER\_PASS=\<valor>\`, \`RESOURCE\_TENANT\_SECURITY\_KEY=\<valor>\`, \`FINANCE\_PIX\_WEBHOOK\_SECRET=\<valor>\`; crie com \`kubectl -n bussola create secret generic erp-backend-secret --from-env-file=backend.env\`.
9. Kubernetes › \`configmap.backend.yaml\`: \`KEYCLOAK\_ISSUER\_URI\`, \`KEYCLOAK\_JWK\_URI\`, \`KAFKA\_BOOTSTRAP\_SERVERS\`, \`ERP\_ATTACHMENTS\_DIR=/data/attachments\`; perfis \`SPRING\_PROFILES\_ACTIVE=homolog,bussola\`. No overlay, ajuste também as imagens (\`images:\`), o host e a classe do Ingress (\`ingress.yaml\`) e a classe de armazenamento do volume de anexos (\`pvc.attachments.yaml\`).
10. Kubernetes › backup: \`configmap.backup.yaml\` (\`BACKUP\_DEST\_KIND\`, \`BACKUP\_ATTACHMENTS\_DIR\`, \`BACKUP\_TENANT\_SCHEMAS\`), segredo a partir de \`secret.backup.yaml.example\` e agendamento em \`cronjob.backup.yaml\` (\`schedule: "0 1 \* \* \*"\`, \`timeZone: America/Sao\_Paulo\`).
11. Kubernetes: crie o segredo TLS \`bussola-tls\` e aplique com \`kubectl -n bussola apply -k k8s/bussola\`.
12. Configuração da aplicação (os dois modos): \`k8s/bussola/application-bussola.yml\`, montada em \`/config/\`.

### <font color="#15803D">Observações</font>

- Guarde uma cópia de \`RESOURCE\_TENANT\_SECURITY\_KEY\` num cofre de segredos, fora do destino do backup: sem a mesma chave, toda credencial gravada (integrações, conexões) deixa de abrir após uma restauração.
- Nunca guarde o \`.env\` preenchido em repositório; ele e os segredos do Kubernetes ficam fora do backup, de propósito.
- Sem \`BACKUP\_TZ\`/\`timeZone\`, o agendamento usa UTC e "0 1" viraria 22:00 de Brasília.
- Os anexos ficam no volume \`bussola-attachments\` (Compose) ou no volume persistente do overlay, nunca no diretório temporário do contêiner.
- Liberações de rede: entrada HTTPS no nome público; saída para o provedor de identidade, para os sistemas integrados (SEI, SIAFI, Portal da Transparência, provedor contratado do WhatsApp, Teams e Discord) e para o destino do backup. Os destinos das integrações também precisam estar na lista de saída do Bússola/BSC.
- O ambiente de simulação para treinamento e homologação das integrações não é instalado em produção.
- Procedimento completo, conferência da primeira subida e restauração: seções BSC-INS-01 e BSC-INS-02.
