forked from fluencelabs/fRPC-Substrate
-
Notifications
You must be signed in to change notification settings - Fork 0
/
module.yaml.json
93 lines (93 loc) · 3.28 KB
/
module.yaml.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
{
"type": "object",
"$id": "https://fluence.dev/schemas/module.yaml",
"title": "module.yaml",
"description": "Defines [Marine Module](https://fluence.dev/docs/build/concepts/#modules). You can use 'fluence module new' command to generate a template for new module",
"properties": {
"name": {
"type": "string",
"description": "\"name\" property from the Cargo.toml (for module type \"rust\") or name of the precompiled .wasm file (for module type \"compiled\")"
},
"type": {
"type": "string",
"enum": [
"rust",
"compiled"
],
"nullable": true,
"default": "compiled",
"description": "Module type \"compiled\" is for the precompiled modules. Module type \"rust\" is for the source code written in rust which can be compiled into a Marine module"
},
"maxHeapSize": {
"type": "string",
"nullable": true,
"description": "Max size of the heap that a module can allocate in format: [number][whitespace?][specificator?] where ? is an optional field and specificator is one from the following (case-insensitive):\nK, Kb - kilobyte\nKi, KiB - kibibyte\nM, Mb - megabyte\nMi, MiB - mebibyte\nG, Gb - gigabyte\nGi, GiB - gibibyte\nCurrent limit is 4 GiB"
},
"loggerEnabled": {
"type": "boolean",
"nullable": true,
"description": "Set true to allow module to use the Marine SDK logger"
},
"loggingMask": {
"type": "number",
"nullable": true,
"description": "manages the logging targets, described in detail: https://fluence.dev/docs/marine-book/marine-rust-sdk/developing/logging#using-target-map"
},
"volumes": {
"type": "object",
"nullable": true,
"required": [],
"title": "Volumes",
"additionalProperties": {
"type": "string"
},
"properties": {
"Alias": {
"type": "string",
"description": "path"
}
},
"description": "A map of accessible files and their aliases. Aliases should be used in Marine module development because it's hard to know the full path to a file"
},
"envs": {
"type": "object",
"title": "Environment variables",
"nullable": true,
"required": [],
"additionalProperties": {
"type": "string"
},
"properties": {
"Environment_variable_name": {
"type": "string",
"description": "Environment variable value"
}
},
"description": "environment variables accessible by a particular module with standard Rust env API like this: std::env::var(IPFS_ADDR_ENV_NAME). Please note that Marine adds three additional environment variables. Module environment variables could be examined with repl"
},
"mountedBinaries": {
"title": "Mounted binaries",
"type": "object",
"additionalProperties": {
"type": "string"
},
"properties": {
"Mounted_binary_name": {
"type": "string",
"description": "Path to a mounted binary"
}
},
"nullable": true,
"required": [],
"description": "A map of binary executable files that module is allowed to call. Example: curl: /usr/bin/curl"
},
"version": {
"type": "number",
"const": 0
}
},
"required": [
"version",
"name"
]
}