Problem
eBPF ekipleri dogrulayici, BTF veya CO-RE uyumluluk hatalarini cogu zaman ancak musteri cekirdegine dagitimdan sonra gorur.
Açık kaynaklı bir eBPF uyumluluk doğrulayıcısı: gerçek Linux çekirdeklerini tek kullanımlık sanal makinelerde başlatır, derlenmiş BPF programlarınızı her birinin içinde yükler ve CI'nızı yapıt-çekirdek geçti/kaldı matrisi üzerinden denetler.
eBPF ekipleri dogrulayici, BTF veya CO-RE uyumluluk hatalarini cogu zaman ancak musteri cekirdegine dagitimdan sonra gorur.
Go orkestrator tek kullanimlik QEMU/KVM Linux konuklari baslatir, derlenmis BPF yapitlarini C/libbpf dogrulayici ile yukler ve sonuclari cekirdek profiline gore toplar.
Uyumluluk kontrolleri uretim sunuculari yerine tek kullanimlik katmanlarda calisir. Cekirdek dogrulayici otorite kabul edilir ve CI gerileme kanitinda durur.
Proje cekirdek uyumlulugunu yapit-cekirdek bazli gecis/kalma matrisiyle tekrar edilebilir bir CI kapisina donusturur.
Her konuğun içinde çalışan bir C/libbpf doğrulayıcısıyla birlikte Go ile yazılmıştır. bpfcompat her çekirdek profili için bir bulut imajından tek kullanımlık bir QEMU/KVM örtüşme VM'i başlatır (Ubuntu ve Fedora, 5.x–6.x, x86_64 ve ARM64), ardından her programı gerçekten yükleyip bağlar — BTF durumunu, CO-RE yer değiştirmelerini ve yetenek kontrollerini kaydeder. Sonuçlar bir geçti/kaldı matrisine toplanır ve çıkış kodu 2, CI denetimi için bir uyumluluk gerilemesini işaretler.
Çekirdek uyumsuzluklarını üretimde keşfetmeyi bırakın. bpfcompat, eBPF programlarınızın gönderim yaptığınız her çekirdekte yüklendiğini — kullanıcılarınızdan önce, CI içinde — tahmin yerine doğrulanabilir kanıtlarla kanıtlar.