Puppet: System Administration Automated

Reductive Labs should fill out the Little 4


Michael Cote and John Willis have been talking for a while about the Little 4 in management software, and it looks like Qlusters is no longer on the list.

I'd love to be able to comfortably say that Reductive Labs deserves to fill that fourth slot (you can have your say too). The truth is, of course, that all of those companies are far larger than Reductive Labs, and they've all successfully gotten investment while we have not (although we haven't tried all that hard). The products of the companies are pretty dissimilar, too -- they're mostly more focused on monitoring rather than what I would call management, as far as I can tell.

On the other hand, Puppet has a lot of traction, and is a clear leader in its space. We've been profitable since almost the beginning (which is to say, profitable enough to pay my meagre wages), and we've got a great and growing community. Now that Andrew Shafer has joined the company full-time as a partner, I do think we're going to start growing, and it's well-timed in terms of how the community is developing.

I do hope we grow this year, but I don't really know how we will. I'm still considering how hard we should be seeking investment, but it seems that VCs are pretty uninterested in infrastructure (or maybe they're just uninterested in me). Really, I'm hoping I can just get a big enough customer base that Andrew and I can build a bigger development team and start doing some of the almost-obvious but really interesting projects to enhance the Puppet ecosystem, like change control applications.

But the summary is, I want to deserve to be in the Little 4, and I think Puppet is popular enough that we just might, but there's still lots more to do.

add to del.icio.us Add to Blinkslist add to furl Digg it add to ma.gnolia Stumble It! add to simpy seed the vine TailRank post to facebook

Mon, 21 Apr 2008 | Tags: ,


A Better Signature Generator


I just discovered Signature Profiler, which is a great plugin for Mail.app (works on Leopard and Tiger) for creating signatures in Mail.app. Finally, I can get rid of the painfully hackish python (!!) plugin I was maintaining, which is good since it apparently didn't work in Leopard anyway. I never could figure out how to make it provide the signatures without a leading space on each line, which was pretty annoying.

This plugin provides plenty of nice options for managing signatures, but the main thing I wanted was to be able to include the output from my long-standing signature generation script (which largely just pulls a random file from a directory of the quotes I've collected over the years).

I also took the opportunity to trim my signature list; some of the quotes were funny in 1997 but not so much now.

add to del.icio.us Add to Blinkslist add to furl Digg it add to ma.gnolia Stumble It! add to simpy seed the vine TailRank post to facebook

Sat, 05 Jan 2008 | Tags: , , , , ,


Interactive Puppet usage


I just committed another change to ralsh. I was trying to fix Puppet's support for Solaris Zones and I found that I wanted to easily remove and create zones from the command line. So, I made it easy to do so:

luke@sol10b(0) $ sudo ralsh zone configtesting ensure=absent
notice: /ralsh/Zone[configtesting]/ensure: removed
zone { 'configtesting':
    ensure => 'absent'
}
luke@sol10b(0) $

As you can guess, here I'm specifying parameters to apply to a resource specified on the command-line. Zones are a bit heavy-weight, but we can do simple things, too:

luke@culain(0) $ cat /tmp/testing
cat: /tmp/testing: No such file or directory
luke@culain(1) $ bin/ralsh file /tmp/testing ensure=present content="this is some content\nokay?\n" mode=755
notice: /ralsh/File[/tmp/testing]/ensure: changed file contents from {md5}d94605faa66f109a8b4ab772002f31f8 to {md5}d94605faa66f109a8b4ab772002f31f8
file { '/tmp/testing':
    type => 'file',
    owner => '100',
    group => '1000',
    checksum => '{md5}d94605faa66f109a8b4ab772002f31f8',
    ensure => 'file',
    content => 'this is some content\nokay?\n',
    mode => '493'
}
luke@culain(0) $ les /tmp/testing
-rwxr-xr-x 1 luke luke 29 Jun 13 17:40 /tmp/testing
luke@culain(0) $

We're still clearly a ways from having a real Puppet shell, but now at least you don't have to remember how commands work for reading or writing, and you can even start using ralsh from external programs (although it'd make more sense to use the puppet executable for anything other than a single command).

add to del.icio.us Add to Blinkslist add to furl Digg it add to ma.gnolia Stumble It! add to simpy seed the vine TailRank post to facebook

Wed, 13 Jun 2007 | Tags: , , , ,