Skip to main content

Salt extension restoring the apk package provider (apkpkg) removed from Salt core in 3008

Project description

saltext-apk

A Salt extension that restores the apkpkg execution module — the pkg provider for apk-based systems (OpenWrt 25.12+, Alpine Linux).

Source: https://gitlab.com/paulto/saltext-apk

Why this exists

Salt 3008 removed salt/modules/apkpkg.py in its purge of community extensions (it was last present in v3007.14). Unlike many purged modules — saltext-zfs, for example — no replacement extension was published, so on Salt 3008 there is no pkg provider for apk at all. This package restores it.

It matters now because OpenWrt 25.12 switched its package manager from opkg to apk: Salt 3008 minions on OpenWrt have no working pkg module without this.

What differs from the original

The first commit is the verbatim v3007.14 module, so the git history shows every change since. On top of that:

  • __virtual__ loads the module as pkg on any host where salt.utils.path.which("apk") finds an apk executable on PATH — covering OpenWrt (grain os_family: OpenWrt) as well as Alpine. The upstream module only enabled on os_family == "Alpine", so OpenWrt previously needed a providers: pkg: apkpkg override; with this it doesn't.
  • list_pkgs uses apk list --installed --manifest instead of fragile string-splitting. The original assumed Alpine's name + X.Y.Z-rN form and mis-parsed packages whose names contain hyphens or whose versions lack a -rN suffix — e.g. luci-app-mwan3 25.360.65088~78a62f2, which it recorded under the wrong name so pkg.installed could never confirm it.

Install

Into the same environment as Salt (onedir / uv / system):

salt-pip install saltext-apk

or as a Salt state:

saltext.apk:
  pip.installed:
    - bin_env: /usr/bin/salt-pip

Once installed, it loads as the pkg provider on any minion with an apk executable on PATH.

License

Apache-2.0 — the same license as the Salt code it derives from; see LICENSE. The apkpkg module is derived from SaltStack's salt/modules/apkpkg.py; copyright of the original portions remains with the SaltStack authors.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

saltext_apk-0.3.2.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

saltext_apk-0.3.2-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file saltext_apk-0.3.2.tar.gz.

File metadata

  • Download URL: saltext_apk-0.3.2.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for saltext_apk-0.3.2.tar.gz
Algorithm Hash digest
SHA256 6e4c47e7a7d47efb92c0feff6f3b5f7d70f458a585d6a13f75b71c3eae2c0bdd
MD5 72d13daf1da8bfc4eb63c55a615b590a
BLAKE2b-256 0bc91f0d33f50e309034f1afcb24571122affee2ad6a91d3363e15a64d232e75

See more details on using hashes here.

File details

Details for the file saltext_apk-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: saltext_apk-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for saltext_apk-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 08d189483f6d90ecbfe8de60571a06fe7a15b8d4916050611b22a89c4e297bd0
MD5 d5b1f2512a6e4e48d75cab4cb3f07a99
BLAKE2b-256 de3611eb3f2fa575613630dcbbeb38161f59cd766cced2e53fd675e2c63122e1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page