Skip to content

feat(monitoring-plugins): build the Linuxfabrik Monitoring Plugins here - #56

Merged
markuslf merged 3 commits into
mainfrom
feat/monitoring-plugins
Oct 27, 2026
Merged

markuslf merged 3 commits into
mainfrom
feat/monitoring-plugins

Conversation

@markuslf

Copy link
Copy Markdown
Member

Builds on #55, which publishes these packages to repo.linuxfabrik.ch/monitoring-plugins/ as well until 2026-12-31 (deployed on 001-p-repo51).

The RPM and DEB build of the Linuxfabrik Monitoring Plugins moves here from Linuxfabrik/monitoring-plugins. The packages go to the Linuxfabrik repository (set up by linuxfabrik-release) and, until 2026-12-31, to the former tree too. First version: 8.1.0.

Changes

  • packages/monitoring-plugins/: one spec for EL and SLE (-selinux subpackage on EL only), debian/ from the former MP build, and the venv and plugin install scripts in files/. Dependencies come hash-pinned from the MP lockfiles; the bytecode is compiled for the paths on the host (monitoring-plugins#1543). No debug packages.
  • Targets: RHEL 8 to 10, SLES and openSUSE Leap 15 and 16, Debian 11 to 13, Ubuntu 22.04 to 26.04, each on x86_64 and aarch64. Fedora stays out for now.
  • debian-v11 is a target again, built from snapshot.debian.org, also for linuxfabrik-release.
  • CONTRIBUTING: a distribution release stays a target until six months after its vendor stops free updates (paid extensions do not count), with the date list.
  • smoke-test-package.sh mounts packages/<name>/files as /files; the MP smoke test checks every .pyc and starts every plugin with --version.

Tests

  • x86_64 and aarch64, all 11 targets: 325 plugins start, 0 corrupt or outdated .pyc.
  • Compared with the former MP build on the same source: Rocky 9 identical (NEVRA included), SLES 15 differs in the .sle15 release only, Debian 13 in the +debian13 version suffix, the Source: field and 2 KB Installed-Size. The new versions sort higher, so hosts upgrade.
  • Upgrade on fresh VMs of all 11 templates: 8.0.0 from the former repository, then a local 8.0.1 build, then removal. All exit 0. 325/325 plugins and 0 corrupt .pyc after the upgrade (8.0.0 RPMs had all of them corrupt). On Rocky 8 to 10 in enforcing mode, the SELinux module stays loaded, labels unchanged, 0 AVCs, -selinux upgraded along. The logging sudoers drop-in is installed with sudo and left out with sudo-rs (Ubuntu 26.04). Nothing is left after removal.

Move the RPM/DEB build of linuxfabrik-monitoring-plugins from the
monitoring-plugins repository into this one (GitLab
001/project-big-picture#650, phase 5). The recipes follow
monitoring-plugins main:

- one spec for EL and SLE instead of two, the -selinux sub-package on EL
  only, the venv interpreter chosen per distro in the spec
- debian/ with the source name monitoring-plugins, the binary package
  keeps its name
- files/install-venv.sh creates the venv and installs the hash-pinned
  lockfile of its interpreter, files/install-plugins.sh places plugins,
  assets and the snmp device data
- the smoke test checks every .pyc in the venv and starts every plugin;
  build/smoke-test-package.sh mounts the package's files/ at /files for
  that

Targets follow ROADMAP.md of monitoring-plugins, so the rule for how
long a distribution release stays a target is now the same for every
package here: six months past the vendor date, paid extensions do not
count. Debian 11 is a target again until 2027-02-28, with apt switched
to snapshot.debian.org in the build container and in the smoke test,
and linuxfabrik-release is built for it as well.

PKG_VERSION stays at 8.0.0 until the next monitoring-plugins release:
the v8.0.0 tag predates the SELinux CIL module and the logging sudoers
the recipes install, so this cannot be merged before that release.
SLE 16 builds -debuginfo and -debugsource by default and debhelper a
-dbgsym package on Debian; the release workflow would publish all of
them. The only binaries are the shared objects of the upstream wheels in
the venv, and the release process of monitoring-plugins published the
main packages only, so turn both off.
@markuslf
markuslf merged commit 4b0c2b2 into main Oct 27, 2026
151 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant