Files
computer-playbook/roles/pkgmgr
kevinveenbirkenbachandClaude Opus 4.7 ea77949d7c fix(roles/pkgmgr/vars): pin lookup application_id to literal "pkgmgr" instead of role_name
PKGMGR_REPO_URL / PKGMGR_REF were defined with `lookup('config', role_name, …)`.
The vars are referenced via `vars:` in pkgmgr's own task that does
`include_role: name: sys-util-git-pull`, and Ansible templates that `vars:`
block inside the included-role context — so `role_name` was already
`sys-util-git-pull` at evaluation time, not `pkgmgr`.

That produced a config lookup against `applications['sys-util-git-pull'].services.sys-util-git-pull.repository`,
which fails because sys-util-git-pull's services.yml declares the entity as
`util-git-pull` (no `sys-` prefix, per the established sys-* convention) and
has no `repository` key.

Hardcoding the application_id keeps the lookup immune to role_name drift no
matter where the var is referenced from.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 21:05:26 +02:00
..

Kevins Package Manager

Description

This Ansible role installs and configures Kevin's Package Manager - a configurable Python tool designed to manage multiple repositories and automate common Git operations. The role clones the repository from GitHub, sets the executable permissions for the main script, and runs the installation command to set up command aliases.

Overview

This role automates the deployment of Kevin's Package Manager by:

  • Cloning the repository from GitHub.
  • Executing the installation command to create/update repository command wrappers.

It ensures that the Package Manager is ready to manage repositories, perform Git operations, and streamline software management tasks.

Purpose

The purpose of this role is to simplify the installation of Kevin's Package Manager, reducing manual steps and ensuring a consistent setup across environments. Ideal for developers and system administrators, it helps integrate repository management seamlessly into your automation workflows.

Features

  • Repository Cloning: Automatically clones the Package Manager repository from GitHub.
  • Executable Setup: Sets proper permissions on the main script.
  • Alias Installation: Runs the installation command to generate command aliases.
  • Configurable Paths: Allows customization of both the installation and binary directories.

Credits

Developed and maintained by Kevin Veen-Birkenbach. Learn more at veen.world. Part of the Infinito.Nexus Project. Licensed under the Infinito.Nexus Community License (Non-Commercial).