The first 2 issues should be a clear statement that returning to the fact based approch is not a option. Each default setup on puppet 7.10 and higher will emit a warning, if this module is in use.
Major issue that I see: Even I'm not using the openvpn::deploy classes, the facts containing the private keys and published to puppetdb are NOT toggleable. If Foreman is used in the setup, all the private keys are exposed to the user base of Foreman.
By separate the logic into a dedicated puppet module, no sensitive facts are generated by default.
In general, use a Hashicorp Vault to exchange private keys in your setup, instead abuse puppet for it.
Pull Request (PR) description
Remove openvpn::deploy from this module.
The
openvpn::deploy
classes + facts introduced in (https://github.com/voxpupuli/puppet-openvpn/pull/261). The facts has a lot of outstanding issue in the history of this module.The fact based approach has multiple issues:
The first 2 issues should be a clear statement that returning to the fact based approch is not a option. Each default setup on puppet 7.10 and higher will emit a warning, if this module is in use.
A proposal to replace facts by deferred functions (https://github.com/voxpupuli/puppet-openvpn/pull/410) also never works
I'm strongly recommend, if this functionality is needed to use a dedicated modules for this.
Example (but outdated):
Major issue that I see: Even I'm not using the
openvpn::deploy
classes, the facts containing the private keys and published to puppetdb are NOT toggleable. If Foreman is used in the setup, all the private keys are exposed to the user base of Foreman.By separate the logic into a dedicated puppet module, no sensitive facts are generated by default.
In general, use a Hashicorp Vault to exchange private keys in your setup, instead abuse puppet for it.
This Pull Request (PR) fixes the following issues
Fixes #352 Fixes #421