mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 02:10:05 +00: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) |