HIP 010: Internal rate limiting support
Andrew Gallagher edited this page 2025-04-01 23:00:51 +01:00

See #387

Motivation

Currently, connection rate limiting to prevent abuse is managed by an external haproxy (shipped under contrib/docker-compose/standalone), however this has several shortcomings:

  1. It is easy to (accidentally or intentionally) deploy hockeypuck without a (correctly configured) haproxy front end, which leaves the server open to spam.
  2. Operators who don't use the standalone docker-compose deployment must configure haproxy manually, which is challenging for non-experts and error-prone.
  3. Vanilla haproxy must be force-reloaded to pick up configuration changes, which has undesirable side effects (https://github.com/hockeypuck/hockeypuck/issues/366)

Design

Hockeypuck should be safe to deploy out of the box, i.e. it must include a reasonable rate-limiting configuration by default. This should include rate limiting and tor exit node abuse detection, as currently supported by the standalone haproxy.

Out of scope

TBC

Security considerations

TBC

Compatibility

TBC