// the find
codecentric/chaos-monkey-spring-boot
Chaos Monkey for Spring Boot
Spring Boot autoconfiguration library that injects fault assaults (latency, exceptions, CPU/memory pressure, app kills) into your running service via AOP pointcuts on controllers, services, repositories, and outgoing HTTP clients. It exposes a REST/JMX actuator endpoint so you can toggle and tune assaults at runtime without redeployment. Aimed at Spring Boot teams who want to verify resilience patterns — circuit breakers, fallbacks, timeouts — actually hold under failure conditions.
1. The watcher/assault separation is clean: watchers target specific Spring stereotypes or outgoing client types via AOP, assaults are independently configurable, and you can mix and match at runtime through the actuator endpoint without restarting. 2. Outgoing call watchers (RestTemplate, WebClient) let you inject faults at the HTTP client layer, which is where most real-world failures originate — this is more useful than only injecting at service method boundaries. 3. Unleash feature-flag integration for toggle control means you can run experiments in production and kill them instantly from a flag dashboard rather than needing to hit an actuator endpoint on every instance. 4. The deterministic assault mode (every Nth request instead of probabilistic) is genuinely useful for writing reproducible tests against failure scenarios.
1. It only works if you're using Spring AOP on Spring-managed beans — anything going through a native call, a non-Spring thread pool, or a library that bypasses the proxy (common with reactive Mono/Flux chains) won't get intercepted, and the docs undersell this limitation. 2. The REST actuator endpoint has no authentication built in; you're expected to secure it yourself via Spring Security, and if you forget, you've handed anyone on the network an instant DoS button. 3. No built-in experiment orchestration — there's no concept of a steady-state hypothesis, automatic rollback on SLO breach, or result recording. You get the chaos injection but you have to wire up your own monitoring assertions, which is most of the hard work in a real chaos experiment. 4. 940 stars for a library that's been around since 2018 suggests limited adoption outside the Spring/Java consulting bubble; the ecosystem of shared experiment recipes or community playbooks is thin compared to what you'd find with Chaos Toolkit or LitmusChaos.