Skip to content

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

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

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
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