Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pkg/settings/cresettings/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ flowchart
GatewayHTTPPerNodeRate[\GatewayHTTPPerNodeRate/]:::rate
GatewayConfidentialRelayGlobalRate[\GatewayConfidentialRelayGlobalRate/]:::rate
GatewayConfidentialRelayPerNodeRate[\GatewayConfidentialRelayPerNodeRate/]:::rate
GatewayConfidentialRelayUserRate[\GatewayConfidentialRelayUserRate/]:::rate
GatewayHTTPActionMtlsRequestRate[\GatewayHTTPActionMtlsRequestRate/]:::rate
GatewayHTTPActionMtlsConcurrencyLimit([GatewayHTTPActionMtlsConcurrencyLimit]):::resource
end
Expand Down
1 change: 1 addition & 0 deletions pkg/settings/cresettings/defaults.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"GatewayHTTPPerNodeRate": "100rps:100",
"GatewayConfidentialRelayGlobalRate": "50rps:10",
"GatewayConfidentialRelayPerNodeRate": "10rps:10",
"GatewayConfidentialRelayUserRate": "100rps:10",
"GatewayHTTPActionMtlsRequestRate": "every30s:0",
"GatewayHTTPActionMtlsConcurrencyLimit": "50",
"TriggerRegistrationStatusUpdateTimeout": "0s",
Expand Down
1 change: 1 addition & 0 deletions pkg/settings/cresettings/defaults.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ GatewayHTTPGlobalRate = '500rps:500'
GatewayHTTPPerNodeRate = '100rps:100'
GatewayConfidentialRelayGlobalRate = '50rps:10'
GatewayConfidentialRelayPerNodeRate = '10rps:10'
GatewayConfidentialRelayUserRate = '100rps:10'
GatewayHTTPActionMtlsRequestRate = 'every30s:0'
GatewayHTTPActionMtlsConcurrencyLimit = '50'
TriggerRegistrationStatusUpdateTimeout = '0s'
Expand Down
6 changes: 6 additions & 0 deletions pkg/settings/cresettings/settings.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ var Default = Schema{
GatewayHTTPPerNodeRate: Rate(rate.Limit(100), 100),
GatewayConfidentialRelayGlobalRate: Rate(rate.Limit(50), 10),
GatewayConfidentialRelayPerNodeRate: Rate(rate.Limit(10), 10),
GatewayConfidentialRelayUserRate: Rate(rate.Limit(100), 10),
GatewayHTTPActionMtlsRequestRate: Rate(rate.Every(30*time.Second), 0),
GatewayHTTPActionMtlsConcurrencyLimit: Int(50),
TriggerRegistrationStatusUpdateTimeout: Duration(0 * time.Second),
Expand Down Expand Up @@ -345,6 +346,11 @@ type Schema struct {
GatewayHTTPPerNodeRate Setting[config.Rate]
GatewayConfidentialRelayGlobalRate Setting[config.Rate]
GatewayConfidentialRelayPerNodeRate Setting[config.Rate]
// GatewayConfidentialRelayUserRate bounds inbound user (ingress) requests to the
// confidential relay handler, before they are fanned out to DON nodes. The
// GlobalRate/PerNodeRate limiters above only bound node responses, so without this
// an unauthenticated caller can amplify one request into per-node attestation work.
GatewayConfidentialRelayUserRate Setting[config.Rate]
GatewayHTTPActionMtlsRequestRate Setting[config.Rate]
GatewayHTTPActionMtlsConcurrencyLimit Setting[int] `unit:"{request}"`
TriggerRegistrationStatusUpdateTimeout Setting[time.Duration]
Expand Down
2 changes: 2 additions & 0 deletions pkg/settings/cresettings/settings_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ func TestSchema_Unmarshal(t *testing.T) {
"GatewayVaultManagementEnabled": "true",
"GatewayConfidentialRelayGlobalRate": "20rps:7",
"GatewayConfidentialRelayPerNodeRate": "4rps:2",
"GatewayConfidentialRelayUserRate": "30rps:9",
"PerOrg": {
"ZeroBalancePruningTimeout": "48h"
},
Expand Down Expand Up @@ -141,6 +142,7 @@ func TestSchema_Unmarshal(t *testing.T) {
assert.False(t, cfg.VaultSignedResponseRequestIDEnabled.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, config.Rate{Limit: rate.Limit(30), Burst: 9}, cfg.GatewayConfidentialRelayUserRate.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)
Expand Down
Loading