name = "cloud-orchestrator"
main = "src/index.ts"
compatibility_date = "2025-01-23"
compatibility_flags = ["nodejs_compat"]
workers_dev = true

# Workers AI binding
[ai]
binding = "AI"

# D1 Database binding (cloud-instances-db: server specs, pricing)
[[d1_databases]]
binding = "DB"
database_name = "cloud-instances-db"
database_id = "bbcb472d-b25e-4e48-b6ea-112f9fffb4a8"

# D1 Database binding (telegram-conversations: users, deposits, orders)
[[d1_databases]]
binding = "USER_DB"
database_name = "telegram-conversations"
database_id = "c285bb5b-888b-405d-b36f-475ae5aed20e"

# KV Cache binding for rate limiting and response caching
[[kv_namespaces]]
binding = "CACHE"
id = "c68cdb477022424cbe4594f491390c8a"

# Observability
[observability]
enabled = true

# Queue for async server provisioning
[[queues.producers]]
queue = "provision-queue"
binding = "PROVISION_QUEUE"

[[queues.consumers]]
queue = "provision-queue"
max_batch_size = 1
max_retries = 3
dead_letter_queue = "provision-queue-dlq"

# VPS Provider API URLs (for testing with emulators)
# Comment out or remove for production to use default URLs
[vars]
LINODE_API_URL = "https://linode.actions.it.com/v4"
VULTR_API_URL = "https://vultr.actions.it.com/v2"
