File size: 3,587 Bytes
2ed8996 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | # Render Deployment Configuration for AegisLM SaaS Backend
# Production-ready deployment on Render + Upstash + Neon
services:
# Main API Service
- type: web
name: aegislm-api
env: python
plan: starter
buildCommand: pip install -r requirements.txt
startCommand: uvicorn main:app --host 0.0.0.0 --port $PORT
healthCheckPath: /health
autoDeploy: true
# Environment Variables (Set these in Render Dashboard)
envVars:
- key: PYTHON_VERSION
value: 3.11
- key: APP_NAME
value: "AegisLM Red Team API"
- key: APP_VERSION
value: "1.0.0"
- key: DEBUG
value: false
- key: API_V1_STR
value: "/api/v1"
# Security (Set in Render Dashboard)
- key: SECRET_KEY
generateValue: true
- key: ALGORITHM
value: "HS256"
- key: ACCESS_TOKEN_EXPIRE_MINUTES
value: 30
# Database (Neon PostgreSQL)
- key: DATABASE_URL
fromDatabase:
name: aegislm-db
property: connectionString
# Redis (Upstash)
- key: REDIS_URL
fromService:
type: redis
name: aegislm-redis
property: connectionString
# CORS (Update with your frontend domain)
- key: BACKEND_CORS_ORIGINS
value: "https://your-frontend-domain.com"
# Rate Limiting
- key: RATE_LIMIT_PER_MINUTE
value: 60
- key: RATE_LIMIT_BURST
value: 10
# Logging
- key: LOG_LEVEL
value: "INFO"
- key: ENABLE_REQUEST_LOGGING
value: true
# Learning System
- key: ENABLE_LEARNING
value: true
- key: TARGET_MODELS
value: "gpt-3.5-turbo,gpt-4,claude-3"
# Model Provider Keys (Set in Render Dashboard)
- key: OPENAI_API_KEY
sync: false
- key: ANTHROPIC_API_KEY
sync: false
- key: GOOGLE_API_KEY
sync: false
# Monitoring
- key: ENABLE_PERFORMANCE_MONITORING
value: true
- key: ENABLE_ERROR_TRACKING
value: true
- key: HEALTH_CHECK_INTERVAL
value: 30
# Worker Service
- type: worker
name: aegislm-worker
env: python
plan: starter
buildCommand: pip install -r requirements.txt
startCommand: celery -A workers.celery_worker worker --loglevel=info --concurrency=2
autoDeploy: true
# Environment Variables (Same as API service)
envVars:
- key: PYTHON_VERSION
value: 3.11
- key: APP_NAME
value: "AegisLM Worker"
- key: DEBUG
value: false
# Database (Neon PostgreSQL)
- key: DATABASE_URL
fromDatabase:
name: aegislm-db
property: connectionString
# Redis (Upstash)
- key: REDIS_URL
fromService:
type: redis
name: aegislm-redis
property: connectionString
# Celery Settings
- key: CELERY_WORKER_CONCURRENCY
value: 2
- key: CELERY_TASK_RATE_LIMIT
value: "10/m"
# Learning System
- key: ENABLE_LEARNING
value: true
# Model Provider Keys (Set in Render Dashboard)
- key: OPENAI_API_KEY
sync: false
- key: ANTHROPIC_API_KEY
sync: false
- key: GOOGLE_API_KEY
sync: false
# Databases
databases:
# Neon PostgreSQL Database
- name: aegislm-db
databaseName: aegislm
user: aegislm_user
# Redis Instance
redis:
- name: aegislm-redis
plan: starter
|