Skip to content

Commit 89ee019

Browse files
resource tracker renamed to inventory tracker and generated from cassette config xml
1 parent de61348 commit 89ee019

File tree

5 files changed

+369
-121
lines changed

5 files changed

+369
-121
lines changed

default.node.info.yaml

Lines changed: 105 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ capabilities:
99
get_state: true
1010
get_status: true
1111
send_action: true
12+
get_action_status: true
1213
get_action_result: true
1314
get_action_history: true
1415
action_files: true
@@ -29,15 +30,19 @@ actions:
2930
args:
3031
temp:
3132
name: temp
32-
description: target temperature
33+
description: target temperature in celsius
3334
argument_type: float
3435
required: true
3536
default: null
3637
locations: {}
3738
files: {}
3839
results: {}
39-
blocking: false
40+
blocking: true
4041
asynchronous: true
42+
accepts_var_args: false
43+
accepts_var_kwargs: false
44+
var_args_schema: null
45+
var_kwargs_schema: null
4146
set_target_humidity:
4247
name: set_target_humidity
4348
description: Set the target humidity of the incubator
@@ -51,8 +56,12 @@ actions:
5156
locations: {}
5257
files: {}
5358
results: {}
54-
blocking: false
59+
blocking: true
5560
asynchronous: true
61+
accepts_var_args: false
62+
accepts_var_kwargs: false
63+
var_args_schema: null
64+
var_kwargs_schema: null
5665
begin_shake:
5766
name: begin_shake
5867
description: Begin shaking the incubator at the specified speed
@@ -73,8 +82,12 @@ actions:
7382
locations: {}
7483
files: {}
7584
results: {}
76-
blocking: false
85+
blocking: true
7786
asynchronous: true
87+
accepts_var_args: false
88+
accepts_var_kwargs: false
89+
var_args_schema: null
90+
var_kwargs_schema: null
7891
end_shake:
7992
name: end_shake
8093
description: Stop shaking the incubator
@@ -89,8 +102,12 @@ actions:
89102
locations: {}
90103
files: {}
91104
results: {}
92-
blocking: false
105+
blocking: true
93106
asynchronous: true
107+
accepts_var_args: false
108+
accepts_var_kwargs: false
109+
var_args_schema: null
110+
var_kwargs_schema: null
94111
load_plate:
95112
name: load_plate
96113
description: Load a plate into the incubator
@@ -123,8 +140,12 @@ actions:
123140
locations: {}
124141
files: {}
125142
results: {}
126-
blocking: false
143+
blocking: true
127144
asynchronous: true
145+
accepts_var_args: false
146+
accepts_var_kwargs: false
147+
var_args_schema: null
148+
var_kwargs_schema: null
128149
unload_plate:
129150
name: unload_plate
130151
description: Unload a plate from the incubator
@@ -150,22 +171,33 @@ actions:
150171
locations: {}
151172
files: {}
152173
results: {}
153-
blocking: false
174+
blocking: true
154175
asynchronous: true
176+
accepts_var_args: false
177+
accepts_var_kwargs: false
178+
var_args_schema: null
179+
var_kwargs_schema: null
155180
config:
156181
node_definition: default.node.yaml
157182
node_info_path: null
158183
update_node_files: true
159184
status_update_interval: 2.0
160185
state_update_interval: 2.0
161-
node_url: http://hudson01.cels.anl.gov:2005
162-
uvicorn_kwargs: {}
186+
node_url: http://hudson01.cels.anl.gov:2005/
187+
uvicorn_kwargs:
188+
limit_concurrency: 10
189+
enable_rate_limiting: true
190+
rate_limit_requests: 100
191+
rate_limit_window: 60
192+
rate_limit_short_requests: 50
193+
rate_limit_short_window: 1
194+
rate_limit_cleanup_interval: 300
163195
liconic_driver_port: 3333
164196
liconic_driver_host: localhost
165-
liconic_driver_cassette_config: C:\Liconic\stxdriver_64bit\DriverConfig\Devices\CassettesConfig1.xml
166-
resources_path: C:\Users\svcaibio\.madsci\liconic\liconic_resources.yaml
197+
inventory_tracker_path: C:\Users\svcaibio\.madsci\liconic\liconic_resources.yaml
198+
cassette_config_path: C:\Liconic\stxdriver_64bit\DriverConfig\Devices\CassettesConfig1.xml
167199
config_schema:
168-
description: Configuration for the Liconic REST node
200+
description: Configuration for the LiCONiC REST node
169201
properties:
170202
node_definition:
171203
anyOf:
@@ -210,14 +242,65 @@ config_schema:
210242
description: The interval in seconds at which the node should update its state.
211243
title: State Update Interval
212244
node_url:
213-
default: http://hudson01.cels.anl.gov:2005
214-
title: Node Url
245+
default: http://127.0.0.1:2000/
246+
description: The URL used to communicate with the node. This is the base URL
247+
for the REST API.
248+
format: uri
249+
minLength: 1
250+
title: Node URL
215251
type: string
216252
uvicorn_kwargs:
217253
additionalProperties: true
218-
description: Configuration for the Uvicorn server that runs the REST API.
254+
description: Configuration for the Uvicorn server that runs the REST API. By
255+
default, sets limit_concurrency=10 to protect against connection exhaustion
256+
attacks.
219257
title: Uvicorn Configuration
220258
type: object
259+
enable_rate_limiting:
260+
default: true
261+
description: Enable rate limiting middleware for the REST API.
262+
title: Enable Rate Limiting
263+
type: boolean
264+
rate_limit_requests:
265+
default: 100
266+
description: Maximum number of requests allowed per long time window (only used
267+
if enable_rate_limiting is True).
268+
minimum: 1
269+
title: Rate Limit Requests
270+
type: integer
271+
rate_limit_window:
272+
default: 60
273+
description: Long time window in seconds for rate limiting (only used if enable_rate_limiting
274+
is True).
275+
minimum: 1
276+
title: Rate Limit Window
277+
type: integer
278+
rate_limit_short_requests:
279+
anyOf:
280+
- minimum: 1
281+
type: integer
282+
- type: 'null'
283+
default: 50
284+
description: Maximum number of requests allowed per short time window for burst
285+
protection (only used if enable_rate_limiting is True). If None, short window
286+
limiting is disabled.
287+
title: Rate Limit Short Requests
288+
rate_limit_short_window:
289+
anyOf:
290+
- minimum: 1
291+
type: integer
292+
- type: 'null'
293+
default: 1
294+
description: Short time window for burst protection in seconds (only used if
295+
enable_rate_limiting is True). If None, short window limiting is disabled.
296+
title: Rate Limit Short Window
297+
rate_limit_cleanup_interval:
298+
default: 300
299+
description: Interval in seconds between cleanup operations to prevent memory
300+
leaks (only used if enable_rate_limiting is True).
301+
minimum: 1
302+
title: Rate Limit Cleanup Interval
303+
type: integer
221304
liconic_driver_port:
222305
default: 3333
223306
title: Liconic Driver Port
@@ -226,14 +309,15 @@ config_schema:
226309
default: localhost
227310
title: Liconic Driver Host
228311
type: string
229-
liconic_driver_cassette_config:
230-
default: C:\Liconic\stxdriver_64bit\DriverConfig\Devices\CassettesConfig1.xml
231-
title: Liconic Driver Cassette Config
232-
type: string
233-
resources_path:
312+
inventory_tracker_path:
234313
default: C:\Users\svcaibio\.madsci\liconic\liconic_resources.yaml
235314
format: path
236-
title: Resources Path
315+
title: Inventory Tracker Path
316+
type: string
317+
cassette_config_path:
318+
default: C:\Liconic\stxdriver_64bit\DriverConfig\Devices\CassettesConfig1.xml
319+
format: path
320+
title: Cassette Config Path
237321
type: string
238322
title: LiconicNodeConfig
239323
type: object

0 commit comments

Comments
 (0)