diff --git a/pkg/settings/cresettings/defaults.json b/pkg/settings/cresettings/defaults.json index fef990200..9c7e1e53b 100644 --- a/pkg/settings/cresettings/defaults.json +++ b/pkg/settings/cresettings/defaults.json @@ -2,6 +2,7 @@ "WorkflowLimit": "200", "WorkflowRegistrationQueueLimit": "20", "WorkflowExecutionConcurrencyLimit": "50", + "WorkflowTriggerRateLimit": "200rps:200", "GatewayUnauthenticatedRequestRateLimit": "100rps:-1", "GatewayUnauthenticatedRequestRateLimitPerIP": "1rps:-1", "GatewayIncomingPayloadSizeLimit": "10kb", @@ -10,7 +11,8 @@ "ZeroBalancePruningTimeout": "24h0m0s" }, "PerOwner": { - "WorkflowExecutionConcurrencyLimit": "50" + "WorkflowExecutionConcurrencyLimit": "50", + "WorkflowTriggerRateLimit": "200rps:200" }, "PerWorkflow": { "TriggerLimit": "10", @@ -40,7 +42,6 @@ "RateLimit": "every30s:3" }, "LogTrigger": { - "RateLimit": "every10s:-1", "Limit": "5", "EventRateLimit": "every6s:10", "FilterAddressLimit": "5", diff --git a/pkg/settings/cresettings/defaults.toml b/pkg/settings/cresettings/defaults.toml index c3974c348..59b2db7f3 100644 --- a/pkg/settings/cresettings/defaults.toml +++ b/pkg/settings/cresettings/defaults.toml @@ -1,6 +1,7 @@ WorkflowLimit = '200' WorkflowRegistrationQueueLimit = '20' WorkflowExecutionConcurrencyLimit = '50' +WorkflowTriggerRateLimit = '200rps:200' GatewayUnauthenticatedRequestRateLimit = '100rps:-1' GatewayUnauthenticatedRequestRateLimitPerIP = '1rps:-1' GatewayIncomingPayloadSizeLimit = '10kb' @@ -11,6 +12,7 @@ ZeroBalancePruningTimeout = '24h0m0s' [PerOwner] WorkflowExecutionConcurrencyLimit = '50' +WorkflowTriggerRateLimit = '200rps:200' [PerWorkflow] TriggerLimit = '10' @@ -41,7 +43,6 @@ RateLimit = 'every30s:1' RateLimit = 'every30s:3' [PerWorkflow.LogTrigger] -RateLimit = 'every10s:-1' Limit = '5' EventRateLimit = 'every6s:10' FilterAddressLimit = '5' diff --git a/pkg/settings/cresettings/settings.go b/pkg/settings/cresettings/settings.go index 0909827e5..891a1c78e 100644 --- a/pkg/settings/cresettings/settings.go +++ b/pkg/settings/cresettings/settings.go @@ -34,6 +34,7 @@ var Default = Schema{ WorkflowLimit: Int(200), WorkflowRegistrationQueueLimit: Int(20), WorkflowExecutionConcurrencyLimit: Int(50), + WorkflowTriggerRateLimit: Rate(200, 200), GatewayUnauthenticatedRequestRateLimit: Rate(rate.Every(time.Second/100), -1), GatewayUnauthenticatedRequestRateLimitPerIP: Rate(rate.Every(time.Second), -1), GatewayIncomingPayloadSizeLimit: Size(10 * config.KByte), @@ -44,6 +45,7 @@ var Default = Schema{ }, PerOwner: Owners{ WorkflowExecutionConcurrencyLimit: Int(50), + WorkflowTriggerRateLimit: Rate(200, 200), }, PerWorkflow: Workflows{ TriggerLimit: Int(10), @@ -73,9 +75,8 @@ var Default = Schema{ RateLimit: Rate(rate.Every(30*time.Second), 3), }, LogTrigger: logTrigger{ - RateLimit: Rate(rate.Every(10*time.Second), -1), //TODO Limit: Int(5), - EventRateLimit: Rate(rate.Every(time.Minute/10), 10), // TODO + EventRateLimit: Rate(rate.Every(time.Minute/10), 10), FilterAddressLimit: Int(5), FilterTopicsPerSlotLimit: Int(10), }, @@ -91,7 +92,7 @@ var Default = Schema{ TargetsLimit: Int(3), ReportSizeLimit: Size(config.KByte), EVM: evmChainWrite{ - TransactionGasLimit: Uint64(500_000), //TODO + TransactionGasLimit: Uint64(500_000), }, }, ChainRead: chainRead{ @@ -106,6 +107,7 @@ type Schema struct { WorkflowLimit Setting[int] `unit:"{workflow}"` WorkflowRegistrationQueueLimit Setting[int] `unit:"{workflow}"` WorkflowExecutionConcurrencyLimit Setting[int] `unit:"{workflow}"` + WorkflowTriggerRateLimit Setting[config.Rate] GatewayUnauthenticatedRequestRateLimit Setting[config.Rate] GatewayUnauthenticatedRequestRateLimitPerIP Setting[config.Rate] GatewayIncomingPayloadSizeLimit Setting[config.Size] @@ -121,6 +123,7 @@ type Orgs struct { type Owners struct { WorkflowExecutionConcurrencyLimit Setting[int] `unit:"{workflow}"` + WorkflowTriggerRateLimit Setting[config.Rate] } type Workflows struct { @@ -166,7 +169,6 @@ type httpTrigger struct { RateLimit Setting[config.Rate] } type logTrigger struct { - RateLimit Setting[config.Rate] Limit Setting[int] `unit:"{trigger}"` EventRateLimit Setting[config.Rate] FilterAddressLimit Setting[int] `unit:"{address}"`