17 lines
1.1 KiB
JSON
17 lines
1.1 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://sloanops.com/schemas/sites.schema.json",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["schemaVersion", "rootDomain", "repository", "sites"],
|
|
"properties": {
|
|
"schemaVersion": { "const": "1.0" },
|
|
"rootDomain": { "const": "3031023.xyz" },
|
|
"repository": { "const": "3031023-xyz" },
|
|
"sites": { "type": "object", "minProperties": 1, "additionalProperties": { "$ref": "#/$defs/site" } }
|
|
},
|
|
"$defs": {
|
|
"site": { "type": "object", "additionalProperties": false, "required": ["hostname", "workerName", "contactSiteKey", "status"], "properties": { "hostname": { "type": "string", "pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$" }, "alternateHostnames": { "type": "array", "items": { "type": "string" }, "maxItems": 4 }, "workerName": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]{0,62}$" }, "contactSiteKey": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]{0,62}$" }, "status": { "enum": ["preview", "approved", "production"] } } }
|
|
}
|
|
}
|