{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://hub.example.com/schemas/common.schema.json", "title": "ITWorx catalog common definitions", "description": "Reusable JSON Schema definitions for catalog documents.", "type": "object", "additionalProperties": false, "$defs": { "slug": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "minLength": 2, "maxLength": 80 }, "metadata": { "type": "object", "additionalProperties": false, "required": [ "name", "slug" ], "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 120 }, "slug": { "$ref": "#/$defs/slug" }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, "maxProperties": 32 } } }, "riskClass": { "enum": [ "R0", "R1", "R2", "R3", "R4", "RX" ] }, "verification": { "enum": [ "verified", "unverified", "external-input-required", "fake-only" ] }, "environmentName": { "enum": [ "dev", "test", "staging", "prod" ] }, "uri": { "type": [ "string", "null" ], "maxLength": 2048 }, "patternList": { "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 200 }, "uniqueItems": true, "maxItems": 256 } } }