g1t/apps/status/wrangler.jsonc
| 1 | { |
| 2 | "$schema": "../../node_modules/wrangler/config-schema.json", |
| 3 | "name": "g1t-status", |
| 4 | "account_id": "1e6f2cffa3f445920836e8ebe446bb58", |
| 5 | "compatibility_date": "2026-09-26", |
| 6 | "main": "./src/index.ts", |
| 7 | "workers_dev": false, |
| 8 | "preview_urls": false, |
| 9 | // The status page. A Worker of its own, bound to nothing it reports on |
| 10 | // but billing, so it stays up when the site does not. A custom domain, |
| 11 | // whose DNS record Cloudflare makes on the first deploy. |
| 12 | "routes": [{ "pattern": "status.g1t.sh", "custom_domain": true }], |
| 13 | // Every minute: check each part and keep the result. |
| 14 | "triggers": { "crons": ["* * * * *"] }, |
| 15 | // The fonts, from packages/theme, served from the page's own origin. |
| 16 | "rules": [{ "type": "Data", "globs": ["**/*.woff2"], "fallthrough": false }], |
| 17 | // Each part's last check, 90 days of daily tallies, and incidents. |
| 18 | // Made by `npx wrangler d1 create g1t-status`; put its id here. |
| 19 | "d1_databases": [ |
| 20 | { |
| 21 | "binding": "DB", |
| 22 | "database_name": "g1t-status", |
| 23 | "database_id": "dba85721-96dc-401d-9121-a6c587d614b2", |
| 24 | "migrations_dir": "migrations" |
| 25 | } |
| 26 | ], |
| 27 | // Billing has no public address: its price book is read through this. |
| 28 | // Git storage (Cloudflare Artifacts) has none either: how it answered |
| 29 | // lately is read from the repos service (`store_health`). Nothing else |
| 30 | // is bound, so every other check goes over the internet. |
| 31 | "services": [ |
| 32 | { "binding": "BILLING", "service": "g1t-billing" }, |
| 33 | { "binding": "REPOS", "service": "g1t-repos" } |
| 34 | ], |
| 35 | // Email to subscribers (confirmations, incident and maintenance |
| 36 | // updates) and the staff alert for detected drafts, through Cloudflare |
| 37 | // Email Sending, as identity sends its own. Subscriptions also need the |
| 38 | // STATUS_SECRET secret, which signs unsubscribe links: |
| 39 | // npx wrangler secret put STATUS_SECRET |
| 40 | // Without either, the page offers the feeds only. |
| 41 | // |
| 42 | // The deploy tool says when a deploy starts and finishes (POST /deploys, |
| 43 | // bearer STATUS_DEPLOY_TOKEN), so restarts do not draft incidents. |
| 44 | // Optional; without it, deploys are not announced: |
| 45 | // npx wrangler secret put STATUS_DEPLOY_TOKEN |
| 46 | "send_email": [{ "name": "EMAIL", "remote": true }], |
| 47 | "vars": { |
| 48 | // Where each part is. An empty one leaves that part off the page, |
| 49 | // for an installation that does not run it. |
| 50 | "SITE_URL": "https://g1t.sh", |
| 51 | "API_URL": "https://api.g1t.sh", |
| 52 | "MCP_URL": "https://mcp.g1t.sh", |
| 53 | "DOCS_URL": "https://docs.g1t.sh", |
| 54 | "PAGES_URL": "https://g1t.page", |
| 55 | "MODELS_URL": "https://models.g1t.sh", |
| 56 | // A public repository that always exists, whose branches are listed |
| 57 | // as a clone would. |
| 58 | "PROBE_REPO": "flagon-io/g1t", |
| 59 | "SUPPORT_URL": "https://g1t.sh/support", |
| 60 | // This page's own address, for links in email and the feeds. |
| 61 | "STATUS_URL": "https://status.g1t.sh", |
| 62 | // sudo, for the link in the staff alert. |
| 63 | "SUDO_URL": "https://sudo.g1t.sh", |
| 64 | // Who hears when a part fails three checks in a row and a draft |
| 65 | // incident is made. Empty sends none. |
| 66 | "STATUS_ALERT_EMAIL": "hey@flagon.io", |
| 67 | "STATUS_FROM": "g1t status <noreply@g1t.sh>", |
| 68 | "OG_IMAGE": "https://og.g1t.sh/image?path=%2Fstatus&v=2" |
| 69 | }, |
| 70 | "observability": { "enabled": true } |
| 71 | } |