infracloud/inventcloud/invista/nexus/OCI-MFE-TASKS.md

8.9 KiB

Análise: OCI Web Hosting para MFEs

Base: Oracle Documentation


Etapas da Documentação vs. Pipeline Atual

Etapa Documentação OCI Status Pipeline mfe-user
1 Create Bucket Parcial (cria se não existir)
2 Upload Files Feito
3 Create PAR Feito
4 Create API Gateway ⚠️ Parcial (falta VCN/Subnet)
5 Setup Deployment ⚠️ Parcial
6 Add Routes Incompleto
7 Test Não testado

Estado Atual da Infraestrutura OCI (atualizado em 2026-02-23)

VCNs Existentes (Dev)

Nome CIDR OCID
VCN-Shared 10.8.0.0/16 (compartment cmp-shared-inv)
vcn-oke (dev) 10.110.0.0/16 ocid1.vcn.oc1.sa-saopaulo-1.amaaaaaasks3yliapqrmikfzagpgqohuzjqik3hx63w7r2uajiqv5krvxkda
vcn-oke 10.120.0.0/16 ocid1.vcn.oc1.sa-saopaulo-1.amaaaaaasks3yliatayztbyd6doyk5oglrmrc57jekltu3xnnena6fvruwba

Subnets - vcn-oke dev (10.110.0.0/16) - Terraform managed

Nome CIDR Tipo OCID
sbn-workers-1 10.110.0.0/20 Workers (Terraform)
sbn-workers-2 10.110.16.0/20 Workers (Terraform)
sbn-workers-3 10.110.32.0/20 Workers (Terraform)
sbn-lb-1 10.110.128.0/20 Load Balancer (Terraform)
sbn-lb-2 10.110.144.0/20 Load Balancer (Terraform)
sbn-api-gateway 10.110.192.0/20 API Gateway ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaaooiy6bmikuaohtxyz2o3sjrjp2iqob3rim4j66vw4rzit7jcqjfa

API Gateways

Nome IP Status Gerenciado
api-gateway-mfe-dev 10.110.198.250 ACTIVE Terraform (tf_oci_clusters)

Buckets (Object Storage)

Nome Status Uso
nexus-mfe-user-development ACTIVE MFE User (Angular SPA)
nexus-mfe-shell-development ACTIVE Shell MFE Angular
nexus-mfe-auth-development ACTIVE MFE Auth
nexus-mfe-person-development ACTIVE MFE Person

Infraestrutura Terraform (Concluido)

O API Gateway MFE e provisionado automaticamente via Terraform no repositorio tf_oci_clusters.

Modulo: modules/api_gateway_mfe/

Arquivos:

  • main.tf - Gateway + Deployment com rotas SPA (index.html fallback + static files)
  • variables.tf - Inputs (compartment_id, subnet_id, env_name, mfe_deployments list)
  • outputs.tf - gateway_id, gateway_ip, gateway_hostname, deployment_endpoints
  • versions.tf - oracle/oci ~> 7.0

Subnet dedicada (adicionada ao modulo network)

A subnet sbn-api-gateway foi criada automaticamente pelo Terraform no modulo network:

  • CIDR: 10.110.192.0/20 (cidrsubnet index 12)
  • Route table: NAT + Service Gateway (privada)
  • Security list: ingress 80/443 da VCN, egress all
  • Toggle: enable_api_gateway_subnet (bool)

Pipeline CI/CD

  • Pipeline: terraform-tf_oci_clusters (definition ID 51)
  • YAML: .azure/azure-pipelines-pr-selective.yml
  • Variable Group: oci-terraform (ID 34)
  • Build de sucesso: #5964 (todas as stages passaram)

Atividades Restantes

Conectividade de Rede (Pendente)

1. VCN Peering via DRG

O LB Test_Crivo_Dev esta na VCN-Shared (10.8.0.0/16) e o API Gateway esta na vcn-oke dev (10.110.0.0/16). Para que o LB consiga rotear trafego para o API Gateway, e necessario:

  1. Attach vcn-oke dev ao DRG-Invista-Shared

    • DRG OCID: ocid1.drg.oc1.sa-saopaulo-1.aaaaaaaazuiluiavm3zcrzelqs2f3k3sdy3fka5yytwjua37a2ksn446deza
    • VCN dev OCID: ocid1.vcn.oc1.sa-saopaulo-1.amaaaaaasks3yliapqrmikfzagpgqohuzjqik3hx63w7r2uajiqv5krvxkda
  2. Configurar Route Tables

    • Na VCN-Shared: rota 10.110.0.0/16 -> DRG
    • Na vcn-oke dev: rota 10.8.0.0/16 -> DRG (para retorno)
  3. Security Lists

    • Permitir trafego entre 10.8.0.0/16 e 10.110.192.0/20 (subnet API GW)

2. Load Balancer - Backend e Routing

No LB Test_Crivo_Dev (IP 10.8.4.127):

  1. Criar backend set bs-mfe-user-dev apontando para 10.110.198.250:443
  2. Adicionar routing rule no routing policy crivo_routes para hostname mfe-user-dev.invista.com.br
  3. Health check na rota / do API Gateway

3. DNS Cloudflare

Criar registro DNS em invista.com.br:

  • Tipo: CNAME (proxied)
  • Nome: mfe-user-dev
  • Target: endpoint Cloudflare tunnel ou A record para IP do LB

🟢 MFEs que Precisam de Pipeline OCI

MFE Pipeline AWS Pipeline OCI Prioridade Status
mfe-user Template OCI (devops) Alta Concluído 2026-02-25
mfe-shell Template OCI (devops) Alta Concluído 2026-02-25
mfe-auth Template OCI (devops) Alta Concluído 2026-02-25
mfe-person Template OCI (devops) Média Concluído 2026-02-25
mfe-poc Template OCI (devops) Baixa Concluído 2026-02-25
mfe-formalization Template OCI (devops) Baixa Concluído 2026-02-25

Padrão adotado (2026-02-25):

  • Template compartilhado: azure-pipelines-templates/mfe/deploy-mfe-oci.yaml (branch main)
  • Cada MFE: azure-pipelines.yml na branch devops extendendo o template
  • Trigger: branch devops
  • Bucket: mfe-<nome>-dev
  • Variable Group: oci-terraform

Variable Group oci-terraform (ID 34)

O Variable Group oci-terraform no Azure DevOps contem as credenciais OCI usadas pelo Terraform e pipelines MFE.

Ultima atualizacao: 2026-02-22 (S3 credentials atualizadas para usuario danilo.duarte)

Variaveis

Variavel Tipo Descricao
OCI_TENANCY_OCID Plain OCID da Tenancy OCI
OCI_USER_OCID Plain OCID do Usuario OCI (danilo.duarte)
OCI_FINGERPRINT Plain Fingerprint da chave publica
OCI_PRIVATE_KEY_B64 Plain Chave privada Base64
OCI_REGION Plain sa-saopaulo-1
OCI_PRIVATE_KEY_PATH Plain ./config/oci_api_key.pem
TF_STATE_ACCESS_KEY Secret S3-compatible access key (danilo.duarte)
TF_STATE_SECRET_KEY Secret S3-compatible secret key (danilo.duarte)
TF_VAR_compartment_parent_ocid Secret OCID do compartment pai
EXISTING_COMPARTMENT_ID Plain Compartment DEV
ARGOCD_REPO_PAT Secret PAT para ArgoCD
CLOUDFLARE_API_TOKEN Secret Token Cloudflare
SSH_PUBLIC_KEY / SSH_PUBLIC_KEY_B64 Secret Chave SSH para nodes/bastion
TLS_CERT_B64 / TLS_KEY_B64 Secret Certificados TLS

Historico de problemas

  • 2026-02-22: S3 credentials (TF_STATE_ACCESS_KEY/SECRET_KEY) atualizadas. As credenciais anteriores pertenciam ao usuario william.dias que estava desabilitado para S3. Criado novo Customer Secret Key para danilo.duarte via OCI CLI.

Checklist de Atividades

Infraestrutura Terraform (Concluido)

  • VCN vcn-oke dev (10.110.0.0/16) criada via Terraform
  • Subnet dedicada sbn-api-gateway (10.110.192.0/20) criada via Terraform
  • Modulo api_gateway_mfe criado (tf_oci_clusters/modules/api_gateway_mfe/)
  • API Gateway api-gateway-mfe-dev provisionado (IP 10.110.198.250)
  • Deployment MFE User com rotas SPA (index.html + static files)
  • Pipeline CI/CD terraform-tf_oci_clusters funcionando (build #5964)
  • Variable Group oci-terraform atualizado (S3 credentials corrigidas)

Conectividade (Pendente)

  • Attach vcn-oke dev ao DRG-Invista-Shared
  • Route tables entre VCN-Shared e vcn-oke dev
  • Security lists para trafego cross-VCN

Load Balancer (Pendente)

  • Backend set no LB Test_Crivo_Dev -> 10.110.198.250:443
  • Routing rule para hostname mfe-user-dev.invista.com.br
  • Health check configurado

DNS (Pendente)

  • Cloudflare: registro mfe-user-dev.invista.com.br

MFEs adicionais (Concluído 2026-02-25)

  • mfe-shell - adicionado ao mfe_deployments no Terraform
  • mfe-auth - adicionado ao mfe_deployments no Terraform
  • mfe-person - adicionado ao mfe_deployments no Terraform
  • mfe-formalization - adicionado ao mfe_deployments no Terraform
  • mfe-poc - adicionado ao mfe_deployments no Terraform
  • Template OCI compartilhado criado: azure-pipelines-templates/mfe/deploy-mfe-oci.yaml
  • azure-pipelines.yml atualizado em todos os 6 MFEs (branch devops)

Comandos Úteis OCI

# Listar VCNs
oci network vcn list --compartment-id <compartment-id>

# Listar Subnets
oci network subnet list --compartment-id <compartment-id> --vcn-id <vcn-id>

# Listar API Gateways
oci api-gateway gateway list --compartment-id <compartment-id>

# Verificar deployment
oci api-gateway deployment get --deployment-id <id>

Referencias