racme/schema-general.json
2025-06-15 08:54:07 +02:00

139 Zeilen
4,1 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "GeneralConfig",
"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"
]
}
}
}