From 92447996fc0594339b162bf60d1c9dd65529a2ce Mon Sep 17 00:00:00 2001 From: Lumpiasty Date: Sat, 16 May 2026 19:51:33 +0200 Subject: [PATCH] feat(ansible): migrate OpenWrt package management from opkg to apk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OpenWrt 25.12+ uses apk instead of opkg. The community.openwrt.apk module is only available in the unreleased 1.4.0 (git main), so requirements.yml now installs the collection from git. - requirements.yml: install community.openwrt from git main branch (comment explains why — apk module not yet in a Galaxy release) - packages.yml: switch from community.openwrt.opkg to apk, use join filter to pass all packages at once instead of looping --- ansible/requirements.yml | 6 +++++- ansible/roles/openwrt/tasks/packages.yml | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ansible/requirements.yml b/ansible/requirements.yml index 7e148e7..0863952 100644 --- a/ansible/requirements.yml +++ b/ansible/requirements.yml @@ -3,5 +3,9 @@ collections: version: ">=3.16.0" - name: community.hashi_vault version: ">=7.1.0" + # community.openwrt.apk module (required for OpenWrt 25.12+ which dropped opkg) + # is only available in 1.4.0 which is not yet released on Galaxy — install from git. - name: community.openwrt - version: ">=1.0.0" + source: https://github.com/ansible-collections/community.openwrt.git + type: git + version: main diff --git a/ansible/roles/openwrt/tasks/packages.yml b/ansible/roles/openwrt/tasks/packages.yml index a6efc1f..55a7593 100644 --- a/ansible/roles/openwrt/tasks/packages.yml +++ b/ansible/roles/openwrt/tasks/packages.yml @@ -1,7 +1,7 @@ --- - name: Install packages - community.openwrt.opkg: - name: "{{ item }}" + community.openwrt.apk: + name: "{{ openwrt_packages | join(',') }}" state: present update_cache: true - loop: "{{ openwrt_packages }}" + when: openwrt_packages | length > 0