| Purpose |
Install and configure the Stingray Traffic Manager |
| Module |
riverbed/stingray |
| Puppet Version |
2.7+ |
| Platforms |
Linux x86, x86_64 ‐ Kernel 2.6 (2.6.8+, 2.6.22+ for IPv6), glibc 2.3.6+
|
Riverbed Stingray Traffic Manager is a full performance software and virtual Layer 7 application delivery controller (ADC) that enables enterprises and cloud operators to create, manage, and deliver key services more quickly, more flexibly, and at a lower cost. Stingray Traffic Manager offers much more than just load balancing. It controls and optimizes end-user services by inspecting, transforming, prioritizing, and routing application traffic.
The Stingray Traffic Manager Puppet module will automatically download and install the Stingray Traffic Manager software onto a node.
Read the rest of this entry »
Four months ago, the Puppet Forge reached 600 modules, and our new team had started to build a bigger and better service. Today, we’re nearing our 1000th module. As one of you makes that contribution to the Puppet Forge, we want to celebrate with you through three little giveaways.
The Puppet Forge is your service for discovering Puppet modules [docs]. You’ll find modules for managing applications like Apache’s httpd web server, facts for automatically gathering warranty information, types and providers for writing better modules yourself, and so much more. Whether you’re looking for something to use as a starting point, or want to drive your entire OpenStack infrastructure with Puppet, the Forge has you covered.
To enter: Read below about our three giveaways and their rules. Then, fill out this form to make your submission.
General Rules
- A participant may only win once. If you are randomly selected to win more than one entry, you will be awarded the highest value prize, and we will re-draw the other two.
- Puppet Labs makes the final determination on whether a submission is valid.
- We will only award digital gift cards from the U.S. or U.K. Amazon stores. No other prize fulfilment will be offered.
- Puppet Labs may use details of your entry when announcing winners. Any mention will be anonymous.
- This contest ends April 5th
Favorite Module
This one’s simple. Simply tell us via our entry form about your favorite Puppet Forge module. I have a few personal favorites that I’ll tell you about once the contest ends. :-)
Rules
- Five random participants will received a $20 gift card to Amazon.com
- Entry must be a Puppet Forge module and include a brief description on why you think the module is awesome. Don’t just paste a random module link.
Contribute to an Existing Module
Having more modules is great, but let’s not forget that we’ve got nearly 1,000 existing modules to maintain and improve. Some modules may just need improved module documentation while others may be broken and need your CPR.
For this part of our celebration, we want to see you contribute to a community member’s module. Contribute something of substance to a non-Puppet Labs module between now and April 5th. Submit via our entry form, and five of you will receive a $50 gift card to Amazon.com.
Rules
- Five random participants will receive a $50 gift card to Amazon.com
- Contribution must be made to a community member’s module.
- Your own modules do not count.
- Puppet Labs modules do not count. This contest is about you, not us.
- Your contribution must be made between now and April 5th
- It does not need to be accepted by the author or published to Puppet Forge to be eligible.
- Puppet Labs will determine whether the contribution is eligible. Documentation updates count, but will need to substantially make the module easier to use. We will not tell you if your submission is ineligible, so be serious about your patch!
Contribution ideas
- Improve Documentation (Here’s a great example)
- Add support for your favorite operating system
- Fix a broken part of a module
- Contribute rspec-puppet tests
- Use puppet-lint to better enforce style guide compliance
Publish a New Module
Of course, we also want your new module contributions. We’ll give away three $35 gift cards to Amazon.com for new modules.
Here’s the rub: it needs to be a new module submitted between now and April 5th, and it must automate something we don’t already have. For example, don’t enter with a new Apache module but consider publishing a module for Zenoss. Before you submit your entry, do a search for your module and check the first release date. If it’s prior to March 25, your module may not be eligible.
Rules
- Three random participants will receive a $35 gift card to Amazon.com
- Module for doing X (where “X” is your submission) must not already exist on Puppet Forge as of March 25. Contribute something unique.
- Duplicate modules when both are published as of March 25 or later will be accepted. Don’t worry about losing your entry based on another’s quicker submission.
- Puppet Labs will determine whether the contribution is eligible. Submit something that actually does something and does it well. We will test each module.
- The module’s README must describe how to use the module. If we have to dig into your source code to use the module, it’s not eligible.
Learn More
Want some tips for writing better modules?
| Purpose |
Build Java keystores form existing keys and certificates. |
| Module |
puppet/java_ks |
| Puppet Version |
2.7+ |
| Platforms |
OpenJDK 6, OpenJDK 7 |
This module attempts to ease and shorten the workflow associated with Java applications.
- When building a Java keystore outside of the Java tool chain, you have to go through a process that spans a couple different tools and intermediary formats before you have a valid keystore. The java_ks module attempts to relieve this by giving you one interface: Puppet. Puppet handles the conversion and intermediary formats for you.
- This module contains no manifests, only a composite namevar type and its supporting provider.
- This module allows for keystores to be provisioned along with your Puppet deployed Java application servers.
The reason this module came to life was my frustration over the workflow needed to get a SSL protected ActiveMQ broker set up. When I wanted to integrate the Java keystore build workflow into the rest of ActiveMQ’s setup using a Puppet manifest… well, it got ugly. Converting a string of shell commands into Puppet exec resources eventually led me to a dark dark place. Personally I find that if you are running into a need for a lot of exec resources, especially when they are using the same command or operating on the same file, it is time to grab a copy of Puppet Types and Providers and get your hands dirty with some Ruby. You’ll usually notice a speed increase of your agent runs after a conversion to a type/provider to replace all the exec resources and always end up with easier to maintain manifests.
Read the rest of this entry »
| Purpose |
Install and configure a Minecraft server on Linux |
| Module |
branan/minecraft |
| Puppet Version |
2.7+ |
| Platforms |
All platforms that provide cURL and Java |

Minecraft is a popular game in which you can explore and create a world made of blocks. One of its features is a multiplayer mode that allows playing the game with others over the Internet on public or private servers.
There are a number of public Minecraft servers, but they are not always the best solution. If you have young children or just don’t like playing online with strangers, you might want to have your own Minecraft server. With this Puppet module, you can start playing Minecraft with your friends and family in just a few minutes.
Read the rest of this entry »
One of the things I’ve always found amusing about Operations is that people think we spend all of our time fixing broken things. It’s true to some extent: something breaks, we fix it. But the most challenging issues in Operations aren’t that simple binary break/fix. The really interesting issues are performance issues, intermittent bugs, and transitory problems: “it’s a little slow” or “something is off” or the “it’s not quite right” issues. Not only are those problems really challenging, but they can also really interesting (and often fun) to solve.
Diagnosing and solving those problems, however, is very different from dealing with break/fix issues. You still need good diagnosis skills to deal with break/fix issues, but you are usually able to rely on the change-test-validate cycle: make a change, test it fixes the issue, and then validate you haven’t broken anything else. With less binary problems, you sometimes don’t even know where to start or are working from unsubstantive qualitative feedback: “Something doesn’t feel right.”
Operations Loves Data
Read the rest of this entry »
| Purpose |
A set of providers and types that use Augeas to modify config files |
| Module |
domcleal/augeasproviders |
| Puppet Version |
0.25+ |
| Platforms |
Any with ruby-augeas available (Linux, BSD, Solaris, AIX) |
Augeas is a library and API for accessing and modifying text configuration files, with a number of language bindings and over a hundred common config formats supported. It emphasises safety (not breaking files) and preservation of a file’s existing layout and formatting.
The augeasproviders module offers providers for Puppet using the Augeas library for a few existing resource types (e.g. host) and adds a few types of its own (e.g. sysctl). Once installed, the new providers can be selected and the new types are immediately available for use – no Augeas knowledge required!
Read the rest of this entry »
| Purpose |
Helps you automate the management of VMware Tools. |
| Module |
rasorsedge/vmwaretools (v4.1.1 tested) |
| Puppet Version |
Tested on 2.7+ (Puppet Enterprise 2.0+) |
| Platforms |
RHEL, CentOS, SUSE, OEL (post written with CentOS) |
Last time, on Module of the Week…
In a previous MOTW, I covered what problem this module solves and addressed a very simple workflow for using the module to manage VMware Tools.
This time, I’m going to dive into how the module is structured and explore some of the more advanced things you can do with it.
Read the rest of this entry »
| Purpose |
Fetch and update file data from an S3 bucket |
| Module |
branan/s3file |
| Puppet Version |
2.7+ |
| Platforms |
All, but see ‘Advanced Usage’ for non-Linux |
Puppet and Puppet Enterprise come with a basic file server, allowing agents to fetch files from the master. This capability is suitable for small files, but when used with large binaries it can cause performance issues on the master.
S3file provides a simple Puppet type to fetch and update files stored in an Amazon S3 bucket or in your private OpenStack Swift storage environment. This allows you to store large files outside of Puppet, while still keeping the resource model provided by the existing Puppet file types.
S3file is written to be compatible with the old Puppet 2.7 as well as the latest Puppet 3.0, making it easy to integrate with any Puppet deployment.
Read the rest of this entry »
| Purpose |
Manage INI configuration/settings files |
| Module |
cprice404/inifile |
| Puppet Version |
2.7+ |
| Platforms |
Any supported Puppet platform |
Ever wish you could just tweak a single setting in an existing INI-style configuration file without having to manage the whole file—without mastering the intricacies of Augeas? Now you can, thanks to the new inifile module.
Read the rest of this entry »