{ "$schema": "http://json-schema.org/draft-07/schema", "type": "object", "properties": { "upgrade_plan": { "$ref": "definitions/common/utils.json#/definitions/NonEmptySetOfStrings", "description": "List of new versions through which to upgrade the cluster to the last specified version" }, "upgrade_nodes": { "type": "array", "description": "Manually specify certain nodes that need to be upgraded. Each item can be either a node name referring to the cluster.yaml, or full node specification.", "items": { "oneOf": [ {"$ref": "definitions/common/node_ref.json#/definitions/Name"}, { "type": "object", "allOf": [{"$ref": "definitions/node.json#/definitions/Properties"}], "required": ["name"], "propertyNames": { "$ref": "definitions/node.json#/definitions/PropertyNames" } } ] }, "minItems": 1, "uniqueItems": true }, "disable-eviction": {"$ref": "definitions/procedures.json#/definitions/DisableEviction"}, "prepull_group_size": {"$ref": "definitions/procedures.json#/definitions/PrepullGroupSize"}, "grace_period": {"$ref": "definitions/procedures.json#/definitions/GracePeriod"}, "drain_timeout": {"$ref": "definitions/procedures.json#/definitions/DrainTimeout"} }, "required": ["upgrade_plan"], "additionalProperties": { "type": "object", "description": "Configuration for the upgrade to the particular version from the 'upgrade_plan'", "properties": { "thirdparties": { "$ref": "definitions/services/thirdparties.json" }, "packages": { "type": "object", "description": "Section for packages and their management during upgrade", "allOf": [{"$ref": "definitions/services/packages.json#/definitions/CustomPackages"}], "properties": { "associations": { "type": "object", "description": "Configure associations of package objects to be used during upgrade", "properties": { "containerd": {"$ref": "definitions/services/packages/associations.json#/definitions/PackageNameOnlyAssociations"} }, "additionalProperties": false } }, "propertyNames": { "anyOf": [ {"$ref": "definitions/services/packages.json#/definitions/CustomPackagesPropertyNames"}, {"enum": ["associations"]} ] } }, "plugins": { "$ref": "definitions/plugins.json" }, "cri": { "type": "object", "description": "Configure container runtime used for Kubernetes", "properties": { "containerdConfig": { "$ref": "#/definitions/ContainerdConfig" } }, "additionalProperties": false } }, "additionalProperties": false }, "definitions": { "ContainerdConfig": { "type": "object", "description": "Parameters for containerd passed to config.toml", "properties": { "plugins.\"io.containerd.grpc.v1.cri\"": { "type": "object", "properties": { "sandbox_image": {"type": "string"} }, "additionalProperties": false } }, "additionalProperties": false } } }