github.com/cilium/ebpf@v0.15.1-0.20240517100537-8079b37aa138/docs/ebpf/users.md (about) 1 # Projects built with {{ proj }} 2 3 Below is a non-comprehensive list of open-source software built with {{ proj }}, 4 just for inspiration or to gain a better understanding of how to tackle certain 5 problems using eBPF. 6 7 A list of :fontawesome-brands-golang: {{ proj }} importers can be found on 8 [Sourcegraph]. 9 If you'd like to include a project on this page, feel free to open a pull request. 10 11 [`Cilium`](https://github.com/cilium/cilium) 12 13 : Kubernetes-oriented Container Networking Interface implementation providing 14 network policy and observability. 15 16 [`containerd`](https://github.com/containerd/cgroups) & [`runc`](https://github.com/opencontainers/runc) 17 18 : Used by Docker and podman, these use eBPF for implementing device filters 19 in cgroups. 20 21 [`coroot`](https://github.com/coroot/coroot) 22 23 : Zero-instrumentation observability featuring root cause analysis and 24 anomaly detection. 25 26 [`datadog-agent`](https://github.com/DataDog/datadog-agent) 27 28 : The Datadog agent, the component responsible for collecting system and 29 application metrics and shipping them to the Datadog platform. 30 31 [`Delve`](https://github.com/go-delve/delve) 32 33 : A debugger for the Go programming language. Uses eBPF uprobes for tracing 34 user space code execution. 35 36 [`gVisor`](https://github.com/google/gvisor) 37 38 : gVisor relies on eBPF for implementing various forms of guest/workload 39 isolation and security. 40 41 [`Inspektor Gadget`](https://github.com/inspektor-gadget/inspektor-gadget) 42 43 : A collection of tools to debug and inspect Kubernetes resources and 44 applications. Reimplements many of the BCC tools for easy deployment onto a 45 Kubernetes cluster. 46 47 [`Istio`](https://github.com/istio/istio) 48 49 : In Istio’s ambient mode, eBPF is used for redirecting application traffic to 50 the zero-trust tunnel on the node. 51 52 [`KubeArmor`](https://github.com/kubearmor/KubeArmor) 53 54 : KubeArmor allows restricting the behaviour of Pods, containers and 55 Kubernetes nodes at the system level. 56 57 [`kube-proxy-ng`](https://github.com/kubernetes-sigs/kpng) 58 59 : Emerging eBPF-based `kube-proxy` implementation, developed by the upstream 60 Kubernetes project. 61 62 [`OpenShift`](https://github.com/openshift/ingress-node-firewall) 63 64 : OpenShift's ingress node firewall is implemented using eBPF. 65 66 [`pwru`](https://github.com/cilium/pwru) 67 68 : Packet, where are you? `tcpdump`, but for tracing a packet's journey through 69 the kernel. 70 71 [`Pyroscope`](https://github.com/grafana/pyroscope) 72 73 : From Grafana, open source continuous profiling platform. Flame graphs! 74 75 [`Tetragon`](https://github.com/cilium/tetragon) 76 77 : eBPF-based security framework, also providing observability and runtime 78 enforcement. 79 80 [`Tubular`](https://github.com/cloudflare/tubular) 81 82 : From Cloudflare, bind a service to any IP or port. See [the announcement 83 blog 84 post](https://blog.cloudflare.com/tubular-fixing-the-socket-api-with-ebpf/) 85 for a deep dive into why it was created and how it works. 86 87 [Sourcegraph]: https://sourcegraph.com/search?q=context:global+lang:Go+type:file+github.com/cilium/ebpf+-repo:%5Egithub%5C.com/cilium/ebpf%24+-path:%5Evendor/+select:repo+&patternType=standard&sm=1&groupBy=repo