At $WORK we use TUTTLE, the Tiny Utility Toolkit for Tweaking Large Environments. Tuttle is a system administrator’s configuration management tool designed for the particular situations we faced. It shares a name with a plumber in BRAZIL, the Terry Gilliam movie. If we were starting from scratch today, we wouldn’t write our own — we would use Chef or Puppet or Ansible or whatever. It is usually better to have a large community supporting you.
One of the interesting ideas of tuttle is that a machine may be designated to run an “environment” — a group of related services — but we may not want them to actually be running. So by designating that environment as disabled, all the daemons, cron-jobs, configurations and so forth will be present, but will not run. There are a pair of commands, unironically named
disable, which will switch an environment between states on the instant machine.
Obviously tuttle needs to keep track of this state locally. Until this morning, though, nobody had ever thought that they needed to query this state. The usual working plan is to disable an environment only on very odd and infrequent occasions, and then to enable it immediately afterwards. This failed in precisely the way you would think, obvious in retrospect: someone disabled an environment and then forgot to re-enable it.
So I wrote
show-disabled, a three line shell script which now sits among the other tuttle tools. Because it does not emit any output when there is nothing disabled, I think I will put it in a cron-job to run just before humans go home for the day. When it catches something, that will be useful.