diff --git a/pkg/settings/cresettings/README.md b/pkg/settings/cresettings/README.md index 2579f79f4..c287db676 100644 --- a/pkg/settings/cresettings/README.md +++ b/pkg/settings/cresettings/README.md @@ -45,6 +45,8 @@ flowchart %% DON nodes → gateway (separate from the inbound trigger flow) GatewayHTTPGlobalRate[\GatewayHTTPGlobalRate/]:::rate GatewayHTTPPerNodeRate[\GatewayHTTPPerNodeRate/]:::rate + GatewayConfidentialRelayGlobalRate[\GatewayConfidentialRelayGlobalRate/]:::rate + GatewayConfidentialRelayPerNodeRate[\GatewayConfidentialRelayPerNodeRate/]:::rate end %% TODO unused %% PerOrg.ZeroBalancePruningTimeout diff --git a/pkg/settings/cresettings/defaults.json b/pkg/settings/cresettings/defaults.json index c4afb25e3..a7c2dda86 100644 --- a/pkg/settings/cresettings/defaults.json +++ b/pkg/settings/cresettings/defaults.json @@ -8,6 +8,8 @@ "VaultForceEmptyOCRRounds": "false", "GatewayHTTPGlobalRate": "500rps:500", "GatewayHTTPPerNodeRate": "100rps:100", + "GatewayConfidentialRelayGlobalRate": "50rps:10", + "GatewayConfidentialRelayPerNodeRate": "10rps:10", "TriggerRegistrationStatusUpdateTimeout": "0s", "BaseTriggerRetransmitEnabled": "false", "BaseTriggerRetryInterval": "30s", diff --git a/pkg/settings/cresettings/defaults.toml b/pkg/settings/cresettings/defaults.toml index 6beb068aa..bd44a7b08 100644 --- a/pkg/settings/cresettings/defaults.toml +++ b/pkg/settings/cresettings/defaults.toml @@ -7,6 +7,8 @@ VaultOrgIdAsSecretOwnerEnabled = 'false' VaultForceEmptyOCRRounds = 'false' GatewayHTTPGlobalRate = '500rps:500' GatewayHTTPPerNodeRate = '100rps:100' +GatewayConfidentialRelayGlobalRate = '50rps:10' +GatewayConfidentialRelayPerNodeRate = '10rps:10' TriggerRegistrationStatusUpdateTimeout = '0s' BaseTriggerRetransmitEnabled = 'false' BaseTriggerRetryInterval = '30s' diff --git a/pkg/settings/cresettings/settings.go b/pkg/settings/cresettings/settings.go index dbefb7c90..36ab5ccf7 100644 --- a/pkg/settings/cresettings/settings.go +++ b/pkg/settings/cresettings/settings.go @@ -61,6 +61,8 @@ var Default = Schema{ VaultForceEmptyOCRRounds: Bool(false), GatewayHTTPGlobalRate: Rate(rate.Limit(500), 500), GatewayHTTPPerNodeRate: Rate(rate.Limit(100), 100), + GatewayConfidentialRelayGlobalRate: Rate(rate.Limit(50), 10), + GatewayConfidentialRelayPerNodeRate: Rate(rate.Limit(10), 10), TriggerRegistrationStatusUpdateTimeout: Duration(0 * time.Second), BaseTriggerRetransmitEnabled: Bool(false), BaseTriggerRetryInterval: Duration(30 * time.Second), @@ -241,6 +243,8 @@ type Schema struct { VaultForceEmptyOCRRounds Setting[bool] GatewayHTTPGlobalRate Setting[config.Rate] GatewayHTTPPerNodeRate Setting[config.Rate] + GatewayConfidentialRelayGlobalRate Setting[config.Rate] + GatewayConfidentialRelayPerNodeRate Setting[config.Rate] TriggerRegistrationStatusUpdateTimeout Setting[time.Duration] BaseTriggerRetransmitEnabled Setting[bool] diff --git a/pkg/settings/cresettings/settings_test.go b/pkg/settings/cresettings/settings_test.go index 7b8d9340c..c282c8277 100644 --- a/pkg/settings/cresettings/settings_test.go +++ b/pkg/settings/cresettings/settings_test.go @@ -71,6 +71,8 @@ func TestSchema_Unmarshal(t *testing.T) { "GatewayUnauthenticatedRequestRateLimitPerIP": "1rps:100", "GatewayIncomingPayloadSizeLimit": "14kb", "GatewayVaultManagementEnabled": "true", + "GatewayConfidentialRelayGlobalRate": "20rps:7", + "GatewayConfidentialRelayPerNodeRate": "4rps:2", "PerOrg": { "ZeroBalancePruningTimeout": "48h" }, @@ -126,6 +128,8 @@ func TestSchema_Unmarshal(t *testing.T) { assert.Equal(t, false, cfg.VaultJWTAuthEnabled.DefaultValue) assert.Equal(t, false, cfg.VaultOrgIdAsSecretOwnerEnabled.DefaultValue) assert.Equal(t, false, cfg.VaultForceEmptyOCRRounds.DefaultValue) + assert.Equal(t, config.Rate{Limit: rate.Limit(20), Burst: 7}, cfg.GatewayConfidentialRelayGlobalRate.DefaultValue) + assert.Equal(t, config.Rate{Limit: rate.Limit(4), Burst: 2}, cfg.GatewayConfidentialRelayPerNodeRate.DefaultValue) assert.Equal(t, 48*time.Hour, cfg.PerOrg.ZeroBalancePruningTimeout.DefaultValue) assert.Equal(t, 99, cfg.PerOwner.WorkflowExecutionConcurrencyLimit.DefaultValue) assert.Equal(t, 250*config.MByte, cfg.PerWorkflow.WASMMemoryLimit.DefaultValue)