SaaSHub helps you find the best software and product alternatives Learn more β
Top 23 Go Ebpf Projects
-
ebpf
ebpf-go is a pure-Go library to read, modify and load eBPF programs and attach them to various hooks in the Linux kernel.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
coroot
Coroot is an open-source APM & Observability tool, a DataDog and NewRelic alternative π, π₯οΈ, π. Powered by eBPF for rapid insights into system performance. Monitor, analyze, and optimize your infrastructure effortlessly for peak reliability at any scale.
-
odigos
Distributed tracing without code changes. π Instantly monitor any application using OpenTelemetry and eBPF
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
KubeArmor
Runtime Security Enforcement System. Workload hardening/sandboxing and implementing least-permissive policies made easy leveraging LSMs (BPF-LSM, AppArmor).
-
parca-agent
eBPF based always-on profiler auto-discovering targets in Kubernetes and systemd, zero code changes or restarts needed!
-
eBPF-Guide
eBPF (extended Berkeley Packet Filter) Guide. Learn all about the eBPF Tools and Libraries for Security, Monitoring , and Networking.
-
btfhub
BTFhub, in collaboration with the BTFhub Archive repository, supplies BTF files for all published kernels that lack native support for embedded BTF. This joint effort ensures that even kernels without built-in BTF support can effectively leverage the benefits of eBPF programs, promoting compatibility across various kernel versions.
-
nhi
:tv: Automatically capture all potentially useful information about each executed command (as well as its output) and get powerful querying mechanism
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Cisco to Acquire Cloud Native Networking and Security Leader Isovalent | news.ycombinator.com | 2023-12-21They would have had to add a few externals to get to Graduated but it's definitely a minority:
https://github.com/cilium/cilium/blob/main/MAINTAINERS.md
Oh, no I don't mean that arbitrary Go compiles to eBPF. Apologies if I gave that impression. I meant that there are libraries that let you compose eBPF programs in other languages. But you're still putting together an eBPF program, just like you can assemble JSON with Go but you can't compile an arbitrary Go program to JSON.
Cilium's eBPF library is the Go one I had in mind: https://github.com/cilium/ebpf
Here's an example from that repo: https://github.com/cilium/ebpf/tree/main/examples/ringbuffer
Project mention: Coroot: Open-source alternative to Datadog/NewRelic | news.ycombinator.com | 2024-04-24
Project mention: Architecting for Resilience: Crafting Opinionated EKS Clusters with Karpenter & Cilium Cluster Mesh β Part 1 | dev.to | 2023-10-31Since we installed Hubble on the cluster, Letβs check its cool UI and see how the traffic flows between the pods. To do so, letβs run:
Welcome π to this blog. Did you want to use odigos on your Ubuntu machine but don't know how to start? Then this blog will definitely help you and it also helps you to understand the basic aspect of the odigos project.
Project mention: A Linux high-performance transparent proxy solution based on eBPF | news.ycombinator.com | 2024-01-09
Project mention: Requirement for cross-cluster communication in Kubernetes (K8s) | /r/kubernetes | 2023-12-08Feel free to take a look at this project
If that's true, you should probably update the docs. Everything I could find implied dotnet, jvm, python were still unsupported. For example, the roadmap section of the readme mentions most of these but nothing mentions dotnet. However I did find your tickets and a demo being merged in which makes it seem maybe supported?
Ticket: https://github.com/parca-dev/parca-agent/issues/161
Demo: https://github.com/parca-dev/parca-demo/pull/18
Project mention: Grant Kubernetes Pods Access to AWS Services Using OpenID Connect | dev.to | 2024-04-22resource "tls_private_key" "this" { algorithm = "ECDSA" ecdsa_curve = "P384" } resource "hcloud_ssh_key" "this" { name = var.stack_name public_key = tls_private_key.this.public_key_openssh } resource "hcloud_server" "this" { name = var.stack_name server_type = "cax11" image = "ubuntu-22.04" location = "nbg1" ssh_keys = [ hcloud_ssh_key.this.id, ] public_net { ipv4 = hcloud_primary_ip.this["ipv4"].id ipv6 = hcloud_primary_ip.this["ipv6"].id } user_data = <<-EOF #cloud-config users: - name: ${var.username} groups: users, admin, adm sudo: ALL=(ALL) NOPASSWD:ALL shell: /bin/bash ssh_authorized_keys: - ${tls_private_key.this.public_key_openssh} packages: - certbot package_update: true package_upgrade: true runcmd: - sed -i -e '/^\(#\|\)PermitRootLogin/s/^.*$/PermitRootLogin no/' /etc/ssh/sshd_config - sed -i -e '/^\(#\|\)PasswordAuthentication/s/^.*$/PasswordAuthentication no/' /etc/ssh/sshd_config - sed -i '$a AllowUsers ${var.username}' /etc/ssh/sshd_config - | curl https://get.k3s.io | \ INSTALL_K3S_VERSION="v1.29.3+k3s1" \ INSTALL_K3S_EXEC="--disable traefik --kube-apiserver-arg=service-account-jwks-uri=https://${cloudflare_record.this.name}/openid/v1/jwks --kube-apiserver-arg=service-account-issuer=https://${cloudflare_record.this.name} --disable-network-policy --flannel-backend none --write-kubeconfig /home/${var.username}/.kube/config --secrets-encryption" \ sh - - chown -R ${var.username}:${var.username} /home/${var.username}/.kube/ - | CILIUM_CLI_VERSION=v0.16.4 CLI_ARCH=arm64 curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/$CILIUM_CLI_VERSION/cilium-linux-$CLI_ARCH.tar.gz{,.sha256sum} sha256sum --check cilium-linux-$CLI_ARCH.tar.gz.sha256sum sudo tar xzvfC cilium-linux-$CLI_ARCH.tar.gz /usr/local/bin - kubectl completion bash | tee /etc/bash_completion.d/kubectl - k3s completion bash | tee /etc/bash_completion.d/k3s - | cat << 'EOF2' >> /home/${var.username}/.bashrc alias k=kubectl complete -F __start_kubectl k EOF2 - reboot EOF }
Go Ebpf related posts
- Setup odigos in Ubuntu
- A Linux high-performance transparent proxy solution based on eBPF
- Dae β A Linux high-performance transparent proxy solution based on eBPF
- Requirement for cross-cluster communication in Kubernetes (K8s)
- Open Source Distributed Tracing Through eBPF
- Architecting for Resilience: Crafting Opinionated EKS Clusters with Karpenter & Cilium Cluster Mesh β Part 1
- Odigos v0.1.82 - Open-source instant distributed tracing without code changes
-
A note from our sponsor - SaaSHub
www.saashub.com | 25 Apr 2024
Index
What are some of the best open-source Ebpf projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | cilium | 18,510 |
2 | ebpf | 5,732 |
3 | coroot | 3,510 |
4 | hubble | 3,292 |
5 | tetragon | 3,282 |
6 | tracee | 3,241 |
7 | odigos | 3,020 |
8 | skydive | 2,581 |
9 | dae | 2,371 |
10 | ebpf_exporter | 2,018 |
11 | kubectl-trace | 1,972 |
12 | caretta | 1,652 |
13 | KubeArmor | 1,273 |
14 | loxilb | 1,151 |
15 | goebpf | 1,098 |
16 | libbpfgo | 670 |
17 | parca-agent | 476 |
18 | eBPF-Guide | 452 |
19 | go-tc | 402 |
20 | cilium-cli | 365 |
21 | btfhub | 329 |
22 | nhi | 288 |
23 | coroot-node-agent | 271 |
Sponsored