app-store/apps/schema.json
2023-04-20 20:47:59 +02:00

136 lines
2.5 KiB
JSON

{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"$schema": {
"type": "string"
},
"name": {
"type": "string"
},
"available": {
"type": "boolean"
},
"exposable": {
"type": "boolean"
},
"no_gui": {
"type": "boolean"
},
"port": {
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"https": {
"type": "boolean"
},
"uid": {
"type": "integer"
},
"gid": {
"type": "integer"
},
"force_expose": {
"type": "boolean"
},
"generate_vapid_keys": {
"type": "boolean"
},
"requirements": {
"type": "object",
"properties": {
"ports": {
"type": "array",
"items": [
{
"type": "integer"
}
]
}
}
},
"supported_architectures": {
"type": "array",
"items": [
{
"type": "string"
}
]
},
"id": {
"type": "string",
"pattern": "^[a-z0-9-_]+$"
},
"tipi_version": {
"type": "integer"
},
"version": {
"type": "string"
},
"categories": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"description": {
"type": "string"
},
"short_desc": {
"type": "string"
},
"author": {
"type": "string"
},
"source": {
"type": "string",
"format": "uri"
},
"website": {
"type": "string",
"format": "uri"
},
"url_suffix": {
"type": "string",
"pattern": "^/[a-z0-9-_/]+$"
},
"form_fields": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"label": {
"type": "string"
},
"max": {
"type": "integer"
},
"min": {
"type": "integer"
},
"required": {
"type": "boolean"
},
"env_variable": {
"type": "string"
}
},
"required": ["type", "label", "env_variable"]
}
]
}
},
"required": ["name", "available", "port", "id", "tipi_version", "version", "categories", "description", "short_desc", "author", "source", "form_fields"]
}