--- - name: Basic Setup hosts: ele-hyperion roles: - role: apt-repo/base - role: core/base - role: core/sshd/base - role: core/zsh - role: core/ntp - role: core/cpu-microcode - name: Payload Setup hosts: ele-hyperion roles: - role: apt-repo/obs-studio - role: apt-repo/spreadspace - role: ws/base - role: core/admin-users - role: streaming/blackmagic/desktopvideo - role: streaming/blackmagic/mediaexpress post_tasks: ## TODO: move to network/netplan when this is done - name: install vlan interfaces loop: "{{ network.vlans | dict2items }}" loop_control: label: "{{ item.key }} ({{ item.value | join(',') }})" copy: dest: "/etc/netplan/20-{{ item.key }}.yaml" content: | network: vlans: {% for vlan in item.value %} {% set vlan_ifname = item.key + '.' + (vlan | string) %} {% set vlan_iface = (network.interfaces | selectattr('name', 'eq', vlan_ifname)) %} {{ vlan_ifname }}: id: {{ vlan }} link: {{ item.key }} {% if vlan_iface %} addresses: - {{ (vlan_iface | first).address }} {% endif %} {% endfor %}