Skip to content

Commit 7b5db1a

Browse files
committed
add CRE settings for gateway relay rate limits
1 parent 95a68e8 commit 7b5db1a

5 files changed

Lines changed: 14 additions & 0 deletions

File tree

pkg/settings/cresettings/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ flowchart
4545
%% DON nodes → gateway (separate from the inbound trigger flow)
4646
GatewayHTTPGlobalRate[\GatewayHTTPGlobalRate/]:::rate
4747
GatewayHTTPPerNodeRate[\GatewayHTTPPerNodeRate/]:::rate
48+
GatewayConfidentialRelayGlobalRate[\GatewayConfidentialRelayGlobalRate/]:::rate
49+
GatewayConfidentialRelayPerNodeRate[\GatewayConfidentialRelayPerNodeRate/]:::rate
4850
end
4951
%% TODO unused
5052
%% PerOrg.ZeroBalancePruningTimeout

pkg/settings/cresettings/defaults.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
"VaultForceEmptyOCRRounds": "false",
99
"GatewayHTTPGlobalRate": "500rps:500",
1010
"GatewayHTTPPerNodeRate": "100rps:100",
11+
"GatewayConfidentialRelayGlobalRate": "50rps:10",
12+
"GatewayConfidentialRelayPerNodeRate": "10rps:10",
1113
"TriggerRegistrationStatusUpdateTimeout": "0s",
1214
"BaseTriggerRetransmitEnabled": "false",
1315
"BaseTriggerRetryInterval": "30s",

pkg/settings/cresettings/defaults.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ VaultOrgIdAsSecretOwnerEnabled = 'false'
77
VaultForceEmptyOCRRounds = 'false'
88
GatewayHTTPGlobalRate = '500rps:500'
99
GatewayHTTPPerNodeRate = '100rps:100'
10+
GatewayConfidentialRelayGlobalRate = '50rps:10'
11+
GatewayConfidentialRelayPerNodeRate = '10rps:10'
1012
TriggerRegistrationStatusUpdateTimeout = '0s'
1113
BaseTriggerRetransmitEnabled = 'false'
1214
BaseTriggerRetryInterval = '30s'

pkg/settings/cresettings/settings.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ var Default = Schema{
6161
VaultForceEmptyOCRRounds: Bool(false),
6262
GatewayHTTPGlobalRate: Rate(rate.Limit(500), 500),
6363
GatewayHTTPPerNodeRate: Rate(rate.Limit(100), 100),
64+
GatewayConfidentialRelayGlobalRate: Rate(rate.Limit(50), 10),
65+
GatewayConfidentialRelayPerNodeRate: Rate(rate.Limit(10), 10),
6466
TriggerRegistrationStatusUpdateTimeout: Duration(0 * time.Second),
6567
BaseTriggerRetransmitEnabled: Bool(false),
6668
BaseTriggerRetryInterval: Duration(30 * time.Second),
@@ -238,6 +240,8 @@ type Schema struct {
238240
VaultForceEmptyOCRRounds Setting[bool]
239241
GatewayHTTPGlobalRate Setting[config.Rate]
240242
GatewayHTTPPerNodeRate Setting[config.Rate]
243+
GatewayConfidentialRelayGlobalRate Setting[config.Rate]
244+
GatewayConfidentialRelayPerNodeRate Setting[config.Rate]
241245
TriggerRegistrationStatusUpdateTimeout Setting[time.Duration]
242246

243247
BaseTriggerRetransmitEnabled Setting[bool]

pkg/settings/cresettings/settings_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ func TestSchema_Unmarshal(t *testing.T) {
7171
"GatewayUnauthenticatedRequestRateLimitPerIP": "1rps:100",
7272
"GatewayIncomingPayloadSizeLimit": "14kb",
7373
"GatewayVaultManagementEnabled": "true",
74+
"GatewayConfidentialRelayGlobalRate": "20rps:7",
75+
"GatewayConfidentialRelayPerNodeRate": "4rps:2",
7476
"PerOrg": {
7577
"ZeroBalancePruningTimeout": "48h"
7678
},
@@ -125,6 +127,8 @@ func TestSchema_Unmarshal(t *testing.T) {
125127
assert.Equal(t, false, cfg.VaultJWTAuthEnabled.DefaultValue)
126128
assert.Equal(t, false, cfg.VaultOrgIdAsSecretOwnerEnabled.DefaultValue)
127129
assert.Equal(t, false, cfg.VaultForceEmptyOCRRounds.DefaultValue)
130+
assert.Equal(t, config.Rate{Limit: rate.Limit(20), Burst: 7}, cfg.GatewayConfidentialRelayGlobalRate.DefaultValue)
131+
assert.Equal(t, config.Rate{Limit: rate.Limit(4), Burst: 2}, cfg.GatewayConfidentialRelayPerNodeRate.DefaultValue)
128132
assert.Equal(t, 48*time.Hour, cfg.PerOrg.ZeroBalancePruningTimeout.DefaultValue)
129133
assert.Equal(t, 99, cfg.PerOwner.WorkflowExecutionConcurrencyLimit.DefaultValue)
130134
assert.Equal(t, 250*config.MByte, cfg.PerWorkflow.WASMMemoryLimit.DefaultValue)

0 commit comments

Comments
 (0)