Implements the monitoring alerting deliverable from Phase 6. The Alerter module sends color-coded notifications to Discord and/or Slack webhooks for operational events: bot health transitions, stale job re-enqueues, and match errors. Includes per-key rate limiting to prevent alert storms. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
72 lines
2.4 KiB
Text
72 lines
2.4 KiB
Text
# AI Code Battle Environment Configuration
|
|
# Copy this file to .env and fill in the values
|
|
|
|
# ===========================================
|
|
# Worker API Configuration
|
|
# ===========================================
|
|
# The Cloudflare Worker API endpoint
|
|
ACB_API_ENDPOINT=https://api.aicodebattle.com
|
|
|
|
# Worker API key for authentication (required for workers and indexer)
|
|
ACB_API_KEY=your-worker-api-key-here
|
|
|
|
# ===========================================
|
|
# R2 Storage Configuration
|
|
# ===========================================
|
|
# R2 endpoint URL (Cloudflare R2 S3-compatible endpoint)
|
|
ACB_R2_ENDPOINT=https://your-account-id.r2.cloudflarestorage.com
|
|
|
|
# R2 bucket name for replays and match data
|
|
ACB_R2_BUCKET=acb-data
|
|
|
|
# R2 access credentials (from Cloudflare dashboard)
|
|
ACB_R2_ACCESS_KEY=your-r2-access-key-id
|
|
ACB_R2_SECRET_KEY=your-r2-secret-access-key
|
|
|
|
# ===========================================
|
|
# Bot Secrets (for local development)
|
|
# ===========================================
|
|
# Each bot needs a secret for HMAC authentication
|
|
BOT_SECRET_RANDOM=dev-secret-random
|
|
BOT_SECRET_GATHERER=dev-secret-gatherer
|
|
BOT_SECRET_RUSHER=dev-secret-rusher
|
|
BOT_SECRET_GUARDIAN=dev-secret-guardian
|
|
BOT_SECRET_SWARM=dev-secret-swarm
|
|
BOT_SECRET_HUNTER=dev-secret-hunter
|
|
|
|
# ===========================================
|
|
# Go API Server Configuration
|
|
# ===========================================
|
|
# PostgreSQL connection URL
|
|
ACB_DATABASE_URL=postgres://localhost:5432/acb?sslmode=disable
|
|
|
|
# Valkey (Redis-compatible) address
|
|
ACB_VALKEY_ADDR=localhost:6379
|
|
|
|
# AES-256-GCM key for encrypting bot shared secrets at rest (32 bytes, hex-encoded)
|
|
ACB_ENCRYPTION_KEY=
|
|
|
|
# ===========================================
|
|
# Alerting Webhooks (optional)
|
|
# ===========================================
|
|
# Discord webhook URL for operational alerts (bot health, stale jobs, errors)
|
|
ACB_DISCORD_WEBHOOK=
|
|
|
|
# Slack incoming webhook URL for operational alerts
|
|
ACB_SLACK_WEBHOOK=
|
|
|
|
# ===========================================
|
|
# Worker Configuration
|
|
# ===========================================
|
|
# Optional: unique worker identifier (auto-generated if not set)
|
|
ACB_WORKER_ID=
|
|
|
|
# Enable verbose logging (true/false)
|
|
ACB_VERBOSE=false
|
|
|
|
# ===========================================
|
|
# Index Builder Configuration
|
|
# ===========================================
|
|
# Optional: command to deploy generated files to Cloudflare Pages
|
|
# Example: wrangler pages deploy /app/data --project-name=aicodebattle
|
|
DEPLOY_COMMAND=
|