voxpupuli / puppet-openvpn

OpenVPN module for puppet including client config/cert creation
Apache License 2.0
113 stars 197 forks source link

Remove openvpn::deploy #424

Closed jkroepke closed 2 years ago

jkroepke commented 2 years ago

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

jkroepke commented 2 years ago

Any opinion here?

@root-expert

jkroepke commented 2 years ago

@root-expert They are more eyes availible? 😄