Repository navigation
fix(device-plugin): run the OpenHands rebuild of generic-device-plugin - #1378
Draft
aivong-openhands wants to merge 2 commits into
Draft
aivong-openhands wants to merge 2 commits into
aivong-openhands wants to merge 2 commits into
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The
device-pluginsubchart runsghcr.io/squat/generic-device-plugin:2cc50b0, upstream's latest image (2026-05-15). Trivy reports 25 high findings on it with fixes available, in Go 1.26.2,grpc,golang.org/x/netandgolang.org/x/text; four are real exposures (an HTTP/2 denial of service on the plugin's:8080health/metrics port, reachable from other pods, and three gRPC denial-of-service bugs on the kubelet socket), and the plugin runs privileged on sandbox nodes. Upstream has had no commits or image releases in five months (last commit and image 2026-05-15), and its open dependency PRs, including thegrpcandx/netbumps, have sat unmerged since July, so waiting for an upstream image is not an option.This points the subchart at
ghcr.io/openhands/generic-device-plugin:5cb2f8c, built from the OpenHands fork (OpenHands/generic-device-plugin#1): upstream2cc50b0with Go 1.26.9,grpc1.83.2,x/net0.60.0 andx/text0.42.0, same binary path and entrypoint, plusLICENSEand dependency NOTICE files. The Replicated values override only the image repository, so they move to the fork through the same proxy prefix as the otherghcr.io/openhandsimages; leaving them on squat's repository would have requested a tag that does not exist there. The plugin staysenabled: falseby default.Validation
ghcr.io/squat/generic-device-plugin:2cc50b0reports 0 critical / 25 high (all fixable); the publishedghcr.io/openhands/generic-device-plugin:5cb2f8creports 0 / 0 for both linux/amd64 and linux/arm64, and pulls anonymously.squat.ai/fuse: 256, and a non-root pod with all capabilities dropped requestedsquat.ai/fuse: 1, received/dev/fuseand opened it read-write;/healthreturned 200 and/metricsreportedgo_info{version="go1.26.9"}. The fork's CI also runs upstream's Go suite, including its kind-based end-to-end test, on the bumped dependencies.helm unittestfor the subchart (7 tests),helm lintwithdevice-plugin.enabled=true, and the Replicated template tests (scripts/test_replicated_*.py,scripts/test_*template*.py, 142 tests) pass.Helm Chart Checklist
squat.ai/*, andsmarter-devices/kvmin Replicated) and args are unchanged.device-plugin.imagestill wins.This PR was drafted by an AI agent on behalf of the user.