{"repo":"lumbrjx/obzev0","free":true,"listed":false,"github":"https://github.com/lumbrjx/obzev0","clone":"git clone https://github.com/lumbrjx/obzev0.git","description":"Chaos engineering tool written in C/Go to test the resilience of TCP/UDP-based applications within Kubernetes environments, simulating various network conditions and failures to ensure the reliability of the overall system.","language":"Go","stars":52,"topics":["channels","chaos-engineering","golang","http","multithreading","proxy","tcp","ebpf","kubernetes","optimization"],"license":null,"category":"deployment-docker-iac","readme_excerpt":"obzev0 : Chaos Engineering Tool Obzev0 is a chaos engineering tool designed to help you test the resilience of your systems by simulating real-world failures. It allows you to define and execute chaos experiments to uncover weaknesses in your infrastructure and applications. Tech Stack - Language: Go (for the controller and gRPC server), C (for the eBPF program). - Frameworks/Libraries: Kubernetes client-go (for interacting with the Kubernetes API), gRPC (for communication between components), eBPF (for kernel space programming). - Monitoring: Prometheus and Grafana for monitoring and visualization. Architecture Obzev0 is built using a microservices architecture, with the following components: - Controller: Responsible for watching Custom Resource Definitions (CRDs) representing chaos scenarios and dispatching work to the DaemonSet. - DaemonSet: Runs on every node in the Kubernetes cluster and acts as a gRPC server. It executes the chaos scenarios and communicates with the eBPF program in the kernel space. - eBPF Program: Written in C, it runs in the kernel space and is responsible for monitoring and manipulating network traffic for performance monitoring. Features Latency Injection - Simulate network latency by adding configurable delays to incoming and outgoing requests - Customize delay duration for each service to test specific latency thresholds Packet Manipulation - Introduce packet loss with configurable drop rates - Corrupt specific packets to test handling of incompl","default_branch":null,"files":null,"tree":[],"storefront":"/r/lumbrjx","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/lumbrjx/obzev0/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}