cert-manager Development and Maintenance Guide📜
This document is the maintainer runbook for updating and validating the
Big Bang integrated cert-manager package in this repository.
Scope and Track📜
- Repository scope:
cert-managerpackage only - Maintenance track:
bb_integrated - Related packages handled in separate repos:
cert-manager-trust-manager,cert-manager-approver-policy - Big Bang umbrella integration is maintained in
big-bang/bigbangalongside this package
How to Upgrade cert-manager📜
- Review upstream release notes and upgrade guidance:
- https://github.com/cert-manager/cert-manager/releases
- https://github.com/cert-manager/cert-manager/tree/master/deploy/charts/cert-manager
- Check out the Renovate branch (usually
renovate/ironbank) or create a feature branch frommain. - Update
chart/Chart.yaml: - bump chart dependency
cert-managerversion under aliasupstream - bump package
versionand append Big Bang suffix (for example-bb.0) - verify
appVersionis aligned - Update image tags and references:
- ensure
chart/values.yamlimage tags match target version - ensure
chart/Chart.yamlannotationhelm.sh/imagesmatches values - Ensure approved image sources (
registry1.dso.mil/ironbank/*) are preserved - Update dependencies and lockfiles:
helm dependency update ./chart
- Update
CHANGELOG.mdwith a new entry for the bumped package version. - Regenerate
README.mdusing the Big Banggluon+helm-docsprocess. - Open/update MR in Draft, run CI, and address failures before review.
Required Validation📜
Run these checks before requesting review.
- Run Helm unit tests:
helm unittest chart -f 'tests/unit/*.yaml'
- Run Helm lint and template checks:
helm dependency build chart
helm lint chart
helm template cert-manager chart -f tests/test-values.yaml >/tmp/cert-manager-rendered.yaml
- Run chart runtime tests with
helm test(Gluon script runner):
helm upgrade --install cert-manager ./chart -n cert-manager --create-namespace --wait --set bbtests.enabled=true
helm test cert-manager -n cert-manager
- Validate upgrade path by running
helm testafter upgrade:
helm upgrade cert-manager ./chart -n cert-manager --wait --set bbtests.enabled=true
helm test cert-manager -n cert-manager
- Confirm
helm testcoverage includes: - CRD presence checks
- cert-manager deployment readiness checks
- positive issuer/certificate issuance
- negative issuer/certificate failure behavior (
Ready=False)
Big Bang Integration Testing (When Needed)📜
For changes likely to affect umbrella behavior (CRDs, Istio behavior, policy, or lifecycle), run package-against-bigbang testing using your branch.
Example tests/test-values.yaml style override in Big Bang:
packages:
cert-manager:
enabled: true
sourceType: git
git:
repo: https://repo1.dso.mil/big-bang/product/packages/cert-manager.git
path: chart
branch: "<your-branch>"
tag: null
CRD and Lifecycle Notes📜
cert-managerinstalls CRDs; verify install/upgrade/rollback behavior for each meaningful version bump.- Document any CRD caveats in MR upgrade notes.
- Keep default behavior safe and unchanged when package is not enabled by umbrella deployment.
Security and Policy Expectations📜
RBAC📜
- RBAC resources are generated by upstream chart templates.
- During upgrade, compare rendered RBAC objects to verify no unexpected permission expansion.
Network Policy📜
- This package currently does not ship custom Big Bang network policies.
- If network policies are introduced, include explicit allow paths for:
- kube-apiserver egress
- DNS egress
- cert-manager webhook/controller/cainjector communication
Runtime Security📜
- Keep
securityContextandrunAsNonRootsettings aligned with approved hardening baseline across controller, webhook, cainjector, and startup check.
Big Bang Modifications to Upstream (Current)📜
High-level package deltas from upstream chart behavior:
- upstream chart consumed via dependency alias
upstream - Big Bang metadata annotations in
chart/Chart.yaml - Iron Bank image overrides in
chart/values.yaml - runtime security defaults set in values
- Istio helper templates under
chart/templates/bigbang/istio - package smoke test script in
tests/scripts/test_issuer.sh
Related References📜
- Package README:
README.md - Package docs index:
docs/overview.md - Installation notes:
docs/installing.md - Epic/issue chain:
- Epic: https://repo1.dso.mil/groups/big-bang/-/work_items/625
- Parent issue: https://repo1.dso.mil/big-bang/bigbang/-/work_items/3096
- Package task: https://repo1.dso.mil/big-bang/product/packages/cert-manager/-/work_items/28