Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fbac/chaosnetes
Chaos as a Service for Kubernetes clusters
https://github.com/fbac/chaosnetes
chaos chaos-engineering chaos-monkey client-go controllers docker go golang kubeconfig kubernetes operators
Last synced: 25 days ago
JSON representation
Chaos as a Service for Kubernetes clusters
- Host: GitHub
- URL: https://github.com/fbac/chaosnetes
- Owner: fbac
- License: mit
- Created: 2022-08-21T21:24:44.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-08-22T22:16:04.000Z (over 2 years ago)
- Last Synced: 2024-11-07T21:43:15.859Z (3 months ago)
- Topics: chaos, chaos-engineering, chaos-monkey, client-go, controllers, docker, go, golang, kubeconfig, kubernetes, operators
- Language: Go
- Homepage:
- Size: 26.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# chaoscmd
Chaos as a Service for Kubernetes clusters
- [chaoscmd](#chaoscmd)
- [cmd options](#cmd-options)
- [Usage as binary](#usage-as-binary)
- [Usage as container](#usage-as-container)
- [Usage in kubernetes](#usage-in-kubernetes)
- [TODO](#todo)## cmd options
```bash
Usage:
-dry-run
run chaosnetes as dry-run. (default true)
-kubeconfig string
absolute path to the kubeconfig file (default "kubeconfig")
-namespace string
namespace to use (default "workloads")
-pods-to-kill int
set maximum amount of pods to kill (default 1)
```### Usage as binary
```bash
chaoscmd -kubeconfig=/path/to/kubeconfig -dry-run=false -pods-to-kill=4
```### Usage as container
- Place your kubeconfig in the root path of the repository
- Run `make image`
- Run `docker run fbac/chaoscmd:latest `### Usage in kubernetes
- There's a cronjob in assets to run this in a cluster
## TODO
- Test suite: fmt, vet, lint and test using v1 api mocks
- Critical change: Do not upload kubeconfig in the image, instead pass it inside a volume to the container
- Change build logic: binary should be built inside the container
- Authenticate to cluster using serviceAccount if running in kubernetes
- Github Actions workflow to build container and push to ghcr.io as OCI object
- Set flags as env vars and adapt the cronjob to use them