mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-04-21 23:42:24 +02:00
47 lines
2.1 KiB
Markdown
47 lines
2.1 KiB
Markdown
# Package Manager Installation 📦
|
|
|
|
## Description
|
|
|
|
This Ansible role installs 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 CyMaIS-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_become` variable (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 | "" |
|
|
| `pkgmgr_become` | Execute all tasks with elevated privileges (become: true/false) | true |
|
|
|
|
## Example Usage
|
|
|
|
```yaml
|
|
- name: Install cymais-presentation
|
|
include_role:
|
|
name: pkgmgr-install
|
|
vars:
|
|
package_name: cymais-presentation
|
|
package_notify: docker compose project build and setup
|
|
```
|
|
|
|
## Credits 📝
|
|
|
|
Developed and maintained by **Kevin Veen-Birkenbach**.
|
|
Learn more at [www.veen.world](https://www.veen.world)
|
|
|
|
Part of the [CyMaIS Project](https://github.com/kevinveenbirkenbach/cymais)
|
|
License: [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl) |