Helm Sync jobs
Automatically discover and monitor Helm charts from a repository using Helm Sync jobs.
If you manage many Helm charts from the same repository, creating individual gather jobs for each one is tedious. Helm Sync jobs automate this by scanning a Helm repository’s index.yaml, discovering all charts, and creating child gather jobs for each one.
How it works
- The Helm Sync job fetches the repository’s
index.yaml - It discovers all charts (optionally filtered by a regex)
- For each chart, it creates a
helm_repositorygather job if one doesn’t already exist - Child gather jobs inherit default settings (schedule, tag filter, version regex) from the sync job
- Optionally, charts that disappear from the repository have their gather jobs cleaned up automatically
Create a Helm Sync job
- Open the Gather Jobs page from the sidebar.
- Click Create Gather Job.
- Select Helm Sync as the source type.
- Fill in the form:
| Field | Required | Description |
|---|---|---|
| Name | No | A label for this sync job |
| Repository URL | Yes | The Helm repository URL (for example, https://argoproj.github.io/argo-helm) |
| Chart filter | No | Regex to include only matching chart names (for example, ^argo-cd$ for a single chart) |
| Default schedule | No | Cron schedule inherited by all child gather jobs |
| Default tag filter | No | Tag filter regex inherited by child gather jobs |
| Default version regex | No | Version regex inherited by child gather jobs |
| Auto delete orphans | No | Remove child gather jobs when their chart disappears from the repository |
| Schedule | No | Cron schedule for the sync job itself (how often to re-scan for new charts) |
- Click Create.
Example: Monitor all Argo Helm charts
To monitor all charts in the Argo Helm repository:
- Repository URL:
https://argoproj.github.io/argo-helm - Default schedule:
0 */6 * * *(child jobs run every 6 hours) - Schedule:
0 0 * * *(re-scan for new charts daily) - Auto delete orphans: Enabled
This creates a gather job for every chart in the repo (argo-cd, argo-workflows, argo-rollouts, etc.) and keeps the list up to date as charts are added or removed.
Example: Monitor specific charts from a large repository
Some Helm repositories contain dozens of charts but you only need a few. Use the chart filter to limit discovery:
- Repository URL:
https://prometheus-community.github.io/helm-charts - Chart filter:
^(kube-prometheus-stack|alertmanager)$ - Default schedule:
0 3 * * *(daily at 3 AM)
This creates gather jobs only for kube-prometheus-stack and alertmanager, ignoring all other charts in the repository.
^name$ anchors for exact matches, or name for substring matches.Managing child jobs
Child gather jobs created by a Helm Sync job are normal gather jobs – you can view, edit, trigger, and delete them individually. They appear on the Gather Jobs page with a reference to their parent sync job.
If you delete a Helm Sync job, its child gather jobs are not automatically deleted. You must remove them manually if they are no longer needed.
Orphan cleanup
When Auto delete orphans is enabled, the Helm Sync job removes child gather jobs for charts that no longer appear in the repository’s index.yaml. This keeps your monitoring in sync with the repository’s actual contents.
Without orphan cleanup, child gather jobs for removed charts remain in your configuration but will fail when they try to fetch releases for a chart that no longer exists.
Pre-seeded Helm Sync jobs
Planekeeper ships with approximately 29 pre-seeded global Helm Sync jobs covering popular infrastructure repositories (ingress-nginx, cert-manager, Argo, Bitnami, etc.). These provide immediate upstream release data without any configuration.
Use the scope filter on the Gather Jobs page to see global Helm Sync jobs alongside your organization’s jobs.
Tips
- Set a reasonable sync schedule (daily or weekly) – Helm repositories don’t change frequently enough to warrant hourly syncs.
- Use Auto delete orphans for repositories under active development where charts may be added and removed regularly.
- Review the child gather jobs after the first sync to verify the chart filter matched the expected charts.
- If a repository has many charts but you only need a few, use the chart filter to avoid creating unnecessary gather jobs.