feat: Add Railway infrastructure configuration and documentation

- Add railway.json with complete service registry (22 services)
- Add SERVICES.md documenting all Railway services and endpoints
- Add .env.railway.example template for environment variables
- Document custom domains (operator, beacon, prism)
- Include service-to-service communication patterns
- Add architecture diagram showing Railway network topology

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Alexa Louise
2025-11-29 13:26:13 -06:00
parent 0108860bff
commit 2609eaa3a5
3 changed files with 467 additions and 0 deletions

View File

@@ -0,0 +1,143 @@
# ==============================================================================
# BlackRoad OS - Railway Environment Variables Template
# ==============================================================================
#
# This file contains all Railway-specific environment variables.
# Copy this file to your Railway service settings or use it as reference.
#
# DO NOT commit actual values to version control.
#
# Last Updated: 2025-11-29
# ==============================================================================
# ------------------------------------------------------------------------------
# Railway Auto-Injected Variables (DO NOT SET MANUALLY)
# These are automatically set by Railway for each service
# ------------------------------------------------------------------------------
# RAILWAY_ENVIRONMENT=production
# RAILWAY_ENVIRONMENT_ID=57e6ac32-0e86-4bde-a337-948535e27bcc
# RAILWAY_ENVIRONMENT_NAME=production
# RAILWAY_PROJECT_ID=03ce1e43-5086-4255-b2bc-0146c8916f4c
# RAILWAY_PROJECT_NAME=BlackRoad OS
# RAILWAY_SERVICE_ID=<auto-generated>
# RAILWAY_SERVICE_NAME=<service-name>
# RAILWAY_PRIVATE_DOMAIN=<service-name>.railway.internal
# ------------------------------------------------------------------------------
# Service URL References (Auto-injected by Railway)
# Use these to communicate between services
# ------------------------------------------------------------------------------
# RAILWAY_SERVICE_BLACKROAD_OS_API_GATEWAY_URL=blackroad-os-api-gateway-production.up.railway.app
# RAILWAY_SERVICE_BLACKROAD_OS_API_URL=blackroad-os-api-production-3335.up.railway.app
# RAILWAY_SERVICE_BLACKROAD_OS_BEACON_URL=beacon.blackroad.systems
# RAILWAY_SERVICE_BLACKROAD_OS_CORE_URL=blackroad-os-core-production.up.railway.app
# RAILWAY_SERVICE_BLACKROAD_OS_DOCS_URL=blackroad-os-docs-production-f7af.up.railway.app
# RAILWAY_SERVICE_BLACKROAD_OS_HOME_URL=blackroad-os-home-production.up.railway.app
# RAILWAY_SERVICE_BLACKROAD_OS_INFRA_URL=blackroad-os-infra-production.up.railway.app
# RAILWAY_SERVICE_BLACKROAD_OS_MASTER_URL=blackroad-os-master-production.up.railway.app
# RAILWAY_SERVICE_BLACKROAD_OS_PACK_RESEARCH_LAB_URL=blackroad-os-pack-research-lab-production.up.railway.app
# RAILWAY_SERVICE_BLACKROAD_OS_URL=blackroad-os-production.up.railway.app
# RAILWAY_SERVICE_BLACKROAD_PRISM_CONSOLE_URL=prism.blackroad.systems
# ------------------------------------------------------------------------------
# Application Settings (SET THESE)
# ------------------------------------------------------------------------------
# Server Configuration
PORT=8000
HOST=0.0.0.0
NODE_ENV=production
# Security
SECRET_KEY=your-secret-key-here-min-32-chars
JWT_SECRET=your-jwt-secret-here
# ------------------------------------------------------------------------------
# Database (Railway Plugin or External)
# ------------------------------------------------------------------------------
# PostgreSQL (Railway Plugin auto-populates these)
# DATABASE_URL=postgresql://user:password@host:5432/database
# PGHOST=
# PGPORT=5432
# PGUSER=
# PGPASSWORD=
# PGDATABASE=
# For async PostgreSQL (FastAPI)
# DATABASE_URL=postgresql+asyncpg://user:password@host:5432/database
# ------------------------------------------------------------------------------
# Redis (Railway Plugin or External)
# ------------------------------------------------------------------------------
# REDIS_URL=redis://host:6379/0
# REDIS_HOST=
# REDIS_PORT=6379
# REDIS_PASSWORD=
# ------------------------------------------------------------------------------
# External API Keys (Service Specific)
# ------------------------------------------------------------------------------
# AI Services
# OPENAI_API_KEY=sk-...
# ANTHROPIC_API_KEY=sk-ant-...
# Cloud Services
# AWS_ACCESS_KEY_ID=
# AWS_SECRET_ACCESS_KEY=
# AWS_REGION=us-east-1
# Payments
# STRIPE_SECRET_KEY=sk_live_...
# STRIPE_PUBLISHABLE_KEY=pk_live_...
# STRIPE_WEBHOOK_SECRET=whsec_...
# Communication
# SMTP_HOST=smtp.gmail.com
# SMTP_PORT=587
# SMTP_USER=
# SMTP_PASSWORD=
# TWILIO_ACCOUNT_SID=
# TWILIO_AUTH_TOKEN=
# GitHub (for Operator service)
# GITHUB_APP_ID=
# GITHUB_PRIVATE_KEY=
# GITHUB_WEBHOOK_SECRET=
# Monitoring
# SENTRY_DSN=https://...@sentry.io/...
# ------------------------------------------------------------------------------
# CORS Configuration
# ------------------------------------------------------------------------------
ALLOWED_ORIGINS=https://blackroad.systems,https://*.blackroad.systems,https://*.up.railway.app
# ------------------------------------------------------------------------------
# Feature Flags
# ------------------------------------------------------------------------------
# DEBUG=false
# ENABLE_METRICS=true
# ENABLE_TRACING=true
# ------------------------------------------------------------------------------
# Service-Specific Settings
# ------------------------------------------------------------------------------
# For blackroad-os-core
# BLOCKCHAIN_NETWORK=mainnet
# WALLET_MASTER_KEY=
# For blackroad-os-operator
# AUTO_MERGE_ENABLED=true
# PR_CHECK_INTERVAL=60
# For blackroad-prism-console
# PRISM_MODE=production
# AGENT_TIMEOUT=300