{ "additionalProperties": false, "type": "object", "properties": { "server": { "additionalProperties": false, "type": "object", "properties": { "listen": { "additionalProperties": false, "type": "object", "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "maximum": 65535, "minimum": 0, "type": "integer" }, { "pattern": "^\\$\\{[^}]+\\}$", "type": "string" } ] } } }, "logging": { "additionalProperties": false, "type": "object", "properties": { "console": { "additionalProperties": false, "type": "object", "properties": { "level": { "anyOf": [ { "anyOf": [ { "const": "trace", "type": "string" }, { "const": "debug", "type": "string" }, { "const": "info", "type": "string" }, { "const": "warn", "type": "string" }, { "const": "error", "type": "string" }, { "const": "fatal", "type": "string" } ] }, { "pattern": "^\\$\\{[^}]+\\}$", "type": "string" } ] } } }, "file": { "additionalProperties": false, "type": "object", "properties": { "level": { "anyOf": [ { "anyOf": [ { "const": "trace", "type": "string" }, { "const": "debug", "type": "string" }, { "const": "info", "type": "string" }, { "const": "warn", "type": "string" }, { "const": "error", "type": "string" }, { "const": "fatal", "type": "string" } ] }, { "pattern": "^\\$\\{[^}]+\\}$", "type": "string" } ] }, "path": { "minLength": 1, "type": "string" }, "rotation": { "additionalProperties": false, "type": "object", "properties": { "frequency": { "anyOf": [ { "anyOf": [ { "const": "hourly", "type": "string" }, { "const": "daily", "type": "string" }, { "const": "weekly", "type": "string" } ] }, { "pattern": "^\\$\\{[^}]+\\}$", "type": "string" } ] }, "maxFiles": { "anyOf": [ { "minimum": 1, "type": "integer" }, { "pattern": "^\\$\\{[^}]+\\}$", "type": "string" } ] }, "size": { "anyOf": [ { "anyOf": [ { "type": "string" }, { "minimum": 0, "type": "integer" } ] }, { "pattern": "^\\$\\{[^}]+\\}$", "type": "string" } ] } } } } }, "level": { "anyOf": [ { "anyOf": [ { "const": "trace", "type": "string" }, { "const": "debug", "type": "string" }, { "const": "info", "type": "string" }, { "const": "warn", "type": "string" }, { "const": "error", "type": "string" }, { "const": "fatal", "type": "string" } ] }, { "pattern": "^\\$\\{[^}]+\\}$", "type": "string" } ] } } }, "storage": { "additionalProperties": false, "type": "object", "properties": { "dataDir": { "type": "string" } } } } }, "variables": { "type": "object", "patternProperties": { "^[a-zA-Z_][a-zA-Z0-9_]*$": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" } ] } } } }, "$id": "https://app.local/config.schema.json", "$schema": "http://json-schema.org/draft-07/schema#" }