Documents how Helm chart publication works in the miroir CI/CD pipeline, including the three Argo Workflow tasks (helm-package, helm-publish-ghpages, helm-publish-oci) and usage instructions for both GitHub Pages and OCI registry. Closes: miroir-uyx.6
2.1 KiB
2.1 KiB
Helm Chart Publication CI
This document describes how Helm chart publication works in the miroir CI/CD pipeline.
Overview
The Helm chart is published automatically when a git tag is pushed. The chart is published to two locations:
- GitHub Pages (
https://jedarden.github.io/miroir) - Primary repository forhelm repo add - OCI Registry (
oci://ghcr.io/jedarden/charts/miroir) - For air-gapped environments
Argo Workflow Tasks
The miroir-ci WorkflowTemplate in declarative-config includes three tasks for Helm chart publication:
1. helm-package
- Runs after checkout when a tag is provided
- Updates
Chart.yamlversion and appVersion to match the tag - Packages the chart using
helm package charts/miroir -d dist/
2. helm-publish-ghpages
- Publishes the packaged chart to the gh-pages branch
- Creates the gh-pages branch if it doesn't exist
- Updates
index.yamlwith the new chart version - Commits and pushes to the gh-pages branch
3. helm-publish-oci
- Publishes the chart to GHCR OCI registry
- Uses the same
ghcr-credentialssecret as Kaniko - Parses Docker config JSON for GHCR authentication
Usage
Adding the Helm repository
helm repo add miroir https://jedarden.github.io/miroir
helm repo update
Installing from GitHub Pages
helm install my-miroir miroir/miroir --version 0.1.0
Installing from OCI registry
helm install my-miroir oci://ghcr.io/jedarden/charts/miroir --version 0.1.0
Chart Versioning
- Chart version tracks app version by default
- For chart-only fixes (e.g., template changes without code changes), the chart version should be bumped separately
- TODO: Implement chart-only detection to skip binary rebuild when only chart files change
Secrets
The following secrets are required in the argo-workflows namespace:
ghcr-credentials: Docker config JSON for GHCR push (used by both Kaniko and Helm OCI)github-token: GitHub token for repository operations (used by gh-pages push)
References
- Plan §12: Delivered Artifacts
- Bead miroir-uyx.6: P11.6 Helm chart publication