{ "$comment": "This file was automatically generated, do not modify it by hand. Instead, modify the source Typescript file, and run `pnpm types build:catalog-schemas`.", "$id": "catalog-proxy.resources.schema.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "description": "Data model of a Catalog proxy item resources", "properties": { "services": { "maxProperties": 1, "minProperties": 1, "patternProperties": { "^[a-z]([-a-z0-9]*[a-z0-9])?$": { "oneOf": [ { "additionalProperties": false, "properties": { "defaultHeaders": { "items": { "additionalProperties": false, "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array" }, "description": { "type": "string" }, "name": { "minLength": 1, "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$", "type": "string" }, "type": { "const": "external" }, "url": { "type": "string" } }, "required": [ "name", "type", "url" ], "type": "object" }, { "additionalProperties": false, "properties": { "description": { "type": "string" }, "host": { "type": "string", "pattern": "^([-a-z0-9]+)\\.([-_{}a-z0-9A-Z]+)\\.svc\\.cluster\\.local(:([1-9]\\d{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$" }, "name": { "minLength": 1, "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$", "type": "string" }, "type": { "const": "cross-projects" } }, "required": [ "name", "type", "host" ], "type": "object" } ] } }, "additionalProperties": false, "type": "object" }, "$schema": { "type": "string" } }, "required": [ "services" ], "title": "Catalog proxy item resources", "type": "object", "examples": [ { "services": { "external-proxy": { "name": "external-proxy", "type": "external", "url": "https://example.com" } } }, { "services": { "cross-project-proxy": { "name": "cross-project-proxy", "type": "cross-projects", "host": "project-a-host:80" } } } ] }