| Allow projects to register a facter implementations, similar to how callers (like puppetserver) register an HTTP client implementation. This will isolate the compiler from the system and will allow easier testing. We need to implement the same mechanism that is used for HttpClient. A default Facter implementation should be added, this will be used in Puppet and it will call the Facter API Eg.
facter_impl = FacterImpl.new |
Puppet.initialize_settings([], true, true, http: ..., facter: facter_impl)
|
|