| |
| |
|
|
| services: |
| |
| - 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 |
| |
| |
| 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" |
| |
| |
| - key: SECRET_KEY |
| generateValue: true |
| - key: ALGORITHM |
| value: "HS256" |
| - key: ACCESS_TOKEN_EXPIRE_MINUTES |
| value: 30 |
| |
| |
| - key: DATABASE_URL |
| fromDatabase: |
| name: aegislm-db |
| property: connectionString |
| |
| |
| - key: REDIS_URL |
| fromService: |
| type: redis |
| name: aegislm-redis |
| property: connectionString |
| |
| |
| - key: BACKEND_CORS_ORIGINS |
| value: "https://your-frontend-domain.com" |
| |
| |
| - key: RATE_LIMIT_PER_MINUTE |
| value: 60 |
| - key: RATE_LIMIT_BURST |
| value: 10 |
| |
| |
| - key: LOG_LEVEL |
| value: "INFO" |
| - key: ENABLE_REQUEST_LOGGING |
| value: true |
| |
| |
| - key: ENABLE_LEARNING |
| value: true |
| - key: TARGET_MODELS |
| value: "gpt-3.5-turbo,gpt-4,claude-3" |
| |
| |
| - key: OPENAI_API_KEY |
| sync: false |
| - key: ANTHROPIC_API_KEY |
| sync: false |
| - key: GOOGLE_API_KEY |
| sync: false |
| |
| |
| - key: ENABLE_PERFORMANCE_MONITORING |
| value: true |
| - key: ENABLE_ERROR_TRACKING |
| value: true |
| - key: HEALTH_CHECK_INTERVAL |
| value: 30 |
|
|
| |
| - 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 |
| |
| |
| envVars: |
| - key: PYTHON_VERSION |
| value: 3.11 |
| - key: APP_NAME |
| value: "AegisLM Worker" |
| - key: DEBUG |
| value: false |
| |
| |
| - key: DATABASE_URL |
| fromDatabase: |
| name: aegislm-db |
| property: connectionString |
| |
| |
| - key: REDIS_URL |
| fromService: |
| type: redis |
| name: aegislm-redis |
| property: connectionString |
| |
| |
| - key: CELERY_WORKER_CONCURRENCY |
| value: 2 |
| - key: CELERY_TASK_RATE_LIMIT |
| value: "10/m" |
| |
| |
| - key: ENABLE_LEARNING |
| value: true |
| |
| |
| - key: OPENAI_API_KEY |
| sync: false |
| - key: ANTHROPIC_API_KEY |
| sync: false |
| - key: GOOGLE_API_KEY |
| sync: false |
|
|
| |
| databases: |
| |
| - name: aegislm-db |
| databaseName: aegislm |
| user: aegislm_user |
|
|
| |
| redis: |
| - name: aegislm-redis |
| plan: starter |
|
|