| 131 |
Go Workers engine implementation (main.go, internal/worker/webhook.go, shunt mq.Engine wired) |
✅ |
TODAY |
| 132 |
Delete shunt-engine.mjs (replaced by Go engine) |
✅ |
TODAY |
| 101 |
Scaffold shunt integration |
✅ |
PR #2 open |
| 102 |
Supabase migrations (001-003) |
✅ |
8 tables created |
| 103 |
KV namespace RATE_LIMIT_KV |
✅ |
Provisioned |
| 104 |
Cloudflare Worker deployed |
✅ |
gondolier.laputa-cloud-co.workers.dev + route gondolier.dev/* |
| 105 |
DNS CNAME gondolier.dev |
✅ |
Unproxied, route handles TLS |
| 106 |
Cloudflare Secrets injected |
✅ |
SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, ADMIN_KEY, GONDOLIER_MASTER_KEY |
| 107 |
Native JS REST API in index.mjs |
✅ |
Replaces Go WASM stub |
| 108 |
API endpoints: tenants CRUD |
✅ |
POST/GET /tenants, GET/DELETE /tenants/:id |
| 109 |
API endpoints: connections CRUD |
✅ |
GET/POST /tenants/:id/connections, DELETE /tenants/:id/connections/:connId |
| 110 |
API endpoints: repos CRUD |
✅ |
GET/POST /tenants/:id/connections/:connId/repos, DELETE /repos/:rid |
| 111 |
Auth middleware (SHA-256 key hash) |
✅ |
X-API-Key header |
| 112 |
Rate limiter (KV-based) |
✅ |
100 req/window |
| 113 |
Wrangler.toml: DO binding |
✅ |
LEASE_DO → LeaseDO |
| 114 |
Wrangler.toml: migration v1 |
✅ |
new_sqlite_classes = ["LeaseDO"] |
| 115 |
Wrangler.toml: cron trigger |
✅ |
*/5 * * * * |
| 116 |
LeaseDO class exported from entrypoint |
✅ |
export { LeaseDO } |
| 117 |
LeaseDO acquire/release/check |
✅ |
All 3 operations verified working |
| 118 |
Stub auth endpoints (redirect, callback, JWT, /me, /logout) |
✅ |
index.mjs + 004_auth_billing.sql |
| 119 |
Stub billing endpoints (/checkout, /portal, /stripe/webhook) |
✅ |
index.mjs + 004_auth_billing.sql |
| 120 |
Supabase migration 004 (oauth_client_id, encrypted_oauth_client_secret, webhook_secret) |
✅ |
004_auth_billing.sql |