A more expressive Puppet configuration language debuts
As part of the release of Puppet 3.2.1, Puppet Labs has added a programming language aimed at providing administrators with greater flexibility for writing deployment routines. With the first public release of the 3.2 branch of the open source configuration management tool it is now also possible to integrate external certification authorities, enabling companies to use their own in-house authorisation systems within Puppet installations. The latter has been implemented in collaboration with the Mozilla Foundation.
In the past administrators and developers generally defined the required configuration settings using a domain specific language (DSL) – execution on systems was then taking care of by Puppet. The tool's native language and the associated parser have now been completely re-implemented, so that, among other things, it now uses an expression-based, rather than a statement-based, grammar. This should enable users to write even complicated configurations in a readable and easily maintainable manner. In particular, the language can be used to manage multiple systems as a single group, rather than administering each individually. It also enables large groups of services to be automated as a single unit.
The new language has been developed as a result of the decision to deprecate the previously preferred Ruby DSL module. This offered a range of additional features beyond those available in Puppet's native language, but it also entailed some severe possibilities for configuration errors that were difficult to fix for the developers. Work on the new language is not completely finished and the new parser still requires some work to ensure that the new and old commands are interpreted consistently. Consequently, it is not yet enabled by default.
Puppet 3.2 is also the first version of the configuration management framework to support OpenWRT, a Linux distribution for wireless routers and other embedded systems. The commercial Puppet Enterprise edition can now be used for provisioning, configuration and workload management in VMware's new vCloud Hybrid Service. Earlier this year, VMware announced a $46 million injection of venture capital into Puppet Labs.
Puppet 3.2.1 can be downloaded from Puppet Labs and is licensed under the Apache 2.0 license. Further details of the release are available in the release notes. The company also sells a commercial Enterprise edition of the tool that can be used free of charge to administer ten different device nodes.