Skip to content

Commit f8acf4e

Browse files
Merge branch 'main' into feat/pubkeyEncode
2 parents 2bc3aec + 3fe067f commit f8acf4e

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

pkg/ratelimit/ratelimiter.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,16 @@ func (rl *RateLimiter) AllowVerbose(sender string) (senderAllow bool, globalAllo
6767

6868
return senderLimiter.Allow(), rl.global.Allow()
6969
}
70+
71+
func (rl *RateLimiter) SetConfig(config RateLimiterConfig) {
72+
rl.mu.Lock()
73+
defer rl.mu.Unlock()
74+
rl.config = config
75+
rl.global.SetLimit(rate.Limit(config.GlobalRPS))
76+
rl.global.SetBurst(config.GlobalBurst)
77+
78+
for _, limiter := range rl.perSender {
79+
limiter.SetLimit(rate.Limit(config.PerSenderRPS))
80+
limiter.SetBurst(config.PerSenderBurst)
81+
}
82+
}

pkg/settings/cresettings/defaults.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
{
22
"WorkflowLimit": "200",
3-
"WorkflowRegistrationQueueLimit": "20",
43
"WorkflowExecutionConcurrencyLimit": "50",
54
"WorkflowTriggerRateLimit": "200rps:200",
6-
"GatewayUnauthenticatedRequestRateLimit": "100rps:-1",
7-
"GatewayUnauthenticatedRequestRateLimitPerIP": "1rps:-1",
5+
"GatewayUnauthenticatedRequestRateLimit": "100rps:100",
6+
"GatewayUnauthenticatedRequestRateLimitPerIP": "1rps:1",
87
"GatewayIncomingPayloadSizeLimit": "10kb",
98
"PerOrg": {
109
"WorkflowDeploymentRateLimit": "every1m0s:1",

pkg/settings/cresettings/defaults.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
WorkflowLimit = '200'
2-
WorkflowRegistrationQueueLimit = '20'
32
WorkflowExecutionConcurrencyLimit = '50'
43
WorkflowTriggerRateLimit = '200rps:200'
5-
GatewayUnauthenticatedRequestRateLimit = '100rps:-1'
6-
GatewayUnauthenticatedRequestRateLimitPerIP = '1rps:-1'
4+
GatewayUnauthenticatedRequestRateLimit = '100rps:100'
5+
GatewayUnauthenticatedRequestRateLimitPerIP = '1rps:1'
76
GatewayIncomingPayloadSizeLimit = '10kb'
87

98
[PerOrg]

pkg/settings/cresettings/settings.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,10 @@ var Config Schema
4545

4646
var Default = Schema{
4747
WorkflowLimit: Int(200),
48-
WorkflowRegistrationQueueLimit: Int(20),
4948
WorkflowExecutionConcurrencyLimit: Int(50),
5049
WorkflowTriggerRateLimit: Rate(200, 200),
51-
GatewayUnauthenticatedRequestRateLimit: Rate(rate.Every(time.Second/100), -1),
52-
GatewayUnauthenticatedRequestRateLimitPerIP: Rate(rate.Every(time.Second), -1),
50+
GatewayUnauthenticatedRequestRateLimit: Rate(rate.Every(time.Second/100), 100),
51+
GatewayUnauthenticatedRequestRateLimitPerIP: Rate(rate.Every(time.Second), 1),
5352
GatewayIncomingPayloadSizeLimit: Size(10 * config.KByte),
5453

5554
PerOrg: Orgs{
@@ -128,7 +127,6 @@ var Default = Schema{
128127

129128
type Schema struct {
130129
WorkflowLimit Setting[int] `unit:"{workflow}"`
131-
WorkflowRegistrationQueueLimit Setting[int] `unit:"{workflow}"`
132130
WorkflowExecutionConcurrencyLimit Setting[int] `unit:"{workflow}"`
133131
WorkflowTriggerRateLimit Setting[config.Rate]
134132
GatewayUnauthenticatedRequestRateLimit Setting[config.Rate]

0 commit comments

Comments
 (0)