Apply platform-domain decision (2026-05-18). No services touched; docs/config only. Refs: M1.1
This commit was merged in pull request #5.
This commit is contained in:
+13
-13
@@ -41,7 +41,7 @@ Critical isolations preserved even at 4 VMs:
|
||||
```
|
||||
vm-edge (prod, m2.small 8 GB, public IP)
|
||||
├── orca-proxy (Orca-managed; wildcard TLS terminator)
|
||||
├── powerdns-auth (Orca-managed; authoritative DNS for yourplatform.com)
|
||||
├── powerdns-auth (Orca-managed; authoritative DNS for breakpilot.com)
|
||||
├── keycloak-26 (Orca-managed; JVM, ~1.5 GB heap)
|
||||
├── postgres-keycloak (Orca-managed; dedicated PG instance for Keycloak only)
|
||||
├── infisical (Orca-managed)
|
||||
@@ -57,7 +57,7 @@ vm-control (prod, m2.medium 16 GB)
|
||||
├── frappe-hd (same bench as ERPNext)
|
||||
├── mariadb (Orca-managed; for ERPNext)
|
||||
├── redis-erpnext (Orca-managed)
|
||||
└── stalwart-mail (Orca-managed; SMTP/IMAP/JMAP on mail.yourplatform.com)
|
||||
└── stalwart-mail (Orca-managed; SMTP/IMAP/JMAP on mail.breakpilot.com)
|
||||
|
||||
vm-data (prod, m2.medium 16 GB)
|
||||
├── certifai-dashboard (Orca-managed)
|
||||
@@ -84,8 +84,8 @@ stage (stage, m2.small 8 GB, public IP)
|
||||
└── qdrant-stage (ephemeral, tiny corpus)
|
||||
|
||||
Calls OUT to prod:
|
||||
→ auth.yourplatform.com (Keycloak token issuance, under stage client_id)
|
||||
→ mail.yourplatform.com (Stalwart SMTP, recipient filter forces +stage@ only)
|
||||
→ auth.breakpilot.com (Keycloak token issuance, under stage client_id)
|
||||
→ mail.breakpilot.com (Stalwart SMTP, recipient filter forces +stage@ only)
|
||||
→ Polar SANDBOX webhook URL (NEVER prod Polar)
|
||||
→ no calls to prod Postgres-app, MariaDB, MongoDB
|
||||
```
|
||||
@@ -107,8 +107,8 @@ stage (stage, m2.small 8 GB, public IP)
|
||||
```
|
||||
INTERNET
|
||||
│
|
||||
(yourplatform.com — authoritative on vm-edge PowerDNS;
|
||||
stage.yourplatform.com — authoritative same zone)
|
||||
(breakpilot.com — authoritative on vm-edge PowerDNS;
|
||||
stage.breakpilot.com — authoritative same zone)
|
||||
│
|
||||
┌─────────────┴─────────────┐
|
||||
│ │
|
||||
@@ -143,15 +143,15 @@ stage (stage, m2.small 8 GB, public IP)
|
||||
└──────────────┘
|
||||
|
||||
Orca-Proxy routing (vm-edge, by Host header):
|
||||
auth.yourplatform.com → 127.0.0.1:8443 (Keycloak, local on vm-edge)
|
||||
erp.yourplatform.com → vm-control:8000 (ERPNext) [allowlist: our IPs only]
|
||||
git.yourplatform.com → vm-edge:3000 (Gitea, local) [allowlist: our IPs only]
|
||||
mail.yourplatform.com → vm-control:587 (Stalwart submission) [allowlist: VM internal only]
|
||||
ns1.yourplatform.com → 127.0.0.1:53 (PowerDNS, local)
|
||||
*.yourplatform.com → vm-control:3000 (customer portal)
|
||||
auth.breakpilot.com → 127.0.0.1:8443 (Keycloak, local on vm-edge)
|
||||
erp.breakpilot.com → vm-control:8000 (ERPNext) [allowlist: our IPs only]
|
||||
git.breakpilot.com → vm-edge:3000 (Gitea, local) [allowlist: our IPs only]
|
||||
mail.breakpilot.com → vm-control:587 (Stalwart submission) [allowlist: VM internal only]
|
||||
ns1.breakpilot.com → 127.0.0.1:53 (PowerDNS, local)
|
||||
*.breakpilot.com → vm-control:3000 (customer portal)
|
||||
|
||||
Orca-Proxy routing (stage, by Host header):
|
||||
*.stage.yourplatform.com → 127.0.0.1:3000 (stage portal — all subdomains route here)
|
||||
*.stage.breakpilot.com → 127.0.0.1:3000 (stage portal — all subdomains route here)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user