You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.7 KiB
5.7 KiB
Publishing the Openclaw Helm Chart
This guide covers how to publish the Helm chart to make it available for users.
Quick Start (Automated)
The chart is automatically published to GitHub Pages when you:
- Update
charts/openclaw/Chart.yamlversion - Commit and push to
mainbranch - GitHub Actions automatically packages and publishes
Publishing Methods
Option 1: GitHub Pages (Recommended)
Initial Setup
-
Enable GitHub Pages:
- Go to repository Settings → Pages
- Source: Deploy from a branch
- Branch:
gh-pages→/ (root) - Click Save
-
Create gh-pages branch (first time only):
# Create empty gh-pages branch git checkout --orphan gh-pages git rm -rf . echo "# Openclaw Helm Charts" > README.md git add README.md git commit -m "Initial gh-pages" git push origin gh-pages git checkout main -
The workflow will automatically:
- Package the chart
- Create a GitHub release
- Update the chart repository index
- Publish to GitHub Pages
Manual Publishing (if needed)
# 1. Package the chart
helm package charts/openclaw -d .cr-release-packages
# 2. Create index
helm repo index .cr-release-packages --url https://openclaw.github.io/openclaw
# 3. Commit to gh-pages branch
git checkout gh-pages
cp .cr-release-packages/* .
git add .
git commit -m "Release chart version X.Y.Z"
git push origin gh-pages
git checkout main
Usage for End Users
Once published, users can install via:
# Add repo
helm repo add openclaw https://openclaw.github.io/openclaw
helm repo update
# Install
helm install my-openclaw openclaw/openclaw
Option 2: OCI Registry (GitHub Container Registry)
Modern approach using OCI registries:
Setup
# Login to GHCR
echo $GITHUB_TOKEN | helm registry login ghcr.io -u USERNAME --password-stdin
# Package chart
helm package charts/openclaw
# Push to GHCR
helm push openclaw-1.0.0.tgz oci://ghcr.io/openclaw
Automate in GitHub Actions
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push chart to GHCR
run: |
helm package charts/openclaw
helm push openclaw-*.tgz oci://ghcr.io/${{ github.repository_owner }}
Usage for End Users
# Install directly from OCI
helm install my-openclaw oci://ghcr.io/openclaw/openclaw --version 1.0.0
Option 3: Artifact Hub
Make your chart discoverable on Artifact Hub.
Prerequisites
- Chart published to GitHub Pages or OCI registry
- Artifact Hub metadata file
Add Artifact Hub metadata
Create charts/openclaw/artifacthub-repo.yml:
repositoryID: <your-repo-id>
owners:
- name: Openclaw Team
email: team@openclaw.com
Submit to Artifact Hub
- Go to https://artifacthub.io
- Sign in with GitHub
- Add repository
- Provide repository URL:
https://openclaw.github.io/openclaw - Wait for verification
Option 4: ChartMuseum (Self-Hosted)
For private/internal charts:
# Run ChartMuseum
docker run -d \
-p 8080:8080 \
-v $(pwd)/charts:/charts \
ghcr.io/helm/chartmuseum:latest \
--storage local \
--storage-local-rootdir /charts
# Upload chart
curl --data-binary "@openclaw-1.0.0.tgz" http://localhost:8080/api/charts
Versioning
Follow Semantic Versioning:
- Chart version (
versionin Chart.yaml): Chart changes - App version (
appVersionin Chart.yaml): Openclaw version
Bumping Versions
# Update chart version
vim charts/openclaw/Chart.yaml
# Change version: 1.0.0 → 1.1.0
# Update app version (when openclaw version changes)
vim charts/openclaw/Chart.yaml
# Change appVersion: "2026.1.25" → "2026.1.26"
Version Guidelines
- Major (1.0.0 → 2.0.0): Breaking changes to values.yaml or behavior
- Minor (1.0.0 → 1.1.0): New features, non-breaking changes
- Patch (1.0.0 → 1.0.1): Bug fixes, documentation
Release Checklist
- Update
versioninChart.yaml - Update
appVersionif openclaw version changed - Update
CHANGELOG.md(if you have one) - Test chart locally:
./scripts/test-helm-local.sh - Lint chart:
helm lint charts/openclaw - Commit changes
- Push to main (triggers automated release)
- Verify GitHub Pages deployment
- Test installation from published repo
Testing Published Chart
# Add your published repo
helm repo add openclaw https://openclaw.github.io/openclaw
helm repo update
# Search for chart
helm search repo openclaw
# Install from published repo
helm install test openclaw/openclaw --dry-run --debug
Troubleshooting
Chart not appearing after publish
- Check GitHub Actions logs
- Verify gh-pages branch exists
- Check GitHub Pages settings are enabled
- Wait 5-10 minutes for GitHub Pages to deploy
Users getting "not found" error
# Check index.yaml exists
curl https://openclaw.github.io/openclaw/index.yaml
# Verify chart package exists
curl https://openclaw.github.io/openclaw/openclaw-1.0.0.tgz
Permission denied during publishing
Ensure GitHub Actions has write permissions:
- Settings → Actions → General → Workflow permissions
- Select "Read and write permissions"
Advanced: Multi-Chart Repository
If you add more charts:
charts/
openclaw/
openclaw-operator/
openclaw-monitoring/
The helm/chart-releaser-action automatically handles multiple charts.