docs(nexus): adiciona diagramas de arquitetura e fluxo de tráfego DEV Nexus

- Diagrama geral: Internet → Cloudflare → OCI → serviços
- Fluxo API backend: Cloudflare → LB Test_Crivo → api-gw-nexus-dev → DRG → OKE
- Fluxo MFE frontend: planejado (pendente DRG attach)
- Mapa de compartments com recursos dentro/fora
- Tabela: Terraform vs Manual vs Pipeline CI por recurso

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Tiago Ribeiro 2026-02-25 13:17:07 -03:00
parent 4ff252b43d
commit 96602a1b24

View file

@ -5,6 +5,210 @@
---
## 0. Diagrama Geral — Fluxo de Tráfego e Recursos
### 0.1 Fluxo Completo: Internet → Cloudflare → OCI → Serviços
```
┌─────────────────────────────────────────────────────────────────────────────────────┐
│ INTERNET │
└──────────────────────────────┬──────────────────────────────────────────────────────┘
┌──────────▼──────────┐
│ CLOUDFLARE │
│ *.invista.com.br │
│ (DNS + Proxy/WAF) │
└──────┬──────────────┘
┌────────────────┼─────────────────────┐
│ APIs backend │ MFE (frontend) │ Acesso direto
│ (proxied) │ (planejado ⏳) │ (public LB)
▼ ▼ ▼
┌─────────────────┐ ┌──────────────────┐ ┌──────────────────────┐
│ LB Test_Crivo │ │ LB Test_Crivo │ │ OKE Public LB │
│ 10.8.4.127 │ │ Dev (VCN-Shared) │ │ 137.131.236.202 │
│ VCN-Shared │ │ (rota pendente) │ │ cls-dev-nexus │
│ cmp-shared-inv │ └──────────────────┘ └──────────────────────┘
│ [MANUAL] │ │ │
└────────┬────────┘ │ │
│ │ │
│ DRG-Invista-Shared │
│ (VCN-Shared ↔ VCN-DEV) │
▼ │ │
┌─────────────────────────────────────────────────┼──────────────────────────────────┐
│ VCN-DEV (10.6.0.0/16) — cmp-dev-inv [MANUAL] │ │
│ │ │
│ ┌──────────────────────────────────────────┐ │ │
│ │ api-gateway-nexus-dev [MANUAL] │ │ │
│ │ PRIVATE · IP: 10.6.0.123 │ │ │
│ │ Subnet: SBNT-DEV (10.6.0.0/24) │ │ │
│ │ │ │ │
│ │ Deployments: │ │ │
│ │ /api/auth /api/user │ │ │
│ │ /api/person /api/role │ │ │
│ │ /api/sso /api/cache │ │ │
│ │ /api/commercial-manager … │ │ │
│ └────────────────────┬─────────────────────┘ │ │
│ │ DRG (VCN-DEV ↔ vcn-oke) │ │
└───────────────────────┼─────────────────────────┼──────────────────────────────────┘
│ │
└────────────┬────────────┘
┌────────────────────────────────────▼────────────────────────────────────────────────┐
│ vcn-oke (10.110.0.0/16) — cmp-dev-inv [TERRAFORM ✅] │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────────┐ │
│ │ sbn-lb-1 (10.110.128.0/20) · sbn-lb-2 (10.110.144.0/20) — PÚBLICAS │ │
│ │ │ │
│ │ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ ┌─────────────┐ │ │
│ │ │ OKE LB │ │ OKE LB │ │ OKE LB │ │ OKE LB pub │ │ │
│ │ │ 10.110.133.131│ │ 10.110.135.3 │ │ 10.110.129.64 │ │137.131.236.2│ │ │
│ │ │ cls-barramento│ │ cls-nexus │ │ cls-obs. │ │ cls-nexus │ │ │
│ │ └───────┬───────┘ └──────┬────────┘ └──────┬────────┘ └──────┬──────┘ │ │
│ └──────────┼─────────────────┼──────────────────┼─────────────────┼─────────┘ │
│ │ │ │ │ │
│ ┌──────────┼─────────────────┼──────────────────┼─────────────────┼─────────┐ │
│ │ sbn-workers-1/2/3 (10.110.032.0/20) — PÚBLICAS — cmp-dev-nexus │ │
│ │ │ │
│ │ ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────┐ │ │
│ │ │ cls-dev-nexus │ │ cls-dev-barramento │ │ cls-dev-obs. │ │ │
│ │ │ [TERRAFORM ✅] │ │ [TERRAFORM ✅] │ │ [TERRAFORM ✅] │ │ │
│ │ │ np-dev-1 (x3 VMs) │ │ np-dev-2 (x3 VMs) │ │ np-dev-3 (x3) │ │ │
│ │ │ ArgoCD ✅ │ │ ArgoCD ✅ │ │ ArgoCD ✅ │ │ │
│ │ │ K8s v1.34.1 │ │ K8s v1.34.1 │ │ K8s v1.34.1 │ │ │
│ │ └─────────────────────┘ └─────────────────────┘ └─────────────────┘ │ │
│ └───────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────────┐ │
│ │ sbn-api-gateway (10.110.192.0/20) — PRIVADA [TERRAFORM ✅] │ │
│ │ │ │
│ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ api-gateway-mfe-dev [TERRAFORM ✅] │ │ │
│ │ │ PRIVATE · IP: 10.110.198.250 │ │ │
│ │ │ Deployments: mfe-user → nexus-mfe-user-development (Object Storage) │ │ │
│ │ └──────────────────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────────┘
┌───────────▼──────────────┐
│ OCI Object Storage │
│ Namespace: grbb7qzeuoag │
│ nexus-mfe-user-dev │
│ mfe-shell-dev │
│ [MANUAL / Pipeline CI] │
└───────────────────────────┘
```
---
### 0.2 Fluxo API Backend (atual)
```
Browser
└─► Cloudflare (*.invista.com.br) [DNS Proxy + WAF]
LB Test_Crivo_Dev (10.8.4.127 — VCN-Shared — cmp-shared-inv)
Cert: *.invista.com.br (Cloudflare Origin CA)
│ roteamento por hostname
api-gateway-nexus-dev (PRIVATE — 10.6.0.123 — VCN-DEV)
/api/auth /api/user /api/person /api/sso …
│ DRG: VCN-DEV ↔ vcn-oke
OKE Load Balancers internos (10.110.128-143.x — sbn-lb-1/2)
K8s Services / Ingress (cls-dev-nexus)
Pods (worker nodes — sbn-workers-1/2/3 — cmp-dev-nexus)
```
---
### 0.3 Fluxo MFE Frontend (planejado ⏳)
```
Browser
└─► Cloudflare (mfe-user-dev.invista.com.br) [DNS Proxy]
▼ ⏳ PENDENTE: DRG attach vcn-oke → DRG-Invista-Shared
LB Test_Crivo_Dev (10.8.4.127 — VCN-Shared)
│ rota: mfe-user-dev.invista.com.br → 10.110.198.250:443
│ DRG: VCN-Shared → vcn-oke
api-gateway-mfe-dev (PRIVATE — 10.110.198.250 — sbn-api-gateway)
│ / → index.html /{path*} → arquivos estáticos
OCI Object Storage
nexus-mfe-user-development (namespace: grbb7qzeuoag)
Atual (sem DNS):
https://guhal72tzyekzchzamhhi3lvgi.apigateway.sa-saopaulo-1.oci.customer-oci.com/
```
---
### 0.4 Mapa de Compartments e Recursos
```
invistacloud (root)
├── cmp-top-invista
│ └── cmp-dev-inv ──────────────────────────────────────────────────────────────┐
│ │ │
│ │ [TERRAFORM ✅] vcn-oke (10.110.0.0/16) │
│ │ [TERRAFORM ✅] api-gateway-mfe-dev (10.110.198.250) │
│ │ [TERRAFORM ✅] observability (alarms, log group, dashboards) │
│ │ [MANUAL] VCN-DEV (10.6.0.0/16) │
│ │ [MANUAL] api-gateway-nexus-dev (PRIVATE, 10.6.0.123) │
│ │ [MANUAL] DRG attachments (VCN-DEV ↔ vcn-oke) │
│ │ [PIPELINE CI] buckets: mfe-shell-dev │
│ │ │
│ └── cmp-dev-nexus ────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ [TERRAFORM ✅] cls-dev-nexus (k8s v1.34.1, x3 VMs) │ │
│ │ [TERRAFORM ✅] cls-dev-barramento (k8s v1.34.1, x3 VMs) │ │
│ │ [TERRAFORM ✅] cls-dev-observabilidade (k8s v1.34.1, x3 VMs)│ │
│ │ [OKE-managed] 5x Load Balancers (OKE Services) │ │
│ │ [MANUAL] buckets: tfstate-*, invista-inventcloud-bucket3│ │
│ └───────────────────────────────────────────────────────────────┘ │
│ │
└── cmp-shared-inv │
[MANUAL] LB Test_Crivo_Dev (10.8.4.127, VCN-Shared 10.8.0.0/16) │
[MANUAL] DRG-Invista-Shared │
OKE > DEV ←── VCNs orphans deletadas em 2026-02-25 ────────────────────────────┘
```
---
### 0.5 O que é Terraform vs Manual vs Pipeline CI
| Recurso | Gerenciado por | Repositório |
|---|---|---|
| VCN `vcn-oke` (10.110.0.0/16) + subnets + gateways | **Terraform** | `tf_oci_clusters/modules/network` |
| OKE clusters (x3) + node pools | **Terraform** | `tf_oci_clusters/modules/oke_cluster` |
| `api-gateway-mfe-dev` + deployments MFE | **Terraform** | `tf_oci_clusters/modules/api_gateway_mfe` |
| ArgoCD (Helm v7.3.0) em cada cluster | **Terraform** (null_resource) | `tf_oci_clusters/environments/dev/argocd.tf` |
| Observabilidade (alarms, log group, dashboards) | **Terraform** | `tf_oci_clusters/modules/observability` |
| Compartments `cmp-dev-nexus` / `cmp-dev-inv` | **Terraform** (flags `create_*=false` = não recria) | `tf_oci_clusters` |
| `VCN-DEV` (10.6.0.0/16) + subnets + gateways | **Manual** (OCI Console) | — |
| `api-gateway-nexus-dev` (PRIVATE) + deployments | **Manual** (OCI Console) | — |
| LB `Test_Crivo_Dev` (10.8.4.127) | **Manual** | — |
| DRG-Invista-Shared + attachments | **Manual** | — |
| DNS Cloudflare (*.invista.com.br) | **Manual** (API Cloudflare) | — |
| Object Storage buckets (mfe-*) | **Pipeline CI** (azure-pipelines.yml) | Repos dos MFEs |
| OKE Load Balancers (5x) | **OKE-managed** (K8s Service) | Apps no cluster |
| Kubeconfigs (`~/.kube/config-dev-*`) | **Terraform** (local-exec) | Gerado no apply |
---
## 1. Compartments
### Hierarquia