{ "$schema": "http://json-schema.org/draft-06/schema#", "$ref": "#/definitions/ClusterConfig", "definitions": { "ClusterConfig": { "type": "object", "additionalProperties": {}, "properties": { "metadata": { "$ref": "#/definitions/Metadata" }, "spec": { "$ref": "#/definitions/Spec" }, "status": { "$ref": "#/definitions/Status" } }, "required": [ "spec" ], "title": "ClusterConfig" }, "Metadata": { "type": "object", "additionalProperties": false, "properties": { "name": { "$ref": "#/definitions/Name" } }, "required": [], "title": "Metadata" }, "Spec": { "type": "object", "additionalProperties": false, "properties": { "attributes": { "$ref": "#/definitions/Attributes" }, "caBundle": { "$ref": "#/definitions/CABundle" }, "expose": { "$ref": "#/definitions/Expose" }, "networking": { "$ref": "#/definitions/Networking" }, "policy": { "$ref": "#/definitions/Policy" } }, "required": [ "expose", "policy" ], "title": "Spec" }, "Attributes": { "type": "object", "additionalProperties": false, "properties": { "clusterName": { "type": "string", "description": "Friendly name to associate with your UDS cluster" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "Tags to apply to your UDS cluster" } }, "required": [], "title": "Attributes" }, "CABundle": { "type": "object", "additionalProperties": false, "properties": { "certs": { "type": "string", "description": "Contents of user provided CA bundle certificates" }, "includeDoDCerts": { "type": "boolean", "description": "Include DoD CA certificates in the bundle" }, "includePublicCerts": { "type": "boolean", "description": "Include public CA certificates in the bundle" } }, "required": [], "title": "CABundle" }, "Expose": { "type": "object", "additionalProperties": false, "properties": { "adminDomain": { "type": "string", "description": "Domain all cluster services on the admin gateway will be exposed on" }, "caCert": { "type": "string", "description": "The trusted CA that signed your domain certificates if using Private PKI" }, "domain": { "type": "string", "description": "Domain all cluster services will be exposed on" } }, "required": [ "domain" ], "title": "Expose" }, "Networking": { "type": "object", "additionalProperties": false, "properties": { "kubeApiCIDR": { "type": "string", "description": "CIDR range for your Kubernetes control plane nodes. This is a manual override that can be\nused instead of relying on Pepr to automatically watch and update the values" }, "kubeNodeCIDRs": { "type": "array", "items": { "type": "string" }, "description": "CIDR(s) for all Kubernetes nodes (not just control plane). Similar reason to above,annual\noverride instead of relying on watch" } }, "required": [], "title": "Networking" }, "Policy": { "type": "object", "additionalProperties": false, "properties": { "allowAllNsExemptions": { "type": "boolean", "description": "Allow UDS Exemption custom resources to live in any namespace (default false)" } }, "required": [ "allowAllNsExemptions" ], "title": "Policy" }, "Status": { "type": "object", "additionalProperties": false, "properties": { "observedGeneration": { "type": "integer" }, "phase": { "$ref": "#/definitions/Phase" } }, "required": [], "title": "Status" }, "Name": { "type": "string", "enum": [ "uds-cluster-config" ], "title": "Name" }, "Phase": { "type": "string", "enum": [ "Pending", "Ready", "Failed" ], "title": "Phase" } } }