Feature flags on Cloudflare Workers. 2001 lines total.
npm install
wrangler deploy
wrangler secret put API_TOKENimport { FeatureFlags } from "./client";
const flags = new FeatureFlags("https://your-worker.workers.dev");
if (flags.get("new-feature")) {
// feature enabled
}Visit worker URL. Enter token. Toggle flags.
GET /api/flags
GET /api/flags/:key
PUT /admin/flags/:key # Bearer token required
DELETE /admin/flags/:key # Bearer token required# wrangler.toml
name = "miniflags"
main = "worker.ts"
[[durable_objects.bindings]]
name = "FLAGS"
class_name = "FlagStore"
[[migrations]]
tag = "v1"
new_classes = ["FlagStore"]- Durable Object stores flags
- WebSocket broadcasts changes
- Client caches locally
- No database required
Workers free tier covers 100K requests/day. Durable Objects free tier covers 1M requests/month.
MIT
Footnotes
-
~223 from
wc -l worker.ts client.ts admin.html↩