103 lines
4.0 KiB
Bash
103 lines
4.0 KiB
Bash
# ============================================================
|
|
# ASF - Environment Configuration (SAFE DEFAULTS ONLY)
|
|
# Copy this file to .env and replace placeholders with real values.
|
|
# NEVER commit .env with real secrets to version control.
|
|
# ============================================================
|
|
|
|
# ------------------------------------------------------------
|
|
# General
|
|
# ------------------------------------------------------------
|
|
ASF_ENV=development
|
|
ASF_LOG_LEVEL=INFO
|
|
ASF_CORS_ORIGINS=http://localhost:3000,http://localhost:8080
|
|
|
|
# ------------------------------------------------------------
|
|
# MongoDB (Replica Set rs0 — seed nodes 102/103)
|
|
# ------------------------------------------------------------
|
|
MONGO_HOST=172.19.40.102,172.19.40.103
|
|
MONGO_PORT=27017
|
|
MONGO_DB=asf
|
|
MONGO_REPLICA_SET=rs0
|
|
# Connection URI: seed list + replicaSet=rs0 (add credentials when/if required)
|
|
MONGO_URI=mongodb://172.19.40.102:27017,172.19.40.103:27017/asf?replicaSet=rs0
|
|
|
|
# ------------------------------------------------------------
|
|
# RabbitMQ (node 201 / vhost asf)
|
|
# ------------------------------------------------------------
|
|
RABBITMQ_HOST=172.19.40.201
|
|
RABBITMQ_PORT=5672
|
|
RABBITMQ_HTTP_PORT=15672
|
|
RABBITMQ_USER=azurian
|
|
RABBITMQ_PASSWORD=StrongPassword123!
|
|
RABBITMQ_VHOST=asf
|
|
RABBITMQ_URI=amqp://azurian:StrongPassword123!@172.19.40.201:5672/asf
|
|
|
|
# ------------------------------------------------------------
|
|
# Redis
|
|
# ------------------------------------------------------------
|
|
REDIS_HOST=localhost
|
|
REDIS_PORT=6379
|
|
REDIS_PASSWORD=asfredis123
|
|
REDIS_URI=redis://:asfredis123@localhost:6379/0
|
|
|
|
# ------------------------------------------------------------
|
|
# MinIO / S3-compatible storage
|
|
# ------------------------------------------------------------
|
|
MINIO_HOST=localhost
|
|
MINIO_PORT=9000
|
|
MINIO_CONSOLE_PORT=9001
|
|
MINIO_ROOT_USER=asfadmin
|
|
MINIO_ROOT_PASSWORD=asfadmin123
|
|
MINIO_BUCKET=asf-artifacts
|
|
MINIO_SECURE=false
|
|
|
|
# ------------------------------------------------------------
|
|
# ASF AI Gateway (Mock / Provider configuration)
|
|
# ------------------------------------------------------------
|
|
AI_GATEWAY_PROVIDER=mock
|
|
AI_GATEWAY_DEFAULT_MODEL=asf-mock-v1
|
|
AI_GATEWAY_TIMEOUT=120
|
|
|
|
# Real provider configuration (fill only when enabling):
|
|
# OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
# OPENAI_BASE_URL=https://api.openai.com/v1
|
|
# NVIDIA_API_KEY=nvapi-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
|
|
# ------------------------------------------------------------
|
|
# Security / Auth (bootstrap placeholders)
|
|
# ------------------------------------------------------------
|
|
ASF_JWT_SECRET=replace-this-with-a-long-random-secret-in-production
|
|
ASF_API_KEY_SALT=replace-this-with-a-long-random-salt-in-production
|
|
ASF_SESSION_TTL_SECONDS=86400
|
|
|
|
# ------------------------------------------------------------
|
|
# Frontend (Next.js asf-web)
|
|
# ------------------------------------------------------------
|
|
# Where Next.js rewrites should proxy `/api/v1/*` (asf-core URL)
|
|
NEXT_PUBLIC_ASF_CORE_URL=http://localhost:8000
|
|
# Bootstrap dev-trust: browser-side defaults for X-ASF-Tenant-Id / X-ASF-User-Id
|
|
NEXT_PUBLIC_DEV_TENANT_ID=t-demo-001
|
|
NEXT_PUBLIC_DEV_USER_ID=u-admin
|
|
|
|
# ------------------------------------------------------------
|
|
# RabbitMQ exchanges + queue topology (matches rabbitmq.py bindings)
|
|
# ------------------------------------------------------------
|
|
RABBITMQ_EVENTS_EXCHANGE=asf.events
|
|
RABBITMQ_JOBS_EXCHANGE=asf.jobs
|
|
|
|
# Domain topic queues bound to `asf.events` (TOPIC)
|
|
RABBITMQ_QUEUE_ORG_CREATED=asf.organization.created
|
|
RABBITMQ_QUEUE_PROJ_CREATED=asf.project.created
|
|
RABBITMQ_QUEUE_PROJ_UPDATED=asf.project.updated
|
|
RABBITMQ_QUEUE_ART_CREATED=asf.artifact.created
|
|
RABBITMQ_QUEUE_ART_UPDATED=asf.artifact.updated
|
|
RABBITMQ_QUEUE_AUDIT=asf.audit
|
|
RABBITMQ_QUEUE_AI_EXEC=asf.ai.execution
|
|
RABBITMQ_QUEUE_DEADLETTER=asf.deadletter
|
|
|
|
# Job direct queues bound to `asf.jobs` (DIRECT) — consumed by asf-worker
|
|
ASF_WORKER_JOB_QUEUES=asf.ai.interactive,asf.ai.background,asf.indexing,asf.code_analysis,asf.testing,asf.devops,asf.notifications
|
|
ASF_WORKER_ID=asf-worker-001
|
|
ASF_WORKER_PREFETCH=8
|
|
ASF_WORKER_ENABLE_AI_HANDLERS=true
|