0

I am working on a project and we want to implement some Chaos Testing. We want to use Spring Boot Chaos Monkey however we are unable to use one of the hard dependencies of Spring Boot Actuator (Jackson Databind to be specific). It seems implementing SB Actuator is not an option. We cannot access Chaos Monkey via JMX. It must be HTTP.

  • Is it possible to hit Chaos Monkey monkey endpoints w/o SB Actuator?
Robert
  • 79
  • 1
  • 2
  • 8
  • I'm not seeing anything in the documentation that says actuator is required. Where are you seeing this? Did you add chaos monkey to your app and it didn't work? – Roddy of the Frozen Peas Oct 19 '22 at 19:44
  • Yes. The documentation describes their endpoints as "Actuator endpoints". The endpoints did not work w/o Actuator. We even created a simple "Hello World" microservice, and this worked, but only w/ Actuator – Robert Oct 19 '22 at 19:47
  • 2
    Per the [Documentation](https://codecentric.github.io/chaos-monkey-spring-boot/latest/), the Chaos Monkey `management.endpoint.*` seem to presume Spring Boot Actuator. Q: Is SB Actuator itself the problem? Or is the main problem that it uses Jackson Databind? – paulsm4 Oct 19 '22 at 19:49
  • Most spring-boot components have optional actuator endpoints. They only become relevant if you actually include Actuator in your project. I'm asking ... _did you try it?_ – Roddy of the Frozen Peas Oct 19 '22 at 19:52
  • Yes we tried it. – Robert Oct 19 '22 at 19:54
  • 2
    And? what happened? Because it's [listed as an optional dependency](https://github.com/codecentric/chaos-monkey-spring-boot/blob/main/chaos-monkey-spring-boot/pom.xml#L118-L122) in chaos-monkey itself. – Roddy of the Frozen Peas Oct 19 '22 at 19:55
  • all endpoints returned a 404 – Robert Oct 19 '22 at 20:02
  • @paulsm4 The problem is Jackson DB hard dependency on SB Actuator – Robert Oct 20 '22 at 15:30
  • 1
    Q: so your problem isn't with SB Actuator per se, but with the fact that SB Actuator brings in Jackson Databind, correct? Q: (out of curiosity): what's the issue with bringing Jackson Databind into your project? Why is this a "problem"? Q: Have you considered "injecting" a "mock" implementation of Jackson Databind (for example, like you'd mock a "service" for a JUnit test)? I believe Spring Boot would support this (at least in theory), but I can't give you any guidance without a) knowing many more details, and b) trying it out in my own lab... – paulsm4 Oct 20 '22 at 20:04
  • I believe the issue w/ Databind is a security related issue but really it comes from the higher ups and I don't have specifics. I have not considered using a mock but will look into that – Robert Oct 20 '22 at 20:27

0 Answers0