|
1 | 1 | # OCI Infrastructure |
2 | 2 |
|
3 | | -Terraform configuration for deploying the fullstack-starter stack to Oracle Cloud Infrastructure. This is the OCI counterpart of the GCP configuration in [`../gcp/`](../gcp/), the AWS configuration in [`../aws/`](../aws/), and the Azure configuration in [`../az/`](../az/). |
| 3 | +Terraform configuration for deploying the fullstack-starter stack to Oracle Cloud Infrastructure. See [`../README.md`](../README.md) for the cross-cloud stack comparison. |
4 | 4 |
|
5 | 5 | ## Architecture |
6 | 6 |
|
7 | | -| Component | OCI Service | GCP (`../gcp/`) | AWS (`../aws/`) | Azure (`../az/`) | |
8 | | -|-----------|-------------|-----------------|-----------------|------------------| |
9 | | -| Isolation boundary | Child compartment under `parent_compartment_ocid` | Project | Account + tags | Resource group | |
10 | | -| API / Web / Worker | Container Instances (fixed counts, no autoscaling) | Cloud Run | ECS Fargate | Container Apps | |
11 | | -| Container registry | OCIR (`oci_artifacts_container_repository`) | Artifact Registry | ECR | ACR | |
12 | | -| Load balancing | Flexible LB + routing policies (host/path) | Global LB + Cloud Run | ALB | Container Apps ingress | |
13 | | -| Database | OCI Database with PostgreSQL 16 | Cloud SQL | Aurora PostgreSQL 16 | PostgreSQL Flexible Server | |
14 | | -| Cache | OCI Cache (Redis 7, TLS-only) | Memorystore | ElastiCache Redis 7 | Azure Cache for Redis | |
15 | | -| Queues | OCI Queue ×3 (built-in DLQ, delivery count 5) | Cloud Tasks | SQS + DLQ | Service Bus subscriptions | |
16 | | -| Scheduled jobs | — (documented gap, `schedules` is a no-op) | Cloud Scheduler → Pub/Sub | EventBridge Scheduler → SNS | Container Apps Jobs cron | |
17 | | -| Uploads storage | Object Storage `uploads` bucket | GCS | S3 | Storage container | |
18 | | -| Static assets / CDN | Object Storage `static` bucket (no first-party CDN) | GCS + Cloud CDN | S3 + CloudFront | Front Door | |
19 | | -| WAF | WAF policy on LB (rate limit ~1000 req/min/IP) | Cloud Armor | WAFv2 on ALB | Front Door WAF | |
20 | | -| CI/CD auth | Identity propagation trust (GitHub OIDC → UPST) | Workload Identity Federation | GitHub OIDC role | Entra ID federated credential | |
21 | | -| Runtime auth | Dynamic group + resource principal | Service accounts | ECS task role | Managed identity | |
22 | | -| Monitoring | ONS topic + Monitoring alarms (LB 5xx, PG CPU) | — | CloudWatch + SNS | Monitor + action group | |
| 7 | +| Component | OCI Service | |
| 8 | +|-----------|-------------| |
| 9 | +| Isolation boundary | Child compartment under `parent_compartment_ocid` | |
| 10 | +| API / Web / Worker | Container Instances (fixed counts, no autoscaling) | |
| 11 | +| Container registry | OCIR (`oci_artifacts_container_repository`) | |
| 12 | +| Load balancing | Flexible LB + routing policies (host/path) | |
| 13 | +| Database | OCI Database with PostgreSQL 16 | |
| 14 | +| Cache | OCI Cache (Redis 7, TLS-only) | |
| 15 | +| Queues | OCI Queue ×3 (built-in DLQ, delivery count 5) | |
| 16 | +| Scheduled jobs | — (documented gap, `schedules` is a no-op) | |
| 17 | +| Uploads storage | Object Storage `uploads` bucket | |
| 18 | +| Static assets / CDN | Object Storage `static` bucket (no first-party CDN) | |
| 19 | +| WAF | WAF policy on LB (rate limit ~1000 req/min/IP) | |
| 20 | +| CI/CD auth | Identity propagation trust (GitHub OIDC → UPST) | |
| 21 | +| Runtime auth | Dynamic group + resource principal | |
| 22 | +| Monitoring | ONS topic + Monitoring alarms (LB 5xx, PG CPU) | |
23 | 23 |
|
24 | 24 | ## Prerequisites |
25 | 25 |
|
|
0 commit comments