Skip to content

Router worker performs free tier limiting #9661

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jun 19, 2025

Conversation

matthewdavidrodgers
Copy link
Contributor

@matthewdavidrodgers matthewdavidrodgers commented Jun 18, 2025

WC-3584

(supersedes #9360 as this is not from a fork)

The Router worker now limits requests when free users are over their daily limit. This decision is made via the new optional param binding (EYEBALL_ROUTER_CONFIG) that is passed in. The Router worker then denies all requests to the user worker when that param indicates limiting should occur.


  • Tests
    • TODO (before merge)
    • Tests included
    • Tests not necessary because:
  • Wrangler / Vite E2E Tests CI Job required? (Use "e2e" label or ask maintainer to run separately)
    • I don't know
    • Required
    • Not required because:
  • Public documentation
  • Wrangler V3 Backport
    • TODO (before merge)
    • Wrangler PR:
    • Not necessary because: not a wrangler change

@matthewdavidrodgers matthewdavidrodgers requested review from a team as code owners June 18, 2025 17:25
Copy link

changeset-bot bot commented Jun 18, 2025

🦋 Changeset detected

Latest commit: dbe6026

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@cloudflare/workers-shared Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-project-automation github-project-automation bot moved this to Untriaged in workers-sdk Jun 18, 2025
@matthewdavidrodgers matthewdavidrodgers changed the title free tier limiting Router worker performs free tier limiting Jun 18, 2025
@matthewdavidrodgers matthewdavidrodgers added the e2e Run wrangler + vite-plugin e2e tests on a PR label Jun 18, 2025
Copy link

pkg-pr-new bot commented Jun 18, 2025

create-cloudflare

npm i https://pkg.pr.new/create-cloudflare@9661

@cloudflare/kv-asset-handler

npm i https://pkg.pr.new/@cloudflare/kv-asset-handler@9661

miniflare

npm i https://pkg.pr.new/miniflare@9661

@cloudflare/pages-shared

npm i https://pkg.pr.new/@cloudflare/pages-shared@9661

@cloudflare/unenv-preset

npm i https://pkg.pr.new/@cloudflare/unenv-preset@9661

@cloudflare/vite-plugin

npm i https://pkg.pr.new/@cloudflare/vite-plugin@9661

@cloudflare/vitest-pool-workers

npm i https://pkg.pr.new/@cloudflare/vitest-pool-workers@9661

@cloudflare/workers-editor-shared

npm i https://pkg.pr.new/@cloudflare/workers-editor-shared@9661

wrangler

npm i https://pkg.pr.new/wrangler@9661

commit: dbe6026

@github-project-automation github-project-automation bot moved this from Untriaged to Approved in workers-sdk Jun 18, 2025
@matthewdavidrodgers matthewdavidrodgers force-pushed the matthewrodgers/WC-3584-free-tier-limiting branch from cd4aa3f to 45a0802 Compare June 18, 2025 21:11
Centralizing some of these pieces will make it easier to add free tier
limiting
Provided via a new optional param binding. When provided, it contains
info about free tier limiting for this account.
Returns an html page (included as direct module, via esbuild) with a 429
status code, mirroring the current free tier limiting behavior. It also
sets a new field in our analytics so we can observe free tier invocation
denials.

This page can evolve as we need it to, this is just my first pass at the
response.
There's no loader configured for html files by default in wrangler it
seems. So rather than mess with loaders or a custom build, inlining this
page is easy enough.

This pages copies what fl returns exactly, and there's a few templated
things to reproduce that. Namely: the hostname in the title of the page,
the ip address of the eyeball, and the current date (with some formatting)
@matthewdavidrodgers matthewdavidrodgers force-pushed the matthewrodgers/WC-3584-free-tier-limiting branch from 45a0802 to dbe6026 Compare June 18, 2025 21:20
@emily-shen emily-shen enabled auto-merge June 18, 2025 22:35
@CarmenPopoviciu CarmenPopoviciu disabled auto-merge June 19, 2025 07:53
@CarmenPopoviciu CarmenPopoviciu merged commit e216a76 into main Jun 19, 2025
19 checks passed
@CarmenPopoviciu CarmenPopoviciu deleted the matthewrodgers/WC-3584-free-tier-limiting branch June 19, 2025 07:54
@github-project-automation github-project-automation bot moved this from Approved to Done in workers-sdk Jun 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e2e Run wrangler + vite-plugin e2e tests on a PR
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants