{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "General", "type": "object", "properties": { "accounts_path": { "type": "string", "default": "accounts" }, "sites_path": { "type": "string", "default": "sites" }, "http_challenge_path": { "type": [ "string", "null" ], "default": null }, "dns": { "type": "object", "additionalProperties": { "$ref": "#/$defs/DnsBuilder" } }, "certificates_path": { "type": "string", "default": "certificates" }, "ca": { "type": "object", "additionalProperties": { "$ref": "#/$defs/CA" } } }, "additionalProperties": false, "$defs": { "DnsBuilder": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "const": "powerdns" }, "api_key": { "type": "string" }, "server": { "type": "string" }, "server_id": { "type": "string", "default": "localhost" } }, "additionalProperties": false, "required": [ "type", "api_key", "server" ] }, { "type": "object", "properties": { "type": { "type": "string", "const": "dnsupdate" } }, "additionalProperties": false, "required": [ "type" ] }, { "type": "object", "properties": { "type": { "type": "string", "const": "none" } }, "required": [ "type" ], "additionalProperties": false } ] }, "CA": { "type": "object", "properties": { "directory": { "description": "Url for the directory", "type": "string", "format": "uri" }, "email_addresses": { "description": "Email addresses for the CA to contact the user", "type": [ "array", "null" ], "items": { "type": "string", "format": "email" } }, "eab_token": { "type": "string" }, "eab_key": { "type": "string" }, "renew_before": { "description": "Amount of days the certificate is renewed before the Certificate is outdated\n TODO: give to processor", "type": "integer", "format": "uint32", "minimum": 1, "maximum": 90, "default": 7 }, "tos_accepted": { "type": "boolean", "default": false } }, "additionalProperties": false, "required": [ "directory" ] } } }