Refactor run-once logic across multiple roles and integrate unified utils/run_once.yml

This commit standardizes all run-once implementations across the following roles:
- desk-git
- dev-fakeroot
- dev-git
- dev-python-yaml
- sys-lock
- sys-svc-certs (wildcard flavor)
- update-apt
- update-pacman
- update-compose
- user-root (moved logic to 01_core.yml + unified run-once handling)
- web-app-matomo
- web-svc-libretranslate

All roles now:
- Use a block guarded by 'run_once_<role>' facts
- Trigger run-once state through utils/run_once.yml
- Optionally disable handler flushing via 'flush_handlers: false'
- Achieve consistent per-host one-time execution semantics

Conversation reference: https://chatgpt.com/share/692c7fbb-ff68-800f-8cb4-4b132cffc8e4
This commit is contained in:
2025-11-30 18:51:40 +01:00
parent e53abbec3b
commit fff7d261a2
14 changed files with 119 additions and 121 deletions

View File

@@ -1,11 +1,11 @@
---
- name: Install fakeroot
community.general.pacman:
name: fakeroot
state: present
when: run_once_dev_fakeroot is not defined
- when: run_once_dev_fakeroot is not defined
block:
- name: Install fakeroot
community.general.pacman:
name: fakeroot
state: present
- name: run the fakeroot tasks once
set_fact:
run_once_dev_fakeroot: true
when: run_once_dev_fakeroot is not defined
- include_tasks: utils/run_once.yml
vars:
flush_handlers: false