Objects
Application Metadata
Computation Manifest
Computation Payload Manifest
Payload
Platform
Internet Network
Internet Outbound Network
Net
Script
Application Metadata
Application Metadata
Properties
Type | Description | Required | |
---|---|---|---|
name | string | ✓ Yes | |
description | ["string", "null"] | No | |
version | string | ✓ Yes | |
authors | string [] | No | |
homepage | ["string", "null"] | No |
Additional properties are allowed.
- JSON schema:
AppMetadata.name
- Type:
string
- Required: ✓ Yes
AppMetadata.description
- Type:
["string", "null"]
- Required: No
AppMetadata.version
- Type:
string
- Required: ✓ Yes
AppMetadata.authors
- Type:
string
[]
- Required: No
AppMetadata.homepage
- Type:
["string", "null"]
- Required: No
Computation Manifest
Computation Manifests let Requestors define a certain set of allowed actions, to be negotiated with and approved by a Provider. Requestors' actions will be verified against the Manifest during computation.
Computation Manifest
Properties
Type | Description | Required | |
---|---|---|---|
version | string | Semver | ✓ Yes |
script | object | Defines a set of allowed ExeScript commands and applies constraints to their arguments. | No |
net | object | Applies constraints to networking. Currently, outgoing requests to the public Internet network are covered. | No |
Additional properties are allowed.
- JSON schema:
CompManifest.version
Semver
- Type:
string
- Required: ✓ Yes
CompManifest.script
Defines a set of allowed ExeScript commands and applies constraints to their arguments.
- Type:
object
- Required: No
- Allowed values:
CompManifest.net
Applies constraints to networking. Currently, outgoing requests to the public Internet network are covered.
- Type:
object
- Required: No
- Allowed values:
Computation Payload Manifest
Computation Payload Manifest
Properties
Type | Description | Required | |
---|---|---|---|
version | string | Semver | ✓ Yes |
createdAt | string | ✓ Yes | |
expiresAt | string | ✓ Yes | |
metadata | object | No | |
payload | AppPayload [] | ✓ Yes | |
compManifest | object | No |
Additional properties are allowed.
- JSON schema: computation-payload-manifest.schema.json
Computation Payload Manifest.version
Semver
- Type:
string
- Required: ✓ Yes
Computation Payload Manifest.createdAt
- Type:
string
- Required: ✓ Yes
- Format: date-time
Computation Payload Manifest.expiresAt
- Type:
string
- Required: ✓ Yes
- Format: date-time
Computation Payload Manifest.metadata
- Type:
object
- Required: No
- Allowed values:
Computation Payload Manifest.payload
- Type:
AppPayload
[]
- Required: ✓ Yes
Computation Payload Manifest.compManifest
- Type:
object
- Required: No
- Allowed values:
Internet Network
Internet Network
Properties
Type | Description | Required | |
---|---|---|---|
out | object | Internet Outbound Network | No |
Additional properties are allowed.
- JSON schema:
Inet.out
Internet Outbound Network
- Type:
object
- Required: No
- Allowed values:
Internet Outbound Network
Applies constraints to networking. Currently, outgoing requests to the public Internet network are covered.
Internet Outbound Network
Properties
Type | Description | Required | |
---|---|---|---|
protocols | string [] | List of allowed outbound protocols. Supports "http", "https", "ws", and "wss". | No, default: [http,https,ws,wss] |
urls | ["array", "null"] | List of allowed external URLs that outbound requests can be sent to. E.g. ["http://golemfactory.s3.amazonaws.com/file1", "http://golemfactory.s3.amazonaws.com/file2"] | No |
Additional properties are allowed.
- JSON schema:
InetOut.protocols
List of allowed outbound protocols. Supports "http", "https", "ws", and "wss".
- Type:
string
[]
- Required: No, default:
[http,https,ws,wss]
InetOut.urls
List of allowed external URLs that outbound requests can be sent to. E.g. ["http://golemfactory.s3.amazonaws.com/file1", "http://golemfactory.s3.amazonaws.com/file2"]
- Type:
["array", "null"]
- Required: No
Net
Applies constraints to networking. Currently, outgoing requests to the public Internet network are covered.
Net
Properties
Type | Description | Required | |
---|---|---|---|
inet | object | No |
Additional properties are allowed.
- JSON schema:
Net.inet
- Type:
object
- Required: No
- Allowed values:
Payload
Payload
Properties
Type | Description | Required | |
---|---|---|---|
platform | object | No | |
urls | string [] | ✓ Yes | |
hash | string | ✓ Yes |
Additional properties are allowed.
- JSON schema:
AppPayload.platform
- Type:
object
- Required: No
- Allowed values:
AppPayload.urls
- Type:
string
[]
- Required: ✓ Yes
AppPayload.hash
- Type:
string
- Required: ✓ Yes
Payload Platform
Payload Platform
Properties
Type | Description | Required | |
---|---|---|---|
arch | string | ✓ Yes | |
os | string | ✓ Yes | |
osVersion | ["string", "null"] | No |
Additional properties are allowed.
- JSON schema:
PayloadPlatform.arch
- Type:
string
- Required: ✓ Yes
PayloadPlatform.os
- Type:
string
- Required: ✓ Yes
PayloadPlatform.osVersion
- Type:
["string", "null"]
- Required: No
Script
Defines a set of allowed ExeScript commands and applies constraints to their arguments.
Script
Properties
Type | Description | Required | |
---|---|---|---|
commands | array[] | Specifies a curated list of commands. | ✓ Yes |
match | ArgMatch | Selects a default way of comparing command arguments stated in the manifest and the ones received in the ExeScript, unless stated otherwise in a command JSON object. | No, default: strict |
Additional properties are allowed.
- JSON schema:
Script.commands
Specifies a curated list of commands.
- Type:
array[]
- Each element in the array must be one of the following values:
- Required: ✓ Yes
Script.match
Selects a default way of comparing command arguments stated in the manifest and the ones received in the ExeScript, unless stated otherwise in a command JSON object.
- Type:
ArgMatch
- Required: No, default:
strict
- Allowed values:
strict
regex