Files
openclaw/scripts/cloudflare/wrangler.jsonc
T
Peter Steinberger 5fda9d09f0 feat(deploy): add experimental Cloudflare deployment template (#122768)
* feat(deploy): add experimental Cloudflare template

* fix(deploy): keep container SSH debug access opt-in

* fix(deploy): satisfy scripts tsgo lane and model wrangler entrypoint in knip

* fix(deploy): model wrangler-consumed exports and isolated dependency in knip

The Worker default export and Durable Object class are instantiated by
wrangler from wrangler.jsonc, and @cloudflare/containers lives in the
template's isolated package.json — modeled per the deadcode checks' own
guidance rather than root-manifest changes.

* docs(deploy): align SSH bootstrap flow with the disabled-by-default policy
2026-08-12 14:07:48 -07:00

53 lines
1.6 KiB
JSON

{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "openclaw-cloudflare",
"main": "src/index.ts",
"compatibility_date": "2026-08-12",
"compatibility_flags": ["nodejs_compat"],
"observability": {
"enabled": true,
},
"vars": {
"LITESTREAM_BUCKET": "openclaw-backups",
"LITESTREAM_ENDPOINT": "https://<account-id>.r2.cloudflarestorage.com",
"LITESTREAM_REGION": "auto",
// Keep false for Discord, Slack Socket Mode, WhatsApp, or any other socket channel.
"OPENCLAW_WEBHOOK_ONLY": "false",
},
"durable_objects": {
"bindings": [
{
"name": "OPENCLAW_CONTAINER",
"class_name": "OpenClawContainer",
},
],
},
"migrations": [
{
"tag": "v1",
"new_sqlite_classes": ["OpenClawContainer"],
},
],
"r2_buckets": [
{
// Documentation/Worker access only. Litestream uses the R2 S3 API and
// credentials supplied with `wrangler secret put`, not this binding.
"binding": "OPENCLAW_BACKUPS",
"bucket_name": "openclaw-backups",
},
],
"containers": [
{
"name": "openclaw-cloudflare",
"class_name": "OpenClawContainer",
// Build scripts/cloudflare/Dockerfile for linux/amd64, publish it publicly
// on Docker Hub, then replace this placeholder with its immutable digest.
"image": "docker.io/<docker-hub-user>/openclaw-cloudflare@sha256:<derived-image-digest>",
"instance_type": "standard-2",
"max_instances": 1,
// For debugging you can add `"ssh": { "enabled": true }` to allow
// wrangler-mediated SSH for accounts with container write access.
},
],
}