Skip to content

Commit a1ee74b

Browse files
committed
add CRE settings for gateway relay rate limits
1 parent 08016f5 commit a1ee74b

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
@@ -42,6 +42,8 @@ flowchart
4242
%% DON nodes → gateway (separate from the inbound trigger flow)
4343
GatewayHTTPGlobalRate[\GatewayHTTPGlobalRate/]:::rate
4444
GatewayHTTPPerNodeRate[\GatewayHTTPPerNodeRate/]:::rate
45+
GatewayConfidentialRelayGlobalRate[\GatewayConfidentialRelayGlobalRate/]:::rate
46+
GatewayConfidentialRelayPerNodeRate[\GatewayConfidentialRelayPerNodeRate/]:::rate
4547
end
4648
%% WorkflowLimit - Deprecated
4749
%% TODO unused

pkg/settings/cresettings/defaults.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
"GatewayVaultManagementEnabled": "true",
66
"GatewayHTTPGlobalRate": "500rps:500",
77
"GatewayHTTPPerNodeRate": "100rps:100",
8+
"GatewayConfidentialRelayGlobalRate": "50rps:10",
9+
"GatewayConfidentialRelayPerNodeRate": "10rps:10",
810
"TriggerRegistrationStatusUpdateTimeout": "0s",
911
"VaultCiphertextSizeLimit": "2kb",
1012
"VaultShareSizeLimit": "600b",

pkg/settings/cresettings/defaults.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ GatewayIncomingPayloadSizeLimit = '1mb'
44
GatewayVaultManagementEnabled = 'true'
55
GatewayHTTPGlobalRate = '500rps:500'
66
GatewayHTTPPerNodeRate = '100rps:100'
7+
GatewayConfidentialRelayGlobalRate = '50rps:10'
8+
GatewayConfidentialRelayPerNodeRate = '10rps:10'
79
TriggerRegistrationStatusUpdateTimeout = '0s'
810
VaultCiphertextSizeLimit = '2kb'
911
VaultShareSizeLimit = '600b'

pkg/settings/cresettings/settings.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ var Default = Schema{
5858
GatewayVaultManagementEnabled: Bool(true),
5959
GatewayHTTPGlobalRate: Rate(rate.Limit(500), 500),
6060
GatewayHTTPPerNodeRate: Rate(rate.Limit(100), 100),
61+
GatewayConfidentialRelayGlobalRate: Rate(rate.Limit(50), 10),
62+
GatewayConfidentialRelayPerNodeRate: Rate(rate.Limit(10), 10),
6163
TriggerRegistrationStatusUpdateTimeout: Duration(0 * time.Second),
6264
// DANGER(cedric): Be extremely careful changing these vault limits as they act as a default value
6365
// used by the Vault OCR plugin -- changing these values could cause issues with the plugin during an image
@@ -215,6 +217,8 @@ type Schema struct {
215217
GatewayVaultManagementEnabled Setting[bool]
216218
GatewayHTTPGlobalRate Setting[config.Rate]
217219
GatewayHTTPPerNodeRate Setting[config.Rate]
220+
GatewayConfidentialRelayGlobalRate Setting[config.Rate]
221+
GatewayConfidentialRelayPerNodeRate Setting[config.Rate]
218222
TriggerRegistrationStatusUpdateTimeout Setting[time.Duration]
219223

220224
VaultCiphertextSizeLimit Setting[config.Size]

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
},
@@ -122,6 +124,8 @@ func TestSchema_Unmarshal(t *testing.T) {
122124
assert.Equal(t, 500, cfg.WorkflowLimit.DefaultValue)
123125
assert.Equal(t, 14*config.KByte, cfg.GatewayIncomingPayloadSizeLimit.DefaultValue)
124126
assert.Equal(t, true, cfg.GatewayVaultManagementEnabled.DefaultValue)
127+
assert.Equal(t, config.Rate{Limit: rate.Limit(20), Burst: 7}, cfg.GatewayConfidentialRelayGlobalRate.DefaultValue)
128+
assert.Equal(t, config.Rate{Limit: rate.Limit(4), Burst: 2}, cfg.GatewayConfidentialRelayPerNodeRate.DefaultValue)
125129
assert.Equal(t, 48*time.Hour, cfg.PerOrg.ZeroBalancePruningTimeout.DefaultValue)
126130
assert.Equal(t, 99, cfg.PerOwner.WorkflowExecutionConcurrencyLimit.DefaultValue)
127131
assert.Equal(t, 250*config.MByte, cfg.PerWorkflow.WASMMemoryLimit.DefaultValue)

0 commit comments

Comments
 (0)