Helm Repository Setup Guide
This guide explains how to set up and use the Helm repository for Frappe Operator hosted on GitHub Pages.
Overview
The Helm repository is hosted on GitHub Pages using the docs/helm-repo/ directory. This allows users to install and update the Frappe Operator using standard Helm commands.
Repository URL
https://vyogotech.github.io/frappe-operator/helm-repo
Quick Start
For Users
- Add the repository:
helm repo add frappe-operator https://vyogotech.github.io/frappe-operator/helm-repo helm repo update - Install the operator:
helm install my-frappe-operator frappe-operator/frappe-operator - Upgrade to latest version:
helm repo update helm upgrade my-frappe-operator frappe-operator/frappe-operator
For Maintainers
Manual Publishing
- Package the chart:
./scripts/package-helm-chart.sh [version]Example:
./scripts/package-helm-chart.sh 1.0.0 - Commit and push:
git add docs/helm-repo/ git commit -m "chore: publish Helm chart v1.0.0" git push - Verify:
helm repo add test-repo https://vyogotech.github.io/frappe-operator/helm-repo helm repo update helm search repo frappe-operator
Automatic Publishing
The repository is automatically updated via GitHub Actions when:
- Changes are pushed to
helm/directory - A new GitHub release is published
- The workflow is manually triggered
GitHub Pages Configuration
Initial Setup
- Go to your GitHub repository
- Navigate to Settings β Pages
- Configure:
- Source: Deploy from a branch
- Branch:
main(ormaster) - Folder:
/docs
- Click Save
Verification
After setup, verify the repository is accessible:
curl https://vyogotech.github.io/frappe-operator/helm-repo/index.yaml
You should see the index.yaml file with chart metadata.
Repository Structure
docs/helm-repo/
βββ README.md # Repository documentation
βββ index.yaml # Helm repository index (auto-generated)
βββ .gitignore # Ignore .tgz files, keep index.yaml
βββ frappe-operator-*.tgz # Packaged chart archives
Chart Versioning
Chart versions should follow Semantic Versioning:
- MAJOR: Breaking changes
- MINOR: New features (backward compatible)
- PATCH: Bug fixes (backward compatible)
Example versions: 1.0.0, 1.1.0, 2.0.0
Troubleshooting
Repository Not Found
- Verify GitHub Pages is enabled and configured correctly
- Check that
docs/helm-repo/index.yamlexists - Ensure the repository URL is correct
Chart Not Found
- Run
helm repo updateto refresh the local cache - Verify the chart version exists in
index.yaml - Check that the
.tgzfile is accessible via the URL
Authentication Issues
If your repository is private, youβll need to:
- Use GitHub Personal Access Token
- Configure Helm with credentials:
helm repo add frappe-operator https://vyogotech.github.io/frappe-operator/helm-repo \ --username <github-username> \ --password <github-token>
Advanced Usage
Install Specific Version
helm install my-frappe-operator frappe-operator/frappe-operator --version 1.0.0
View Chart Values
helm show values frappe-operator/frappe-operator
Dry Run Installation
helm install my-frappe-operator frappe-operator/frappe-operator --dry-run --debug
Uninstall
helm uninstall my-frappe-operator
CI/CD Integration
The repository includes a GitHub Actions workflow (.github/workflows/publish-helm-chart.yml) that:
- Automatically packages charts when Helm files change
- Publishes charts on new releases
- Updates the repository index
- Deploys to GitHub Pages
Security Considerations
- Charts are served over HTTPS via GitHub Pages
- Chart checksums are included in
index.yaml - Users can verify chart integrity using Helmβs built-in verification