More Configuration Projects

By Albert on September 11, 2009 11:20 AM

These two projects caught my attention at Freshmeat today:

I'm very pleased to see so many configuration-focused project popping up. The more, the merrier!

I'm Using Puppet All The Time!

By Albert on July 17, 2009 1:21 AM
Puppet is working out really well for me. I run a small technology company and administer lots of computers, and I regret not setting up Puppet many moons ago.

I started work on Hypermagnet to take care of configuration templates awhile back, but I haven't gotten there with puppet yet. I am, however, using YoDNSconf with puppet quite often. I use YoDNSconf to manage all my private hostnames so it was an easy addition to include which puppet classes to associate with each host.

Hypermagnet and Puppet will work together someday!

Client Hostname Specific File Serving

By Albert on July 5, 2009 10:30 AM
This is awesome. I've been hoping for functionality like this and I'm very pleased its so simple to use.

The Deets
OK, I'll be more specific. For quite some time I've relied upon ssh to login to remote servers and manually edit configuration files. Its a time intensive and error prone process, and most importantly, there are no systematic procedures involved, so there are no manageable assets built up over time!

It took me awhile, but I started to use Puppet to configure services on my network which all use the same configuration files. But what about services that use a different configuration on each host? I expected to variations:

  • Client host specific configuration files
  • Configuration file templates which can be customized for each client

Client Specific Files
This is what I referred to as being easier than I thought:

class rsync {

    package { rsync: ensure => latest }

    file { "rsyncd.conf":
        name => "/etc/rsyncd.conf",
        owner => "root",
        group => "root",
        mode  => 644,
        source  => "puppet://fileserver.example.com/rsync/rsyncd.$hostname.conf",
        require => Package["rsync"],
    }

}


I'm surprised that the $hostname variable uses the host short name.

Configuration File Templates
This would be sweet, but I haven't figured out how to set it up yet. Looks like ERB is the way to go.

Migrating a Puppetmaster

By Albert on July 4, 2009 8:45 PM
I've just about finished up the process of migrating a puppetmaster server, and it was thankfully very easy.

I'd been using subversion to store the puppetmaster manifests, and the main problem I ran into was the same one which hung me up when I first setup puppet: hostnames!

To recap, the server hostname has to be the same reverse dns for the ip address. For example:

user@hostone:/home/user$ hostname
hostone.example.com

dig -x 192.168.123.123
hostone.example.com

Yes, that's all paraphrased. To make things easier, I removed the existing certificates:

rm -rf /var/lib/puppet/ssl/

Config::Model

By Albert on June 26, 2009 2:24 PM
Config::Model - this looks very cool! It is a Perl project that aims to serve as an interactive configuration editor. I glanced over the docs and it appears to connect with Augeas to a certain degree.

I'm using Perl more and more these days so I'm going to give it a try. Let's see if there is a debian package... YES! libconfig-model-perl. Nuff said.

Categories