Deploy to Cloudflare
Prerequisites
- Wrangler CLI installed
- A Cloudflare account (free tier works)
- Logged in:
npx wrangler login
Deploy
npx wrangler deployYour agent goes live at https://<name>.<subdomain>.workers.dev.
Set secrets
Never put API keys in wrangler.toml. Use secrets instead:
npx wrangler secret put GROQ_API_KEYnpx wrangler secret put GOOGLE_AI_KEYnpx wrangler secret put CEREBRAS_API_KEYFor local dev, use .dev.vars (gitignored):
GROQ_API_KEY=gsk_...Provision KV
# Create namespacenpx wrangler kv namespace create SESSIONS
# Add the returned ID to wrangler.toml[[kv_namespaces]]binding = "SESSIONS"id = "abc123..."Provision D1
npx wrangler d1 create my-agent-dbnpx wrangler d1 execute my-agent-db \ --file=node_modules/@moon-wave/memory/migrations/001_init.sql[[d1_databases]]binding = "DB"database_name = "my-agent-db"database_id = "abc123..."Custom domain
In Cloudflare Dashboard → Workers → your worker → Settings → Domains & Routes → Add custom domain.
CI/CD
Add to .github/workflows/deploy.yml:
- name: Deploy run: npx wrangler deploy env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}