{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://kubespray.io/internal/os_packages.schema.json", "title": "Os packages", "description": "Criteria for selecting packages to install on Kubernetes nodes during installation by Kubespray", "type": "object", "patternProperties": { ".*": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Escape hatch to filter packages. The value is expected to be pre-resolved to a boolean by Jinja", "type": "boolean", "default": true }, "groups": { "description": "Match if the host is in one of these groups. If not specified match any host.", "type": "array", "minItems": 1, "items":{ "type": "string", "pattern": "^[0-9A-Za-z_]*$" } }, "os": { "type": "object", "description": "If not specified match any OS. Otherwise, must match by 'families' or 'distributions' to be included.", "additionalProperties": false, "minProperties": 1, "properties": { "families": { "description": "Match if ansible_os_family is part of the list.", "type": "array", "minItems": 1, "items": { "type": "string" } }, "distributions": { "type": "object", "description": "Match if ansible_distribution match one of defined keys.", "minProperties": 1, "patternProperties": { ".*": { "description": "Match if either the value is the empty hash, or one major_versions/versions/releases contains the corresponding variable ('ansible_distrbution_*')", "type": "object", "additionalProperties": false, "properties": { "major_versions": { "type": "array", "minItems": 1, "items": { "type": "string" } }, "versions": { "type": "array", "minItems": 1, "items": { "type": "string" } }, "releases": { "type": "array", "minItems": 1, "items": { "type": "string" } } } } } } } } } } } }