--- # Ansible-side knobs for roles/k3s_metallb — MetalLB, the LoadBalancer # implementation for the homelab-utils cluster. Installed via k3s's own # bundled helm-controller, same mechanism as roles/k3s_monitoring (see # tasks/main.yml) — no helm binary or extra Ansible collection needed on the # controller. # # MetalLB replaces k3s's bundled ServiceLB (Klipper), it doesn't sit # alongside it — both would otherwise try to satisfy the same LoadBalancer # Services and fight over IPs. That's why `k3s_extra_args` in # inventory/group_vars/k3s_cluster.yml carries `--disable=servicelb`. k3s_metallb_namespace: metallb-system k3s_metallb_chart_repo: https://metallb.github.io/metallb # Pinned, same reasoning as k3s_monitoring_chart_version — a rebuild months # from now should reproduce today's stack, not whatever's newest at the # time. Bump deliberately; check the current release first at # https://github.com/metallb/metallb/releases. k3s_metallb_chart_version: "0.14.9" # The pool of IPs MetalLB hands out to LoadBalancer-type Services, as a # "first-last" range or CIDR (e.g. "192.168.50.240-192.168.50.250"). Must be # addresses on the cluster's LAN that nothing else — DHCP, static # assignments, the hosts in inventory/hosts.yml — will ever claim: MetalLB # doesn't coordinate with your router, it just hands out whatever's in this # range. No default on purpose; set it in # inventory/group_vars/k3s_cluster.yml before the first run. tasks/main.yml # fails fast if it's still empty. k3s_metallb_address_range: ""