ANNOUNCE: Puppet Beta Two


After far too long, a new release of Puppet is out.

What Is Puppet?

Puppet is a next-generation server automation framework, written in Ruby
capable of functioning as an abstraction layer between you and the messy
details of all of the operating systems you maintain. It lets you
manage every important aspect of your system using a cross-platform
specification language that manages all the separate elements normally
aggregated in different files, like users, cron jobs, and hosts, along
obviously discrete elements like packages, services, and files.

Puppet’s simple declarative specification language provides powerful
classing abilities for drawing out the similarities between hosts while
allowing them to be as specific as necessary, and it handles dependency
prerequisite relationships between objects clearly and explicitly.


  • An external cfengine module for simple cfengine integration, allowing
    a gradual migration from cfengine to Puppet.
  • User and Group management on most major platforms
  • Cronjob management
  • Significant enhancements to package management in most
  • Addition of the node syntax
  • File search paths

and many more.

Puppet is only still in Beta because it has not been installed at enough
locations that I am confident it is sufficiently bug-free to be
considered a
full release. Although there are still plenty of planned feature
updates, none
of these are so critical that they are keeping the release back.

I am hoping to build some system packages of Puppet at some point soon,
but for
now you can either use tarballs or gems to install the latest release.

And I’ve also published a November Status Update:

An update on the world of Puppet and Reductive Labs

I know it’s been a long time since I produced an update in the Puppet
The lack of updates have not been because of idleness, though; I’ve been
adding lots of functionality to Puppet and working on getting the word
about it. The language is both simpler and more powerful than it was on
last release, and Puppet now manages the most important of the NSS-style
elements like users and groups, which provides a clear path to manage
the rest
of them.

Beta Two

The most important new item in the Puppet world is that there is a new
release out. There were a few critical features keeping this release
back, such
as the cfengine module and the file copying search paths, but they’re
all in
place now and can be read about on the beta’s announcement page.

At this point, the Puppet framework itself is comfortably ready for use,
and it
is straightforward (and sometimes even easy) to add new functionality to
without modifying the rest of the framework.

Upcoming ;login; Article

I have written an article on Puppet for USENIX’s ;login: magazine. It
all of my nefarious plans for Puppet. Once it is in its final copy
state, I
will do what I can to make sure a copy is available for public download.

Puppet Presentations

I presented Puppet to the Atlanta Unix Users Group, and will be
presenting it
on November 30th to the Nashville Linux Users Group. BayLISA has also
me about presenting to them but I do not currently have plans to be in
the Bay
Area again soon, so if you are interested in sponsoring a trip to the
Bay Area
so I can present, please contact me.

Ongoing Conversations

I have been maintaining a blog about my conversations with myself about
It is a great place to get an idea of the thinking that goes into
development and to get the latest announcements about Puppet. There is
also a
Puppet channel on on #puppet; please join in.