You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(deps): move per-Python lockfiles into lockfiles/pyXX/ subdirs
Each `lockfiles/pyXX/` directory is a separate Dependabot watchpoint,
which lets the py39 entry carry a permanent `ignore: urllib3 >= 2.7.0`
rule (urllib3 2.7.0 dropped Python 3.9) without holding back the
other interpreters. py39 lockfile regenerated with urllib3 2.6.3.
Windows lockfile follows the same scheme: `lockfiles/py313-windows/
requirements.txt`. All build/install scripts, GitHub workflows,
container fixtures (cpu-usage, strongswan-connections, users) and
docs (INSTALL.md, BUILD.md, CONTRIBUTING.md, tox.ini) updated to
the new paths.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,8 +21,8 @@ Monitoring Plugins:
21
21
22
22
Build, CI/CD:
23
23
24
-
* requirements: one hash-pinned lockfile per supported Python LTS (`requirements-py39.txt` to `-py314.txt`) replaces the single `requirements.txt`. Windows uses `requirements-py313-windows.txt`
25
-
* requirements: build scripts auto-detect the Python version and pick the matching file. urllib3 lands at 2.7.0 on Python 3.10+, closing two of the four Dependabot advisories
24
+
* requirements: one hash-pinned lockfile per supported Python LTS, each in its own `lockfiles/pyXX/` subdirectory (`py39` to `py314`). Replaces the single `requirements.txt`. Windows uses `lockfiles/py313-windows/requirements.txt`
25
+
* requirements: build scripts auto-detect the Python version and pick the matching file. urllib3 lands at 2.7.0 on Python 3.10+, closing two of the four Dependabot advisories; the `py39` lockfile pins urllib3 to 2.6.x via Dependabot ignore (urllib3 2.7.0 requires Python 3.10+)
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -158,7 +158,7 @@ When creating a new plugin, make sure to deliver:
158
158
* README file explaining "How?" and "Why?"
159
159
* A free, monochrome, transparent SVG icon from <https://simpleicons.org> or <https://fontawesome.com/search?ic=free>, placed in the `icon` directory.
160
160
* Optional: `unit-test/run` - the unittest file (see [Unit Tests](#unit-tests))
161
-
* Optional: extend the repo-root `requirements.in` with new Python deps; the per-Python lockfiles `requirements-pyXX.txt` are regenerated from it
161
+
* Optional: extend the repo-root `requirements.in` with new Python deps; the per-Python lockfiles under `lockfiles/pyXX/requirements.txt` are regenerated from it
162
162
* If providing performance data: Grafana dashboard (see [GRAFANA.md](GRAFANA.md)) and `.ini` file for the Icinga Web 2 Grafana Module
163
163
* Icinga Director Basket Config for the check plugin (`build-basket`)
164
164
* Icinga Service Set in `all-the-rest.json` if appropriate (see [Service Set vs. Service Template](#service-set-vs-service-template))
@@ -1040,7 +1040,7 @@ The canonical distro matrix is the cpu-usage `CONTAINERFILES` list. **Where poss
1040
1040
1041
1041
Rules and tips:
1042
1042
1043
-
***Reuse cpu-usage's `containerfiles/`** as a starting point for a new plugin - the per-distro bootstrap (pacman / apt / dnf / zypper + venv + `pip install -r requirements-pyXX.txt --require-hashes`, where `pyXX` matches the distro's Python LTS) is identical, only the bind-mount path for the plugin script changes.
1043
+
***Reuse cpu-usage's `containerfiles/`** as a starting point for a new plugin - the per-distro bootstrap (pacman / apt / dnf / zypper + venv + `pip install -r lockfiles/pyXX/requirements.txt --require-hashes`, where `pyXX` matches the distro's Python LTS) is identical, only the bind-mount path for the plugin script changes.
1044
1044
***`clean_up=False` on `DockerImage`**. Testcontainers' default cleans up the built image and prunes dangling parent layers on exit, which turns every run into a full rebuild. `clean_up=False` keeps the image around so subsequent runs hit podman's layer cache and finish in seconds.
1045
1045
***`,Z` on bind mounts**. On SELinux-enforcing hosts (RHEL, Fedora, Rocky) unrelabelled bind mounts are denied by the container runtime. `mode='ro,Z'` relabels the source so the container can read it; without the `Z` flag the plugin inside the container sees "Permission denied" on `import lib`.
1046
1046
***Rootless podman caveats** - same as for the service-container pattern: `TESTCONTAINERS_RYUK_DISABLED=true` must be set, `CONTAINER_HOST` / `DOCKER_HOST` must point at the rootless socket. `tools/run-unit-tests` does this automatically.
0 commit comments