Planekeeper is currently in alpha development. Features and APIs may change. Feedback is welcome! Request early access to get started.

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

  1. The Helm Sync job fetches the repository’s index.yaml
  2. It discovers all charts (optionally filtered by a regex)
  3. For each chart, it creates a helm_repository gather job if one doesn’t already exist
  4. Child gather jobs inherit default settings (schedule, tag filter, version regex) from the sync job
  5. Optionally, charts that disappear from the repository have their gather jobs cleaned up automatically

Create a Helm Sync job

  1. Open the Gather Jobs page from the sidebar.
  2. Click Create Gather Job.
  3. Select Helm Sync as the source type.
  4. Fill in the form:
FieldRequiredDescription
NameNoA label for this sync job
Repository URLYesThe Helm repository URL (for example, https://argoproj.github.io/argo-helm)
Chart filterNoRegex to include only matching chart names (for example, ^argo-cd$ for a single chart)
Default scheduleNoCron schedule inherited by all child gather jobs
Default tag filterNoTag filter regex inherited by child gather jobs
Default version regexNoVersion regex inherited by child gather jobs
Auto delete orphansNoRemove child gather jobs when their chart disappears from the repository
ScheduleNoCron schedule for the sync job itself (how often to re-scan for new charts)
  1. 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.

success
The chart filter is a regex matched against chart names. Use ^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.