{ "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "RedirectService": { "properties": { "code": { "type": "number" }, "path": { "type": "string" }, "to": { "type": "string" }, "type": { "enum": [ "redirect" ], "type": "string" } }, "type": "object" }, "ReverseProxyService": { "properties": { "path": { "type": "string" }, "type": { "enum": [ "reverse-proxy" ], "type": "string" }, "upstream": { "type": "string" } }, "type": "object" }, "StaticFileService": { "properties": { "no_strip_prefix": { "type": "boolean" }, "path": { "type": "string" }, "root": { "type": "string" }, "type": { "enum": [ "static-file" ], "type": "string" } }, "type": "object" }, "SubDomain": { "properties": { "name": { "type": "string" }, "services": { "items": { "anyOf": [ { "$ref": "#/definitions/RedirectService" }, { "$ref": "#/definitions/StaticFileService" }, { "$ref": "#/definitions/ReverseProxyService" } ] }, "type": "array" } }, "type": "object" } }, "properties": { "domains": { "items": { "$ref": "#/definitions/SubDomain" }, "type": "array" } }, "type": "object" }