infracloud/OCI.md

7.2 KiB

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: Nenhum bucket criado ainda para MFEs

API Gateways

Status: Nenhum API Gateway criado ainda

API Gateways

Status: Nenhum API Gateway criado ainda.

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

# 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 dev/devops Sim
mfe-formalization dev Sem pipeline

Pipeline OCI - mfe-user

Arquivo: C:\dev\C:devrepos_mfe\mfe-user\azure-pipelines-oci.yml

Trigger: Branch devops

Estágios:

  1. Build - Compila o projeto Angular
  2. UploadToOCI - Faz upload para OCI Object Storage (bucket: nexus-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: nexus-mfe-user-dev (ainda não criado)

API Gateway:

  • Nome: nexus-mfe-user-gateway
  • Deployment: nexus-mfe-user-deployment

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)

# 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