ALM-2 / backend /render.yaml
ACA050's picture
Upload 520 files
2ed8996 verified
# 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