summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-10-25 01:08:57 +0300
committerEgor Tensin <egor@tensin.name>2026-10-25 01:08:57 +0300
commit8e46c54ccf40a18606cec2f3909a7320f375e760 (patch)
tree2c79ede6ab4481664bfe17f59ca4d3e6a80c6a2e
parentv8.1.0 (diff)
downloadinfra-ansible-8e46c54ccf40a18606cec2f3909a7320f375e760.tar.gz
infra-ansible-8e46c54ccf40a18606cec2f3909a7320f375e760.zip
reorder fields & other linting
-rw-r--r--roles/apt/defaults/main.yml2
-rw-r--r--roles/apt/tasks/main.yml8
-rw-r--r--roles/apt/tasks/unattended_upgrades.yml4
-rw-r--r--roles/apt_install/tasks/main.yml2
-rw-r--r--roles/apt_repo/handlers/main.yml2
-rw-r--r--roles/apt_repo/tasks/main.yml6
-rw-r--r--roles/apt_repo/templates/repo.list.j24
-rw-r--r--roles/cloud_init_wait/tasks/main.yml4
-rw-r--r--roles/config_links/tasks/main.yml8
-rw-r--r--roles/cups/handlers/main.yml9
-rw-r--r--roles/cups/tasks/main.yml10
-rw-r--r--roles/digitalocean_volume/tasks/main.yml6
-rw-r--r--roles/docker/handlers/main.yml9
-rw-r--r--roles/docker/tasks/logging.yml4
-rw-r--r--roles/docker/tasks/main.yml12
-rw-r--r--roles/docker/tasks/prune.yml8
-rw-r--r--roles/etckeeper/handlers/main.yml4
-rw-r--r--roles/etckeeper/tasks/ignore.yml8
-rw-r--r--roles/etckeeper/tasks/ignore_line.yml2
-rw-r--r--roles/etckeeper/tasks/main.yml28
-rw-r--r--roles/file_wait/tasks/check.yml2
-rw-r--r--roles/file_wait/tasks/main.yml2
-rw-r--r--roles/firewall/handlers/main.yml2
-rw-r--r--roles/firewall/tasks/main.yml8
-rw-r--r--roles/journald/handlers/main.yml2
-rw-r--r--roles/journald/tasks/main.yml2
-rw-r--r--roles/letsencrypt/tasks/digitalocean.yml8
-rw-r--r--roles/letsencrypt/tasks/domain.yml8
-rw-r--r--roles/letsencrypt/tasks/main.yml2
-rw-r--r--roles/linux_status/handlers/main.yml11
-rw-r--r--roles/linux_status/tasks/arch.yml4
-rw-r--r--roles/linux_status/tasks/default.yml4
-rw-r--r--roles/linux_status/tasks/power_management.yml8
-rw-r--r--roles/my_dotfiles/tasks/main.yml2
-rw-r--r--roles/my_workspace/tasks/main.yml4
-rw-r--r--roles/my_workspace/tasks/project.yml16
-rw-r--r--roles/nfs/tasks/main.yml4
-rw-r--r--roles/pacman/tasks/main.yml8
-rw-r--r--roles/pacman_install/tasks/main.yml2
-rw-r--r--roles/ppa/tasks/main.yml8
-rw-r--r--roles/router/tasks/main.yml8
-rw-r--r--roles/samba/handlers/main.yml9
-rw-r--r--roles/samba/tasks/main.yml4
-rw-r--r--roles/sshd/tasks/main.yml8
-rw-r--r--roles/sudo/tasks/main.yml2
-rw-r--r--roles/systemd_depend_iface/handlers/main.yml2
-rw-r--r--roles/systemd_depend_iface/tasks/main.yml16
-rw-r--r--roles/systemd_depend_mount/handlers/main.yml2
-rw-r--r--roles/systemd_depend_mount/tasks/main.yml16
-rw-r--r--roles/wireguard/handlers/main.yml2
-rw-r--r--roles/wireguard/tasks/NetworkManager.yml24
-rw-r--r--roles/wireguard/tasks/main.yml4
-rw-r--r--roles/wireguard/tasks/wg-quick.yml26
-rw-r--r--roles/yay/tasks/main.yml2
54 files changed, 181 insertions, 191 deletions
diff --git a/roles/apt/defaults/main.yml b/roles/apt/defaults/main.yml
index 63fe41d..b36ed87 100644
--- a/roles/apt/defaults/main.yml
+++ b/roles/apt/defaults/main.yml
@@ -1,3 +1,3 @@
apt_unattended_upgrades: false
apt_unattended_reboot: true
-apt_unattended_reboot_time: "02:00"
+apt_unattended_reboot_time: '02:00'
diff --git a/roles/apt/tasks/main.yml b/roles/apt/tasks/main.yml
index 049c732..7a1e1dd 100644
--- a/roles/apt/tasks/main.yml
+++ b/roles/apt/tasks/main.yml
@@ -7,16 +7,16 @@
register: apt_result
- name: Show upgraded packages
+ when: apt_result is changed
ansible.builtin.debug:
var: apt_result.packages | sort
- when: apt_result is changed
- name: Reboot
+ when: apt_result is changed
become: true
ansible.builtin.reboot:
# 3 minutes is plenty.
reboot_timeout: 180
- when: apt_result is changed
- name: Clean up dependencies
become: true
@@ -27,10 +27,10 @@
register: apt_result
- name: Show removed dependencies
+ when: apt_result is changed
ansible.builtin.debug:
var: apt_result.packages | sort
- when: apt_result is changed
- name: Configure unattended-upgrades
- ansible.builtin.include_tasks: unattended_upgrades.yml
when: apt_unattended_upgrades
+ ansible.builtin.include_tasks: unattended_upgrades.yml
diff --git a/roles/apt/tasks/unattended_upgrades.yml b/roles/apt/tasks/unattended_upgrades.yml
index 7bcc124..cf305d4 100644
--- a/roles/apt/tasks/unattended_upgrades.yml
+++ b/roles/apt/tasks/unattended_upgrades.yml
@@ -11,7 +11,7 @@
dest: /etc/apt/apt.conf.d/50unattended-upgrades
owner: root
group: root
- mode: '644'
+ mode: '0644'
# https://wiki.debian.org/UnattendedUpgrades says that 20auto-upgrades and
# 02periodic are _alternatives_ (and, presumably, not mechanisms that can be
@@ -29,4 +29,4 @@
dest: /etc/apt/apt.conf.d/02periodic
owner: root
group: root
- mode: '644'
+ mode: '0644'
diff --git a/roles/apt_install/tasks/main.yml b/roles/apt_install/tasks/main.yml
index 2d0b9d9..71abdd8 100644
--- a/roles/apt_install/tasks/main.yml
+++ b/roles/apt_install/tasks/main.yml
@@ -7,6 +7,6 @@
register: apt_install_result
- name: Show installed packages
+ when: apt_install_result is changed
ansible.builtin.debug:
var: apt_install_result.packages | sort
- when: apt_install_result is changed
diff --git a/roles/apt_repo/handlers/main.yml b/roles/apt_repo/handlers/main.yml
index 384682b..15ee5b9 100644
--- a/roles/apt_repo/handlers/main.yml
+++ b/roles/apt_repo/handlers/main.yml
@@ -1,5 +1,5 @@
- name: Refresh apt repositories
+ listen: apt_repo_update
become: true
ansible.builtin.apt:
update_cache: true
- listen: apt_repo_update
diff --git a/roles/apt_repo/tasks/main.yml b/roles/apt_repo/tasks/main.yml
index 8cee575..dd8215f 100644
--- a/roles/apt_repo/tasks/main.yml
+++ b/roles/apt_repo/tasks/main.yml
@@ -11,7 +11,7 @@
state: directory
owner: root
group: root
- mode: '755'
+ mode: '0755'
- name: 'Add key: {{ apt_repo_name }}'
become: true
@@ -20,7 +20,7 @@
dest: '{{ apt_repo_key_path }}'
owner: root
group: root
- mode: '644'
+ mode: '0644'
notify: apt_repo_update
- name: Get host distro
@@ -39,7 +39,7 @@
dest: '/etc/apt/sources.list.d/{{ apt_repo_name }}.list'
owner: root
group: root
- mode: '644'
+ mode: '0644'
notify: apt_repo_update
- name: Refresh apt repositories if necessary
diff --git a/roles/apt_repo/templates/repo.list.j2 b/roles/apt_repo/templates/repo.list.j2
index a495ecd..0f93d76 100644
--- a/roles/apt_repo/templates/repo.list.j2
+++ b/roles/apt_repo/templates/repo.list.j2
@@ -1,3 +1,5 @@
{{ ansible_managed | comment }}
-deb [signed-by={{ apt_repo_key_path }}] {{ apt_repo_url }}{{ apt_repo_append_distro | ternary(ansible_facts["distribution"] | lower, "") }} {{ apt_repo_codename | default(ansible_facts["distribution_release"]) }} {{ apt_repo_component }}
+{% set distro = apt_repo_append_distro | ternary(ansible_facts['distribution'] | lower, '') %}
+{% set codename = apt_repo_codename | default(ansible_facts["distribution_release"]) %}
+deb [signed-by={{ apt_repo_key_path }}] {{ apt_repo_url }}{{ distro }} {{ codename }} {{ apt_repo_component }}
diff --git a/roles/cloud_init_wait/tasks/main.yml b/roles/cloud_init_wait/tasks/main.yml
index d9ad4a0..5c7f8d2 100644
--- a/roles/cloud_init_wait/tasks/main.yml
+++ b/roles/cloud_init_wait/tasks/main.yml
@@ -1,6 +1,6 @@
- name: 'Wait for {{ cloud_init_wait_path }}'
- ansible.builtin.include_role:
- name: file_wait
vars:
file_wait_path: '{{ cloud_init_wait_path }}'
file_wait_seconds: '{{ cloud_init_wait_seconds }}'
+ ansible.builtin.include_role:
+ name: file_wait
diff --git a/roles/config_links/tasks/main.yml b/roles/config_links/tasks/main.yml
index 2ad4b0d..c014040 100644
--- a/roles/config_links/tasks/main.yml
+++ b/roles/config_links/tasks/main.yml
@@ -1,9 +1,9 @@
- name: Fail if invalid action
+ when: |
+ config_links_action not in ['update', 'remove']
ansible.builtin.fail:
msg: |
Action parameter must be either 'update' or 'remove'
- when: |
- config_links_action not in ['update', 'remove']
- name: Create temporary directory
ansible.builtin.tempfile:
@@ -22,18 +22,18 @@
accept_hostkey: true
- name: Run links-update
+ when: config_links_action == 'update'
ansible.builtin.command:
cmd: '{{ config_links_repo.path }}/links-update'
chdir: '{{ config_links_path }}'
changed_when: true
- when: config_links_action == 'update'
- name: Run links-remove
+ when: config_links_action == 'remove'
ansible.builtin.command:
cmd: '{{ config_links_repo.path }}/links-remove'
chdir: '{{ config_links_path }}'
changed_when: true
- when: config_links_action == 'remove'
always:
- name: Clean up
diff --git a/roles/cups/handlers/main.yml b/roles/cups/handlers/main.yml
index ca35bae..6e6b246 100644
--- a/roles/cups/handlers/main.yml
+++ b/roles/cups/handlers/main.yml
@@ -1,13 +1,14 @@
# Don't restart if it's not running.
- name: Collect service facts
- ansible.builtin.service_facts:
listen: cups_restart
+ ansible.builtin.service_facts:
- name: Restart CUPS if necessary
- become: true
+ listen: cups_restart
when: |
- 'cups.service' in ansible_facts.services and ansible_facts.services['cups.service'].state == 'running'
+ 'cups.service' in ansible_facts.services
+ and ansible_facts.services['cups.service'].state == 'running'
+ become: true
ansible.builtin.systemd_service:
name: cups
state: restarted
- listen: cups_restart
diff --git a/roles/cups/tasks/main.yml b/roles/cups/tasks/main.yml
index f513fe6..0c9281b 100644
--- a/roles/cups/tasks/main.yml
+++ b/roles/cups/tasks/main.yml
@@ -51,21 +51,21 @@
dest: /etc/papersize
owner: root
group: root
- mode: '644'
+ mode: '0644'
notify: cups_restart
- name: Configure logging to journald
become: true
+ loop:
+ - AccessLog
+ - ErrorLog
+ - PageLog
ansible.builtin.lineinfile:
path: /etc/cups/cups-files.conf
create: false
search_string: '{{ item }}'
line: '{{ item }} syslog'
notify: cups_restart
- loop:
- - AccessLog
- - ErrorLog
- - PageLog
- name: Run handlers if neccessary
ansible.builtin.meta: flush_handlers
diff --git a/roles/digitalocean_volume/tasks/main.yml b/roles/digitalocean_volume/tasks/main.yml
index c3ef5b6..add784f 100644
--- a/roles/digitalocean_volume/tasks/main.yml
+++ b/roles/digitalocean_volume/tasks/main.yml
@@ -1,15 +1,15 @@
- name: 'Mount volume: {{ digitalocean_volume_name }}'
become: true
ansible.posix.mount:
- path: "{{ digitalocean_volume_dir }}"
+ path: '{{ digitalocean_volume_dir }}'
src: '/dev/disk/by-id/scsi-0DO_Volume_{{ digitalocean_volume_name }}'
state: mounted
fstype: '{{ digitalocean_volume_fs }}'
opts: defaults,nofail,discard
- name: Set up service dependencies
- ansible.builtin.include_role:
- name: systemd_depend_mount
vars:
systemd_depend_mount_dir: '{{ digitalocean_volume_dir }}'
systemd_depend_mount_services: '{{ digitalocean_volume_dependent_services }}'
+ ansible.builtin.include_role:
+ name: systemd_depend_mount
diff --git a/roles/docker/handlers/main.yml b/roles/docker/handlers/main.yml
index df1b1a1..cee8a9a 100644
--- a/roles/docker/handlers/main.yml
+++ b/roles/docker/handlers/main.yml
@@ -1,13 +1,14 @@
# Don't restart if it's not running.
- name: Collect service facts
- ansible.builtin.service_facts:
listen: docker_configured
+ ansible.builtin.service_facts:
- name: Restart Docker service
- become: true
+ listen: docker_configured
when: |
- 'docker.service' in ansible_facts.services and ansible_facts.services['docker.service'].state == 'running'
+ 'docker.service' in ansible_facts.services
+ and ansible_facts.services['docker.service'].state == 'running'
+ become: true
ansible.builtin.systemd_service:
name: docker
state: restarted
- listen: docker_configured
diff --git a/roles/docker/tasks/logging.yml b/roles/docker/tasks/logging.yml
index 52b70c9..d701424 100644
--- a/roles/docker/tasks/logging.yml
+++ b/roles/docker/tasks/logging.yml
@@ -14,7 +14,7 @@
state: directory
owner: root
group: root
- mode: '755'
+ mode: '0755'
- name: Write daemon.json
ansible.builtin.copy:
@@ -22,7 +22,7 @@
content: '{{ docker_daemon_json.content | combine({"log-driver": docker_logging_driver}) | to_nice_json }}'
owner: root
group: root
- mode: '644'
+ mode: '0644'
notify: docker_configured
- name: Restart Docker service if necessary
diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml
index 6e21a2c..9d0eeb6 100644
--- a/roles/docker/tasks/main.yml
+++ b/roles/docker/tasks/main.yml
@@ -5,13 +5,13 @@
- distribution_release
- name: Set platform-specific variables
- ansible.builtin.include_vars: "{{ __docker_vars_file }}"
loop:
- "{{ ansible_facts['distribution'] }}.yml"
- "{{ ansible_facts['distribution'] }}_{{ ansible_facts['distribution_release'] }}.yml"
vars:
- __docker_vars_file: "{{ role_path }}/vars/{{ item }}"
+ __docker_vars_file: '{{ role_path }}/vars/{{ item }}'
when: __docker_vars_file is exists
+ ansible.builtin.include_vars: '{{ __docker_vars_file }}'
- name: Configure Docker logging driver
when: docker_logging_driver is defined and docker_logging_driver != false
@@ -20,7 +20,7 @@
- name: Install Docker
become: true
ansible.builtin.package:
- name: "{{ docker_package_names }}"
+ name: '{{ docker_package_names }}'
state: present
# The docker system prune call should be before configuring the service and
@@ -32,19 +32,19 @@
become: true
ansible.builtin.systemd_service:
name: docker.service
- enabled: "{{ docker_enable_service }}"
+ enabled: '{{ docker_enable_service }}'
state: "{{ docker_enable_service | ternary('started', 'stopped') }}"
- name: Configure Docker socket
become: true
ansible.builtin.systemd_service:
name: docker.socket
- enabled: "{{ docker_enable_socket }}"
+ enabled: '{{ docker_enable_socket }}'
state: "{{ docker_enable_socket | ternary('started', 'stopped') }}"
- name: Add user to Docker group
- become: true
when: docker_add_to_group
+ become: true
ansible.builtin.user:
append: true
groups: docker
diff --git a/roles/docker/tasks/prune.yml b/roles/docker/tasks/prune.yml
index e6f1f5d..614813c 100644
--- a/roles/docker/tasks/prune.yml
+++ b/roles/docker/tasks/prune.yml
@@ -3,25 +3,25 @@
unitname:
- docker.service
- docker.socket
- register: docker_systemd_info
failed_when:
docker_systemd_info.msg is defined
- and "No units match any of the provided patterns" not in docker_systemd_info.msg
+ and 'No units match any of the provided patterns' not in docker_systemd_info.msg
# ^^^ On fresh installations, systemctl list-units (which is what systemd_info
# does, it doesn't show the Docker units at all, don't exactly understand why.
+ register: docker_systemd_info
- name: Clean up docker data
- become: true
when: |
docker_systemd_info.units is defined
and (docker_systemd_info.units['docker.service'].substate == 'running'
or docker_systemd_info.units['docker.socket'].substate == 'listening'
or docker_systemd_info.units['docker.socket'].substate == 'running')
+ become: true
block:
# Dependencies of the community.docker.docker_prune Ansible module:
- name: Install module dependencies
ansible.builtin.package:
- name: "{{ docker_prune_module_deps }}"
+ name: '{{ docker_prune_module_deps }}'
state: present
- name: Run docker system prune
diff --git a/roles/etckeeper/handlers/main.yml b/roles/etckeeper/handlers/main.yml
index c67dc02..02ae2fe 100644
--- a/roles/etckeeper/handlers/main.yml
+++ b/roles/etckeeper/handlers/main.yml
@@ -1,10 +1,10 @@
- name: Commit etckeeper.conf
+ listen: etckeeper_commit_conf
tensin.infra.etckeeper_commit:
msg: configure etckeeper
allowlist: [etckeeper/etckeeper.conf]
- listen: etckeeper_commit_conf
- name: Commit .gitignore
+ listen: etckeeper_commit_gitignore
tensin.infra.etckeeper_commit:
msg: configure ignored files
- listen: etckeeper_commit_gitignore
diff --git a/roles/etckeeper/tasks/ignore.yml b/roles/etckeeper/tasks/ignore.yml
index 73c5aa1..f5446c0 100644
--- a/roles/etckeeper/tasks/ignore.yml
+++ b/roles/etckeeper/tasks/ignore.yml
@@ -4,22 +4,22 @@
ansible.builtin.command:
cmd: git status --porcelain
chdir: /etc
- register: etckeeper_git_status
changed_when: false
+ register: etckeeper_git_status
- name: Fail if there're modifications
+ when: |
+ etckeeper_git_status.stdout_lines | length > 0
ansible.builtin.fail:
msg: |
Unexpected modifications found:
{{ etckeeper_git_status.stdout }}
- when: |
- etckeeper_git_status.stdout_lines | length > 0
- name: Configure ignored path
- ansible.builtin.include_tasks: ignore_line.yml
loop: '{{ etckeeper_ignored_paths }}'
loop_control:
loop_var: ignore_path
+ ansible.builtin.include_tasks: ignore_line.yml
- name: Commit .gitignore if necessary
ansible.builtin.meta: flush_handlers
diff --git a/roles/etckeeper/tasks/ignore_line.yml b/roles/etckeeper/tasks/ignore_line.yml
index ceb6a30..06e38b4 100644
--- a/roles/etckeeper/tasks/ignore_line.yml
+++ b/roles/etckeeper/tasks/ignore_line.yml
@@ -6,7 +6,7 @@
state: present
owner: root
group: root
- mode: '644'
+ mode: '0644'
notify: etckeeper_commit_gitignore
- name: Remove path from cache
diff --git a/roles/etckeeper/tasks/main.yml b/roles/etckeeper/tasks/main.yml
index b3d46f4..96be796 100644
--- a/roles/etckeeper/tasks/main.yml
+++ b/roles/etckeeper/tasks/main.yml
@@ -11,17 +11,17 @@
creates: /etc/.git/config
- name: Configure /etc repository
+ loop:
+ - name: user.name
+ value: '{{ etckeeper_git_name }}'
+ - name: user.email
+ value: '{{ etckeeper_git_email }}'
become: true
community.general.git_config:
scope: local
repo: /etc
name: '{{ item.name }}'
value: '{{ item.value }}'
- loop:
- - name: user.name
- value: '{{ etckeeper_git_name }}'
- - name: user.email
- value: '{{ etckeeper_git_email }}'
- name: Initial commit
become: true
@@ -30,6 +30,11 @@
creates: /etc/.git/index
- name: Configure etckeeper
+ loop:
+ - name: AVOID_DAILY_AUTOCOMMITS
+ value: '1'
+ - name: AVOID_COMMIT_BEFORE_INSTALL
+ value: '1'
become: true
community.general.ini_file:
path: /etc/etckeeper/etckeeper.conf
@@ -37,15 +42,10 @@
no_extra_spaces: true
owner: root
group: root
- mode: '644'
+ mode: '0644'
section: null
option: '{{ item.name }}'
value: '{{ item.value }}'
- loop:
- - name: AVOID_DAILY_AUTOCOMMITS
- value: '1'
- - name: AVOID_COMMIT_BEFORE_INSTALL
- value: '1'
notify: etckeeper_commit_conf
- name: Configure repository remote
@@ -55,7 +55,7 @@
- name: Read current remote URL
# noqa: command-instead-of-module
ansible.builtin.command:
- cmd: git config --local remote.{{ etckeeper_remote_name | quote }}.url
+ cmd: 'git config --local remote.{{ etckeeper_remote_name | quote }}.url'
chdir: /etc
changed_when: false
failed_when: false
@@ -63,13 +63,13 @@
- name: Fix remote URL if necessary
# noqa: command-instead-of-module
+ when: etckeeper_config_result.stdout != etckeeper_remote_url
ansible.builtin.shell:
cmd: |
git remote remove {{ etckeeper_remote_name | quote }} && \
git remote add -f {{ etckeeper_remote_name | quote }} {{ etckeeper_remote_url | quote }}
chdir: /etc
changed_when: true
- when: etckeeper_config_result.stdout != etckeeper_remote_url
- name: Configure pushes for etckeeper
community.general.ini_file:
@@ -77,7 +77,7 @@
no_extra_spaces: true
owner: root
group: root
- mode: '644'
+ mode: '0644'
section: null
option: PUSH_REMOTE
value: '{{ etckeeper_remote_name }}'
diff --git a/roles/file_wait/tasks/check.yml b/roles/file_wait/tasks/check.yml
index 47122b7..1ddd5c2 100644
--- a/roles/file_wait/tasks/check.yml
+++ b/roles/file_wait/tasks/check.yml
@@ -26,4 +26,4 @@
- name: Retry if there're more reboots
ansible.builtin.include_tasks: check.yml
- when: (file_wait_reboots_left | int >= 0)
+ when: file_wait_reboots_left | int >= 0
diff --git a/roles/file_wait/tasks/main.yml b/roles/file_wait/tasks/main.yml
index 169f834..8d73140 100644
--- a/roles/file_wait/tasks/main.yml
+++ b/roles/file_wait/tasks/main.yml
@@ -6,6 +6,6 @@
ansible.builtin.include_tasks: check.yml
- name: Fail unless file exists
+ when: file_wait_check is not defined or file_wait_check is not succeeded or file_wait_check is unreachable
ansible.builtin.fail:
msg: 'File is missing: {{ file_wait_path }}'
- when: file_wait_check is not defined or file_wait_check is not succeeded or file_wait_check is unreachable
diff --git a/roles/firewall/handlers/main.yml b/roles/firewall/handlers/main.yml
index 0a0fcad..4027f45 100644
--- a/roles/firewall/handlers/main.yml
+++ b/roles/firewall/handlers/main.yml
@@ -1,6 +1,6 @@
- name: Reboot
+ listen: firewall_reboot
become: true
ansible.builtin.reboot:
# 3 minutes is plenty.
reboot_timeout: 180
- listen: firewall_reboot
diff --git a/roles/firewall/tasks/main.yml b/roles/firewall/tasks/main.yml
index c3fa6ab..d064cc5 100644
--- a/roles/firewall/tasks/main.yml
+++ b/roles/firewall/tasks/main.yml
@@ -5,18 +5,18 @@
state: present
- name: Configure rule files
+ loop:
+ - {src: rules.v4.j2, dest: /etc/iptables/rules.v4, tool: iptables}
+ - {src: rules.v6.j2, dest: /etc/iptables/rules.v6, tool: ip6tables}
become: true
ansible.builtin.template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
owner: root
group: root
- mode: '640'
+ mode: '0640'
validate: '/usr/sbin/{{ item.tool }}-restore --test %s'
notify: firewall_reboot
- loop:
- - {src: rules.v4.j2, dest: /etc/iptables/rules.v4, tool: iptables}
- - {src: rules.v6.j2, dest: /etc/iptables/rules.v6, tool: ip6tables}
- name: Reboot if necessary
ansible.builtin.meta: flush_handlers
diff --git a/roles/journald/handlers/main.yml b/roles/journald/handlers/main.yml
index 623d9ff..27977bb 100644
--- a/roles/journald/handlers/main.yml
+++ b/roles/journald/handlers/main.yml
@@ -1,6 +1,6 @@
- name: Restart systemd-journald
+ listen: journald_restart
become: true
ansible.builtin.systemd_service:
name: systemd-journald
state: restarted
- listen: journald_restart
diff --git a/roles/journald/tasks/main.yml b/roles/journald/tasks/main.yml
index 38113a5..65ceedb 100644
--- a/roles/journald/tasks/main.yml
+++ b/roles/journald/tasks/main.yml
@@ -7,7 +7,7 @@
value: '{{ journald_log_level }}'
owner: root
group: root
- mode: '644'
+ mode: '0644'
notify: journald_restart
- name: Restart systemd-journald if necessary
diff --git a/roles/letsencrypt/tasks/digitalocean.yml b/roles/letsencrypt/tasks/digitalocean.yml
index 30a7a9c..032774f 100644
--- a/roles/letsencrypt/tasks/digitalocean.yml
+++ b/roles/letsencrypt/tasks/digitalocean.yml
@@ -2,22 +2,22 @@
become: true
block:
- name: Prompt for token
+ when: |
+ lookup('env', 'DIGITALOCEAN_TOKEN') | length <= 0
ansible.builtin.pause:
prompt: |
Enter your API token:
echo: false
register: letsencrypt_do_token
- when:
- - lookup('env', 'DIGITALOCEAN_TOKEN') | length <= 0
- name: Set token as fact
ansible.builtin.set_fact:
letsencrypt_do_token: "{{ letsencrypt_do_token.user_input | default(lookup('env', 'DIGITALOCEAN_TOKEN')) }}"
- name: Fail if token is invalid
+ when: letsencrypt_do_token | length == 0
ansible.builtin.fail:
msg: 'DigitalOcean token is invalid'
- when: letsencrypt_do_token | length == 0
- name: Configure certbot.ini
ansible.builtin.template:
@@ -25,4 +25,4 @@
dest: '{{ letsencrypt_credentials_ini }}'
owner: root
group: root
- mode: '600'
+ mode: '0600'
diff --git a/roles/letsencrypt/tasks/domain.yml b/roles/letsencrypt/tasks/domain.yml
index 9a9418f..ce31428 100644
--- a/roles/letsencrypt/tasks/domain.yml
+++ b/roles/letsencrypt/tasks/domain.yml
@@ -1,8 +1,8 @@
- name: Set up certificate for domain
- become: true
vars:
certificate_name: '{{ domain.name | default(domain) }}'
- certificate_domains: "{{ domain.domains | default([certificate_name]) | unique }}"
+ certificate_domains: '{{ domain.domains | default([certificate_name]) | unique }}'
+ become: true
block:
- name: Cache domain list
ansible.builtin.template:
@@ -10,10 +10,11 @@
dest: '/etc/letsencrypt/.domains_{{ certificate_name }}.txt'
owner: root
group: root
- mode: '640'
+ mode: '0640'
register: letsencrypt_domain_list
- name: 'Create certificate: {{ certificate_name }}'
+ when: letsencrypt_domain_list is changed
ansible.builtin.command: |
certbot certonly --noninteractive --agree-tos \
--cert-name {{ certificate_name | quote }} \
@@ -24,4 +25,3 @@
--dns-digitalocean-credentials {{ letsencrypt_credentials_ini | quote }} \
--dns-digitalocean-propagation-seconds 30
changed_when: true
- when: letsencrypt_domain_list.changed
diff --git a/roles/letsencrypt/tasks/main.yml b/roles/letsencrypt/tasks/main.yml
index 4f12c93..d41e89f 100644
--- a/roles/letsencrypt/tasks/main.yml
+++ b/roles/letsencrypt/tasks/main.yml
@@ -11,7 +11,7 @@
creates: /etc/letsencrypt
- name: Update certificates
- ansible.builtin.include_tasks: domain.yml
loop: '{{ letsencrypt_domains }}'
loop_control:
loop_var: domain
+ ansible.builtin.include_tasks: domain.yml
diff --git a/roles/linux_status/handlers/main.yml b/roles/linux_status/handlers/main.yml
index 32448f8..4230ec5 100644
--- a/roles/linux_status/handlers/main.yml
+++ b/roles/linux_status/handlers/main.yml
@@ -1,19 +1,20 @@
# Don't restart if it's not running.
- name: Collect service facts
- ansible.builtin.service_facts:
listen: linux_status_configured
+ ansible.builtin.service_facts:
- name: Reload systemd daemon
+ listen: linux_status_configured
become: true
ansible.builtin.systemd_service:
daemon_reload: true
- listen: linux_status_configured
- name: Restart linux-status service
- become: true
+ listen: linux_status_configured
when: |
- 'linux-status.service' in ansible_facts.services and ansible_facts.services['linux-status.service'].state == 'running'
+ 'linux-status.service' in ansible_facts.services
+ and ansible_facts.services['linux-status.service'].state == 'running'
+ become: true
ansible.builtin.systemd_service:
name: linux-status
state: restarted
- listen: linux_status_configured
diff --git a/roles/linux_status/tasks/arch.yml b/roles/linux_status/tasks/arch.yml
index b894361..693f6f2 100644
--- a/roles/linux_status/tasks/arch.yml
+++ b/roles/linux_status/tasks/arch.yml
@@ -1,6 +1,6 @@
- name: Install linux-status
- ansible.builtin.include_role:
- name: aur_install
vars:
aur_install_packages:
- linux-status
+ ansible.builtin.include_role:
+ name: aur_install
diff --git a/roles/linux_status/tasks/default.yml b/roles/linux_status/tasks/default.yml
index fc2f83f..6606868 100644
--- a/roles/linux_status/tasks/default.yml
+++ b/roles/linux_status/tasks/default.yml
@@ -1,10 +1,10 @@
- name: Set up PPA repository
- ansible.builtin.include_role:
- name: ppa
vars:
ppa_owner: egor-tensin
ppa_name: linux-status
ppa_key: ecb69cbafc6d7cd8bd67ec35b1089b3051c9384d
+ ansible.builtin.include_role:
+ name: ppa
- name: Install linux-status
become: true
diff --git a/roles/linux_status/tasks/power_management.yml b/roles/linux_status/tasks/power_management.yml
index 2288d24..e49fef4 100644
--- a/roles/linux_status/tasks/power_management.yml
+++ b/roles/linux_status/tasks/power_management.yml
@@ -5,25 +5,25 @@
state: directory
owner: root
group: root
- mode: '755'
+ mode: '0755'
- name: Enable power management
+ when: linux_status_enable_power_management
become: true
ansible.builtin.file:
path: /etc/systemd/system/linux-status.service.d/99-disable_power_management.conf
state: absent
- when: linux_status_enable_power_management
notify: linux_status_configured
- name: Disable power management
+ when: not linux_status_enable_power_management
become: true
ansible.builtin.template:
src: disable_power_management.conf.j2
dest: /etc/systemd/system/linux-status.service.d/99-disable_power_management.conf
owner: root
group: root
- mode: '644'
- when: not linux_status_enable_power_management
+ mode: '0644'
notify: linux_status_configured
- name: Restart systemd service if necessary
diff --git a/roles/my_dotfiles/tasks/main.yml b/roles/my_dotfiles/tasks/main.yml
index ff3ff0d..c8f7e03 100644
--- a/roles/my_dotfiles/tasks/main.yml
+++ b/roles/my_dotfiles/tasks/main.yml
@@ -7,8 +7,8 @@
register: my_dotfiles_repo
- name: Run setup.sh
+ when: my_dotfiles_repo is changed
ansible.builtin.command: ./scripts/setup.sh
args:
chdir: '{{ my_dotfiles_dir }}'
changed_when: true
- when: my_dotfiles_repo.changed
diff --git a/roles/my_workspace/tasks/main.yml b/roles/my_workspace/tasks/main.yml
index 0a64f5a..3cf90c8 100644
--- a/roles/my_workspace/tasks/main.yml
+++ b/roles/my_workspace/tasks/main.yml
@@ -5,7 +5,7 @@
state: directory
owner: '{{ ansible_user }}'
group: '{{ ansible_user }}'
- mode: '750'
+ mode: '0750'
- name: Install dependencies
become: true
@@ -14,7 +14,7 @@
state: present
- name: Update projects
- ansible.builtin.include_tasks: project.yml
loop: '{{ my_workspace_projects }}'
loop_control:
loop_var: project
+ ansible.builtin.include_tasks: project.yml
diff --git a/roles/my_workspace/tasks/project.yml b/roles/my_workspace/tasks/project.yml
index 3f36455..9e95671 100644
--- a/roles/my_workspace/tasks/project.yml
+++ b/roles/my_workspace/tasks/project.yml
@@ -14,16 +14,16 @@
accept_hostkey: true
- name: Configure git repository
- community.general.git_config:
- scope: local
- repo: '{{ project_dir }}'
- name: '{{ item.name }}'
- value: '{{ item.value }}'
loop:
- name: user.name
value: '{{ my_workspace_git_name }}'
- name: user.email
value: '{{ my_workspace_git_email }}'
+ community.general.git_config:
+ scope: local
+ repo: '{{ project_dir }}'
+ name: '{{ item.name }}'
+ value: '{{ item.value }}'
- name: Check for Makefile
ansible.builtin.stat:
@@ -44,22 +44,22 @@
register: my_workspace_compose_file
- name: Run make
+ when: my_workspace_makefile.stat.readable
become: true
community.general.make:
chdir: '{{ project_dir }}'
- when: my_workspace_makefile.stat.readable
- name: Run docker-compose
+ when: not my_workspace_makefile.stat.readable and my_workspace_compose_file.stat.readable
become: true
community.docker.docker_compose_v2:
project_src: '{{ project_dir }}'
pull: always
build: always
remove_orphans: true
- when: not my_workspace_makefile.stat.readable and my_workspace_compose_file.stat.readable
- name: Fail if both files are unreadable
+ when: not (my_workspace_makefile.stat.readable or my_workspace_compose_file.stat.readable)
ansible.builtin.fail:
msg: |
Don't know how to run project in {{ project_dir }}
- when: not (my_workspace_makefile.stat.readable or my_workspace_compose_file.stat.readable)
diff --git a/roles/nfs/tasks/main.yml b/roles/nfs/tasks/main.yml
index a563a11..4ec48be 100644
--- a/roles/nfs/tasks/main.yml
+++ b/roles/nfs/tasks/main.yml
@@ -22,11 +22,11 @@
dest: /etc/exports
owner: root
group: root
- mode: '644'
+ mode: '0644'
register: nfs_exports_conf
- name: Reload NFS mounts
- become: true
when: nfs_exports_conf is changed
+ become: true
ansible.builtin.command: /usr/sbin/exportfs -arv
changed_when: true
diff --git a/roles/pacman/tasks/main.yml b/roles/pacman/tasks/main.yml
index 873ce12..e0fec22 100644
--- a/roles/pacman/tasks/main.yml
+++ b/roles/pacman/tasks/main.yml
@@ -12,12 +12,12 @@
community.general.pacman:
update_cache: true
upgrade: true
- register: pacman_result
# According to
# https://docs.ansible.com/projects/ansible/latest/collections/community/general/pacman_module.html
# this module now reports 'changed' even if only the cache was updated, with
# no upgrades; this is the workaround.
changed_when: pacman_result.packages is defined and (pacman_result.packages | length > 0)
+ register: pacman_result
- name: Post-upgrade
when: pacman_result is changed
@@ -34,23 +34,23 @@
- name: Get list of unneeded dependencies
ansible.builtin.command: pacman -Qqdt
- register: pacman_result
changed_when: false
failed_when: |
pacman_result.rc != 0
and not (pacman_result.rc == 1 and (pacman_result.stdout_lines | length == 0))
+ register: pacman_result
- name: Remove unneeded dependencies
+ when: pacman_result.stdout_lines | length > 0
become: true
community.general.pacman:
name: '{{ pacman_result.stdout_lines }}'
state: absent
extra_args: --recursive
remove_nosave: true
- when: pacman_result.stdout_lines | length > 0
register: pacman_result
- name: Show removed packages
+ when: pacman_result.packages is defined
ansible.builtin.debug:
var: pacman_result.packages | sort
- when: pacman_result.packages is defined
diff --git a/roles/pacman_install/tasks/main.yml b/roles/pacman_install/tasks/main.yml
index aece99b..05220d8 100644
--- a/roles/pacman_install/tasks/main.yml
+++ b/roles/pacman_install/tasks/main.yml
@@ -8,6 +8,6 @@
register: pacman_install_result
- name: Show installed packages
+ when: pacman_install_result.packages is defined and (pacman_install_result.packages | length > 0)
ansible.builtin.debug:
var: pacman_install_result.packages | sort
- when: pacman_install_result.packages is defined and (pacman_install_result.packages | length > 0)
diff --git a/roles/ppa/tasks/main.yml b/roles/ppa/tasks/main.yml
index 002d0f1..52ac245 100644
--- a/roles/ppa/tasks/main.yml
+++ b/roles/ppa/tasks/main.yml
@@ -5,17 +5,15 @@
- distribution_release
- name: Set platform-specific variables
- ansible.builtin.include_vars: "{{ __ppa_vars_file }}"
loop:
- "{{ ansible_facts['distribution'] }}.yml"
- "{{ ansible_facts['distribution'] }}_{{ ansible_facts['distribution_release'] }}.yml"
vars:
- __ppa_vars_file: "{{ role_path }}/vars/{{ item }}"
+ __ppa_vars_file: '{{ role_path }}/vars/{{ item }}'
when: __ppa_vars_file is exists
+ ansible.builtin.include_vars: '{{ __ppa_vars_file }}'
- name: Set up PPA repository
- ansible.builtin.include_role:
- name: apt_repo
vars:
apt_repo_name: '{{ ppa_name }}'
apt_repo_key_url: 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x{{ ppa_key }}'
@@ -23,3 +21,5 @@
apt_repo_codename: '{{ ppa_distro }}'
# All PPA repositories are Ubuntu repositories, even though they might be used on Debian:
apt_repo_append_distro: false
+ ansible.builtin.include_role:
+ name: apt_repo
diff --git a/roles/router/tasks/main.yml b/roles/router/tasks/main.yml
index ff77a40..e3e1b2b 100644
--- a/roles/router/tasks/main.yml
+++ b/roles/router/tasks/main.yml
@@ -1,11 +1,11 @@
- name: Enable traffic forwarding
+ loop:
+ - net.ipv4.ip_forward
+ - net.ipv4.conf.all.forwarding
+ - net.ipv6.conf.all.forwarding
become: true
ansible.posix.sysctl:
name: '{{ item }}'
value: 1
reload: true
sysctl_file: '{{ router_sysctl_file }}'
- loop:
- - net.ipv4.ip_forward
- - net.ipv4.conf.all.forwarding
- - net.ipv6.conf.all.forwarding
diff --git a/roles/samba/handlers/main.yml b/roles/samba/handlers/main.yml
index ad3d245..6f33e25 100644
--- a/roles/samba/handlers/main.yml
+++ b/roles/samba/handlers/main.yml
@@ -1,13 +1,14 @@
# Don't restart if it's not running.
- name: Collect service facts
- ansible.builtin.service_facts:
listen: samba_configured
+ ansible.builtin.service_facts:
- name: Restart Samba service
- become: true
+ listen: samba_configured
when: |
- 'smbd.service' in ansible_facts.services and ansible_facts.services['smbd.service'].state == 'running'
+ 'smbd.service' in ansible_facts.services
+ and ansible_facts.services['smbd.service'].state == 'running'
+ become: true
ansible.builtin.systemd_service:
name: smbd
state: restarted
- listen: samba_configured
diff --git a/roles/samba/tasks/main.yml b/roles/samba/tasks/main.yml
index 97aff98..19e2070 100644
--- a/roles/samba/tasks/main.yml
+++ b/roles/samba/tasks/main.yml
@@ -11,7 +11,7 @@
state: directory
owner: root
group: root
- mode: '755'
+ mode: '0755'
- name: Format smb.conf
become: true
@@ -20,7 +20,7 @@
dest: /etc/samba/smb.conf
owner: root
group: root
- mode: '644'
+ mode: '0644'
validate: '/usr/bin/testparm --suppress-prompt %s'
notify: samba_configured
diff --git a/roles/sshd/tasks/main.yml b/roles/sshd/tasks/main.yml
index 751f379..db151f5 100644
--- a/roles/sshd/tasks/main.yml
+++ b/roles/sshd/tasks/main.yml
@@ -5,13 +5,13 @@
- distribution_release
- name: Set platform-specific variables
- ansible.builtin.include_vars: "{{ __sshd_vars_file }}"
loop:
- "{{ ansible_facts['distribution'] }}.yml"
- "{{ ansible_facts['distribution'] }}_{{ ansible_facts['distribution_release'] }}.yml"
vars:
- __sshd_vars_file: "{{ role_path }}/vars/{{ item }}"
+ __sshd_vars_file: '{{ role_path }}/vars/{{ item }}'
when: __sshd_vars_file is exists
+ ansible.builtin.include_vars: '{{ __sshd_vars_file }}'
- name: Configure sshd
become: true
@@ -20,13 +20,13 @@
dest: /etc/ssh/sshd_config
owner: root
group: root
- mode: '644'
+ mode: '0644'
validate: /usr/sbin/sshd -t -f %s
register: sshd_conf
- name: Restart sshd
- become: true
when: sshd_conf is changed
+ become: true
ansible.builtin.systemd_service:
name: '{{ __sshd_service_name }}'
state: restarted
diff --git a/roles/sudo/tasks/main.yml b/roles/sudo/tasks/main.yml
index 7bdd157..dbd1fd6 100644
--- a/roles/sudo/tasks/main.yml
+++ b/roles/sudo/tasks/main.yml
@@ -20,5 +20,5 @@
dest: '/etc/sudoers.d/{{ sudo_user }}'
owner: root
group: root
- mode: '440'
+ mode: '0440'
validate: 'visudo -cf %s'
diff --git a/roles/systemd_depend_iface/handlers/main.yml b/roles/systemd_depend_iface/handlers/main.yml
index 1449130..5c9e7b6 100644
--- a/roles/systemd_depend_iface/handlers/main.yml
+++ b/roles/systemd_depend_iface/handlers/main.yml
@@ -1,5 +1,5 @@
- name: Reload systemd daemon
+ listen: systemd_depend_iface_reload
become: true
ansible.builtin.systemd_service:
daemon_reload: true
- listen: systemd_depend_iface_reload
diff --git a/roles/systemd_depend_iface/tasks/main.yml b/roles/systemd_depend_iface/tasks/main.yml
index d99a445..fd335e0 100644
--- a/roles/systemd_depend_iface/tasks/main.yml
+++ b/roles/systemd_depend_iface/tasks/main.yml
@@ -1,27 +1,23 @@
- name: Create override directory
+ loop: '{{ systemd_depend_iface_services }}'
become: true
ansible.builtin.file:
- path: '/etc/systemd/system/{{ service }}.service.d'
+ path: '/etc/systemd/system/{{ item }}.service.d'
state: directory
owner: root
group: root
- mode: '755'
- loop: '{{ systemd_depend_iface_services }}'
- loop_control:
- loop_var: service
+ mode: '0755'
- name: Create service override
+ loop: '{{ systemd_depend_iface_services }}'
become: true
ansible.builtin.template:
src: override.conf.j2
- dest: '/etc/systemd/system/{{ service }}.service.d/depend_iface_{{ systemd_depend_iface_name }}.conf'
+ dest: '/etc/systemd/system/{{ item }}.service.d/depend_iface_{{ systemd_depend_iface_name }}.conf'
owner: root
group: root
- mode: '644'
+ mode: '0644'
notify: systemd_depend_iface_reload
- loop: '{{ systemd_depend_iface_services }}'
- loop_control:
- loop_var: service
- name: Reload systemd services if necessary
ansible.builtin.meta: flush_handlers
diff --git a/roles/systemd_depend_mount/handlers/main.yml b/roles/systemd_depend_mount/handlers/main.yml
index b59b5a5..86af947 100644
--- a/roles/systemd_depend_mount/handlers/main.yml
+++ b/roles/systemd_depend_mount/handlers/main.yml
@@ -1,5 +1,5 @@
- name: Reload systemd daemon
+ listen: systemd_depend_mount_reload
become: true
ansible.builtin.systemd_service:
daemon_reload: true
- listen: systemd_depend_mount_reload
diff --git a/roles/systemd_depend_mount/tasks/main.yml b/roles/systemd_depend_mount/tasks/main.yml
index 32b83d6..94637c9 100644
--- a/roles/systemd_depend_mount/tasks/main.yml
+++ b/roles/systemd_depend_mount/tasks/main.yml
@@ -1,27 +1,23 @@
- name: Create override directory
+ loop: '{{ systemd_depend_mount_services }}'
become: true
ansible.builtin.file:
- path: '/etc/systemd/system/{{ service }}.service.d'
+ path: '/etc/systemd/system/{{ item }}.service.d'
state: directory
owner: root
group: root
- mode: '755'
- loop: '{{ systemd_depend_mount_services }}'
- loop_control:
- loop_var: service
+ mode: '0755'
- name: Create service override
+ loop: '{{ systemd_depend_mount_services }}'
become: true
ansible.builtin.template:
src: override.conf.j2
- dest: '/etc/systemd/system/{{ service }}.service.d/depend_mount_{{ systemd_depend_mount_dir | regex_replace("/", "_") }}.conf'
+ dest: '/etc/systemd/system/{{ item }}.service.d/depend_mount_{{ systemd_depend_mount_dir | regex_replace("/", "_") }}.conf'
owner: root
group: root
- mode: '644'
+ mode: '0644'
notify: systemd_depend_mount_reload
- loop: '{{ systemd_depend_mount_services }}'
- loop_control:
- loop_var: service
- name: Reload systemd services if necessary
ansible.builtin.meta: flush_handlers
diff --git a/roles/wireguard/handlers/main.yml b/roles/wireguard/handlers/main.yml
index 390e740..4c9b831 100644
--- a/roles/wireguard/handlers/main.yml
+++ b/roles/wireguard/handlers/main.yml
@@ -1,5 +1,5 @@
- name: Reload systemd daemon
+ listen: wireguard_reload
become: true
ansible.builtin.systemd_service:
daemon_reload: true
- listen: wireguard_reload
diff --git a/roles/wireguard/tasks/NetworkManager.yml b/roles/wireguard/tasks/NetworkManager.yml
index 6259fec..612a112 100644
--- a/roles/wireguard/tasks/NetworkManager.yml
+++ b/roles/wireguard/tasks/NetworkManager.yml
@@ -5,46 +5,42 @@
dest: '/etc/NetworkManager/system-connections/{{ wireguard_name }}.nmconnection'
owner: root
group: root
- mode: '600'
+ mode: '0600'
register: wireguard_config
- name: Reload NetworkManager connections
+ when: wireguard_config is changed
become: true
ansible.builtin.command: nmcli connection reload
- when: wireguard_config.changed
changed_when: true
- name: Set up service dependencies for the interface
- ansible.builtin.include_role:
- name: systemd_depend_iface
vars:
systemd_depend_iface_name: '{{ wireguard_name }}'
systemd_depend_iface_services: '{{ wireguard_dependent_services }}'
+ ansible.builtin.include_role:
+ name: systemd_depend_iface
- name: Create override directory for services
+ loop: '{{ wireguard_dependent_services }}'
become: true
ansible.builtin.file:
- path: '/etc/systemd/system/{{ service }}.service.d'
+ path: '/etc/systemd/system/{{ item }}.service.d'
state: directory
owner: root
group: root
- mode: '755'
- loop: '{{ wireguard_dependent_services }}'
- loop_control:
- loop_var: service
+ mode: '0755'
- name: Set up service dependencies for wg-quick
+ loop: '{{ wireguard_dependent_services }}'
become: true
ansible.builtin.template:
src: depend_service_NetworkManager.conf.j2
- dest: '/etc/systemd/system/{{ service }}.service.d/depend_service_NetworkManager.conf'
+ dest: '/etc/systemd/system/{{ item }}.service.d/depend_service_NetworkManager.conf'
owner: root
group: root
- mode: '644'
+ mode: '0644'
notify: wireguard_reload
- loop: '{{ wireguard_dependent_services }}'
- loop_control:
- loop_var: service
- name: Reload systemd services if necessary
ansible.builtin.meta: flush_handlers
diff --git a/roles/wireguard/tasks/main.yml b/roles/wireguard/tasks/main.yml
index cc0121a..4d0ac57 100644
--- a/roles/wireguard/tasks/main.yml
+++ b/roles/wireguard/tasks/main.yml
@@ -1,9 +1,9 @@
- name: Validate backend
+ when: |
+ wireguard_backend not in ['wg-quick', 'NetworkManager']
ansible.builtin.fail:
msg: |
Unknown Wireguard backend: {{ wireguard_backend }}
- when: |
- wireguard_backend not in ['wg-quick', 'NetworkManager']
- name: 'Set up using backend {{ wireguard_backend }}'
ansible.builtin.include_tasks: '{{ wireguard_backend }}.yml'
diff --git a/roles/wireguard/tasks/wg-quick.yml b/roles/wireguard/tasks/wg-quick.yml
index c7f9a24..e5909ee 100644
--- a/roles/wireguard/tasks/wg-quick.yml
+++ b/roles/wireguard/tasks/wg-quick.yml
@@ -11,54 +11,50 @@
dest: '/etc/wireguard/{{ wireguard_name }}.conf'
owner: root
group: root
- mode: '600'
+ mode: '0600'
register: wireguard_config
- name: Enable wg-quick service
+ when: wireguard_config is changed
become: true
ansible.builtin.systemd_service:
name: 'wg-quick@{{ wireguard_name }}'
enabled: '{{ wireguard_autoconnect }}'
- when: wireguard_config.changed
- name: Restart wg-quick service
+ when: wireguard_config is changed and wireguard_autoconnect
become: true
ansible.builtin.systemd_service:
name: 'wg-quick@{{ wireguard_name }}'
state: restarted
- when: wireguard_config.changed and wireguard_autoconnect
- name: Set up service dependencies for the interface
- ansible.builtin.include_role:
- name: systemd_depend_iface
vars:
systemd_depend_iface_name: '{{ wireguard_name }}'
systemd_depend_iface_services: '{{ wireguard_dependent_services }}'
+ ansible.builtin.include_role:
+ name: systemd_depend_iface
- name: Create override directory for services
+ loop: '{{ wireguard_dependent_services }}'
become: true
ansible.builtin.file:
- path: '/etc/systemd/system/{{ service }}.service.d'
+ path: '/etc/systemd/system/{{ item }}.service.d'
state: directory
owner: root
group: root
- mode: '755'
- loop: '{{ wireguard_dependent_services }}'
- loop_control:
- loop_var: service
+ mode: '0755'
- name: Set up service dependencies for wg-quick
+ loop: '{{ wireguard_dependent_services }}'
become: true
ansible.builtin.template:
src: depend_service_wg-quick.conf.j2
- dest: '/etc/systemd/system/{{ service }}.service.d/depend_service_wg-quick@{{ wireguard_name }}.conf'
+ dest: '/etc/systemd/system/{{ item }}.service.d/depend_service_wg-quick@{{ wireguard_name }}.conf'
owner: root
group: root
- mode: '644'
+ mode: '0644'
notify: wireguard_reload
- loop: '{{ wireguard_dependent_services }}'
- loop_control:
- loop_var: service
- name: Reload systemd services if necessary
ansible.builtin.meta: flush_handlers
diff --git a/roles/yay/tasks/main.yml b/roles/yay/tasks/main.yml
index cc3729a..0676320 100644
--- a/roles/yay/tasks/main.yml
+++ b/roles/yay/tasks/main.yml
@@ -31,5 +31,5 @@
always:
- name: Clean up
ansible.builtin.file:
- path: '${{ yay_dir.path }}'
+ path: '{{ yay_dir.path }}'
state: absent