Another big round of refactoring and cleaning...

This commit is contained in:
2025-07-11 17:55:26 +02:00
parent aa61bf2a44
commit 168c5c0da6
323 changed files with 761 additions and 811 deletions

View File

@@ -0,0 +1,26 @@
# Update System
## Description
This role serves as a central orchestrator for system updates. It conditionally executes various update roles based on the target system and available directories, ensuring that packages and Docker images are kept up-to-date.
## Overview
This role performs the following tasks:
- Checks if the Docker Compose instances directory exists.
- Executes system updates using platform-specific methods:
- Uses [pacman](https://wiki.archlinux.org/title/Pacman) for Arch Linux.
- Uses [apt](https://en.wikipedia.org/wiki/APT_(software)) for Debian-based systems.
- Invokes the Docker update role if Docker Compose instances are found.
- Checks for the presence of the [yay](https://wiki.archlinux.org/title/Yay) AUR helper and, if installed, triggers an update for AUR packages.
## Purpose
The primary purpose of this role is to streamline system maintenance by delegating updates to the appropriate update roles based on the systems platform and current configuration.
## Features
- **Conditional Execution:** Runs update roles based on the operating system and available directories.
- **Multi-Platform Support:** Supports both Arch Linux and Debian-based distributions.
- **Docker Image Updates:** Triggers Docker image updates when applicable.
- **AUR Package Updates:** Checks for the AUR helper and updates AUR packages if present.

View File

@@ -0,0 +1,51 @@
---
- name: "Check if {{ path_docker_compose_instances }} directory exists"
stat:
path: "{{ path_docker_compose_instances }}"
register: docker_compose_directory_stat
- name: "Update with pacman"
include_role:
name: update-pacman
when: ansible_distribution == 'Archlinux'
- name: "Update with apt"
include_role:
name: update-apt
when: ansible_distribution == "Debian"
- name: "Update Docker Images"
include_role:
name: update-docker
when: docker_compose_directory_stat.stat.exists
- name: "Check if yay is installed"
command: which yay
register: yay_installed
changed_when: false
failed_when: false
- name: "Update with yay"
include_role:
name: update-yay
when: yay_installed.rc == 0
- name: "Check if pip is installed"
command: which pip
register: pip_installed
changed_when: false
failed_when: false
- name: "Update with pip"
include_role:
name: update-pip
- name: "Check if pkgmgr command is available"
command: "which pkgmgr"
register: pkgmgr_available
failed_when: false
- name: "Update all repositories using pkgmgr"
include_role:
name: update-pkgmgr
when: pkgmgr_available.rc == 0