Finding helpful Forge modules

Using the web interface at http://forge.puppetlabs.com is very straightforward. By filling the search form with the name of the software, system, or service you need to manage, you will usually get a list of very fitting modules - often with just your search term as their name. In fact, for common terms, the number of available modules can be overwhelming.

You can get immediate feedback about the maturity and popularity of each module. A module is being actively used and maintained if:

  • It has a score close to 5
  • It has a version number that indicates releases past 1.0.0 (or even 0.1.0)
  • Its most recent release was not too long ago, perhaps less than half a year
  • It has a significant number of downloads

The latter three numbers can vary a lot, though, depending on the number of features that the module implements and how widespread its subject is. Even more importantly, just because a particular module gets much attention and regular contributions, it does not have to mean that it is the best choice for your situation.

You are encouraged to evaluate less trafficked modules as well - you can unearth some hidden gems this way. The next section details some deeper indicators of quality for you to take into consideration.

If you cannot or don't want to spend too much time digging for the best module, you can also just refer to the sidebar with the Puppet Supported and Puppet Approved modules. All modules that are featured in these categories have got a seal of quality from Puppet Labs.

Identifying modules' characteristics

When navigating to a module's details in the Forge, you are presented with its README file. An empty or very sparse documentation speaks of little care taken by the module author. A sample manifest in the README file is often a good starting point in order to put a module to work quickly.

If you are looking for a module that will enhance your agents through additional resource types and providers, look for the Types tab on the module details page. It can also be enlightening to click on the Project URL link near the top of the module description. This usually leads to GitHub. Here, you can conveniently browse not only the plugins in the lib/ subtree, but also get a feel of how the module's manifests are structured.

Another sign of a carefully maintained module are unit tests. These are found in the spec/ subtree. This tree does exist for most of the Forge modules. It tends to be devoid of actual tests, though. There can be test code files for all the classes and the defined types that are part of the module's manifest - these are typically in the spec/classes/ and spec/defines/ subdirectories, respectively. For plugins, there will ideally be unit tests in spec/unit/ and spec/functions/.

Some README files of the modules contain a small greenish tag saying Build passing. This can turn red on occasions, stating Build failing. These modules use the Travis CI through GitHub, so they are likely to have at least a few unit tests.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.146.199