add patterns to containers-schema

Signed-off-by: Simon L <szaimen@e.mail.de>
This commit is contained in:
Simon L 2023-04-27 18:00:08 +02:00
parent 1118ba6764
commit 18f6aff016

View file

@ -13,40 +13,49 @@
"required": ["image", "container_name"], "required": ["image", "container_name"],
"properties": { "properties": {
"image": { "image": {
"type": "string" "type": "string",
"minLength": 1
}, },
"expose": { "expose": {
"type": "array", "type": "array",
"items": { "items": {
"type": "string" "type": "string",
"pattern": "^([0-9]{1,5})$"
} }
}, },
"cap_add": { "cap_add": {
"type": "array", "type": "array",
"items": { "items": {
"type": "string" "type": "string",
"pattern": "^[A-Z_]+$"
} }
}, },
"depends_on": { "depends_on": {
"type": "array", "type": "array",
"items": { "items": {
"type": "string" "type": "string",
"pattern": "^nextcloud-aio-[a-z-]+$"
} }
}, },
"display_name": { "display_name": {
"type": "string" "type": "string",
"pattern": "^[A-Za-z ]+$"
}, },
"environment": { "environment": {
"type": "array", "type": "array",
"items": { "items": {
"type": "string" "type": "string",
"pattern": "^.*=.*$",
"minlength": 1
} }
}, },
"container_name": { "container_name": {
"type": "string" "type": "string",
"pattern": "^nextcloud-aio-[a-z-]+$"
}, },
"internal_port": { "internal_port": {
"type": "string" "type": "string",
"pattern": "^([0-9]{1,5})?(host)?(%[A-Z_]+%)?$"
}, },
"stop_grace_period": { "stop_grace_period": {
"type": "integer" "type": "integer"
@ -59,19 +68,25 @@
"minProperties": 3, "minProperties": 3,
"properties": { "properties": {
"ip_binding": { "ip_binding": {
"type": "string" "type": "string",
"pattern": "^(%[A-Z_]+%)?$"
}, },
"port_number": { "port_number": {
"type": "string" "type": "string",
"pattern": "^(%[A-Z_]+%)$"
}, },
"protocol": { "protocol": {
"type": "string" "type": "string",
"pattern": "^(tcp)?(udp)?$",
"minlength": 3,
"maxlength": 3
} }
} }
} }
}, },
"restart": { "restart": {
"type": "string" "type": "string",
"pattern": "^unless-stopped$"
}, },
"shm_size": { "shm_size": {
"type": "integer" "type": "integer"
@ -79,13 +94,15 @@
"secrets": { "secrets": {
"type": "array", "type": "array",
"items": { "items": {
"type": "string" "type": "string",
"pattern": "^[A-Z_]+$"
} }
}, },
"devices": { "devices": {
"type": "array", "type": "array",
"items": { "items": {
"type": "string" "type": "string",
"pattern": "^/dev/[a-z]+$"
} }
}, },
"volumes": { "volumes": {
@ -96,10 +113,14 @@
"minProperties": 3, "minProperties": 3,
"properties": { "properties": {
"destination": { "destination": {
"type": "string" "type": "string",
"pattern": "^(/[a-z_/.-]+)?(%[A-Z_]+%)?$",
"minlength": 2
}, },
"source": { "source": {
"type": "string" "type": "string",
"pattern": "^([a-z_]+)?(%[A-Z_]+%)?$",
"minlength": 2
}, },
"writeable": { "writeable": {
"type": "boolean" "type": "boolean"