aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2025-12-01 17:57:24 +0100
committerEgor Tensin <egor@tensin.name>2025-12-01 17:57:24 +0100
commit7d635ee58201977274ea8b723665d03071d42457 (patch)
tree914564df6ed48b374b9650099f5de0c80c995265
parentpacman: drop rate-mirrors (diff)
downloadinfra-ansible-7d635ee58201977274ea8b723665d03071d42457.tar.gz
infra-ansible-7d635ee58201977274ea8b723665d03071d42457.zip
pacman: configure Reflector
-rw-r--r--roles/pacman/README.md6
-rw-r--r--roles/pacman/defaults/main.yml1
-rw-r--r--roles/pacman/tasks/main.yml4
-rw-r--r--roles/pacman/tasks/reflector.yml18
4 files changed, 28 insertions, 1 deletions
diff --git a/roles/pacman/README.md b/roles/pacman/README.md
index c50304b..e8619f9 100644
--- a/roles/pacman/README.md
+++ b/roles/pacman/README.md
@@ -1 +1,5 @@
-This role upgrades packages on Arch Linux and removes obsolete dependencies.
+This role upgrades packages on Arch Linux.
+
+* Obsolete dependencies are removed.
+* Optionally, Reflector is installed & configured to bring the mirror list
+ up-to-date periodically.
diff --git a/roles/pacman/defaults/main.yml b/roles/pacman/defaults/main.yml
new file mode 100644
index 0000000..c6a20fc
--- /dev/null
+++ b/roles/pacman/defaults/main.yml
@@ -0,0 +1 @@
+pacman_reflector: false
diff --git a/roles/pacman/tasks/main.yml b/roles/pacman/tasks/main.yml
index af890b2..4d45cd6 100644
--- a/roles/pacman/tasks/main.yml
+++ b/roles/pacman/tasks/main.yml
@@ -1,3 +1,7 @@
+- name: Configure Reflector
+ ansible.builtin.include_tasks: reflector.yml
+ when: pacman_reflector
+
- name: Upgrade packages
become: true
community.general.pacman:
diff --git a/roles/pacman/tasks/reflector.yml b/roles/pacman/tasks/reflector.yml
new file mode 100644
index 0000000..e26b338
--- /dev/null
+++ b/roles/pacman/tasks/reflector.yml
@@ -0,0 +1,18 @@
+- name: Install Reflector
+ become: true
+ community.general.pacman:
+ update_cache: true
+ name: reflector
+
+- name: Disable reflector.service
+ become: true
+ ansible.builtin.systemd_service:
+ name: reflector.service
+ enabled: false
+
+- name: Enable reflector.timer
+ become: true
+ ansible.builtin.systemd_service:
+ name: reflector.timer
+ enabled: true
+ state: started