Conversation
miharp
force-pushed
the
docs/hostcrl-overwrite
branch
2 times, most recently
from
September 20, 2026 12:08
a65a10b to
b7e60dd
Compare
miharp
marked this pull request as ready for review
September 20, 2026 12:22
miharp
force-pushed
the
docs/hostcrl-overwrite
branch
from
September 20, 2026 12:36
b7e60dd to
bd915f6
Compare
The cacrl and hostcrl sections only mentioned a start-time copy. The server also re-copies cacrl over hostcrl whenever cacrl changes, always replaces an existing file (unlike localcacert), and does so because the web server reads hostcrl. Add a section for a server whose agent trusts a different CA, with the [server] hostcrl workaround, and cross-link it from the ssldir page. Behavior and workaround verified against openvox-server 8.16.0. Part of OpenVoxProject#488 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: Michael Harp <mike@mikeharp.com>
miharp
force-pushed
the
docs/hostcrl-overwrite
branch
from
September 21, 2026 16:50
bd915f6 to
d57c508
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
Closes #488.
OpenVox Server overwrites the
hostcrlfile ($ssldir/crl.pemby default) with the CA's CRL. The docs mentioned this in one sentence, as a start-time copy. This PR explains the full behavior and documents a workaround for the case where it breaks the agent on the server host.Changes
puppet_conf_setting_diffs.markdown(OpenVox Server 8.x and 9.x):cacrl/hostcrltext now says that the copy runs at start and again whenever thecacrlfile changes, that it always replaces an existinghostcrlfile (the CA certificate is only copied whenlocalcacertis missing), and that it exists because the web server readshostcrl.hostcrl, "When the agent on the server host trusts a different CA". It covers the failure (certificate verify failed (unable to get certificate CRL)), why deleting the CRL only helps until the next overwrite, and the fix: a separatehostcrlpath in the[server]section of puppet.conf. It ends with a recovery step, because the setting only prevents future overwrites: delete the agent's already-overwritten CRL and run the agent to download the correct one.cacrlsection links to that subsection.cacrlandhostcrlare the same file, and on servers with the CA service disabled, such as compilers.intermediate_ca.md(OpenVox Server 8.x and 9.x):dirs_ssldir.markdown(OpenVox 8.x and 9.x):crl.pementry notes that a server with the CA service overwrites the file, with a link to thehostcrlsection.Verification
Source: openvox-server
master_service.clj(start-time copy),certificate_authority.clj(retrieve-ca-crl!has no exists check,retrieve-ca-cert!does),certificate_authority_service.clj(file watcher oncacrl),puppet_server_config_core.clj(ssl-crl-pathdefaults tohostcrl).Lab,
ghcr.io/openvoxproject/openvoxserver:latest(openvox-server 8.16.0):$ssldir/crl.pemwas replaced on the next restart.puppetserver ca revoke,hostcrlmatchedcacrlwithin a second, with no restart.puppetserver ca generatefailed with the error quoted in the docs.hostcrl = /etc/puppetlabs/puppetserver/ca/host_crl.pemin[server]: the unrelated CRL at$ssldir/crl.pemsurvived restarts and revocations, the server kepthost_crl.pemcurrent, and the web server still refused a revoked client certificate while accepting an unrevoked one.The shared-state caveat comes from source only (
initialize-master-ssl!keeps an existing host certificate, andinit-webserver!takes the certificate, key, and CA certificate from the shared puppet.conf settings). A host with its agent and server on different CAs was not lab-tested.Not lab-tested on 9.x. The copy logic on openvox-server
mainis the same.markdownlint passes on the six files, and
jekyll buildrenders the new anchor and links.Assisted by Claude.