refactor(roles): install CLI tools via pip instead of pkgmgr

Eight roles switch from pkgmgr-install to sys-pip-install with global_install: true, so the console scripts land on the system PATH where systemd looks for them.

btrfs-auto-balancer, certreap, certbundle and unit-suffix-remover come from PyPI by name. The three that are not published yet install from git, with repository and ref declared in meta/services.yml and resolved through vars, following the pkgmgr and web-app-taiga precedent. That satisfies the repository-declaration guard and lets the scheduled Update: Versions workflow read and bump the refs.

Drops a dead guard in svc-opt-swapfile that tested run_once_pkgmgr_install, a fact nothing sets any more.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
kevinveenbirkenbachandClaude Opus 5 committed 2026-08-14 16:03:40 +02:00
1 parent 104383942a
commit 6c558e7feb
16 files changed
+48 -21

No files matched your search

@@ -3,6 +3,8 @@ gnome-extensions:
modes:
host:
enabled: true
repository: https://github.com/kevinveenbirkenbach/cli-gnome-extension-manager.git
ref: v1.0.0
plugins: []
lifecycle: pre-alpha
min_storage: "50MB"
@@ -3,11 +3,13 @@
ansible.builtin.shell: gsettings set org.gnome.shell disable-user-extensions false
become: false
- name: "📦 pkgmgr install"
- name: 📦 Install cli-gnome-extension-manager system-wide via pip
include_role:
name: pkgmgr-install
name: sys-pip-install
vars:
package_name: cli-gnome-extension-manager
# TODO: switch to the PyPI name 'cli-gnome-extension-manager' once it is published
package_name: "git+{{ GNOME_EXTENSION_MANAGER_REPO }}@{{ GNOME_EXTENSION_MANAGER_REF }}"
global_install: true
- name: ▶️ Execute CLI GNOME Extension manager script
ansible.builtin.shell: cli-gnome-extension-manager "{{ item[0] }}" "{{ item[1] }}" "{{ item[2] }}"
@@ -1,2 +1,4 @@
---
application_id: desk-gnome-extensions
GNOME_EXTENSION_MANAGER_REPO: "{{ lookup('config', application_id, 'services.gnome-extensions.repository') }}"
GNOME_EXTENSION_MANAGER_REF: "{{ lookup('config', application_id, 'services.gnome-extensions.ref') }}"
+2
View File
@@ -3,6 +3,8 @@ gnome:
modes:
host:
enabled: true
repository: https://github.com/kevinveenbirkenbach/cli-gnome-extension-manager.git
ref: v1.0.0
lifecycle: pre-alpha
min_storage: "2GB"
cpus: "1.0"
+5 -3
View File
@@ -3,11 +3,13 @@
ansible.builtin.shell: gsettings set org.gnome.shell disable-user-extensions false
become: false
- name: "📦 pkgmgr install"
- name: 📦 Install cli-gnome-extension-manager system-wide via pip
include_role:
name: pkgmgr-install
name: sys-pip-install
vars:
package_name: cli-gnome-extension-manager
# TODO: switch to the PyPI name 'cli-gnome-extension-manager' once it is published
package_name: "git+{{ GNOME_EXTENSION_MANAGER_REPO }}@{{ GNOME_EXTENSION_MANAGER_REF }}"
global_install: true
- name: ▶️ Execute CLI GNOME Extension manager script
ansible.builtin.shell: >-
+2
View File
@@ -1,2 +1,4 @@
---
application_id: desk-gnome
GNOME_EXTENSION_MANAGER_REPO: "{{ lookup('config', application_id, 'services.gnome.repository') }}"
GNOME_EXTENSION_MANAGER_REF: "{{ lookup('config', application_id, 'services.gnome.ref') }}"
+2
View File
@@ -3,6 +3,8 @@ swapfile:
modes:
host:
enabled: true
repository: https://github.com/kevinveenbirkenbach/swap-forge.git
ref: v1.0.0
swapfile_size: "{{ ansible_facts['memtotal_mb'] | int }}M"
lifecycle: beta
min_storage: "50MB"
+4 -3
View File
@@ -1,10 +1,11 @@
---
- name: 📦 Install '
include_role:
name: pkgmgr-install
name: sys-pip-install
vars:
package_name: "{{ SWAPFILE_PKG }}"
when: run_once_pkgmgr_install is not defined
# TODO: switch to the PyPI name 'swap-forge' once it is published
package_name: "git+{{ SWAPFILE_REPO }}@{{ SWAPFILE_REF }}"
global_install: true
- name: ▶️ Execute create swapfile script
shell: "{{ SWAPFILE_PKG }} '{{ SWAPFILE_SIZE }}'"
+2
View File
@@ -3,3 +3,5 @@ application_id: "svc-opt-swapfile"
SWAPFILE_SIZE: "{{ lookup('config', application_id, 'services.swapfile.swapfile_size') }}"
SWAPFILE_PKG: "swap-forge"
SWAPFILE_REPO: "{{ lookup('config', application_id, 'services.swapfile.repository') }}"
SWAPFILE_REF: "{{ lookup('config', application_id, 'services.swapfile.ref') }}"
+3 -2
View File
@@ -6,11 +6,12 @@
- sys-ctl-alm-compose
- sys-daemon
- name: "📦 pkgmgr install"
- name: 📦 Install certreap system-wide via pip
include_role:
name: pkgmgr-install
name: sys-pip-install
vars:
package_name: certreap
global_install: true
- include_role:
name: sys-service
@@ -4,11 +4,12 @@
name: sys-ctl-alm-compose
when: run_once_sys_ctl_alm_compose is not defined
- name: "📦 pkgmgr install"
- name: 📦 Install btrfs-auto-balancer system-wide via pip
include_role:
name: pkgmgr-install
name: sys-pip-install
vars:
package_name: btrfs-auto-balancer
global_install: true
- include_role:
name: sys-service
+4 -3
View File
@@ -1,9 +1,10 @@
---
- name: "📦 pkgmgr install '{{ UNIT_SUFFIX_REMOVER_PACKAGE }}'"
- name: 📦 Install unit-suffix-remover system-wide via pip
include_role:
name: pkgmgr-install
name: sys-pip-install
vars:
package_name: "{{ UNIT_SUFFIX_REMOVER_PACKAGE }}"
package_name: unit-suffix-remover
global_install: true
- name: "🧹 Remove '{{ SYS_SERVICE_SUFFIX }}' files"
command: "{{ UNIT_SUFFIX_REMOVER_PACKAGE }} -s '{{ SOFTWARE_NAME }}'"
+3 -2
View File
@@ -1,10 +1,11 @@
---
# Necessary to have this separate file to pass performance tests
- name: 📦 Install certbundle
- name: 📦 Install certbundle system-wide via pip
include_role:
name: pkgmgr-install
name: sys-pip-install
vars:
package_name: certbundle
global_install: true
- name: ⚙️ Generate SAN certificate with certbundle
command: >-
+2
View File
@@ -1,6 +1,8 @@
---
svc-compose:
lifecycle: beta
repository: https://github.com/kevinveenbirkenbach/docker-compose-down-all.git
ref: v1.0.0
required_by:
compose:
categories: [web]
+5 -3
View File
@@ -2,11 +2,13 @@
# It is necessary to shut the projects down, when reset is activated.
# Otherwise it can lead to this bug:
# https://github.com/ansible/ansible/issues/10244
- name: "📦 pkgmgr install '{{ COMPOSE_DOWN_ALL_PACKAGE }}'"
- name: "📦 Install '{{ COMPOSE_DOWN_ALL_PACKAGE }}' system-wide via pip"
include_role:
name: pkgmgr-install
name: sys-pip-install
vars:
package_name: "{{ COMPOSE_DOWN_ALL_PACKAGE }}"
# TODO: switch to the PyPI name 'docodol' once it is published
package_name: "git+{{ COMPOSE_DOWN_ALL_REPO }}@{{ COMPOSE_DOWN_ALL_REF }}"
global_install: true
- name: "🧹 Shutdown compose instances in '{{ DIR_COMPOSITIONS }}'"
command: "{{ COMPOSE_DOWN_ALL_PACKAGE }} {{ DIR_COMPOSITIONS }}"
+2
View File
@@ -1,2 +1,4 @@
---
COMPOSE_DOWN_ALL_PACKAGE: "docodol"
COMPOSE_DOWN_ALL_REPO: "{{ lookup('config', 'sys-svc-compose', 'services.svc-compose.repository') }}"
COMPOSE_DOWN_ALL_REF: "{{ lookup('config', 'sys-svc-compose', 'services.svc-compose.ref') }}"