External data provider pattern
Puppet will not be the only source of configuration and information in your estate. There are likely to be numerous sources for Configuration Management Databases (CMDBs) such as ServiceNow or internally developed systems that are used by application teams to store their information. Several of your colleagues and internal customers will want to be able to create exceptions and customizations without having to understand Puppet code and the workflow for deployment. There will also be demands to be able to feed Puppet data back into external systems. The external data provider pattern allows this to happen by allowing you to do the following:
- Make changes in the classification
- Add and change trusted facts
- Feed existing data in as a fact or Hiera data
- Send Facter data to external sources
Having introduced the core concept of the external data provider pattern, we will now look at each of the technical components used within it...