Cloudflare Waiting Room
Edge queue that caps concurrent users and admits new visitors to the origin at a fixed rate.
- Provider
- cloudflare
- Kind
- Rate limiter
- Category
- Edge
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| algorithm | enum | token-bucket | leaky-bucket | sliding-window | fixed-window | adaptive | no | token-bucket | ▸ fixed-window |
| atomicOps | boolean | — | no | true | inherited |
| distributed | boolean | — | no | false | ▸ true |
| failMode | enum | open | closed | no | open | inherited |
| jsonResponseEnabled | boolean | — | no | false | inherited |
| managed | boolean | — | no | false | ▸ true |
| placement | enum | edge | gateway | sidecar | in-process | no | gateway | ▸ edge |
| queueingMethod | enum | fifo | random | passthrough | reject | no | fifo | inherited |
| queueingStatusCode | integer | — | no | 200 | inherited |
| scope | enum | global | user | ip | api-key | concurrency | no | user | inherited |
| sessionDurationMinutes | integer | — | no | 5 | inherited |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
No rule reads this kind yet. That is a gap, not a guarantee.
nodes:
- { id: "waiting-room", component: "cloudflare-waiting-room" }# yaml-language-server: $schema=../../schema/component.schema.json # Cloudflare Waiting Room: edge queue that admits a fixed number of new users per minute to an origin. # "Waiting Room configuration settings": session duration defaults to 5 minutes, the queueing status # code to 200, and total active users has a minimum of 200. FIFO is the queueing method for all plans. schemaVersion: "1" type: "component" id: "cloudflare-waiting-room" kind: "rate-limiter" provider: "cloudflare" docs: "https://developers.cloudflare.com/waiting-room/reference/configuration-settings/" defaults: managed: true algorithm: "fixed-window" placement: "edge" distributed: true properties: queueingMethod: type: "enum" values: ["fifo", "random", "passthrough", "reject"] default: "fifo" sessionDurationMinutes: type: "integer" default: 5 queueingStatusCode: type: "integer" default: 200 jsonResponseEnabled: type: "boolean" default: false