200 lines
7.2 KiB
Markdown
200 lines
7.2 KiB
Markdown
# 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
|
|
|
|
```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 | 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)
|
|
|
|
```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`
|