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).

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.1.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.1-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: saltext_apk-0.3.1.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.1.tar.gz
Algorithm Hash digest
SHA256 90fe4292f92d2fa41caf576459547cbf6c21f16af53bf9a1ec82b1463ca9c84e
MD5 0daaa84141c00709924d8cc83a991193
BLAKE2b-256 755ecd302da33ca17a18a2fb7969bfa01b162cf50c9d989c78738b425d0b346d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: saltext_apk-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 11.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 80500b58ead42625b9c88c12d4090f813cecea00ce4431b20b5c4d468dd732c7
MD5 79c082fc0781907b6c330597001f2460
BLAKE2b-256 29c92103d915591142e43a65873c523021cb1de1d63bfcae5d2e36a56ccc6b05

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