refactor: migrate server provisioning to Cloud Orchestrator service
- Remove Queue-based server provisioning (moved to cloud-orchestrator) - Add manage_server tool with Service Binding to Cloud Orchestrator - Add CDN cache hit rate estimation based on tech_stack - Always display bandwidth info (show "포함 범위 내" when no overage) - Add language auto-detection (ko, ja, zh, en) - Update system prompt to always call tools fresh - Add Server System documentation to CLAUDE.md BREAKING: Server provisioning now requires cloud-orchestrator service Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,7 +6,7 @@ compatibility_date = "2024-01-01"
|
||||
binding = "AI"
|
||||
|
||||
[vars]
|
||||
ENVIRONMENT = "development" # 프로덕션 기본값 (.dev.vars에서 development로 오버라이드)
|
||||
ENVIRONMENT = "production"
|
||||
SUMMARY_THRESHOLD = "20" # 프로필 업데이트 주기 (메시지 수)
|
||||
MAX_SUMMARIES_PER_USER = "3" # 유지할 프로필 버전 수 (슬라이딩 윈도우)
|
||||
N8N_WEBHOOK_URL = "https://n8n.anvil.it.com" # n8n 연동 (선택)
|
||||
@@ -20,23 +20,14 @@ CONTEXT7_API_BASE = "https://context7.com/api/v2"
|
||||
BRAVE_API_BASE = "https://api.search.brave.com/res/v1"
|
||||
WTTR_IN_URL = "https://wttr.in"
|
||||
HOSTING_SITE_URL = "https://hosting.anvil.it.com"
|
||||
CLOUD_ORCHESTRATOR_URL = "https://cloud-orchestrator.kappa-d8e.workers.dev"
|
||||
|
||||
# VPS Provider API Endpoints
|
||||
LINODE_API_BASE = "https://api.linode.com/v4"
|
||||
VULTR_API_BASE = "https://api.vultr.com/v2"
|
||||
DEFAULT_SERVER_REGION = "ap-northeast" # 오사카 (Linode: ap-northeast, Vultr: nrt)
|
||||
SERVER_RECOMMEND_API_URL = "https://cloud-orchestrator.kappa-d8e.workers.dev/api/recommend" # 외부 AI 추천 API (선택)
|
||||
|
||||
[[d1_databases]]
|
||||
binding = "DB"
|
||||
database_name = "telegram-conversations"
|
||||
database_id = "c285bb5b-888b-405d-b36f-475ae5aed20e"
|
||||
|
||||
[[d1_databases]]
|
||||
binding = "CLOUD_DB"
|
||||
database_name = "cloud-instances-db"
|
||||
database_id = "bbcb472d-b25e-4e48-b6ea-112f9fffb4a8"
|
||||
|
||||
[[kv_namespaces]]
|
||||
binding = "RATE_LIMIT_KV"
|
||||
id = "15bcdcbde94046fe936c89b2e7d85b64"
|
||||
@@ -47,16 +38,16 @@ binding = "SESSION_KV"
|
||||
id = "24ee962396cc4e9ab1fb47ceacf62c7d"
|
||||
preview_id = "302ad556567447cbac49c20bded4eb7e"
|
||||
|
||||
# Service Binding: Worker-to-Worker 호출용 (Cloudflare Error 1042 방지)
|
||||
[[services]]
|
||||
binding = "SERVER_RECOMMEND"
|
||||
service = "cloud-orchestrator"
|
||||
|
||||
# Email Worker 설정 (SMS → 메일 수신)
|
||||
# Cloudflare Dashboard에서 Email Routing 설정 필요:
|
||||
# 1. Email > Email Routing > Routes
|
||||
# 2. deposit@your-domain.com → Worker: telegram-summary-bot
|
||||
|
||||
# Service Binding (Worker-to-Worker 통신)
|
||||
[[services]]
|
||||
binding = "CLOUD_ORCHESTRATOR"
|
||||
service = "cloud-orchestrator"
|
||||
|
||||
# Cron Trigger: 매일 자정(KST) 실행 - 24시간 경과된 입금 대기 자동 취소
|
||||
[triggers]
|
||||
crons = ["0 15 * * *"] # UTC 15:00 = KST 00:00
|
||||
@@ -71,29 +62,3 @@ crons = ["0 15 * * *"] # UTC 15:00 = KST 00:00
|
||||
# - DEPOSIT_API_SECRET: Deposit API 인증 키 (namecheap-api 연동)
|
||||
# - DOMAIN_OWNER_ID: 도메인 관리 권한 Telegram ID (보안상 secrets 권장)
|
||||
# - DEPOSIT_ADMIN_ID: 예치금 관리 권한 Telegram ID (보안상 secrets 권장)
|
||||
# - LINODE_API_KEY: Linode Personal Access Token
|
||||
# - VULTR_API_KEY: Vultr API Key
|
||||
# - SERVER_ADMIN_ID: 서버 관리 알림 수신자 Telegram ID
|
||||
|
||||
# ============================================
|
||||
# Queue Configuration (Server Provisioning)
|
||||
# ============================================
|
||||
|
||||
# Queue Producer 바인딩
|
||||
[[queues.producers]]
|
||||
queue = "server-provision-queue"
|
||||
binding = "SERVER_PROVISION_QUEUE"
|
||||
|
||||
# Queue Consumer 바인딩 (같은 Worker에서 처리)
|
||||
[[queues.consumers]]
|
||||
queue = "server-provision-queue"
|
||||
max_retries = 3
|
||||
max_batch_size = 1
|
||||
max_batch_timeout = 30
|
||||
max_concurrency = 3
|
||||
dead_letter_queue = "provision-dlq"
|
||||
|
||||
# Dead Letter Queue Consumer
|
||||
[[queues.consumers]]
|
||||
queue = "provision-dlq"
|
||||
max_retries = 0
|
||||
|
||||
Reference in New Issue
Block a user