Skip to content

chore(deps): update inspektor-gadget and ebpf forks - #832

Closed
matthyx wants to merge 2 commits into
mainfrom
update-inspektor-gadget-fork
Closed

chore(deps): update inspektor-gadget and ebpf forks#832
matthyx wants to merge 2 commits into
mainfrom
update-inspektor-gadget-fork

Conversation

@matthyx

@matthyx matthyx commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Changes

Update the inspektor-gadget and cilium/ebpf fork replace directives to use the latest versions.

inspektor-gadget fork

  • Updated to matthyx/inspektor-gadget@use-this-one branch (pseudo-version v0.0.0-20260605141120-3ec13683f126)
  • This picks up the latest upstream changes including the ECS fix from PR #5295

cilium/ebpf fork

  • Rebased the custom patch (refactor: remove global BTF cache and allow passing one using CollectionOptions) onto v0.21.0 (new branch: matthias/weak-kernel-btf-cache-v0.21.0)
  • This was necessary because the updated inspektor-gadget fork requires cilium/ebpf v0.21.0 which changed the btf.NewBuilder API signature (added BuilderOptions parameter)

Dependency upgrades

  • Kubernetes: Upgraded to v0.36.1 (k8s.io/api, k8s.io/apimachinery, k8s.io/client-go, k8s.io/kubectl) to match inspektor-gadget fork requirements
  • Docker/Moby: Excluded github.com/moby/moby v28.5.2+incompatible to resolve ambiguous import with the new modular github.com/moby/moby/client package (Docker v29 migration)
  • Go version: Bumped from 1.25.8 to 1.26.0 (required by updated inspektor-gadget)
  • Various transitive dependency upgrades (go-containerregistry, logrus, docker/cli, etc.)

Verified

  • go mod tidy
  • go build ./...

Summary by CodeRabbit

  • Chores
    • Updated Go runtime to version 1.26.0
    • Upgraded core dependencies including Kubernetes-related modules, container runtime packages, and logging libraries to latest compatible versions

@coderabbitai

coderabbitai Bot commented Jun 5, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@matthyx, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 43 minutes and 6 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5cd53fb3-e4e7-446a-929e-5a760c2bdba4

📥 Commits

Reviewing files that changed from the base of the PR and between 32d5739 and 93e5338.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (9)
  • .github/workflows/benchmark.yaml
  • .github/workflows/bypass.yaml
  • .github/workflows/component-tests.yaml
  • .github/workflows/pr-created.yaml
  • .github/workflows/pr-merged.yaml
  • build/Dockerfile
  • build/Dockerfile.debug
  • go.mod
  • pkg/watcher/dynamicwatcher/watch_test.go
📝 Walkthrough

Walkthrough

Go version upgraded to 1.26.0 with comprehensive dependency bumps across direct and indirect modules. Key updates include Kubernetes ecosystem (api, apimachinery, client-go), container tooling (cilium/ebpf, moby, containerd), observability (OpenTelemetry), and logging (sirupsen/logrus). Module graph resolution adjusted via replace directives for inspektor-gadget and cilium/ebpf to matthyx versions.

Changes

Go and Dependency Ecosystem Upgrade

Layer / File(s) Summary
Go version and core logging/eBPF infrastructure
go.mod
Go runtime upgraded from 1.25.8 to 1.26.0; direct dependencies bumped for cilium/ebpf (v0.20.0→v0.21.0), google/go-containerregistry (v0.20.7→v0.21.3), kubescape/go-logger (v0.0.32→v0.0.33), and sirupsen/logrus (pseudo-version→v1.9.4).
Kubernetes and protocol buffer ecosystem
go.mod
Upgraded google.golang.org/protobuf and multiple Kubernetes modules (k8s.io/api, k8s.io/apimachinery, k8s.io/client-go, k8s.io/cri-api, k8s.io/kubectl) to newer versions.
Container runtime and Docker ecosystem
go.mod
Updated indirect dependencies in containerd/stargz-snapshotter, coreos/go-systemd, and Docker modules; restructured moby/moby from single entry to specific moby/moby/api and moby/moby/client versions.
Observability and security dependencies
go.mod
Bumped OpenTelemetry HTTP instrumentation (v0.63.0→v0.65.0), in-toto/attestation (v1.1.2→v1.2.0), sigstore/protobuf-specs (v0.5.0→v0.5.1); removed otel/log/logtest from indirect block; updated google/pprof, gorilla/websocket, and grafana/pyroscope-go.
Supporting transitive dependencies and cleanup
go.mod
Updated asn1-ber, ldap/v3, mapstructure/v2, and godbus/dbus/v5 indirect dependencies; removed mxk/go-flowrate.
Module graph resolution directives
go.mod
Updated Kubernetes indirect module versions to v0.35.4 variants; changed replace directives for github.com/inspektor-gadget/inspektor-gadget and github.com/cilium/ebpf to new github.com/matthyx/* pseudo-version hashes; moby/moby exclusion remains.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • kubescape/node-agent#786: Both PRs update go.mod replace directives for github.com/inspektor-gadget/inspektor-gadget and github.com/cilium/ebpf to point to new github.com/matthyx/* fork versions.
  • kubescape/node-agent#704: Both PRs update go.mod dependency versions and replace directives including OpenTelemetry and OTLP-related modules without modifying application code.
  • kubescape/node-agent#782: Both PRs upgrade go.mod dependencies including github.com/kubescape/go-logger and other shared Go module versions.

Suggested labels

release

Poem

🐰 A hop through the version tree,
Go 1.26, dependencies free,
Kubernetes, eBPF, and observability,
Container tools tuned with agility,
Dependencies dance in perfect spree! 🌟

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: updating forked dependencies (inspektor-gadget and cilium/ebpf), which is the primary purpose reflected in the PR objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch update-inspektor-gadget-fork

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

matthyx and others added 2 commits June 5, 2026 17:03
Update the inspektor-gadget fork replace directive to use the latest
use-this-one branch (v0.0.0-20260605141120-3ec13683f126).

Update the cilium/ebpf fork to a new v0.21.0-based branch
(matthias/weak-kernel-btf-cache-v0.21.0) to resolve API incompatibility
with the updated inspektor-gadget fork (btf.NewBuilder signature change).

Upgrade Kubernetes dependencies to v0.36.1 to match the inspektor-gadget
fork requirements (k8s.io/api/scheduling/v1alpha1 was removed in v0.36.1,
requiring k8s.io/kubectl upgrade to v0.36.1 as well).

Exclude github.com/moby/moby v28.5.2+incompatible to resolve ambiguous
import with the new github.com/moby/moby/client module used by
inspektor-gadget's Docker v29 migration.

Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Bump golang base image to 1.26-trixie and CI GO_VERSION to 1.26 since
go.mod now requires go >= 1.26.0 (golang images pin GOTOOLCHAIN=local).

Fix dynamicwatcher tests: the client-go v0.36 fake tracker rejects the
storage-specific "fullSpec" resource version, so bypass the list
options in a watch reactor to keep the traditional watch behavior.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
@matthyx
matthyx force-pushed the update-inspektor-gadget-fork branch from 32d5739 to 93e5338 Compare June 5, 2026 15:03
@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown

Performance Benchmark Results

Node-Agent Resource Usage
Metric BEFORE AFTER Delta
Avg CPU (cores) 0.200 0.197 -1.4%
Peak CPU (cores) 0.209 0.206 -1.4%
Avg Memory (MiB) 338.353 297.763 -12.0%
Peak Memory (MiB) 341.977 301.469 -11.8%
Dedup Effectiveness

No data available.

@matthyx matthyx moved this to WIP in KS PRs tracking Jun 9, 2026
@matthyx matthyx closed this Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: WIP

Development

Successfully merging this pull request may close these issues.

1 participant