{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "SimpleConfig", "type": "object", "required": [ "apiVersion", "kind" ], "properties": { "apiVersion": { "type": "string", "enum": [ "k3d.io/v1alpha2" ] }, "kind": { "type": "string", "enum": [ "Simple" ] }, "name": { "description": "Name of the cluster (must be a valid hostname and will be prefixed with 'k3d-'). Example: 'mycluster'.", "type": "string", "format": "hostname" }, "servers": { "type": "number", "minimum": 1 }, "agents": { "type": "number", "minimum": 0 }, "kubeAPI": { "type": "object", "properties": { "host": { "type": "string", "format": "hostname" }, "hostIP": { "type": "string", "format": "ipv4" }, "hostPort": { "type":"string" } }, "additionalProperties": false }, "image": { "type": "string" }, "network": { "type": "string" }, "token": { "type": "string" }, "volumes": { "type": "array", "items": { "type": "object", "properties": { "volume": { "type": "string" }, "nodeFilters": { "$ref": "#/definitions/nodeFilters" } }, "additionalProperties": false } }, "ports": { "type": "array", "items": { "type": "object", "properties": { "port": { "type": "string" }, "nodeFilters": { "$ref": "#/definitions/nodeFilters" } }, "additionalProperties": false } }, "labels": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string" }, "nodeFilters": { "$ref": "#/definitions/nodeFilters" } }, "additionalProperties": false } }, "options": { "type": "object", "properties": { "k3d": { "type": "object", "properties": { "wait": { "type": "boolean", "default": true }, "timeout": { "type": "string" }, "disableLoadbalancer": { "type": "boolean", "default": false }, "disableImageVolume": { "type": "boolean", "default": false }, "disableRollback": { "type": "boolean", "default": false }, "disableHostIPInjection": { "type": "boolean", "default": false } }, "additionalProperties": false }, "k3s": { "type": "object", "properties": { "extraServerArgs": { "type": "array", "items": { "type": "string" } }, "extraAgentArgs": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "kubeconfig": { "type": "object", "properties": { "updateDefaultKubeconfig": { "type": "boolean", "default": true }, "switchCurrentContext": { "type": "boolean", "default": true } }, "additionalProperties": false }, "runtime": { "type": "object", "properties": { "gpuRequest": { "type": "string" } } } }, "additionalProperties": false }, "env": { "type": "array", "items": { "type": "object", "properties": { "envVar": { "type": "string" }, "nodeFilters": { "$ref": "#/definitions/nodeFilters" } }, "additionalProperties": false } }, "registries": { "type": "object" } }, "additionalProperties": false, "definitions": { "nodeFilters": { "type": "array", "items": { "type": "string" } } } }