-
Notifications
You must be signed in to change notification settings - Fork 24
Description
Use Case
Currently, a separate workaround is required when deploying splunk_hec to a FIPS environment.
As of Puppetserver 7.8.0, it's possible to use the ssl_trust_store setting in the Puppet HTTP Client by providing include_system_store as an option when doing the request.
https://tickets.puppetlabs.com/browse/SERVER-2944
This would eliminate the need to append our internal CA to localcacert and the need to work around this limitation:
Keep in mind that this file will be overwritten any time the puppetserver is upgraded to a new version and this step will have to be done again.
Describe the Solution You Would Like
An additional parameter that would let us use include_system_store for FIPS. Given the need for compatibility with older Puppetserver versions I understand why it couldn't be on by default.
Bonus points for being able to opt-in to the Puppet.runtime[:http] client as well on non-FIPS. It would save us from having to set the ssl_ca separately for the Splunk HEC and just use the ssl_trust_store we're already setting.
Here's an example of how we took advantage of this feature to make an internal tool FIPS compatible:
options = {
include_system_store: true
}
client = Puppet.runtime[:http]
response = client.post(uri, somejson, options: options)Describe Alternatives You've Considered
Keep the existing workaround and automating the adjustments needed to localcacert.
Additional Context
Puppet Enterprise FIPS currently has an issue where the CA Store is invalid. I'm told PE-34416 is the internal tracking number for that issue but I can't even access it myself.