You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/roles/networking/templates/ubuntu_00-installer-config....

33 lines
907 B
Django/Jinja

{{ ansible_managed | comment }}
network:
ethernets:
{% for item in lookup('dict', interfaces, wantlist=True) %}
{% if item.value.type not in ['wireguard', ] %}
{{ item.key }}:
{% if item.value.type == 'dhcp' %}
dhcp4: true
{% elif item.value.type == 'static' %}
dhcp4: false
addresses:
- {{ item.value.ipv4 }}/{{ item.value.netmaskv4 }}
{% if 'gateway' in item.value %}
gateway4: {{ item.value.gateway }}
{% endif %}
nameservers:
addresses:
- 1.1.1.1
{# the nameservers are hardcoded for now #}
{% endif %}{# end (type == *) #}
{% if 'routes' in item.value %}{# routes #}
routes:
{% for route in item.value.routes %}
- to: {{ route.subnet }}/{{ route.netmask }}
via: {{ route.gateway }}
metric: 100
{% endfor %}
{% endif %}{# end routes #}
{% endif %}{# end (not in [wireguard, ]) #}
{% endfor %}
version: 2