Files
asf/.env.example
T
2026-09-08 07:21:34 -04:00

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