Files
ansible-role-networking/tasks/main.yaml
Markus Pesch 0e0517165a
All checks were successful
Ansible Linter / ansible-lint (push) Successful in 15s
Lint Markdown files / markdown-lint (push) Successful in 4s
fix: replace deprecated INJECT_FACTS_AS_VARS
2026-01-05 10:35:11 +01:00

100 lines
2.9 KiB
YAML

---
- name: Include OS-specific variables
ansible.builtin.include_vars: "{{ lookup('first_found', params) }}"
vars:
params:
files:
- "{{ ansible_facts['distribution'] }}_{{ ansible_facts['architecture'] }}.yaml"
- "{{ ansible_facts['distribution'] }}.yaml"
- "{{ ansible_facts['os_family'] }}_{{ ansible_facts['architecture'] }}.yaml"
- "{{ ansible_facts['os_family'] }}.yaml"
- main.yaml
paths:
- vars
- name: "Remove existing systemd-networkd configuration"
ansible.builtin.file:
path: "/etc/systemd/network"
state: absent
- name: "Create systemd-networkd directory"
ansible.builtin.file:
path: "/etc/systemd/network"
owner: root
group: root
mode: "0755"
state: directory
- name: Create systemd.netdev files
block:
- name: Create systemd.netdev files
ansible.builtin.template:
src: systemd.netdev.j2
dest: "/etc/systemd/network/{{ item.filename }}"
owner: "{{ systemd_networkd_unix_user }}"
group: "{{ systemd_networkd_unix_user }}"
mode: "0644"
when:
item.netdev_options is defined and
(item.netdev_options | selectattr('key', 'equalto', 'Kind') | map(attribute='value') | first) != 'wireguard'
with_items: "{{ systemd_networkd_netdev }}"
- name: Create sensitive systemd.netdev files
ansible.builtin.template:
src: systemd.netdev.j2
dest: "/etc/systemd/network/{{ item.filename }}"
owner: "{{ systemd_networkd_unix_user }}"
group: "{{ systemd_networkd_unix_user }}"
mode: "0600"
when: item.netdev_options is defined and
(item.netdev_options | selectattr('key', 'equalto', 'Kind') | map(attribute='value') | first) == 'wireguard'
with_items: "{{ systemd_networkd_netdev }}"
no_log: true
notify: Restart networkd
- name: Create systemd.networkd files
ansible.builtin.template:
src: systemd.network.j2
dest: "/etc/systemd/network/{{ item.filename }}"
owner: "{{ systemd_networkd_unix_user }}"
group: "{{ systemd_networkd_unix_user }}"
mode: "0644"
with_items: "{{ systemd_networkd_network }}"
notify: Restart networkd
- name: Create symlink to use systemd-resolved's stub-listener
ansible.builtin.file:
src: /run/systemd/resolve/stub-resolv.conf
dest: /etc/resolv.conf
state: link
force: true
follow: false
owner: root
group: root
- name: Start and enable systemd-networkd
ansible.builtin.systemd:
name: systemd-networkd
state: started
enabled: true
daemon_reload: true
- name: Start and enable systemd-resolved
ansible.builtin.systemd:
name: systemd-resolved
state: started
enabled: true
daemon_reload: true
- name: Set system timezone
community.general.timezone:
name: "{{ systemd_timesyncd_timezone }}"
- name: Start and enable systemd-timesyncd
ansible.builtin.systemd:
name: systemd-timesyncd
state: started
enabled: true
daemon_reload: true