feat: automated cert/CRL deployment to orphan dist branch with 21-day cadence#1
feat: automated cert/CRL deployment to orphan dist branch with 21-day cadence#1
dist branch with 21-day cadence#1Conversation
Co-authored-by: Creeper19472 <38857196+Creeper19472@users.noreply.github.com>
dist branch
|
@copilot You should also generate CRL for needed certs (exclude root CA). Then you should run this process regularly, we stipulate that it should be run every 21 days. |
|
@copilot You should also generate CRL for needed certs (exclude root CA). Then you should run this process regularly, we stipulate that it should be run every 21 days. |
Co-authored-by: Creeper19472 <38857196+Creeper19472@users.noreply.github.com>
Implemented in commit
Implemented in commit |
dist branchdist branch with 21-day cadence
Clients referencing this repo as a Git submodule should only see certificate artifacts — not workflows, scripts, or source PEM files. This adds an automated pipeline that publishes only the OpenSSL hash-named files to a clean
distbranch on push tomainand on a 21-day cadence.Changes
Repository reorganization
8a5a09f0.0→certs/intermediate_ca.pemande16db44c.0→certs/root_ca.pemcerts/holds source PEM files; hash-named outputs are generated at deploy time and gitignored.github/workflows/deploy.ymlPipeline behavior:
pushtomainand on a daily scheduleCRL_INTERVAL_DAYS=21)cfms-dev/certtoolsand installs itscryptographydependencycerts/*.pemusing thecryptographylibrary — fails fast on malformed inputINTERMEDIATE_CA_KEY_PEMopenssl rehash certs/to produce<hash>.[0-9](certs) and<hash>.r[0-9](CRLs) symlinksdistbranch — nomainhistory, no source filesClients should pin their submodule to the
distbranch..gitignoreExcludes
openssl rehash-generated symlinks (certs/[0-9a-f]{8}.[0-9],certs/[0-9a-f]{8}.r[0-9]) from accidental staging on developer machines.Warning
CRL generation requires the
INTERMEDIATE_CA_KEY_PEMrepository secret (PEM-encoded private key forcerts/intermediate_ca.pem). If this secret is missing, the workflow fails by design.✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.