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.
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.
Obzev0 is built using a microservices architecture, with the following components:
helm repo add obzev0 https://lumbrjx.github.io/obzev0/chart
helm repo update
helm install obzev0 obzev0/obzev0
Download the binary:
curl -o obzevMini https://raw.githubusercontent.com/lumbrjx/obzev0/main/cmd/cli/obzev0mini
chmod +x obzevMini
git clone https://github.com/lumbrjx/obzev0.git
cd obzev0
make build-daemon TAG=<tag>
make build-controller TAG=<tag>
make package-chart
Make sure to give your docker image the "latest" tag and push it to a container registry.
make build-cli
helm install <release-name> obzev0/obzev0
kubectl create clusterrolebinding permissive-binding \
--clusterrole=cluster-admin \
--serviceaccount=controller-system:controller-controller-manager
Label nodes:
kubectl label nodes <node-name> node-role.kubernetes.io/control-plane=""
kubectl label nodes <node-name> node-role.kubernetes.io/worker=""
Apply Custom Resource:
The chart folder already contains a Custom Resource and you still can define your own one. here's the CR file and apply the changes by running:
kubectl apply -f path/to/CR/file
after clonning the repo you can run the following command and have everything done for you:
make all TAG=latest
it will use a simple dummy express server you can access it here and the service
docker run -p 50051:50051 lumbrjx/obzev0-grpc-daemon:latest
obzevMini init -Addr=127.0.0.1:50051 -dist=path/to/destination/folder/
obzevMini apply -path=path/to/configuration/file
We welcome contributions to Obzev0! Whether you're fixing bugs, adding features, or improving documentation, your contributions are valuable.
For questions or discussions, contact the project maintainers at [email protected].