Skip to content
56 linesCodeBlameRaw
1{
2 "$schema": "../../node_modules/wrangler/config-schema.json",
3 "name": "g1t-api",
4 "account_id": "1e6f2cffa3f445920836e8ebe446bb58",
5 "compatibility_date": "2026-09-26",
6 "placement": { "mode": "off" },
7 "main": "build/index.js",
8 "build": { "command": "node ../../scripts/build-rust-worker.mjs" },
9 "workers_dev": false,
10 // One Worker, two hostnames: REST on api, MCP on mcp. Both are thin
11 // adapters over the same operations.
12 "routes": [
13 { "pattern": "api.g1t.sh", "custom_domain": true },
14 { "pattern": "mcp.g1t.sh", "custom_domain": true }
15 ],
16 "services": [
17 { "binding": "IDENTITY", "service": "g1t-identity" },
18 { "binding": "REPOS", "service": "g1t-repos" },
19 { "binding": "WORK", "service": "g1t-work" },
20 { "binding": "EVENTS", "service": "g1t-events" },
21 { "binding": "RUNNER", "service": "g1t-runner" },
22 { "binding": "BILLING", "service": "g1t-billing" },
23 { "binding": "INTEGRATIONS", "service": "g1t-integrations" },
24 { "binding": "WEBHOOKS", "service": "g1t-webhooks" },
25 { "binding": "ACTIONS", "service": "g1t-actions" },
26 // Builds of deployments report through here.
27 { "binding": "DEPLOYMENTS", "service": "g1t-deployments" },
28 // Observability: a project's requests, logs, traces, errors and
29 // metrics, and OTLP sent to /otlp/v1/{traces,logs,metrics}.
30 { "binding": "TELEMETRY", "service": "g1t-telemetry" },
31 { "binding": "SEARCH", "service": "g1t-search" },
32 // Secret and dependency alerts: list_security_alerts and dismissing them.
33 { "binding": "SECURITY", "service": "g1t-security" },
34 // A person's pinned projects: list_pinned_projects and changing them.
35 { "binding": "PROJECTS", "service": "g1t-projects" },
36 // Packages: list_packages, their settings, deleting and restoring them.
37 { "binding": "PACKAGES", "service": "g1t-packages" },
38 // Artifacts (folios): the artifact tool and /workspaces/{ws}/artifacts.
39 { "binding": "ARTIFACTS", "service": "g1t-artifacts" }
40 ],
41 // GitHub Actions artifacts older runners kept, in chunks, with KV's own
42 // expiry, read until it passes (and cache
43 // entries saved before the cache moved to R2, until they expire).
44 "kv_namespaces": [{ "binding": "BLOBS", "id": "16a4232cb746418db53782aa068be693" }],
45 // actions/cache entries (`c/`) and artifacts (`a/`), uploaded in parts. The actions
46 // service lists them and decides what is kept (services/actions/src/cache.rs).
47 "r2_buckets": [{ "binding": "ACTIONS_CACHE", "bucket_name": "g1t-actions-cache" }],
48 // REST and MCP requests (src/limits.rs): per token, or per address
49 // without one. Ids and limits: RATE_LIMITS in packages/contracts.
50 "ratelimits": [
51 { "name": "API_ANONYMOUS_LIMIT", "namespace_id": "4401", "simple": { "limit": 60, "period": 60 } },
52 { "name": "API_TOKEN_LIMIT", "namespace_id": "4402", "simple": { "limit": 1000, "period": 60 } }
53 ],
54 // Logs of a tenth of requests: agents call it constantly.
55 "observability": { "enabled": true, "head_sampling_rate": 0.1 }
56}