Posted on Thu 17 March 2016
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 enable
and
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.