# Cluster parameters controlPlaneNumber: 1 # @schema description: The number of control plane replicas (pods); type: integer; minimum: 1; maximum: 5 workersNumber: 1 # @schema description: The number of worker nodes; type: integer; minimum: 0 clusterIdentity: # @schema description: Cluster identity reference, auto-populated; type: object name: "" # @schema description: Cluster identity secret name, auto-populated; type: string # Cluster network configuration clusterNetwork: # @schema description: Cluster network configuration; type: object pods: # @schema description: Pod network configuration; type: object cidrBlocks: # @schema description: Pod CIDR blocks; type: array - 10.244.0.0/16 services: # @schema description: Service network configuration; type: object cidrBlocks: # @schema description: Service CIDR blocks; type: array - 10.96.0.0/12 # Control plane endpoint (optional override) controlPlaneEndpoint: # @schema description: Control plane endpoint configuration; type: object host: "" # @schema description: Optional fixed host (defaults to k0smotron.externalAddress); type: string # Worker machine configuration worker: # @schema description: Worker machine configuration; type: object bootMode: netboot # @schema description: Boot mode; type: string; enum: [netboot, isoboot] isoURL: "" # @schema description: ISO URL for isoboot mode; type: string hardwareAffinity: # @schema description: Hardware affinity for workers; type: object matchLabels: # @schema description: Labels to match; type: object tinkerbell.org/role: worker templateOverride: "" # @schema description: Tinkerbell workflow template override; type: string args: [] # @schema description: Arguments to pass to k0s worker; type: array # K0smotron hosted control plane parameters k0smotron: # @schema description: K0smotron hosted control plane parameters; type: object externalAddress: "" # @schema description: External address for NodePort/ClusterIP (management cluster node IP); type: string persistence: # @schema description: Persistence configuration for control plane; type: object type: emptyDir # @schema description: Persistence type (emptyDir, hostPath, pvc); type: string; enum: [emptyDir, hostPath, pvc] etcd: # @schema description: Etcd configuration; type: object persistence: # @schema description: Etcd persistence configuration; type: object storageClass: "" # @schema description: Storage class for etcd PVC (required for local storage); type: string size: 1Gi # @schema description: Size of etcd volume; type: string service: # @schema description: Service configuration for control plane; type: object type: NodePort # @schema description: Service type; type: string; enum: [LoadBalancer, NodePort, ClusterIP] apiPort: 30443 # @schema description: API port (use 30000-32767 for NodePort); type: integer konnectivityPort: 30132 # @schema description: Konnectivity port (use 30000-32767 for NodePort); type: integer annotations: {} # @schema description: Service annotations; type: object k0sConfig: true # @schema description: Enable custom k0s configuration; type: boolean # K0s parameters k0s: # @schema description: K0s parameters; type: object version: v1.33.4+k0s.0 # @schema description: K0s version; type: string api: # @schema description: Kubernetes API server parameters; type: object extraArgs: # @schema description: Extra arguments for API server; type: object kubelet-preferred-address-types: "ExternalIP,Hostname,InternalDNS,ExternalDNS" network: # @schema description: Network configuration for K0s; type: object provider: calico # @schema description: Network provider; type: string; enum: [calico, kuberouter, custom] calico: # @schema description: Calico configuration; type: object mode: vxlan # @schema description: Calico backend mode; type: string; enum: [vxlan, ipip, bird] ipAutodetectionMethod: first-found # @schema description: Method for detecting node IP; type: string telemetry: # @schema description: Telemetry configuration; type: object enabled: false # @schema description: Enable telemetry; type: boolean