Make PuppetCA pluggable
|Triaged:||Fixed in Releases:|
|Bugzilla link:||Found in Releases:|
Since we are planning to offer alternative options for autosinging in the future (token based instead of hostname based) (see [[http://projects.theforeman.org/issues/23211]]), and want to allow users to choose their autosigning variant (primarily to allow compatibility with old versions, old foreman versions etc) we need to make the PuppetCA module pluggable, which means moving the autosinging functionality to a provider, which can then be swapped using the SmartProxy settings. We also want to clean up the module a bit and use dependency injections etc. The common logic for listing/signing/cleaning certificates (not autosign-entries) that uses the `puppet cert` command will remain in the puppetca-module.