- Puppet:Mastering Infrastructure Automation
- Felix Frank Martin Alfke Alessandro Franceschi Jaime Soriano Pastor Thomas Uphillis
- 518字
- 2021-07-09 18:59:06
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.
- Instant Node Package Manager
- C語言程序設計(第2 版)
- Access 數據庫應用教程
- 深入淺出Spring Boot 2.x
- 跟老齊學Python:輕松入門
- Blender 3D Incredible Machines
- Oracle BAM 11gR1 Handbook
- 嚴密系統設計:方法、趨勢與挑戰
- Learning Zurb Foundation
- Integrating Facebook iOS SDK with Your Application
- 區塊鏈技術進階與實戰(第2版)
- Hands-On Neural Network Programming with C#
- jQuery技術內幕:深入解析jQuery架構設計與實現原理
- Apache Kafka 1.0 Cookbook
- C# 10核心技術指南