As you might have noticed we're quite big fans of Salt. One of the
things that Salt enables us to do, it to apply what we're used to
doing with code to our infrastructure. Let's look at TDD (Test Driven
Development).

Apply the same thing to infrastructure and you get TDI (Test Driven
Infrastructure).

So before you deploy a service, you make sure that your supervision
(shinken, nagios, incinga, salt based monitoring, etc.) is doing the
correct test, you deploy and then your supervision goes green.

Let's take a look at website supervision. At Logilab we weren't too
satisfied with how our shinken/http_check were working so we started
using uptime (nodejs +
mongodb). Uptime has a simple REST API to get and add checks, so we
wrote a salt execution module and a states module for it.

For the sites that use the apache-formula we simply
loop on the domains declared in the pillars to add checks :