[misc] Add upload URL signing and rate limiting (#7502)

This commit is contained in:
Bethuel Mmbaga
2026-09-24 17:34:58 +03:00
committed by GitHub
parent 94106b57ab
commit 0a128cea6f
11 changed files with 488 additions and 47 deletions
+31
View File
@@ -0,0 +1,31 @@
package server
import (
"os"
log "github.com/sirupsen/logrus"
"github.com/netbirdio/netbird/management/server/http/middleware"
)
const defaultUploadBurst = 100
func newRateLimiter() *middleware.APIRateLimiter {
cfg, enabled := middleware.RateLimiterConfigFromEnv()
if os.Getenv(middleware.RateLimitingBurstEnv) == "" {
cfg.Burst = defaultUploadBurst
}
// Rate limiting is enabled by default unless explicitly disabled
if os.Getenv(middleware.RateLimitingEnabledEnv) == "" {
enabled = true
}
limiter := middleware.NewAPIRateLimiter(cfg)
limiter.SetEnabled(enabled)
log.Infof("Upload URL rate limiting: enabled=%t rate=%.0f/min burst=%d trusted_proxies=%q",
limiter.Enabled(), cfg.RequestsPerMinute, cfg.Burst, os.Getenv(middleware.RateLimitingTrustedProxiesEnv))
return limiter
}