bamboo
bamboo copied to clipboard
Healthcheck improvments
- Support multiple healthcheck per app
- Support TCP, HTTP, COMMAND check specified in Marathon
- Try not re-invent the wheel by getting health check information from marathon
Also related to #56 #62
There are a couple of requirements where the healthcheck should/shouldn't happen:
- It shouldn't curl directly to Marathon. When upgrading marathon or restart marathon, services avalabiliity would be affected.
- It shouldn't curl directly to Bamboo. When upgrading bamboo or bamboo upgrade, they will be affected.
- It should be a daemon that is 100% up all the time, doesn't involved much change.
- When marathon is down, it should keep the last health check snapshot until Marathon is up
When doing health checks from somewhere like Route 53 it's nice to be able to check the status of marathon. A sensible default might be to add the following to the haproxy template to get the marathon status and subsequently check HAProxy is up and routing.
frontend http-in
...
acl marathon-status path_beg -i /status
use_backend status if marathon-status
backend status
balance leastconn
option httpclose
option forwardfor
server localhost 127.0.0.1:8000