Files
netbird/upload-server/server/ratelimit.go
T

32 lines
784 B
Go

package server
import (
"os"
log "github.com/sirupsen/logrus"
"github.com/netbirdio/netbird/shared/ratelimit"
)
const defaultUploadBurst = 100
func newRateLimiter() *ratelimit.APIRateLimiter {
cfg, enabled := ratelimit.RateLimiterConfigFromEnv()
if os.Getenv(ratelimit.RateLimitingBurstEnv) == "" {
cfg.Burst = defaultUploadBurst
}
// Rate limiting is enabled by default unless explicitly disabled
if os.Getenv(ratelimit.RateLimitingEnabledEnv) == "" {
enabled = true
}
limiter := ratelimit.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(ratelimit.RateLimitingTrustedProxiesEnv))
return limiter
}