Skip to content

Rate limits after the MVP #1590

Open

Description

@aram356

Summary

Rate limits after the MVP: batch sync per partner, pull sync, provider lookups and record creation on Fastly; on Axum off by default and, when turned on, per task divided by the configured task count.

Part of #1558, server-side identity on every adapter. Plan ID T10, planned in an any row (no fixed wave; starts when its decision or reviewer is ready; after the MVP); priority P3, size M. Design: spec; order and dependencies: plan.

Requirements

ID-6 Rate limiting (after the MVP, DEC-15)

In the MVP, Fastly keeps main's limits on batch sync and pull sync and #1487's per-provider lookup limit, and Axum has none because the deployer's load balancer limits traffic (DEC-11). Until EZI-5, Fastly's limiter stays the existing fastly::erl bridge in the Fastly adapter, and T21 keeps it when it moves the handlers into core. After the MVP, provider lookups, batch sync, pull sync and record creation are rate limited on every supported adapter except Axum, where every limit stays off by default; batch sync is keyed per partner and the other keys follow DEC-15, and an Axum limit turned on in configuration runs per task, divided by the configured task count.

Current state

What the code does today, from the design's survey at the revisions it names:

Acceptance criteria

  • ID-6: In the MVP, Fastly's existing limits still refuse or skip over-limit requests after T21 and Axum's default configuration applies no limit
  • ID-6: After the MVP, per-adapter tests hit each limit, and an Axum limit turned on for two tasks refuses at half the limit

Dependencies

Blocked by:

Waits on these decisions:

  • DEC-15 Rate limiting after the MVP (open). Rate limiting is punted past the MVP: the keys (batch sync stays per partner), EdgeZero's limiter with its Cloudflare and Spin backends, and new limits on record creation and on Axum. Blocks EZI-5, EZI-5c, EZI-5s and T10.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions