Catalogue / Edge

Rate limiter

edgerate-limiter

Bounds request or concurrency rate per key.

Category
Edge
Properties
7
Components
7
Rules
0
Properties · 7 defined by this kind

A node of this kind resolves each property from its own props, then the component's defaults, then the default below.

propertytypevaluesrequireddefault
algorithmenumtoken-bucket | leaky-bucket | sliding-window | fixed-window | adaptivenotoken-bucket
atomicOps · advancedboolean—notrue
distributedboolean—nofalse
failModeenumopen | closednoopen
managedboolean—nofalse
placementenumedge | gateway | sidecar | in-processnogateway
scopeenumglobal | user | ip | api-key | concurrencynouser
Rules for this kind · 0
No rule selects this kind or its category. Governance calls that a recorded gap.
Components · 7
Source
# yaml-language-server: $schema=../schema/kind.schema.json
# Abstract kind: Bounds request or concurrency rate per key (token bucket at the edge, Envoy ratelimit, in-process semaphores, adaptive limiters).
schemaVersion: "1"
type: "kind"
id: "rate-limiter"
category: "edge"
properties:
  algorithm:
    type: "enum"
    values: ["token-bucket", "leaky-bucket", "sliding-window", "fixed-window", "adaptive"]
    default: "token-bucket"
  scope:
    type: "enum"
    values: ["global", "user", "ip", "api-key", "concurrency"]
    default: "user"
  failMode:
    type: "enum"
    values: ["open", "closed"]
    default: "open"
  placement:
    type: "enum"
    values: ["edge", "gateway", "sidecar", "in-process"]
    default: "gateway"
  distributed:
    type: "boolean"
    default: false
  atomicOps:
    type: "boolean"
    default: true
    advanced: true
  managed:
    type: "boolean"
    default: false

The same page as markdown, for an agent: /catalogue/kinds/rate-limiter.md