mirror of
https://github.com/blackboxprogramming/BlackRoad-Operating-System.git
synced 2026-03-17 07:57:19 -05:00
CRITICAL CHANGES: - Add comprehensive deployment architecture documentation - Prevent misconfiguration where monorepo is deployed instead of satellites - Clarify monorepo-to-satellite sync model across all docs CHANGES: 1. railway.toml - Add critical warning banner at top of file - Mark config as local development/testing only - Explain correct deployment model (satellites, not monorepo) 2. DEPLOYMENT_ARCHITECTURE.md (NEW) - Complete 500+ line deployment guide - Monorepo vs satellite model explained in detail - Critical rules: NEVER add monorepo to Railway - Service-to-repository mapping - Environment configuration guide - Cloudflare DNS configuration - Common mistakes and troubleshooting 3. README.md - Add prominent deployment warning box - Clarify monorepo is source of truth, not deployable - List satellite repos that should be deployed - Reference DEPLOYMENT_ARCHITECTURE.md 4. CLAUDE.md - Add critical deployment model section - Clarify Railway deployment is satellite-only - Update deployment workflow explanation - Add key rules for deployment 5. backend/.env.example - Fix ALLOWED_ORIGINS to reference satellites - Remove monorepo Railway URL reference - Add correct satellite service URLs 6. ops/domains.yaml - Fix os.blackroad.systems DNS target - Point to blackroad-os-core-production (satellite) - Remove incorrect monorepo Railway URL 7. scripts/validate_deployment_config.py (NEW) - Automated validation script - Checks for monorepo references in configs - Validates railway.toml, env files, DNS configs - Ensures DEPLOYMENT_ARCHITECTURE.md exists - Exit code 0 = pass, 1 = fail WHY THIS MATTERS: - Adding monorepo to Railway creates circular deploy loops - Environment variables break (wrong service URLs) - Cloudflare routing fails - Service dependencies misconfigured - Prevents production outages from misconfiguration CORRECT MODEL: - Monorepo = source of truth (orchestration only) - Satellites = deployable services (Railway deployment) - Code flows: monorepo → sync → satellite → Railway See: DEPLOYMENT_ARCHITECTURE.md for complete details
65 lines
1.8 KiB
YAML
65 lines
1.8 KiB
YAML
# Universal domain registry configuration
|
|
# Each entry describes how a domain or subdomain should be handled.
|
|
# Supported providers: "godaddy", "cloudflare"
|
|
# Supported modes:
|
|
# - forward: use registrar forwarding (HTTPS 301)
|
|
# - dns: set DNS records (CNAME or A)
|
|
|
|
domains:
|
|
# Primary domain: blackroad.systems serves the main application
|
|
- name: "blackroad.systems"
|
|
type: "root"
|
|
provider: "godaddy"
|
|
mode: "dns"
|
|
record:
|
|
type: "CNAME"
|
|
value: "YOUR-PROD-RAILWAY-APP.up.railway.app" # replace with your Railway host
|
|
notes: "Main flagship corporate site - serves BlackRoad OS application directly"
|
|
|
|
# www subdomain redirects to apex domain
|
|
- name: "www.blackroad.systems"
|
|
type: "subdomain"
|
|
provider: "godaddy"
|
|
mode: "forward"
|
|
forward_to: "https://blackroad.systems"
|
|
forwarding_type: 301
|
|
notes: "Redirects to canonical apex domain"
|
|
|
|
# os subdomain can be used as an alias
|
|
- name: "os.blackroad.systems"
|
|
type: "subdomain"
|
|
provider: "godaddy"
|
|
mode: "dns"
|
|
record:
|
|
type: "CNAME"
|
|
value: "blackroad-os-core-production.up.railway.app" # Core API satellite service
|
|
notes: "Alternative subdomain alias for the OS application - points to Core API satellite"
|
|
|
|
- name: "blackroad.ai"
|
|
type: "root"
|
|
provider: "cloudflare"
|
|
mode: "dns"
|
|
record:
|
|
type: "CNAME"
|
|
value: "os.blackroad.systems"
|
|
|
|
- name: "roadwallet.com"
|
|
type: "root"
|
|
provider: "cloudflare"
|
|
mode: "dns"
|
|
record:
|
|
type: "CNAME"
|
|
value: "os.blackroad.systems"
|
|
|
|
- name: "aliceos.io"
|
|
type: "root"
|
|
provider: "cloudflare"
|
|
mode: "dns"
|
|
record:
|
|
type: "CNAME"
|
|
value: "os.blackroad.systems"
|
|
|
|
# Add additional domains or subdomains here following the same pattern.
|
|
# By default you can set mode: "dns" with a CNAME pointing to os.blackroad.systems,
|
|
# or override as needed.
|