- Replace legacy utils/run_once.yml with the new helpers utils/once_flag.yml and utils/once_finalize.yml - Introduce utils/compose_up.yml to ensure docker-compose stacks are up and to flush handlers safely without coupling to run-once flags - Migrate all affected roles (desk-*, dev-*, sys-ctl-*, sys-svc-*, web-app-*, web-svc-*, util-*) to the new run-once helpers - Rework sys-svc-msmtp to auto-load Mailu once per deploy, check reachability, and reuse the running stack instead of requiring multiple playbook passes - Adjust web-app-mailu to integrate cert deployment, handler flushing, and run-once handling so Mailu is fully initialized in a single deploy - Improve Matomo, CDN, logout and CSP/health-check related roles to cooperate with the new compose_up / once_* pattern - Simplify alarm/backup/timer/service orchestration (sys-ctl-alm-*, sys-bkp-provider, sys-timer-cln-bkps, etc.) by moving run-once logic into dedicated 01_core.yml files - Update integration tests so utils/once_flag.yml and utils/once_finalize.yml are recognised as valid run-once providers, keeping the global run_once_* guarantees consistent - Align frontend injection and service dependencies so Mastodon- and Mailu-related services can be brought up coherently within a single deployment cycle rather than several iterations
Package Manager Installation 📦
Description
This Ansible role installs Kevin's Package Manager and updates packages using pkgmgr on Arch Linux systems. It provides a unified interface for package installation and update management, ensuring consistent deployment across environments.
Overview
The role abstracts package management operations using pkgmgr. It ensures the package manager itself is updated once per run and provides idempotent installation and update routines for specified packages.
Purpose
The purpose of this role is to automate the installation and update process for Infinito.Nexus-related applications or other managed packages using pkgmgr. It simplifies package handling and enforces best practices for package deployment in automated environments.
Features
- Automatic pkgmgr Update: Ensures the package manager is always up-to-date.
- Idempotent Package Installation: Only installs packages when necessary.
- Flexible Notification: Supports handler notification for post-install actions (e.g., Docker Compose builds).
- Optional Privilege Escalation: Controlled via the
pkgmgr_becomevariable (default:true).
Role Variables
| Name | Description | Default |
|---|---|---|
package_name |
Name of the package to install/update | (required) |
package_notify |
Handler to notify on package installation/update | "" |
Credits 📝
Developed and maintained by Kevin Veen-Birkenbach.
Learn more at www.veen.world
Part of the Infinito.Nexus Project
License: Infinito.Nexus NonCommercial License