Files
devops-platform-api/.env.example
T
湛兮 fd472e3346 feat: 接入通知 outbox BullMQ 调度
- integrations/redis: 新增 BullMQ 连接参数工厂并复用 Redis 模块导出\n- notifications/wecom: 优先使用 BullMQ 周期调度 outbox 重试,Redis 不可用时降级进程内定时器\n- README/RTK/.env.example: 同步通知 outbox 重试和 Redis/BullMQ 配置说明
2026-06-12 06:55:07 +08:00

50 lines
1.9 KiB
Bash

# Runtime
NODE_ENV=development
PORT=4300
CORS_ORIGIN=http://localhost:4301
LOG_LEVEL=info
# Database
# Do not commit real credentials. Use a local-only .env file or deployment secret manager.
DATABASE_URL=mysql://devops_user:devops_password@127.0.0.1:3306/devops_platform
USE_DATABASE_READS=false
PRISMA_CONNECT_ON_BOOT=false
# Redis and queues. Used by health checks and BullMQ-backed notification outbox retry.
REDIS_URL=redis://127.0.0.1:6379/0
# Jenkins integration, server-side only.
JENKINS_BASE_URL=https://jenkins.example.internal
JENKINS_USERNAME=devops-bot
JENKINS_API_TOKEN=replace-with-secret-manager-value
JENKINS_AUTO_SYNC_ENABLED=false
JENKINS_AUTO_SYNC_INTERVAL_MS=30000
# Gitea integration, server-side only.
GITEA_BASE_URL=https://gitea.example.internal
GITEA_TOKEN=replace-with-secret-manager-value
GITEA_WEBHOOK_SECRET=replace-with-secret-manager-value
GITEA_WEBHOOK_RELAY_BASE_URL=https://jenkins.example.internal/gitea-jenkins-notify
# Public platform URL used in notification links.
DEVOPS_PUBLIC_URL=https://devops.mrzhan.top
# Notification provider, server-side only. Supported plan: wecom, feishu, generic.
NOTIFICATION_PROVIDER=replace-with-provider
NOTIFICATION_WEBHOOK_URL=https://notification.example.internal/webhook/replace-with-secret-manager-value
FEISHU_WEBHOOK_URL=https://open.feishu.cn/open-apis/bot/v2/hook/replace-with-secret-manager-value
WECOM_WEBHOOK_URL=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=replace-with-secret-manager-value
NOTIFICATION_OUTBOX_RETRY_ENABLED=false
NOTIFICATION_OUTBOX_RETRY_INTERVAL_MS=30000
NOTIFICATION_OUTBOX_RETRY_DELAY_MS=60000
NOTIFICATION_OUTBOX_MAX_ATTEMPTS=3
NOTIFICATION_OUTBOX_BATCH_SIZE=10
# LLM proxy configuration, server-side only.
LLM_BASE_URL=https://llm.example.internal/v1
LLM_API_KEY=replace-with-secret-manager-value
LLM_MODEL=replace-with-model-name
# Secret encryption key placeholder. Production should provide this via secret manager.
SECRET_ENCRYPTION_KEY=replace-with-32-byte-key