Skip to content
/ obzev0 Public

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.

Notifications You must be signed in to change notification settings

lumbrjx/obzev0

This branch is 78 commits behind main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a539b7d Β· Aug 30, 2024

History

57 Commits
Aug 30, 2024
May 25, 2024
Aug 29, 2024
Aug 30, 2024
Aug 30, 2024
May 24, 2024
Aug 30, 2024
Aug 30, 2024
Aug 27, 2024
Aug 27, 2024
Aug 30, 2024
Aug 27, 2024
Jul 12, 2024
Jul 12, 2024
May 24, 2024
Jul 9, 2024
Aug 27, 2024
Jul 12, 2024
Jul 12, 2024
Jul 12, 2024
Aug 27, 2024
Aug 27, 2024

Repository files navigation

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.

ToDo

[ ] complete Update/Delete informer functions [ ] integrate tcAnalyser service in k8s controller grpc calls