Files
oci-deal-accelerator/examples/output-demo-pharma-mx/diagram-spec.yaml
root 886c09ad10 Improve diagram generator: auto-sizing, DRG placement, edge labels
6 improvements based on Oracle Architecture Center reference diagrams:
1. Edge label offset — labels pushed 15px away from edge midpoint via
   mxGeometry offset injection, prevents overlap with icons
2. Auto-sizing containers — regions, VCNs, tenancy calculate dimensions
   from content instead of using fixed sizes (DR region: 540→260px)
3. jettySize=auto on all edges — clean stubs leaving/entering shapes
4. Dual connection merging — duplicate from/to pairs merged into single
   edge with combined label (e.g., dual FastConnect)
5. DRG placed OUTSIDE VCN, INSIDE region — matches Oracle ref arch
   pattern where DRG is the central hub between external and VCN
6. container=1;collapsible=0 injected into container XML styles

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 02:01:09 -03:00

136 lines
3.9 KiB
YAML

# OCI Deal Accelerator — Architecture Diagram Spec
# Demo: PharmaCorp Mexico — ExaCS dual-region with Data Guard
# Prompt: "ExaCS en Queretaro (prod) + Standby con Data Guard en Sao Paulo,
# Hub-Spoke networking con DRG, FastConnect 10Gbps dual desde Mexico City,
# bastion en public subnet, WAF para apps web, Vault para TDE keys."
#
# REQUESTED by user: ExaCS (prod+DR), DRG, FastConnect dual, Bastion, WAF, Vault
# TECHNICAL DEPENDENCIES (whitelist): SGW (ExaCS backup), IGW (public subnet)
# NOT included: EBS, Monitoring, Logging, Events, FSDR, Object Storage (not requested)
#
# Container sizes: omitted to let auto-sizing calculate from content.
# DRG: listed in gateways — generator places it OUTSIDE VCN, INSIDE region.
title: "PharmaCorp Mexico — ExaCS Migration Architecture"
# External: Mexico City DC (left side)
external:
- id: "mexico_dc"
label: "Mexico City\nData Center"
icon: "user"
x: 30
y: 250
w: 60
h: 70
# OCI Tenancy
tenancy:
label: "Oracle Cloud Infrastructure"
x: 200
y: 60
regions:
# ── Primary Region: Queretaro ──
- id: "region_qro"
label: "Region — Queretaro (Primary)"
primary: true
vcns:
- id: "vcn_hub"
label: "Hub VCN (10.0.0.0/16)"
subnets:
# Public subnet — WAF + Bastion (both requested)
- id: "subnet_pub"
label: "Public Subnet — 10.0.0.0/24"
h: 120
services:
- id: "waf"
label: "WAF\n(Web Apps)"
type: "waf"
w: 120
h: 70
- id: "bastion"
label: "Bastion\nService"
type: "bastion"
w: 120
h: 70
# DB subnet — ExaCS + Vault (both requested)
- id: "subnet_db"
label: "Database Subnet (Private) — 10.0.1.0/24"
h: 130
services:
- id: "exacs_prod"
label: "ExaCS X11M\nQuarter Rack\n(Production)"
type: "exacs"
w: 200
h: 80
- id: "vault"
label: "OCI Vault\nTDE Keys"
type: "vault"
w: 140
h: 80
gateways:
# DRG — generator places this OUTSIDE VCN, INSIDE region
- id: "drg"
label: "DRG"
type: "drg"
w: 90
h: 60
# IGW — whitelist: public subnet requires it
- id: "igw"
label: "Internet\nGateway"
type: "igw"
w: 100
h: 60
# SGW — whitelist: ExaCS backup requires it
- id: "sgw"
label: "Service\nGateway"
type: "service_gateway"
w: 100
h: 60
# ── DR Region: Sao Paulo ──
- id: "region_gru"
label: "Region — São Paulo (DR)"
vcns:
- id: "vcn_dr"
label: "DR VCN (10.1.0.0/16)"
subnets:
- id: "subnet_dr_db"
label: "DB Subnet (Private) — 10.1.1.0/24"
h: 130
services:
- id: "exacs_dr"
label: "ExaCS Standby\n(Data Guard)"
type: "exacs"
w: 200
h: 80
# Connections
connections:
# FastConnect dual from Mexico City → DRG (will be merged into single edge)
- id: "conn_fc1"
label: "FastConnect 10Gbps\n(Dual Redundant)"
type: "fastconnect"
from: "mexico_dc"
to: "drg"
# Vault → ExaCS (TDE keys)
- id: "conn_vault"
label: "TDE Keys"
type: "internal"
from: "vault"
to: "exacs_prod"
# Data Guard: Prod → DR
- id: "conn_dg"
label: "Data Guard\n(Redo Shipping)"
type: "data"
from: "exacs_prod"
to: "exacs_dr"