No description
  • Go 85.1%
  • Makefile 11.3%
  • Dockerfile 3.6%
Find a file
zemdregon cbbebf2c6e
Some checks are pending
CI / build (push) Waiting to run
CI / lint (push) Waiting to run
CI / test (push) Waiting to run
CI / docker (push) Blocked by required conditions
chore(deps): bump actions/setup-go to v7 (#17)
* chore(deps): bump actions/setup-go to v7

Self-hosted CI workflows.

* ci: setup-go v7 + cache false
2026-08-12 09:47:30 -05:00
.github chore(deps): bump actions/setup-go to v7 (#17) 2026-08-12 09:47:30 -05:00
cmd/module chore: align module with starter template and CI 2026-07-22 19:10:04 -05:00
deploy chore: align module with starter template and CI 2026-07-22 19:10:04 -05:00
internal Advertise settings capability (v0.1.2). 2026-08-10 04:37:20 -05:00
test Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
.dockerignore Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
.env.example chore: align module with starter template and CI 2026-07-22 19:10:04 -05:00
.gitignore chore: align module with starter template and CI 2026-07-22 19:10:04 -05:00
.golangci.yml Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
CHANGELOG.md Advertise settings capability (v0.1.2). 2026-08-10 04:37:20 -05:00
COMPATIBILITY.md chore: align module with starter template and CI 2026-07-22 19:10:04 -05:00
CONTRIBUTING.md chore: align module with starter template and CI 2026-07-22 19:10:04 -05:00
Dockerfile Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
go.mod Expose rate, burst, and enabled via RegisterSettings. 2026-08-10 03:05:08 -05:00
go.sum Expose rate, burst, and enabled via RegisterSettings. 2026-08-10 03:05:08 -05:00
LICENSE Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
Makefile chore: align module with starter template and CI 2026-07-22 19:10:04 -05:00
muxcore.json Advertise settings capability (v0.1.2). 2026-08-10 04:37:20 -05:00
README.md chore: align module with starter template and CI 2026-07-22 19:10:04 -05:00
SECURITY.md chore: align module with starter template and CI 2026-07-22 19:10:04 -05:00

Rate Limit Token Bucket

CI Go Version License: GPL-3.0

Per-key token bucket rate limiter.

A MuxCore sidecar module that enforces per-key token-bucket limits via gRPC (Allow / Enabled). Provides the ratelimit / ratelimit.tokenbucket capability.


How It Works

Caller ──→ Allow(key) ──→ ratelimit-tokenbucket ──→ allow / deny

Each key gets its own bucket. Limiting is off until RATELIMIT_ENABLED is set.


Configuration

Variable Default Description
RATELIMIT_RATE 100 Tokens replenished per second
RATELIMIT_BURST 200 Maximum bucket size
RATELIMIT_ENABLED false Enable limiting (true / 1)

Default gRPC listen address (code default, no env): :9800.


Quick Start

make build

export RATELIMIT_ENABLED=true
./ratelimit-tokenbucket --muxcore-mesh-addr localhost:9090

Capability

ratelimit — Per-key token bucket rate limiter

License

GPL-3.0