
How GitHub uses eBPF to improve deployment safety
4/16/2026
This post introduces the use of eBPF to prevent circular dependencies during deployments. It details the architecture involving `BPF_PROG_TYPE_CGROUP_SKB` for network egress filtering and `BPF_PROG_TYPE_CGROUP_SOCK_ADDR` for DNS interception. The implementation uses the `cilium/ebpf` Go library and a userspace DNS proxy. It also describes how to correlate blocked DNS requests with PIDs and command lines using eBPF maps.