There are many system administration and configuration management tools available, I've mentioned them in the past and we're probably all familiar with our pet favourites.
The "biggies" include CFEngine, Puppet, Chef, BFG2. The "minis" are largely in-house tools, or abuses of existing software such as fabric.
My own personal solution manages my home network, and three dedicated servers I pay for in various ways.
Currently I've been setting up some configuration "stuff" for a friend and I've elected to manage some of the setup with this system of my own, and I guess I need to decide what I'm going to do going forward.
slaughter is well maintained, largely by virtue of not doing too much. The things it does are genuinely useful and entirely sufficient to handle a lot of the common tasks - and because the server-side requirement is a HTTP server, and the only client-side requirement is CRON it is trivial to deploy.
In the past I've thought of three alternatives that would make it more complex:
- Stop using HTTP and have a mini-daemon to both serve and schedule.
- Stop using HTTP and use rsync instead.
Each approaches have their appeal. I like the idea of only executing GPG-signed policies, and that would be trivial if there was a real server in place. It could also use SSL because that's all you need for security (ha!).
On the other hand using rsync allows me to trivially implement the only missing primitive I actually miss at times - the ability to recursively download and install a remote directory tree. (I solve this problem by downloading a .tar file and unpacking it. Not good. Doesn't cope with template expansion and is fiddlier than I like).
In the lifetime of the project I think I've had 20-50 feature requests or comments, which suggests it might actually be used by 50-100 people. (Ha! Optimism)
In the meantime I'll keep a careful eye on the number of people who download the tarball & the binary packages...
ObQuote: "I have vermin to kill. " - Kill Bill
Tags: perl, slaughter, sysadmin
22 November 2011 21:50
Yesterday evening I updated my server to remove MySQL:
steve:~# dpkg --purge mysql-client-5.1 \
Until last month I had two database in use, one each for a pair of
web-applications. As of now one is using redis - which I'm already
using for my image hosting - and the other application is using SQLite.
Until recently I had a high opinion of SQLite, although that has now been downgraded a little, it is still a thoroughly excellent piece of software. I was just surprised at little things it was missing, to the extent I had to rewrite my applications SQL.
Still one less service is a good thing, and the migration wasn't so painful..
In more productive news I recently acquired a nice external flash - the Yongnuo YN-460 II is (very) cheap and cheerful, it can be fired remotely with my triggers so I've had a lot of fun with opportunistically taking pictures and experimenting with lighting.
Most of the results are NSFW, but there are some other examples lurking around including the first time I managed to successfully capture a falling water-drop. (Not the best picture, not the most explicit effect, but fun regardless. I both can and will do better next time!)
Somebody recently asked me to write about "camera stuff under linux" and happily I declined.
Why decline? Because there are so many good tools, applications, and
utilities. (I use local tools for organisation and duplicate detection, rawtherapee for RAW conversion and GIMP for touchups). Having many available options is fantastic though, and something hard to appreciate for "newcomers" to Linux.
(Yeah I waited 90 seconds - if I remembered to add -nojava - for Netscape Navigator to start, under X10, with 8Mb of RAM. Happier days are here. Sure DRM is bad, secure boot .. an open question, but damn we have it good compared to almost any previous point in time!)
ObQuote: "Yeah, obviously it is only a tactical party. I'm only having a party to eventually get sex." - Peep Show
Tags: camera-toys, lighting, mysql, random, redis
26 November 2011 21:50
Recently I said that my perl-based sysadmin
tool, Slaughter, was at the cross-roads. I wasn't sure if I should
leave it alone, or update it somehow.
As I'm generally lazy and busy (yes it is possible to be both simultaneously!) I didn't do anything.
But happily earlier in the week I received a bunch of updates from Jean Baptiste which implemented support for managing Windows clients, via Strawberry Perl.
So I guess the conclusion is: Do nothing. Change nothing. Just fix any issues which are reported to me, and leave it as-is. (I did a little more than that, refactoring to avoid duplication and improve "neatness".)
As I said at the time I've had some interesting feedback, suggestions and bugfixes from people over the past year or so - so I shouldn't be surprised to learn I'm not the only person using it.
ObQuote: "Oh, yes, a big cat! My salvation depends upon it! " - Dracula (1992)
Tags: slaughter, strawberry, windows