---
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 }}
{% endfor %}
{% endif %}
    address-pools:
    - name: loadbalanced
      protocol: {{ metallb_protocol }}
      addresses:
{% for ip_range in metallb_ip_range %}
      - {{ ip_range }}
{% endfor %}
{% 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 %}
