- roles/k3s_server_post/templates/metallb.crs.j2: render spec.interfaces in the
L2Advertisement when metal_lb_interfaces is a non-empty list, so MetalLB only
announces on the configured interfaces. Empty list (default) keeps announcing
on all interfaces, preserving existing behavior.
- roles/k3s_server_post/defaults/main.yml: add metal_lb_interfaces: [] default
- roles/k3s_server_post/meta/main.yml: add metal_lb_interfaces argument_spec
- inventory/sample/group_vars/all.yml: document the new sample variable
- .github/scripts/test-metallb-interfaces.py: regression test rendering the
template for empty/single/multiple interfaces and confirming the BGP path is
unaffected
- .pre-commit-config.yaml: wire the new test into pre-commit
Co-authored-by: Leo <leo@kuboschek.me>