Summary
Puppet gathers information about all agent systems using Facter. The information base consists of a large number of independent bits, called facts. Manifests can query the values of those facts to adapt to the respective agents that trigger their compilation. Puppet also uses facts to choose among providers the work horses that make the abstract resource types functional across the wide range of supported platforms.
The resource types not only completely define the interface that Puppet exposes in the DSL, they also take care of all the validation of input values, transformations that must be performed before handing values to the providers, and other related tasks.
The providers encapsulate all knowledge of actual operating systems and their respective toolchains. They implement the functionality that the resource types describe. The Puppet model's configurations apply to platforms, which vary from one another, so not every facet of every resource type can make sense for all agents. By exposing only the supported features, a provider can express such limitations.
After this in-depth look at the internal details, let's tackle more practical concerns again. The following chapters will cover the tools needed to build complex and advanced manifests of all scales.
- Learning Neo4j
- Web應用系統開發實踐(C#)
- 深度實踐OpenStack:基于Python的OpenStack組件開發
- Scala Design Patterns
- Linux網絡程序設計:基于龍芯平臺
- Kinect for Windows SDK Programming Guide
- 自然語言處理Python進階
- 深入實踐Kotlin元編程
- C++編程兵書
- Oracle數據庫編程經典300例
- C語言程序設計實踐
- 虛擬現實建模與編程(SketchUp+OSG開發技術)
- Android嵌入式系統程序開發(基于Cortex-A8)
- Node.js 6.x Blueprints
- 絕密原型檔案:看看專業產品經理的原型是什么樣