{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "OptionalNode", "type": "object", "properties": { "arch": { "anyOf": [ { "$ref": "#/$defs/NodeArch" }, { "type": "null" } ] }, "install": { "$ref": "#/$defs/OptionalInstall", "default": { "auto": null, "disk": null, "serial": null } }, "kernelArgs": { "type": [ "array", "null" ], "items": { "type": "string" } }, "network": { "$ref": "#/$defs/OptionalNetwork" }, "ntp": { "type": [ "string", "null" ] }, "patches": { "$ref": "#/$defs/OptionalPatches", "writeOnly": true }, "type": { "anyOf": [ { "$ref": "#/$defs/NodeType" }, { "type": "null" } ] } }, "additionalProperties": false, "required": [ "network" ], "$defs": { "NodeArch": { "type": "string", "enum": [ "amd64" ] }, "NodeType": { "type": "string", "enum": [ "worker", "controlPlane" ] }, "OptionalInstall": { "type": "object", "properties": { "auto": { "type": [ "boolean", "null" ] }, "disk": { "type": [ "string", "null" ] }, "serial": { "type": [ "string", "null" ] } }, "additionalProperties": false }, "OptionalNetwork": { "type": "object", "properties": { "advertiseRoutes": { "type": [ "boolean", "null" ] }, "dns": { "type": [ "array", "null" ], "items": { "type": "string", "format": "ipv4" }, "maxItems": 2, "minItems": 2 }, "gateway": { "type": [ "string", "null" ], "format": "ipv4" }, "interface": { "type": [ "string", "null" ] }, "ip": { "type": [ "string", "null" ], "format": "ipv4" }, "netmask": { "type": [ "string", "null" ], "format": "ipv4" } }, "additionalProperties": false }, "OptionalPatches": { "type": "object", "properties": { "all": { "type": [ "array", "null" ], "items": { "type": "string" } }, "controlPlane": { "type": [ "array", "null" ], "items": { "type": "string" } } }, "additionalProperties": false } } }