--- apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: config data: config: | {% if metallb_peers | length > 0 %} peers: {% for peer in metallb_peers %} - peer-address: {{ peer.peer_address }} peer-asn: {{ peer.peer_asn }} my-asn: {{ peer.my_asn }} {% if peer.source_address is defined %} source-address: {{ peer.source_address }} {% endif %} {% if peer.node_selectors is defined %} node-selectors: {{ peer.node_selectors | to_yaml(indent=2, width=1337) | indent(8) }} {% endif %} {% endfor %} {% endif %} address-pools: - name: {{ metallb_pool_name }} protocol: {{ metallb_protocol }} addresses: {% for ip_range in metallb_ip_range %} - {{ ip_range }} {% endfor %} {% if matallb_auto_assign == false %} auto-assign: false {% endif %} {% if metallb_additional_address_pools is defined %}{% for pool in metallb_additional_address_pools %} - name: {{ pool }} protocol: {{ metallb_additional_address_pools[pool].protocol }} addresses: {% for ip_range in metallb_additional_address_pools[pool].ip_range %} - {{ ip_range }} {% endfor %} auto-assign: {{ metallb_additional_address_pools[pool].auto_assign }} {% endfor %} {% endif %}