@usex/mikrotik-mcp 3.27.0 → 3.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +3862 -3241
- package/dist/index.d.ts +16 -1
- package/dist/index.js +4001 -3380
- package/package.json +1 -1
- package/schemas/README.md +1 -1
- package/schemas/tool-catalog.json +750 -19
- package/schemas/tools/add_container.json +93 -0
- package/schemas/tools/add_container_env.json +21 -0
- package/schemas/tools/add_container_mount.json +21 -0
- package/schemas/tools/add_disk.json +38 -0
- package/schemas/tools/eject_disk.json +13 -0
- package/schemas/tools/format_disk.json +18 -6
- package/schemas/tools/get_container.json +16 -0
- package/schemas/tools/get_container_config.json +7 -0
- package/schemas/tools/get_disk.json +3 -3
- package/schemas/tools/list_container_envs.json +12 -0
- package/schemas/tools/list_container_mounts.json +12 -0
- package/schemas/tools/list_containers.json +26 -0
- package/schemas/tools/list_disks.json +20 -1
- package/schemas/tools/remove_container.json +16 -0
- package/schemas/tools/remove_container_env.json +17 -0
- package/schemas/tools/remove_container_mount.json +13 -0
- package/schemas/tools/remove_disk.json +13 -0
- package/schemas/tools/set_container_config.json +32 -0
- package/schemas/tools/set_disk.json +31 -0
- package/schemas/tools/share_disk.json +29 -0
- package/schemas/tools/start_container.json +16 -0
- package/schemas/tools/stop_container.json +16 -0
- package/schemas/tools/update_container.json +64 -0
- package/schemas/tools/upload_file.json +4 -2
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "add_container",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"name": {
|
|
7
|
+
"description": "Container name (recommended for management)",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"remote_image": {
|
|
11
|
+
"description": "Registry image, e.g. 'library/alpine:latest'",
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"file": {
|
|
15
|
+
"description": "Local Docker-v1 tar on the device (alternative to remote_image)",
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"interface": {
|
|
19
|
+
"description": "VETH interface name",
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"root_dir": {
|
|
23
|
+
"description": "Filesystem root, e.g. 'disk1/myapp'",
|
|
24
|
+
"type": "string"
|
|
25
|
+
},
|
|
26
|
+
"env": {
|
|
27
|
+
"description": "Inline env vars: 'K=v,K2=v2' (7.21+)",
|
|
28
|
+
"type": "string"
|
|
29
|
+
},
|
|
30
|
+
"envlists": {
|
|
31
|
+
"description": "Named env list name(s) (add_container_env)",
|
|
32
|
+
"type": "string"
|
|
33
|
+
},
|
|
34
|
+
"mount": {
|
|
35
|
+
"description": "Inline mount: 'src=disk1/data,dst=/data' (7.21+)",
|
|
36
|
+
"type": "string"
|
|
37
|
+
},
|
|
38
|
+
"mountlists": {
|
|
39
|
+
"description": "Named mount name(s) (add_container_mount)",
|
|
40
|
+
"type": "string"
|
|
41
|
+
},
|
|
42
|
+
"cmd": {
|
|
43
|
+
"description": "Override container CMD",
|
|
44
|
+
"type": "string"
|
|
45
|
+
},
|
|
46
|
+
"entrypoint": {
|
|
47
|
+
"description": "Override container ENTRYPOINT",
|
|
48
|
+
"type": "string"
|
|
49
|
+
},
|
|
50
|
+
"workdir": {
|
|
51
|
+
"description": "Override working directory",
|
|
52
|
+
"type": "string"
|
|
53
|
+
},
|
|
54
|
+
"hostname": {
|
|
55
|
+
"type": "string"
|
|
56
|
+
},
|
|
57
|
+
"dns": {
|
|
58
|
+
"description": "DNS server for the container",
|
|
59
|
+
"type": "string"
|
|
60
|
+
},
|
|
61
|
+
"user": {
|
|
62
|
+
"type": "string"
|
|
63
|
+
},
|
|
64
|
+
"stop_signal": {
|
|
65
|
+
"description": "Signal used to stop the container",
|
|
66
|
+
"type": "string"
|
|
67
|
+
},
|
|
68
|
+
"devices": {
|
|
69
|
+
"description": "Pass-through physical devices (7.20+)",
|
|
70
|
+
"type": "string"
|
|
71
|
+
},
|
|
72
|
+
"cpu_list": {
|
|
73
|
+
"description": "CPU core affinity",
|
|
74
|
+
"type": "string"
|
|
75
|
+
},
|
|
76
|
+
"memory_high": {
|
|
77
|
+
"description": "RAM limit, e.g. '256M'",
|
|
78
|
+
"type": "string"
|
|
79
|
+
},
|
|
80
|
+
"logging": {
|
|
81
|
+
"description": "Send stdout/stderr to the RouterOS log",
|
|
82
|
+
"type": "boolean"
|
|
83
|
+
},
|
|
84
|
+
"start_on_boot": {
|
|
85
|
+
"description": "Auto-start on device boot",
|
|
86
|
+
"type": "boolean"
|
|
87
|
+
},
|
|
88
|
+
"comment": {
|
|
89
|
+
"type": "string"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"additionalProperties": false
|
|
93
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "add_container_env",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"list": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "Env-list (group) name, e.g. 'MYAPP'"
|
|
9
|
+
},
|
|
10
|
+
"key": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Variable name, e.g. 'TZ'"
|
|
13
|
+
},
|
|
14
|
+
"value": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Variable value"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"required": ["list", "key", "value"],
|
|
20
|
+
"additionalProperties": false
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "add_container_mount",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"name": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "Mount name, e.g. 'appdata'"
|
|
9
|
+
},
|
|
10
|
+
"src": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Host source path, e.g. 'disk1/appdata'"
|
|
13
|
+
},
|
|
14
|
+
"dst": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Container destination path, e.g. '/data'"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"required": ["name", "src", "dst"],
|
|
20
|
+
"additionalProperties": false
|
|
21
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "add_disk",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"type": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "Virtual disk type: 'raid', 'rsync', 'tmpfs', 'encrypted', …"
|
|
9
|
+
},
|
|
10
|
+
"slot": {
|
|
11
|
+
"description": "Name/slot for the new virtual disk",
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"raid_type": {
|
|
15
|
+
"description": "For type=raid, e.g. 'raid1', 'raid5'",
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"tmpfs_max_size": {
|
|
19
|
+
"description": "For type=tmpfs, e.g. '256M'",
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"comment": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
},
|
|
25
|
+
"properties": {
|
|
26
|
+
"description": "Extra RouterOS attribute=value pairs for this disk type",
|
|
27
|
+
"type": "object",
|
|
28
|
+
"propertyNames": {
|
|
29
|
+
"type": "string"
|
|
30
|
+
},
|
|
31
|
+
"additionalProperties": {
|
|
32
|
+
"type": "string"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"required": ["type"],
|
|
37
|
+
"additionalProperties": false
|
|
38
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "eject_disk",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"slot": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "Disk slot to eject, e.g. 'usb1'"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"required": ["slot"],
|
|
12
|
+
"additionalProperties": false
|
|
13
|
+
}
|
|
@@ -3,24 +3,36 @@
|
|
|
3
3
|
"title": "format_disk",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
6
|
-
"
|
|
6
|
+
"slot": {
|
|
7
7
|
"type": "string",
|
|
8
|
-
"description": "Disk
|
|
8
|
+
"description": "Disk slot to format, e.g. 'usb1'"
|
|
9
9
|
},
|
|
10
10
|
"file_system": {
|
|
11
|
-
"description": "
|
|
11
|
+
"description": "Filesystem to create (RouterOS can format these)",
|
|
12
12
|
"type": "string",
|
|
13
|
-
"enum": ["ext4", "
|
|
13
|
+
"enum": ["ext4", "exfat", "fat32", "ntfs"]
|
|
14
14
|
},
|
|
15
15
|
"label": {
|
|
16
16
|
"description": "Volume label",
|
|
17
17
|
"type": "string"
|
|
18
18
|
},
|
|
19
|
+
"partition_size": {
|
|
20
|
+
"description": "Format only this much as a partition, e.g. '10G' (omit = whole drive)",
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"encryption": {
|
|
24
|
+
"description": "Encryption algorithm to enable, e.g. 'aes-cbc' (RouterOS value)",
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"encryption_password": {
|
|
28
|
+
"description": "Passphrase when encryption is set",
|
|
29
|
+
"type": "string"
|
|
30
|
+
},
|
|
19
31
|
"confirm": {
|
|
20
32
|
"type": "boolean",
|
|
21
|
-
"description": "Must be true to actually
|
|
33
|
+
"description": "Must be true to actually ERASE the disk"
|
|
22
34
|
}
|
|
23
35
|
},
|
|
24
|
-
"required": ["
|
|
36
|
+
"required": ["slot", "confirm"],
|
|
25
37
|
"additionalProperties": false
|
|
26
38
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "get_container",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"name": {
|
|
7
|
+
"description": "Container name (set via add_container)",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"tag": {
|
|
11
|
+
"description": "Image tag to match (e.g. 'pihole') if no name",
|
|
12
|
+
"type": "string"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"additionalProperties": false
|
|
16
|
+
}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
"title": "get_disk",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
6
|
-
"
|
|
6
|
+
"slot": {
|
|
7
7
|
"type": "string",
|
|
8
|
-
"description": "Disk
|
|
8
|
+
"description": "Disk slot, e.g. 'nvme1', 'usb1'"
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
|
-
"required": ["
|
|
11
|
+
"required": ["slot"],
|
|
12
12
|
"additionalProperties": false
|
|
13
13
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "list_container_envs",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"list_filter": {
|
|
7
|
+
"description": "Partial env-list (group) name match",
|
|
8
|
+
"type": "string"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"additionalProperties": false
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "list_container_mounts",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"name_filter": {
|
|
7
|
+
"description": "Partial mount name match",
|
|
8
|
+
"type": "string"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"additionalProperties": false
|
|
12
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "list_containers",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"name_filter": {
|
|
7
|
+
"description": "Partial container name match",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"tag_filter": {
|
|
11
|
+
"description": "Partial image tag match",
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"status_filter": {
|
|
15
|
+
"description": "e.g. 'running', 'stopped'",
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"detail": {
|
|
19
|
+
"default": false,
|
|
20
|
+
"description": "Show the full per-container property block",
|
|
21
|
+
"type": "boolean"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"required": ["detail"],
|
|
25
|
+
"additionalProperties": false
|
|
26
|
+
}
|
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"title": "list_disks",
|
|
4
4
|
"type": "object",
|
|
5
|
-
"properties": {
|
|
5
|
+
"properties": {
|
|
6
|
+
"slot_filter": {
|
|
7
|
+
"description": "Partial slot match, e.g. 'usb'",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"type_filter": {
|
|
11
|
+
"description": "Partial type match, e.g. 'raid', 'partition'",
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"interface_filter": {
|
|
15
|
+
"description": "Partial interface match, e.g. 'nvme', 'usb'",
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"detail": {
|
|
19
|
+
"default": false,
|
|
20
|
+
"description": "Show the full per-disk property block",
|
|
21
|
+
"type": "boolean"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"required": ["detail"],
|
|
6
25
|
"additionalProperties": false
|
|
7
26
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "remove_container",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"name": {
|
|
7
|
+
"description": "Container name (set via add_container)",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"tag": {
|
|
11
|
+
"description": "Image tag to match (e.g. 'pihole') if no name",
|
|
12
|
+
"type": "string"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"additionalProperties": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "remove_container_env",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"list": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "Env-list (group) name"
|
|
9
|
+
},
|
|
10
|
+
"key": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Variable name to remove"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"required": ["list", "key"],
|
|
16
|
+
"additionalProperties": false
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "remove_container_mount",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"name": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "Mount name to remove"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"required": ["name"],
|
|
12
|
+
"additionalProperties": false
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "remove_disk",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"slot": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "Virtual disk slot to remove"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"required": ["slot"],
|
|
12
|
+
"additionalProperties": false
|
|
13
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "set_container_config",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"registry_url": {
|
|
7
|
+
"description": "Image registry URL",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"tmpdir": {
|
|
11
|
+
"description": "Pull/extract temp dir, e.g. 'disk1/pull'",
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"layer_dir": {
|
|
15
|
+
"description": "Directory for extracted image layers",
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"ram_high": {
|
|
19
|
+
"description": "RAM-high limit, e.g. '256M'",
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"username": {
|
|
23
|
+
"description": "Registry username (private registries)",
|
|
24
|
+
"type": "string"
|
|
25
|
+
},
|
|
26
|
+
"password": {
|
|
27
|
+
"description": "Registry password (private registries)",
|
|
28
|
+
"type": "string"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"additionalProperties": false
|
|
32
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "set_disk",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"slot": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "Disk slot to modify"
|
|
9
|
+
},
|
|
10
|
+
"label": {
|
|
11
|
+
"description": "Volume / disk label",
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"comment": {
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"raid_master": {
|
|
18
|
+
"description": "Slot of the RAID disk to make this a member of",
|
|
19
|
+
"type": "string"
|
|
20
|
+
},
|
|
21
|
+
"parent": {
|
|
22
|
+
"description": "Parent disk slot to attach under",
|
|
23
|
+
"type": "string"
|
|
24
|
+
},
|
|
25
|
+
"disabled": {
|
|
26
|
+
"type": "boolean"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"required": ["slot"],
|
|
30
|
+
"additionalProperties": false
|
|
31
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "share_disk",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"slot": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "Disk slot to share"
|
|
9
|
+
},
|
|
10
|
+
"smb_sharing": {
|
|
11
|
+
"description": "Enable/disable SMB (CIFS) sharing",
|
|
12
|
+
"type": "boolean"
|
|
13
|
+
},
|
|
14
|
+
"smb_share_name": {
|
|
15
|
+
"description": "SMB share name shown to clients",
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"smb_users": {
|
|
19
|
+
"description": "Comma-separated SMB users allowed to access the share",
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"nfs_sharing": {
|
|
23
|
+
"description": "Enable/disable NFS sharing",
|
|
24
|
+
"type": "boolean"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"required": ["slot"],
|
|
28
|
+
"additionalProperties": false
|
|
29
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "start_container",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"name": {
|
|
7
|
+
"description": "Container name (set via add_container)",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"tag": {
|
|
11
|
+
"description": "Image tag to match (e.g. 'pihole') if no name",
|
|
12
|
+
"type": "string"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"additionalProperties": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "stop_container",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"name": {
|
|
7
|
+
"description": "Container name (set via add_container)",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"tag": {
|
|
11
|
+
"description": "Image tag to match (e.g. 'pihole') if no name",
|
|
12
|
+
"type": "string"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"additionalProperties": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "update_container",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"name": {
|
|
7
|
+
"description": "Container name (set via add_container)",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"tag": {
|
|
11
|
+
"description": "Image tag to match (e.g. 'pihole') if no name",
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"interface": {
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"root_dir": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
},
|
|
20
|
+
"env": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"envlists": {
|
|
24
|
+
"type": "string"
|
|
25
|
+
},
|
|
26
|
+
"mount": {
|
|
27
|
+
"type": "string"
|
|
28
|
+
},
|
|
29
|
+
"mountlists": {
|
|
30
|
+
"type": "string"
|
|
31
|
+
},
|
|
32
|
+
"cmd": {
|
|
33
|
+
"type": "string"
|
|
34
|
+
},
|
|
35
|
+
"entrypoint": {
|
|
36
|
+
"type": "string"
|
|
37
|
+
},
|
|
38
|
+
"workdir": {
|
|
39
|
+
"type": "string"
|
|
40
|
+
},
|
|
41
|
+
"hostname": {
|
|
42
|
+
"type": "string"
|
|
43
|
+
},
|
|
44
|
+
"dns": {
|
|
45
|
+
"type": "string"
|
|
46
|
+
},
|
|
47
|
+
"cpu_list": {
|
|
48
|
+
"type": "string"
|
|
49
|
+
},
|
|
50
|
+
"memory_high": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
},
|
|
53
|
+
"logging": {
|
|
54
|
+
"type": "boolean"
|
|
55
|
+
},
|
|
56
|
+
"start_on_boot": {
|
|
57
|
+
"type": "boolean"
|
|
58
|
+
},
|
|
59
|
+
"comment": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"additionalProperties": false
|
|
64
|
+
}
|
|
@@ -4,10 +4,12 @@
|
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
6
6
|
"filename": {
|
|
7
|
-
"type": "string"
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "Destination path on the device, e.g. 'config.rsc' or 'disk1/cert.pem'"
|
|
8
9
|
},
|
|
9
10
|
"content_base64": {
|
|
10
|
-
"type": "string"
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "File bytes, base64-encoded (binary-safe)"
|
|
11
13
|
}
|
|
12
14
|
},
|
|
13
15
|
"required": ["filename", "content_base64"],
|