Skip to content

Commit 0da324f

Browse files
Create Limits for the confidential-http capability (#1810)
* Create Limits for the comfidential-http capability * nit rename * nit
1 parent 218fe4a commit 0da324f

File tree

5 files changed

+46
-5
lines changed

5 files changed

+46
-5
lines changed

pkg/settings/cresettings/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,14 @@ flowchart
153153
PerWorkflow.HTTPAction.RequestSizeLimit{{RequestSizeLimit}}:::bound
154154
PerWorkflow.HTTPAction.ResponseSizeLimit{{ResponseSizeLimit}}:::bound
155155
end
156+
subgraph PerWorkflow.ConfidentialHTTP
157+
direction LR
158+
159+
PerWorkflow.ConfidentialHTTP.CallLimit{{CallLimit}}:::bound
160+
PerWorkflow.ConfidentialHTTP.ConnectionTimeout{{ConnectionTimeout}}:::bound
161+
PerWorkflow.ConfidentialHTTP.RequestSizeLimit{{RequestSizeLimit}}:::bound
162+
PerWorkflow.ConfidentialHTTP.ResponseSizeLimit{{ResponseSizeLimit}}:::bound
163+
end
156164
subgraph PerWorkflow.Secrets
157165
PerWorkflow.Secrets.CallLimit{{CallLimit}}:::bound
158166
end

pkg/settings/cresettings/defaults.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,12 @@
8585
"RequestSizeLimit": "10kb",
8686
"ResponseSizeLimit": "100kb"
8787
},
88+
"ConfidentialHTTP": {
89+
"CallLimit": "5",
90+
"ConnectionTimeout": "10s",
91+
"RequestSizeLimit": "10kb",
92+
"ResponseSizeLimit": "100kb"
93+
},
8894
"Secrets": {
8995
"CallLimit": "5"
9096
}

pkg/settings/cresettings/defaults.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,5 +86,11 @@ ConnectionTimeout = '10s'
8686
RequestSizeLimit = '10kb'
8787
ResponseSizeLimit = '100kb'
8888

89+
[PerWorkflow.ConfidentialHTTP]
90+
CallLimit = '5'
91+
ConnectionTimeout = '10s'
92+
RequestSizeLimit = '10kb'
93+
ResponseSizeLimit = '100kb'
94+
8995
[PerWorkflow.Secrets]
9096
CallLimit = '5'

pkg/settings/cresettings/settings.go

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,12 @@ var Default = Schema{
150150
RequestSizeLimit: Size(10 * config.KByte),
151151
ResponseSizeLimit: Size(100 * config.KByte),
152152
},
153+
ConfidentialHTTP: confidentialHTTP{
154+
CallLimit: Int(5),
155+
ConnectionTimeout: Duration(10 * time.Second),
156+
RequestSizeLimit: Size(10 * config.KByte),
157+
ResponseSizeLimit: Size(100 * config.KByte),
158+
},
153159
Secrets: secrets{
154160
CallLimit: Int(5),
155161
},
@@ -213,11 +219,12 @@ type Workflows struct {
213219
HTTPTrigger httpTrigger
214220
LogTrigger logTrigger
215221

216-
ChainWrite chainWrite
217-
ChainRead chainRead
218-
Consensus consensus
219-
HTTPAction httpAction
220-
Secrets secrets
222+
ChainWrite chainWrite
223+
ChainRead chainRead
224+
Consensus consensus
225+
HTTPAction httpAction
226+
ConfidentialHTTP confidentialHTTP
227+
Secrets secrets
221228
}
222229

223230
type cronTrigger struct {
@@ -254,6 +261,12 @@ type httpAction struct {
254261
RequestSizeLimit Setting[config.Size]
255262
ResponseSizeLimit Setting[config.Size]
256263
}
264+
type confidentialHTTP struct {
265+
CallLimit Setting[int] `unit:"{call}"`
266+
ConnectionTimeout Setting[time.Duration]
267+
RequestSizeLimit Setting[config.Size]
268+
ResponseSizeLimit Setting[config.Size]
269+
}
257270
type secrets struct {
258271
CallLimit Setting[int] `unit:"{call}"`
259272
}

pkg/settings/cresettings/settings_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,12 @@ func TestSchema_Unmarshal(t *testing.T) {
9898
"CallLimit": "5",
9999
"CacheAgeLimit": "5m"
100100
},
101+
"ConfidentialHTTP": {
102+
"CallLimit": "5",
103+
"ConnectionTimeout": "10s",
104+
"RequestSizeLimit": "10kb",
105+
"ResponseSizeLimit": "100kb"
106+
},
101107
"Secrets": {
102108
"CallLimit": "5"
103109
},
@@ -126,6 +132,8 @@ func TestSchema_Unmarshal(t *testing.T) {
126132
assert.Equal(t, config.Rate{Limit: rate.Every(13 * time.Second), Burst: 6}, cfg.PerWorkflow.LogTrigger.EventRateLimit.DefaultValue)
127133
assert.Equal(t, 5, cfg.PerWorkflow.HTTPAction.CallLimit.DefaultValue)
128134
assert.Equal(t, 5*time.Minute, cfg.PerWorkflow.HTTPAction.CacheAgeLimit.DefaultValue)
135+
assert.Equal(t, 5, cfg.PerWorkflow.ConfidentialHTTP.CallLimit.DefaultValue)
136+
assert.Equal(t, 10*config.KByte, cfg.PerWorkflow.ConfidentialHTTP.RequestSizeLimit.DefaultValue)
129137
assert.Equal(t, 5, cfg.PerWorkflow.Secrets.CallLimit.DefaultValue)
130138
assert.Equal(t, uint64(500000), cfg.PerWorkflow.ChainWrite.EVM.TransactionGasLimit.DefaultValue)
131139
assert.Equal(t, 3, cfg.PerWorkflow.ChainRead.CallLimit.DefaultValue)

0 commit comments

Comments
 (0)