mirror of
https://github.com/blackboxprogramming/BlackRoad-Operating-System.git
synced 2026-03-17 05:57:21 -05:00
This commit adds extensive API integration capabilities for deployment, payments, communications, and monitoring to BlackRoad OS. New API Integrations: - Railway API: Cloud deployment management (GraphQL) - Vercel API: Serverless deployment platform (REST) - Stripe API: Payment processing and billing - Twilio API: SMS, Voice, and WhatsApp messaging - Slack API: Team collaboration and notifications - Discord API: Community messaging and notifications - Sentry API: Error tracking and application monitoring Core Features: - Centralized API client manager with health checking - Comprehensive health monitoring endpoint (/api/health/*) - Automatic retry logic and rate limit handling - Unified status monitoring for all integrations Infrastructure: - Railway deployment configuration (railway.json, railway.toml) - Enhanced GitHub Actions workflows: * backend-tests.yml: Comprehensive test suite with PostgreSQL/Redis * railway-deploy.yml: Automated Railway deployment with notifications - Docker build validation in CI/CD pipeline Testing: - Comprehensive test suite for all API integrations - API connectivity verification in CI/CD - Mock-friendly architecture for testing without credentials Configuration: - Updated .env.example with all new API keys - Added stripe and sentry-sdk to requirements.txt - Registered all new routers in main.py - Updated API info endpoint with new integrations Documentation: - API_INTEGRATIONS.md: Complete setup and usage guide - Interactive API docs at /api/docs with all endpoints - Health check endpoints for monitoring All APIs are optional and gracefully handle missing credentials. The system provides clear status messages for configuration requirements.
26 lines
466 B
TOML
26 lines
466 B
TOML
[build]
|
|
builder = "DOCKERFILE"
|
|
dockerfilePath = "backend/Dockerfile"
|
|
|
|
[deploy]
|
|
numReplicas = 1
|
|
sleepApplication = false
|
|
restartPolicyType = "ON_FAILURE"
|
|
restartPolicyMaxRetries = 10
|
|
startCommand = "cd backend && uvicorn app.main:app --host 0.0.0.0 --port $PORT"
|
|
|
|
[[services]]
|
|
name = "blackroad-backend"
|
|
|
|
[services.healthcheck]
|
|
path = "/health"
|
|
timeout = 10
|
|
|
|
[[services.env]]
|
|
name = "ENVIRONMENT"
|
|
value = "production"
|
|
|
|
[[services.env]]
|
|
name = "DEBUG"
|
|
value = "False"
|