https://github.com/brice-morin/dracarys
Bring fire and fury to your all too peaceful containers
https://github.com/brice-morin/dracarys
docker golang testing
Last synced: 4 months ago
JSON representation
Bring fire and fury to your all too peaceful containers
- Host: GitHub
- URL: https://github.com/brice-morin/dracarys
- Owner: brice-morin
- License: apache-2.0
- Created: 2017-11-21T21:20:57.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-30T14:30:53.000Z (about 8 years ago)
- Last Synced: 2025-04-11T01:11:35.542Z (about 1 year ago)
- Topics: docker, golang, testing
- Language: Go
- Size: 36.1 KB
- Stars: 6
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Dracarys
Bring fire and fury to your all too peaceful containers
## TL;DR
Done with unit testing and integration testing of your container-based app?
Time to bring fire and fury to your containers and see what remains of your app!
Dracarys integrates a set of cool Go libraries (Docker, Pumba, Vegeta) to bring chaos to your system, by:
- messing with your containers *e.g.* restarting random container
- messing with the network *e.g.* delay or lose packet
- load your endpoints *e.g.* POSTing high number of HTTP requests
- administrating your system *e.g.* scaling service up/down, rolling out updates, changing resources
## So, what new?
Well, you might think you'd be better up directly using Docker, Pumba and Vegeta. They are indeed great tools.
Dracarys allows you to specify chaos scenarios that are:
- easy to specify,
- but not too naive
- repeatable,
- yet with a degree of random
- easy to correlate with measured metrics
## Used Tools
- Docker to deploy, kill, restart containers, scale in/out services, disconnect/reconnect network...
- Pumba, wrapping the `tc` (traffic control) utility in a usable and Docker-friendly way to mess with the nework (loss, delay, etc)
- `stress` utility, to load CPU, IO, RAM, HDD
- Vegeta (soon) or maybe Gatling as an alternative/complement. Wait, no, Gatling is implemented in Scala...
- CrashCart (soon) as a clean mean to load and unload sidekick containers
## License
Released under Apache License v2