官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 小金县| 汉阴县| 万荣县| 石楼县| 东方市| 辽中县| 蕲春县| 西吉县| 宝鸡市| 平湖市| 杂多县| 耒阳市| 基隆市| 花垣县| 旬阳县| 容城县| 乌审旗| 左云县| 安国市| 板桥市| 沁源县| 台北市| 鸡泽县| 繁峙县| 温泉县| 博白县| 黄平县| 新疆| 渑池县| 清水河县| 乐安县| 侯马市| 玉树县| 博爱县| 石家庄市| 大兴区| 河池市| 东台市| 桃园县| 泗阳县| 青铜峡市|