Program
Program
All wire objects have a set of basic attributes {object_id, action, type, persist, data}
. The data
attribute defines the object-specific attributes
Program Attributes
Attribute | Type | Default | Description | Required |
---|---|---|---|---|
object_id | string | Object identifier; Must be a valid UUID. | Yes | |
action | string; One of: ['create', 'delete', 'update'] |
'create' |
Message action create, update, delete. | Yes |
persist | boolean | True |
Persist this object in the database. | Yes |
type | string; Must be: program |
'program' |
ARENA program data | Yes |
data | program | Object data payload; Program config data. | Yes |
Program Data Attributes
Attribute | Type | Default | Description | Required |
---|---|---|---|---|
name | string | Name of the program in the format namespace/program-name. | Yes | |
affinity | string; One of: ['client', 'none'] |
'client' |
Indicates the module affinity (client=client’s runtime; none or empty=any suitable/available runtime). | No |
instantiate | string; One of: ['single', 'client'] |
'client' |
Single instance of the program (=single), or let every client create a program instance (=client). Per client instance will create new uuid for each program. | Yes |
filename | string | Filename of the entry binary. | Yes | |
filetype | string; One of: ['WA', 'PY'] |
'WA' |
Type of the program (WA=WASM or PY=Python). | Yes |
parent | string | 'pytest' |
Request the orchestrator to deploy to this runtime (can be a runtime name or UUID); usually left blank. | Yes |
args | array | Command-line arguments (passed in argv). Supports variables: ${scene}, ${mqtth}, ${cameraid}, ${username}, ${runtimeid}, ${moduleid}, ${query-string-key}. | No | |
env | array | ['MID=${moduleid}', 'SCENE=${scene}', 'NAMESPACE=${namespace}', 'MQTTH=${mqtth}', 'REALM=realm'] |
Environment variables. Supports variables: ${scene}, ${namespace}, ${mqtth}, ${cameraid}, ${username}, ${runtimeid}, ${moduleid}, ${query-string-key}. | Yes |
channels | array | [{'path': '/ch/${scene}', 'type': 'pubsub', 'mode': 'rw', 'params': {'topic': 'realm/s/${scene}'}}] |
Channels describe files representing access to IO from pubsub and client sockets (possibly more in the future; currently only supported for WASM programs). | No |
run_info | object | Program execution info, added at runtime. | No |