# OCI - Oracle Cloud Infrastructure Este documento documenta a configuração e deployments relacionados à Oracle Cloud Infrastructure (OCI) para os projetos **Invent Cloud** e **Nexus**. ## Projetos ### Invent Cloud - **Empresa**: Invista - **Projeto**: Invent Finance - **Local**: `C:\dev\inventcloud\invent-finance\` - **Repositório Azure DevOps**: Invent-finance ### Nexus (MFE - Micro Frontends) - **Empresa**: Invista - **Repositório Base**: `C:\dev\C:devrepos_mfe\` - **Templates Pipeline**: `C:\dev\repos_mfe\azure-pipelines-templates\` ## Compartimentos OCI | Ambiente | Compartment OCID | |----------|------------------| | Dev | `ocid1.compartment.oc1..aaaaaaaa76x3nykkjwvctpr6px34dysu3pbg7p62h2r65fegt7fvbrioll3a` | | HML | `ocid1.compartment.oc1..aaaaaaaawc3hj6isbiibbiuokijw7le72ga3qa3qyblsdhrkj5gdygskzmwq` | | PROD | `ocid1.compartment.oc1..aaaaaaaazjxk5dkwleol3hjq7huojevotvnjhvy5ngro4jtwcqx2fn2ujara` | ### Namespace OCI - **Namespace**: `grbb7qzeuoag` --- ## Infraestrutura Existente (Dev) ### VCN - Virtual Cloud Network | Nome | CIDR | OCID | |------|------|------| | vcn-oke | 10.120.0.0/16 | `ocid1.vcn.oc1.sa-saopaulo-1.amaaaaaasks3yliatayztbyd6doyk5oglrmrc57jekltu3xnnena6fvruwba` | ### Subnets | Nome | CIDR | Tipo | OCID | |------|------|------|------| | sbn-lb-1 | 10.120.128.0/20 | Load Balancer | `ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaa2ezw57uocis6s2eioypdsnt2p4pwm4fwnjz5jdaqigrm6jaqexeq` | | sbn-lb-2 | 10.120.144.0/20 | Load Balancer | `ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaav7qtnmgil2qdt3lz6fnqkdcbymjd2dtjjeyo6y7z3s2omq4uvcqa` | | sbn-workers-1 | 10.120.0.0/20 | OKE Workers | `ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaazfomdghi4x4jpluyjooy7ajvsf5y57jq2xcqwf35guodkcn2wrwq` | | sbn-workers-2 | 10.120.16.0/20 | OKE Workers | `ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaahaqguwt67kzs2dad2vyz3zpjl5ac7ximeqg55gmsnd33c2qikija` | | sbn-workers-3 | 10.120.32.0/20 | OKE Workers | `ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaafzhmhvz2scr6sfsygixz2gjfnecggiirh3rvyhjcmfn3ohmohj6a` | ### Subnet para API Gateway Usar **sbn-lb-1** para deploy do API Gateway: ``` OCI_SUBNET_OCID=ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaa2ezw57uocis6s2eioypdsnt2p4pwm4fwnjz5jdaqigrm6jaqexeq ``` --- ## Buckets OCI **Status**: ✅ Bucket `mfe-user-dev` criado via pipeline | Bucket | Ambiente | Uso | |--------|----------|-----| | mfe-user-dev | Dev | MFE User static hosting | ## API Gateways **Status**: ✅ API Gateway criado via pipeline | Gateway | Ambiente | Uso | |---------|----------|-----| | mfe-user-gateway | Dev | MFE User API Gateway | ## VCNs e Subnets (Dev) ### VCN Principal - **Nome**: vcn-oke - **CIDR**: 10.120.0.0/16 - **OCID**: `ocid1.vcn.oc1.sa-saopaulo-1.amaaaaaasks3yliatayztbyd6doyk5oglrmrc57jekltu3xnnena6fvruwba` ### Subnets Disponíveis | Nome | CIDR | Uso | OCID | |------|------|-----|------| | sbn-lb-1 | 10.120.128.0/20 | Load Balancer (pode ser usada para API Gateway) | `ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaa2ezw57uocis6s2eioypdsnt2p4pwm4fwnjz5jdaqigrm6jaqexeq` | | sbn-lb-2 | 10.120.144.0/20 | Load Balancer | `ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaav7qtnmgil2qdt3lz6fnqkdcbymjd2dtjjeyo6y7z3s2omq4uvcqa` | | sbn-workers-1 | 10.120.0.0/20 | Workers OKE | `ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaazfomdghi4x4jpluyjooy7ajvsf5y57jq2xcqwf35guodkcn2wrwq` | | sbn-workers-2 | 10.120.16.0/20 | Workers OKE | `ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaahaqguwt67kzs2dad2vyz3zpjl5ac7ximeqg55gmsnd33c2qikija` | | sbn-workers-3 | 10.120.32.0/20 | Workers OKE | `ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaafzhmhvz2scr6sfsygixz2gjfnecggiirh3rvyhjcmfn3ohmohj6a` | ### Recomendação para API Gateway Usar **sbn-lb-1** como subnet para o API Gateway: ``` OCI_SUBNET_OCID=ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaaa2ezw57uocis6s2eioypdsnt2p4pwm4fwnjz5jdaqigrm6jaqexeq ``` ### Comandos para verificar buckets ```bash # Verificar namespace oci os ns get # Listar buckets (dev) oci os bucket list --compartment-id "ocid1.compartment.oc1..aaaaaaaa76x3nykkjwvctpr6px34dysu3pbg7p62h2r65fegt7fvbrioll3a" --all # Listar buckets (hml) oci os bucket list --compartment-id "ocid1.compartment.oc1..aaaaaaaawc3hj6isbiibbiuokijw7le72ga3qa3qyblsdhrkj5gdygskzmwq" --all # Listar buckets (prod) oci os bucket list --compartment-id "ocid1.compartment.oc1..aaaaaaaazjxk5dkwleol3hjq7huojevotvnjhvy5ngro4jtwcqx2fn2ujara" --all ``` ## MFEs - Micro Frontends ### Repositórios MFE | Repositório | Branch Principal | Pipeline OCI | |-------------|------------------|--------------| | mfe-auth | dev/devops | ❌ Não | | mfe-shell | dev/devops | ❌ Não | | mfe-person | dev/devops | ❌ Não | | mfe-poc | dev/devops | ❌ Não | | mfe-user | devops | ✅ Sim (unificado AWS+OCI) | | mfe-formalization | dev | ❌ Sem pipeline | ### Pipeline OCI - mfe-user **Arquivo**: `C:\dev\mfe-user\azure-pipelines.yml` (unificado com AWS) **Trigger**: Branch `devops` **Parametro**: `cloudProvider` (default: `oci`) **Estágios**: 1. **Build** - Compila o projeto Angular 2. **UploadToOCI** - Faz upload para OCI Object Storage (bucket: `mfe-user-dev`) 3. **CreatePAR** - Cria Pre-Authenticated Request (PAR) 4. **DeployToAPIGateway** - Faz deploy no OCI API Gateway **Variable Groups Required**: - `oci-terraform` - `mfe-credentials` **Bucket**: `mfe-user-dev` **API Gateway**: - Nome: `mfe-user-gateway` - Deployment: `mfe-user-deployment` **Commits Recentes**: - `50ad18c` (18/02/2026) - feat: set OCI as default cloudProvider - `b99aa07` (18/02/2026) - feat: unify OCI pipeline into azure-pipelines.yml ### Pipeline AWS (Padrão) - mfe-user **Arquivo**: `C:\dev\C:devrepos_mfe\mfe-user\azure-pipelines.yml` **Trigger**: Branch `dev` **Template**: `mfe/deploy-mfe.yaml@templates` **Deploy**: S3/AWS (não OCI) ## MS-POC - Microservice POC **Status**: ❌ **NÃO PUBLICADO EM OBJECT STORAGE** O `ms-poc` está configurado no cluster Kubernetes (OKE) conforme `ingresses.yaml`, mas **NÃO foi publicado em nenhum Object Storage**. ### Ingressos ms-poc (Kubernetes) ```yaml # Internal - host: ms-poc.dev-01.interno.invista.com.br namespace: nexus-services # External - host: ms-poc.dev.invista.com.br namespace: nexus-services ``` ### Próximos Passos para ms-poc Para publicar no OCI Object Storage: 1. Criar bucket: `nexus-ms-poc-dev` 2. Criar pipeline Azure DevOps para build e upload 3. Configurar API Gateway ou usar OKE para deploy ## Clusters OKE (Oracle Kubernetes Engine) ### Clusters Disponíveis | Ambiente | Cluster OCID | |----------|--------------| | Dev Cluster 1 | `ocid1.cluster.oc1.sa-saopaulo-1.aaaaaaaaxernqctehleyduukfuyfgcnmm6fuk5l4mkgdaocsdcobrewkvc3a` | | Dev Cluster 2 | `ocid1.cluster.oc1.sa-saopaulo-1.aaaaaaaancdtl3rrcblzsifl6h3vguxhj5byqldtzakgg7tv5cifn2eknv6q` | | Dev Cluster 3 | `ocid1.cluster.oc1.sa-saopaulo-1.aaaaaaaaxbelg5ztrdn3ca3tm5mohq363c5v6yhmjhbwlgyndcrszb62robq` | | HML Cluster 1 | `ocid1.cluster.oc1.sa-saopaulo-1.aaaaaaaaf26wiaoq2arf66a6jfah3ywbuyreik5mvcdxazyz2cwmskgdnxja` | | HML Cluster 2 | `ocid1.cluster.oc1.sa-saopaulo-1.aaaaaaaadquto7tpcrqx6k7i7bz5ufyxg7o423ekkbcagpy3tcx3w46e6rfa` | | HML Cluster 3 | `ocid1.cluster.oc1.sa-saopaulo-1.aaaaaaaais3nc43lvmestqxmj2tvay4jva4eqihjf55mn72yvc5tbieh3qgq` | | PROD Cluster 1 | `ocid1.cluster.oc1.sa-saopaulo-1.aaaaaaaasseprhgtgw7chdhrlo362vsqcmr3j6reeomvy6ahyc7geg5htaga` | | PROD Cluster 2 | `ocid1.cluster.oc1.sa-saopaulo-1.aaaaaaaa4zzx3jxqsf2asqlvvvbfrmi3birowx4mrc4xcwjklc5wbegb6xea` | | PROD Cluster 3 | `ocid1.cluster.oc1.sa-saopaulo-1.aaaaaaaalazuvvqgci4zd6b473mpbrpxhrznqp7i3an6kae62cuugdaohyra` | ## Referências - Templates Pipeline: `C:\dev\repos_mfe\azure-pipelines-templates\` - Infra Terraform: `C:\dev\tf_oci_clusters\` - Clusters Config: `C:\dev\repos_mfe\azure-pipelines-templates\config\oke-clusters.json`