Files
soft_quay/schemas/license.schema.json
T

61 lines
1.4 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://softbox.invalid/schemas/license.schema.json",
"title": "SoftBox License v1",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"license_id",
"machine_hash",
"products",
"issued_at",
"perpetual",
"update_policy",
"rebind_policy",
"signature"
],
"properties": {
"schema_version": {
"const": 1
},
"license_id": {
"type": "string",
"pattern": "^lic-[a-z0-9][a-z0-9-]{0,59}$"
},
"machine_hash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"products": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[a-z0-9-]+$"
}
},
"issued_at": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$",
"$comment": "Runtime validation is authoritative for calendar validity."
},
"perpetual": {
"type": "boolean"
},
"update_policy": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._:-]{0,127}$"
},
"rebind_policy": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._:-]{0,127}$"
},
"signature": {
"type": "string",
"pattern": "^[A-Za-z0-9+/]{86}==$"
}
}
}