[k0s] version = "v1.34.3+k0s.0" private_ip_range = "10.1.0.0/24" # Node private IPv4 range in CIDR format. hostname = "cluster.local" # Kubernetes cluster network name. dual_stack = false # Enable v4/v6 dual-stack? ( No VXLAN must be BIRD ) wireguard = true # Disabled for dual-stack mode. [metallb] version = "v0.15.3" public_ip_range = "192.168.1.0/24" # Public IP range for external IPs in CIDR format. [haproxy] keepalived.id = "100" # KeepaliveD ID Number. keepalived.auth = "4PycOh7xM" # KeepaliveD Password. proxy.1 = { mac = "BC:24:6E:9E:EE:E0", ip = "10.1.0.8" } # HAProxy one IPv4 proxy.2 = { mac = "BC:24:6E:9E:EE:E0", ip = "10.1.0.9" } # HAProxy twi IPv4 proxy.kube.ip = "10.1.0.10" # VIP for kubernetes cluster API high-availability. [nodes] ssh.user = "root" # Controller and worker node login information. ssh.port = "22" ssh.key = "~/.ssh/id_rsa" network.private.interface = "eth0" # Cluster internal network interface name. network.private.gateway = "10.1.0.1" # Private network gateway network.private.netmask = "24" # Public network netmask/cidr network.public.interface = "eth1" # Cluster public network interface name. network.public.gateway = "192.168.1.1" # Public network gateway network.public.netmask = "24" # Public network netmask/cidr controller.1 = { mac = "BC:24:6E:9E:EE:E0", ip = "10.1.0.11" } # Controller nodes IPv4 addresses. controller.2 = { mac = "BC:24:FC:E1:CF:AB", ip = "10.1.0.13" } controller.3 = { mac = "BC:24:EE:D0:1F:06", ip = "10.1.0.15" } worker.1 = { mac = "BC:24:AC:76:96:DE", ip = "10.1.0.14" } # Worker nodes IPv4 addresses. ( 1-250 ) worker.2 = { mac = "BC:24:B0:CF:7C:DF", ip = "10.1.0.15" } worker.3 = { mac = "BC:24:BC:E9:4C:EF", ip = "10.1.0.16" } worker.4 = { mac = "BC:24:1C:E7:5C:DE", ip = "10.1.0.17" } worker.5 = { mac = "BC:24:FA:42:CF:AA", ip = "10.1.0.18" } [bastion] # Enable for secure networks that require a jumphost for ssh access. enable = false ssh.user = "example_user" ssh.port = "22" ssh.host = "ssh-1.homelab.local" ssh.key = "~/.ssh/id_rsa"