Skip to content
39 linesCodeBlameRaw
1{
2 "$schema": "../../node_modules/wrangler/config-schema.json",
3 "name": "g1t-telemetry",
4 "account_id": "1e6f2cffa3f445920836e8ebe446bb58",
5 "compatibility_date": "2026-09-26",
6 "main": "./src/index.ts",
7 "workers_dev": false,
8 "placement": { "mode": "off" },
9 // The OpenTelemetry endpoint: OTLP over HTTP from anywhere, with a
10 // project's ingest token. Everything else here (RPC, the live tail) is
11 // for service bindings; the public paths are /v1/* and /cloudflare/v1/*.
12 "routes": [{ "pattern": "otel.g1t.sh", "custom_domain": true }],
13 // One store per project: its requests, logs, spans, metrics, error
14 // groups, ingest tokens and exports, in the object's own SQLite storage
15 // (src/store.ts). No D1.
16 "durable_objects": {
17 "bindings": [{ "name": "STORES", "class_name": "TelemetryStore" }]
18 },
19 "migrations": [{ "tag": "v1", "new_sqlite_classes": ["TelemetryStore"] }],
20 // What the deployments service notes under each app's hostname (its
21 // project and deployment), read to file a request the dispatcher saw
22 // before its note reached it, and Cloudflare's own export. Read only.
23 "kv_namespaces": [{ "binding": "DOMAINS", "id": "14bc5c233d4c46a5bbf23b5367cce5fd" }],
24 // Whether a project's workspace has the plan: a free one's projects send
25 // FREE_TELEMETRY_BYTES_PER_MONTH (1 GiB) a month, a thirtieth a day; past
26 // it OTLP is answered 429 and tail events keep their requests only
27 // (src/quota.ts). 0 is no cap.
28 "services": [{ "binding": "BILLING", "service": "g1t-billing" }],
29 "vars": { "FREE_TELEMETRY_BYTES_PER_MONTH": "1073741824" },
30 // Secret, optional: CLOUDFLARE_EXPORT_KEY, which a Workers
31 // Observability destination on the account sends as x-g1t-export-key
32 // to https://otel.g1t.sh/cloudflare/v1/{traces,logs}.
33 // OTLP requests per client address, counted before the body is read or a
34 // project's store is woken (src/index.ts). Id and limit: RATE_LIMITS in
35 // packages/contracts.
36 "ratelimits": [{ "name": "TELEMETRY_INGEST_LIMIT", "namespace_id": "4701", "simple": { "limit": 600, "period": 60 } }],
37 // Its own logs: few, as every request to an app is a tail event here.
38 "observability": { "enabled": true, "head_sampling_rate": 0.05 }
39}