--- - name: "Include OS-specific variables" ansible.builtin.include_vars: "{{ ansible_distribution | lower }}.yml" - name: "Include OS-specific tasks" ansible.builtin.include_tasks: "install-{{ ansible_os_family | lower }}.yml" - name: "Validate network_ipv4_* params" ansible.builtin.assert: that: - network_ipv4_address is defined - network_ipv4_gateway is defined fail_msg: "network_ipv4_address and network_ipv4_gateway are required together" when: network_ipv4_address is defined or network_ipv4_gateway is defined - name: "Validate network_ipv6_* params" ansible.builtin.assert: that: - network_ipv6_address is defined - network_ipv6_gateway is defined fail_msg: "network_ipv6_address and network_ipv6_gateway are required together" when: network_ipv6_address is defined or network_ipv6_gateway is defined - name: "Ensure network enabled services are enabled" become: true ansible.builtin.systemd_service: name: "{{ item }}" enabled: true state: "started" loop: "{{ network_enabled_services }}" when: not ansible_is_chroot - name: "(chroot): Ensure network enabled services are enabled" ansible.builtin.command: cmd: "systemctl enable {{ item }}" changed_when: true loop: "{{ network_enabled_services }}" when: ansible_is_chroot # noqa: command-instead-of-module module doesn't work inside chroot - name: "Ensure network disabled services are masked" become: true ansible.builtin.systemd_service: name: "{{ item }}" masked: true state: "stopped" loop: "{{ network_disabled_services }}" when: not ansible_is_chroot - name: "(chroot): Ensure network disabled services are masked" ansible.builtin.command: cmd: "systemctl mask {{ item }}" changed_when: true loop: "{{ network_disabled_services }}" when: ansible_is_chroot # noqa: command-instead-of-module module doesn't work inside chroot - name: "Configure NetworkManager" become: true notify: - "Reload systemd" - "Restart NetworkManager" - "Restart systemd-resolved" block: - name: "Configure systemd-resolved" ansible.builtin.template: src: "resolved.conf.j2" dest: "/etc/systemd/resolved.conf" mode: "0644" - name: "Configure NetworkManager" ansible.builtin.template: src: "NetworkManager.conf.j2" dest: "/etc/NetworkManager/NetworkManager.conf" mode: "0644" - name: "Configure NetworkManager Captive Portals" ansible.builtin.get_url: dest: "/etc/NetworkManager/dispatcher.d/90-open_captive_portal" # yamllint disable-line url: "https://raw.githubusercontent.com/Seme4eg/captive-portal-sh/04751034437b6abd92647cab1b22cef586c86f4e/90-open_captive_portal" checksum: "sha1:75f4c827939e7dd433357ab4776c787be02c485b" mode: "0750" - name: "Configure ethernet connection" ansible.builtin.template: src: "eth0-connection.nmconnection.j2" dest: "/etc/NetworkManager/system-connections/ethernet.nmconnection" mode: "0600" owner: "root" group: "root" - name: "Configure wifi connection" ansible.builtin.template: src: "wifi-connection.nmconnection.j2" dest: "/etc/NetworkManager/system-connections/{{ network_wifi_ssid }}.nmconnection" mode: "0600" owner: "root" group: "root" when: network_wifi_ssid != ""