ci: non-blocking build-on-target eBPF kernel-compatibility lane (system_monitor) - #2809
Open
ErenAri wants to merge 2 commits into
Open
ci: non-blocking build-on-target eBPF kernel-compatibility lane (system_monitor)#2809ErenAri wants to merge 2 commits into
ErenAri wants to merge 2 commits into
Conversation
Signed-off-by: Eren Ari <erenari27@gmail.com>
Signed-off-by: Eren Ari <erenari27@gmail.com>
ErenAri
requested review from
Aryan-sharma11,
AryanBakliwal and
achrefbensaad
as code owners
July 26, 2026 19:25
Author
|
hello can you look at it @parisnakitakejser @legorie @asharma0703 @asifalix |
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.
This is the small, non-blocking proof-of-concept lane I offered in #2683.
It answers one narrow question on a schedule: does
system_monitor.bpf.ostillbuild and load across a set of real vendor distro kernels? For each kernel it
boots a disposable VM, installs the toolchain, builds
system_monitor.bpf.oagainst that kernel's own BTF (matching KubeArmor's per-node build model -
the BPF Makefile builds with CO-RE access-index preservation off), then loads it
with the
kubearmor_visibilityHASH_OF_MAPSinner map installed as the loaderwould, and produces a classified JSON/Markdown report.
Green run on GitHub-hosted runners (my fork), all four kernels:
https://github.com/ErenAri/KubeArmor/actions/runs/30216558482
Scope and honesty, following our discussion in #2683:
KubeArmor functional/E2E tests; this narrowly checks that the BPF object still
builds+loads on vendor kernels and classifies why if it doesn't.
workflow_dispatchonly, no PR/push trigger.KubeArmor's runtime loader is cilium/ebpf. A libbpf load-pass is a strong
signal but not identical. A natural follow-up is to swap in a small
KubeArmor-owned cilium/ebpf self-test via the same command mode (verdict =
exit code), which would exercise the real loader path.
predates raw-BTF dump, so
bpftool btf dump file /sys/kernel/btf/vmlinux format cfails there - KubeArmor's own build hits the same on focal.Disclosure: I maintain bpfcompat. Happy to adjust the kernel set or cadence,
rework it as the cilium/ebpf self-test variant, or drop it - whatever is most
useful. No obligation either way.