openvox 8x: document custom CA for HTTPS-inspecting proxies#241
Merged
Conversation
77b3492 to
623fa16
Compare
tuxmea
approved these changes
May 22, 2026
Sharpie
reviewed
May 22, 2026
Add a new page covering how to add a proxy CA to OpenVox's vendored cert bundle so that gem installs and puppet module installs work behind Squid SSL Bump and similar intercepting proxies. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Michael Harp <mike@mikeharp.com>
- Promote certs/+rehash as the preferred quick fix (survives upgrades, no environment variable management needed) per Sharpie's review - Note Windows caveat for openssl rehash - Update Puppet example to lead with file+exec rehash; keep concat approach as the SSL_CERT_FILE alternative - Retain direct cert.pem append as a one-liner fallback Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Michael Harp <mike@mikeharp.com>
The certs/+rehash file+exec example covers the recommended approach without needing an extra module dependency. SSL_CERT_FILE manual steps remain documented for Windows edge cases. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Michael Harp <mike@mikeharp.com>
Add ln -s as an integration pattern in the Puppet section for nodes where the CA is already deployed by puppet/trusted_ca into the OS trust store. Remove symlink from the manual quick fix section — cp is simpler when deploying the cert fresh. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Michael Harp <mike@mikeharp.com>
70d70db to
964db7b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
DEFAULT_CERT_FILEat/opt/puppetlabs/puppet/ssl/cert.pemandDEFAULT_CERT_DIRat/opt/puppetlabs/puppet/ssl/certs/)certs/+openssl rehash(recommended — survives upgrades),ssl_trust_store(module downloads only), andSSL_CERT_FILEwith a merged bundle (universal, including gem installs and Windows)file+exec rehashfor thecerts/approach, with a symlink variant for nodes where the cert is already deployed bypuppet/trusted_caMotivation
Reported by a community member: gem installs and
puppet module installfail behind Squid SSL Bump even when the proxy CA is in the system trust store.Source verification
Claims verified against the OpenVox source:
OpenSSL::X509::DEFAULT_CERT_FILE=/opt/puppetlabs/puppet/ssl/cert.pemandDEFAULT_CERT_DIR=/opt/puppetlabs/puppet/ssl/certs/confirmed on a liveopenvox-agent-8.27.0installpuppet module installusesPuppet::SSL::SSLProvider#create_system_context→create_x509_store(include_system_store: true)→store.set_default_paths, which respects bothDEFAULT_CERT_FILEandDEFAULT_CERT_DIR(ssl_provider.rb:258)ssl_trust_storescope confirmed via defaults.rb:1020 — applies to forge/https only, not gem subprocessespuppet_gemprovider runsgemas a subprocess (puppet_gem.rb), so only inheritsSSL_CERT_FILEfrom the service environmentTest results
Tested on
openvox-agent-8.27.0(CentOS Stream 9, aarch64) via Vagrant. Generated a self-signed test CA, started a Python HTTPS server using that CA, and verified each approach:Puppet
file+exec rehashapproach also verified — idempotent, hash symlink created, Ruby connects withoutSSL_CERT_FILE:Test plan