Updating Cron

This article describes how to update Cron. Use Helm to perform the update.

What you need to know before updating

When you update Cron, the YTsaurus cluster keeps running normally, and you can perform all data operations.

During the Cron update, the following changes occur:

  • The YTsaurus cluster continues to run in normal mode.
  • YTsaurus server components don’t need to be restarted.
  • Access to data via the YTsaurus API remains available.
  • Cronjobs might be temporarily unavailable during the update.

Available Cron versions and their changes are described in the Cron releases.

Preparing for the update

1. Check the current Cron version

Check the current Cron version in Helm:

helm list -n <namespace> | grep cron

Example output:

NAME            NAMESPACE   REVISION    UPDATED                                 STATUS      CHART           APP VERSION
ytsaurus-cron   YTsaurus    1           2026-05-27 13:23:50.855024 +0300 MSK   deployed    cron-chart-0.0.2

2. Check Cron status

Make sure Cronjobs are running correctly:

kubectl get cronjobs -l app.kubernetes.io/name=cron-chart -n <namespace>

Example output:

NAME                                                   SCHEDULE       SUSPEND   ACTIVE   LAST SCHEDULE   AGE
ytsaurus-cron-cron-chart-clear-tmp-files               */15 * * * *   True      0        <none>          13s
ytsaurus-cron-cron-chart-clear-tmp-location            */15 * * * *   False     0        <none>          13s
ytsaurus-cron-cron-chart-clear-tmp-trash               */15 * * * *   False     0        <none>          13s
ytsaurus-cron-cron-chart-prune-offline-cluster-nodes   */15 * * * *   True      0        <none>          13s

3. Save a backup of the Cron configuration

Save the current Cron configuration:

helm get values ytsaurus-cron -n <namespace> > cron-backup.yaml

Updating Cron

Update Cron sequentially through all versions. For each version, follow these steps.

1. Get the current Cron configuration

Get the current Cron configuration:

helm get values ytsaurus-cron -n <namespace> > cron-values.yaml

2. Update Cron to the new version

Update Cron to the new version:

helm upgrade ytsaurus-cron oci://ghcr.io/ytsaurus/cron-chart \
  --version <new-version> \
  -f cron-values.yaml \
  -n <namespace>

Example update:

helm upgrade ytsaurus-cron oci://ghcr.io/ytsaurus/cron-chart \
  --version 0.0.4 \
  -f cron-values.yaml \
  -n ytsaurus

3. Monitor the update

Check Cron’s status during the update:

helm status ytsaurus-cron -n <namespace>

4. Verify the result

Make sure Cron updated successfully:

helm list -n <namespace> | grep cron

Example output:

NAME            NAMESPACE   REVISION    UPDATED                                 STATUS      CHART           APP VERSION
ytsaurus-cron   YTsaurus    2           2026-05-27 13:24:38.855024 +0300 MSK   deployed    cron-chart-0.0.4

Check the chart version:

helm history ytsaurus-cron -n <namespace>

Example output:

REVISION	UPDATED                 	STATUS    	CHART           	APP VERSION	DESCRIPTION
1       	Wed May 27 13:23:50 2026	superseded	cron-chart-0.0.2	           	Install complete
2       	Wed May 27 13:24:38 2026	deployed  	cron-chart-0.0.4	           	Upgrade complete

Check for new cronjobs:

kubectl get cronjobs -l app.kubernetes.io/name=cron-chart -n <namespace>

Example output:

NAME                                                   SCHEDULE       SUSPEND   ACTIVE   LAST SCHEDULE   AGE
ytsaurus-cron-cron-chart-clear-tmp-files               */15 * * * *   True      0        <none>          94s
ytsaurus-cron-cron-chart-clear-tmp-location            */15 * * * *   False     0        <none>          94s
ytsaurus-cron-cron-chart-clear-tmp-trash               */15 * * * *   False     0        <none>          94s
ytsaurus-cron-cron-chart-process-master-snapshot       0 * * * *      True      0        <none>          45s
ytsaurus-cron-cron-chart-prune-offline-cluster-nodes   */15 * * * *   True      0        <none>          94s

Rolling back to the previous version

Roll back Cron to the previous version without losing data.

Steps to roll back

  1. Check the update history:
helm history ytsaurus-cron -n <namespace>

Example output:

REVISION	UPDATED                 	STATUS    	CHART           	APP VERSION	DESCRIPTION
1       	Wed May 27 13:23:50 2026	superseded	cron-chart-0.0.2	           	Install complete
2       	Wed May 27 13:24:38 2026	deployed  	cron-chart-0.0.4	           	Upgrade complete
  1. Roll back to the previous version:
helm rollback ytsaurus-cron -n <namespace>
  1. Verify the result:
helm list -n <namespace> | grep cron

Managing release history

Helm stores the history of all release updates, which lets you roll back to previous versions. The release history doesn’t consume cluster resources and is stored in Kubernetes Secrets.

Viewing the history

helm history ytsaurus-cron -n <namespace>

Clearing the history

If you’re sure you won’t roll back to older versions, you can clear the release history.

Warning

Clearing the release history is irreversible. After you delete the history, you can’t roll back to previous versions.

To clear the history, delete and reinstall the release:

helm uninstall ytsaurus-cron -n <namespace>
helm install ytsaurus-cron oci://ghcr.io/ytsaurus/cron-chart \
  --version <version> \
  -f cron-values.yaml \
  -n <namespace>
Previous
Next