61 lines
4.1 KiB
YAML
61 lines
4.1 KiB
YAML
# 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
|
|
- --enable-cloud-provider
|
|
|
|
# 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
|