SysAdmin

Puppet: Working with puppetforge

So maybe writing modules isn’t something you want to hassle with. Ok, that’s cool. Puppetlabs has provided a place where you can leach off of others. In this article, I will talk about how to use PuppetForge (forge.puppetlabs.com)

There is a good chance that if you thought of a module to write, someone may have already done it and can save you a LOT of work. Most of the modules will support the big three Linux flavors out there, but not all so your results may vary with each and every module. Puppetlabs is working on improving that, but its something to keep in mind as we go through this article.

Puppet: Hello Modules

We’re onto post 3 of our Puppet series. We have a master server, a client and we’ve made a connection. Its time to start getting into the real power of puppet and write our first module.

Module Make Up

So what makes up a module. They can be as simple as an init.pp file or as complex as having directories of files, templates and just about everything else under the sun there to help control your infrastructure. Typically, our modules are going to be under /etc/puppet/modules.

Scotty Factor

If you’re reading this, there is a good chance that you do some sort of project work within your job. My blog doesn’t attact a lot of people outside of IT and the typical IT guy is working on project X, Y or Z and sometimes all 3 at the same time. If this isn’t you, I’ll save you some time and you can stop reading now.

Ok, so you are working with your boss and he/she has assigned you a project. Maybe its mapped out with all of the details or if you are like me, you will typically get a broad project goal and its your job to come up with the milestones and timeline.

Puppet: Making a connection

In our first post, we gave you the overview of what puppet was and how to install the software so its available on your system. Now its time to get into the guts of the system and get your client connecting to your master server.

Configuration

By default, puppet really wants to look for a server at puppet.. If you need to change this to a different server name, you’ll want to edit the /etc/puppet/puppet.conf file and add in an entry such as this:

Puppet and you

Back in January, I gave a presentation for the local LUG group (CIALUG) and while it was nice to put it all into one presentation, I’d like to go back and break down the various aspects of the presentation and show off what Puppet can do in your organization.

What is it?

Puppet is a tool designed to manage the configuration of Unix-like and Microsoft Windows systems declaratively. The user describes system resources and their state, either using Puppet or Ruby DSL (domain-specific language). This information is stored in files called “Puppet manifests”. Puppet discovers the system information via a utility called Facter, and compiles the Puppet manifests into a system-specific catalog containing resources and resource dependency, which are applied against the target systems and any actions taken to remediate the system to the desired state will be reported. (Source: WikiPedia)