ops: add production observability and recovery

This commit is contained in:
hailin
2026-07-27 19:06:34 +08:00
parent e69368a2f3
commit b02d18d3b9
33 changed files with 8832 additions and 1 deletions

View File

@@ -3,6 +3,10 @@ DJANGO_DEBUG=true
DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1
CORS_ALLOWED_ORIGINS=http://localhost:5173
CSRF_TRUSTED_ORIGINS=http://localhost:5173,http://127.0.0.1:5173
# OIDC 完成后重定向到的前端根地址;生产环境必须使用 HTTPS。
FRONTEND_APP_URL=http://localhost:5173
# 对外可访问的后端根地址,例如 https://tickets-api.example.com;留空时从当前请求推导。
OIDC_CALLBACK_BASE_URL=
DJANGO_SUPERUSER_USERNAME=admin
DJANGO_SUPERUSER_PASSWORD=admin12345
DJANGO_SUPERUSER_EMAIL=admin@example.com
@@ -15,9 +19,40 @@ POSTGRES_PORT=5432
CELERY_BROKER_URL=redis://redis:6379/0
CELERY_RESULT_BACKEND=redis://redis:6379/1
# 必须是稳定的 Fernet 密钥;生成后请妥善保存,后续更换会导致已有模型凭据无法解密。
# 生成命令:python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
AI_CREDENTIAL_ENCRYPTION_KEY=
# 内部只读工单 MCP 的 Bearer Token;为空时 /internal-mcp 返回 503。
INTERNAL_MCP_TOKEN=
METRICS_TOKEN=
AI_RUN_RETENTION_DAYS=90
AI_SLOW_RUN_THRESHOLD_SECONDS=20
AI_AGENT_MODEL_TIMEOUT_SECONDS=20
KNOWLEDGE_EMBEDDING_DEPLOYMENT_ID=0
KNOWLEDGE_EMBEDDING_DIMENSIONS=1536
KNOWLEDGE_EMBEDDING_ALLOW_HASH_FALLBACK=false
KNOWLEDGE_RETRIEVAL_TEXT_WEIGHT=0.45
KNOWLEDGE_RETRIEVAL_VECTOR_WEIGHT=0.35
KNOWLEDGE_RETRIEVAL_SCOPE_WEIGHT=0.20
KNOWLEDGE_RERANK_DEPLOYMENT_ID=0
KNOWLEDGE_RERANK_CANDIDATE_LIMIT=30
KNOWLEDGE_RERANK_MODEL_WEIGHT=0.60
TICKET_AUTO_RESOLVE_ENABLED=false
TICKET_AUTO_RESOLVE_MIN_SCORE=0.85
WORK_ITEM_DEFAULT_SLA_HOURS=24
WORK_ITEM_INTAKE_FAILURE_SLA_HOURS=4
WORK_ITEM_SUPPORT_FAILURE_SLA_HOURS=4
WORK_ITEM_CUSTOMER_REPLY_SLA_HOURS=8
WORK_ITEM_TICKET_CLOSE_SLA_HOURS=24
TICKET_DRAFT_RETENTION_HOURS=24
TICKET_MATERIAL_MAX_FILE_BYTES=20971520
TICKET_MATERIAL_MAX_FILES=10
TICKET_MATERIAL_MAX_TOTAL_BYTES=104857600
TICKET_MATERIAL_MAX_PARSED_CHARS=200000
TICKET_MATERIAL_SCANNER_BACKEND=clamav
CLAMAV_HOST=clamav
CLAMAV_PORT=3310
CLAMAV_TIMEOUT_SECONDS=30
MINIO_ROOT_USER=minio
MINIO_ROOT_PASSWORD=minio123