DEP-91 (1/5): agent-tools: drop kernel-header CVEs and modernize clean train - #1684
DEP-91 (1/5): agent-tools: drop kernel-header CVEs and modernize clean train#1684racerxdl wants to merge 2 commits into
Conversation
PR Summary by Qodoagent-tools: remove kernel-header deps and centralize clean-train versions
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Code Review by Qodo
1.
|
01eadd1 to
48d32b1
Compare
Migration Safety AnalysisNo database migrations were changed in this PR. Safe to deploy to sandbox. |
Migration Safety AnalysisCheck for:
Automated analysis by Migration Safety Check. |
📋 API ChangelogAPI Changelog unknown vs. unknownAPI ChangesGET /access-requests/rules
POST /access-requests/rules
GET /access-requests/rules/{name}
PUT /access-requests/rules/{name}
GET /connection-credentials
|
|
✅ Build Completed with Success, Version=1684.0.0-g48d32b1 |
1 similar comment
|
✅ Build Completed with Success, Version=1684.0.0-g48d32b1 |
Part of DEP-91. - Remove python3-dev, libelf-dev, elfutils and alien; swap unixodbc-dev for the runtime unixodbc; move python3-pip to --no-install-recommends; add xz-utils explicitly. Eliminates the linux-libc-dev source (~891 findings) on both trains with no tool loss. - Make tool versions ARG-driven: legacy keeps current pins for backward compatibility; the clean train builds the latest versions from a single source in the agent-tools workflow. 🤖 Generated with Mister Maluco Co-Authored-By: MisterMal <teskeslab@lucasteske.dev>
Removing python3-dev, unixodbc-dev, alien, elfutils and libelf-dev cut the kernel-header CVEs, but agent-tools is the base of hoophq/hoopdev, and published images built on it pip-install native extensions (pyodbc, pymssql) that compile from source when no wheel matches. Dropping the headers from the default train breaks those builds on their next base bump. Gate them behind INCLUDE_BUILD_HEADERS instead: legacy keeps them, the opt-in clean train drops them. CI asserts both halves of the contract on both architectures, and DEV.md documents what switching trains costs and what has to happen before the legacy default can change. Verified: legacy builds pyodbc from source, clean fails the same build. 🤖 Generated with Mister Maluco Co-Authored-By: MisterMal <teskeslab@lucasteske.dev>
|
✅ Build Completed with Success, Version=1684.0.0-g0473ea4 |
Stack (DEP-91)
Split from #1662 for reviewability, then rescoped:
mainhas since landed #1681 (dependency/toolchain CVEs) and #1693 (hoophq/hoopagent), which superseded two PRs of the original stack.DEP-91 (1/7): bump Go dependencies and toolchain for CVE fixes #1683 — Go dependency + toolchain CVE bumps— closed, superseded by fix(deps): patch govulncheck vulnerabilities and align CI toolchain to go1.26.5 #1681DEP-91 (3/7): add opt-in hoophq/hoopdev-minimal agent image #1685 — opt-in— closed, superseded by feat(agent): add hoophq/hoopagent image with minimal and distroless flavours #1693hoophq/hoopdev-minimalDEP-91 (1/5): agent-tools: drop kernel-header CVEs and modernize clean train #1684 — 1. agent-tools: drop kernel-header CVEs, modernize clean train ← you are here
DEP-91 (2/5): gate hoopagent vulnerabilities and add govulncheck #1686 — 2. Vulnerability gates for hoopagent + govulncheck
DEP-91 (3/5): attach SBOM and bundled-tool manifest to releases #1687 — 3. SBOM + bundled-tool manifest on releases
DEP-91 (4/5): weekly base-OS rebuild of hoophq/hoopagent #1688 — 4. Weekly base-OS rebuild of hoopagent
DEP-91 (5/5): harden image release integrity #1689 — 5. Image release integrity hardening
Merge in order, bottom-up. Each PR targets the one below it.
The remaining work is what
mainstill lacks: the fat image's kernel-header CVEs, and any vulnerability gate, SBOM, or scheduled OS patching forhoophq/hoopagent.What
Removes build-only packages from the
agent-toolsbase image (the base ofhoophq/hoopdev) and modernizes the clean train.alien,elfutils,libelf-dev,python3-dev— they pulled inlinux-libc-dev(kernel headers, ~891 findings) andlibc6-devwith no runtime use.groffandpython3-pipwith--no-install-recommends.xz-utilsexplicitly (previously transitive via the removed packages).unixodbcinstead of-devheaders.KUBECTL/SQLCMD/MONGOSH/MONGODB_TOOLSversions ARG-driven so the legacy and clean trains can diverge.Why
Kernel headers were the single largest CVE contributor in the fat image and were never needed at runtime — every bundled CLI is prebuilt.
hoophq/hoopagent(#1693) does not help here:hoophq/hoopdevis a separate image that many deployments still need for exec-based connections and RDP, andmainstill installs all four packages.Risk
Legacy-train pins are unchanged, so
hoophq/hoopdevkeeps its current tool versions. The workflow asserts train contents (legacy keeps the legacy mongo shell; clean ships onlymongosh).How to test
Expected: no
linux-libc-dev; every bundled client still works.Part of DEP-91.
Automated by MisterMal