watchdog: make metrics rate limit configurable; document env vars

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I01033406c32bd4e31a76e676be97af046a6a6964
This commit is contained in:
raf 2026-03-10 10:00:01 +03:00
commit 9c8f91ef27
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
2 changed files with 21 additions and 9 deletions

View file

@ -90,9 +90,15 @@ func Run(cfg *config.Config) error {
)
}
// Add rate limiting to metrics endpoint (30 requests per minute)
metricsRateLimiter := ratelimit.NewTokenBucket(30, 30, time.Minute)
metricsHandler = rateLimitMiddleware(metricsHandler, metricsRateLimiter)
// Add rate limiting to metrics endpoint
if cfg.Limits.MaxMetricsPerMinute > 0 {
metricsRateLimiter := ratelimit.NewTokenBucket(
cfg.Limits.MaxMetricsPerMinute,
cfg.Limits.MaxMetricsPerMinute,
time.Minute,
)
metricsHandler = rateLimitMiddleware(metricsHandler, metricsRateLimiter)
}
mux.Handle(cfg.Server.MetricsPath, metricsHandler)