Configuração de Tenants¶
O repositório ads-tenants-config é a fonte de verdade para as configurações de deploy de todas as aplicações por tenant. O ArgoCD monitora este repositório e aplica automaticamente qualquer alteração.
Estrutura¶
ads-tenants-config/
├── templates/ # Blueprints para novos tenants
│ ├── hml/ # Templates HML (18 apps)
│ │ ├── auth-api/
│ │ │ ├── app-config.yaml
│ │ │ └── values.yaml
│ │ ├── is-core-api/
│ │ ├── is-core-ui/
│ │ └── ... (18 apps)
│ └── nox/ # Templates NOX (18 apps)
│ └── ...
│
└── tenants/
└── oci/
├── hml/ # Ambiente HML
│ ├── afpes/ # 1 dir por tenant
│ │ ├── auth-api/ # 1 dir por aplicação
│ │ │ ├── app-config.yaml
│ │ │ └── values.yaml
│ │ ├── is-core-api/
│ │ └── ...
│ ├── cisne/
│ ├── cmd/
│ ├── fusex/
│ ├── global/ # Especial: apenas 2 apps
│ ├── hic/
│ ├── nfb/
│ ├── rjv/
│ ├── rvt/
│ ├── scz/
│ └── tre/ # Treinamento: 18 apps
│
└── nox/ # Ambiente NOX
├── afpes-prd/ # Padrão: {tenant}-{variante}
├── afpes-tre/
├── cisne-prd/
├── cisne-tre/
├── cmd-prd/
├── cmd-tre/
└── ... # 20 tenants total
Arquivos por Aplicação¶
Cada combinação tenant/aplicação tem exatamente 2 arquivos:
app-config.yaml¶
Define a versão do chart Helm:
yaml
chartVersion: 1.0.0
O ApplicationSet do ArgoCD lê este campo para determinar targetRevision do chart OCI. Na maioria dos casos permanece em 1.0.0 — só muda quando o chart Helm é atualizado com breaking changes.
values.yaml¶
Helm values overrides específicos do tenant:
```yaml env: hml
image: tag: 8.0.03-DEV@sha256:b9d3940fdf472791a85ae37c09947e185a13657b5fd284a3ce7f7b1d84f043c3 ```
| Campo | Descrição |
|---|---|
env |
Ambiente (hml ou nox) — usado pelo chart para configurações ambiente-específicas |
image.tag |
Tag da imagem com digest SHA256 — garante deploys imutáveis |
Tag com Digest
O formato tag@sha256:... garante que mesmo que a tag seja sobrescrita no registry, o deploy usa exatamente a imagem esperada. O digest é adicionado automaticamente pelo merge pipeline.
Tenants por Ambiente¶
HML (Homologação)¶
| Tenant | Apps | Descrição |
|---|---|---|
afpes |
18 | AFPES |
cisne |
18 | Cisne |
cmd |
18 | CMD |
cxs |
18 | CXS |
fusex |
18 | Fusex |
global |
2 | Shared (is-reports-ui, redeis-auth-api) |
hic |
18 | HIC |
nfb |
18 | NFB |
rjv |
18 | RJV |
rvt |
18 | RVT |
scz |
18 | SCZ |
tre |
18 | Treinamento |
NOX (Produção)¶
Cada tenant tem duas variantes:
-prd: Produção do cliente-tre: Treinamento do cliente
| Tenant Base | Variantes NOX |
|---|---|
afpes |
afpes-prd, afpes-tre |
cisne |
cisne-prd, cisne-tre |
cmd |
cmd-prd, cmd-tre |
fusex |
fusex-prd, fusex-tre |
hic |
hic-prd, hic-tre |
hsm |
hsm-prd, hsm-tre |
nfb |
nfb-prd, nfb-tre |
rjv |
rjv-prd, rjv-tre |
rvt |
rvt-prd, rvt-tre |
scz |
scz-prd, scz-tre |
Tenants exclusivos
- HSM: apenas em NOX (produção)
- CXS: apenas em HML (homologação)
- Global: apenas em HML (shared services)
Atualizações Automáticas¶
O pipeline de merge atualiza os tenants HML automaticamente:
- Build completa com sucesso
- Workflow
update-hml-tenants.ymldispara - Action
update-tenants-valuesbuscavalues.yamlemtenants/oci/hml/que contenham a imagem - Atualiza
image.tagpara{nova-tag}@{sha256:digest} - Commit automático com mensagem convencional:
chore(hml): update {app} to {tag} - Push direto para
main - ArgoCD detecta a mudança e sincroniza
Para NOX, a atualização é manual — requer criação de PR ou edição direta dos values.yaml.
Templates¶
O diretório templates/ serve como catálogo de blueprints. Contém a estrutura completa de apps para cada ambiente com versões baseline.
Quando um novo tenant é criado:
- O workflow
tenant-create.ymlcopia toda a estrutura de templates do ambiente alvo - Mantém apenas as apps relevantes para o tenant
- Ajusta
values.yamlcom as tags de imagem iniciais app-config.yamlpermanece emchartVersion: 1.0.0
Os templates são a referência para garantir que todos os tenants tenham a mesma estrutura.