Updating Task-proxy

This article explains how to update Task-proxy using Helm.

What you need to know before the update

When you update Task-proxy, the YTsaurus cluster keeps running normally, and all data operations remain available.

During the Task-proxy update, the following changes happen:

  • The YTsaurus cluster runs in standard mode.
  • The YTsaurus server components aren’t restarted.
  • Access to data via the YTsaurus API is preserved.
  • Task-proxy is temporarily unavailable while the pods are being updated.

You can find available Task-proxy versions and their changes in the Task-proxy releases.

Preparing for the update

1. Check the current Task-proxy version

Check the current Task-proxy version:

helm list -n <namespace> | grep task-proxy

Example output:

NAME            NAMESPACE   REVISION    UPDATED                                 STATUS      CHART                   APP VERSION
task-proxy      ytsaurus    1           2026-05-28 12:29:52.273705 +0300 MSK   deployed    task-proxy-chart-0.2.2

2. Check the Task-proxy status

Make sure the Task-proxy pods are in the Running state:

kubectl get pods -n <namespace> | grep task-proxy

Example output:

task-proxy-d9fcb9485-txx2k                             2/2     Running            0             49s

If the Task-proxy pods aren’t in the Running state, wait for them to start or fix any issues.

3. Save a backup of the Task-proxy configuration

Save the current Task-proxy configuration:

helm get values task-proxy -n <namespace> -o yaml > task-proxy-backup.yaml

Updating Task-proxy

You can skip intermediate versions if the releases don’t require a sequential update.

1. Get the current Task-proxy configuration

Get the current Task-proxy configuration:

helm get values task-proxy -n <namespace> -o yaml > task-proxy-values.yaml

2. Update Task-proxy to the new version

Update Task-proxy to the new version:

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

Example of updating from version 0.2.2 to 0.3.0:

helm upgrade task-proxy oci://ghcr.io/ytsaurus/task-proxy-chart \
  --version 0.3.0 \
  -f task-proxy-values.yaml \
  -n ytsaurus

3. Monitor the update

Watch the Task-proxy pod status during the update:

kubectl get pods -n <namespace> -w | grep task-proxy

Task-proxy goes through the following update states:

Status Description
ContainerCreating New pods with the new version are being created
Running New pods are successfully running
Terminating Old pods are being terminated

4. Verify the result

Confirm that Task-proxy was updated successfully:

helm list -n <namespace> | grep task-proxy

Example output:

NAME            NAMESPACE   REVISION    UPDATED                                 STATUS      CHART                   APP VERSION
task-proxy      ytsaurus    2           2026-05-28 12:42:06.910572 +0300 MSK   deployed    task-proxy-chart-0.3.0

Check the pod status:

kubectl get pods -n <namespace> | grep task-proxy

Example output:

task-proxy-6655cf875b-dmwcf                                  2/2     Running            0             4m20s

Check the logs:

kubectl logs -n <namespace> <task-proxy-pod-name> --tail=20

Rolling back to the previous version

Roll back Task-proxy to the previous version without losing data.

Steps to roll back

  1. Check the update history
helm history task-proxy -n <namespace>

Example output:

REVISION	UPDATED                 	STATUS    	CHART           	APP VERSION	DESCRIPTION
1       	Thu May 28 12:29:52 2026	superseded	task-proxy-chart-0.2.2	           	Install complete
2       	Thu May 28 12:42:06 2026	deployed  	task-proxy-chart-0.3.0	           	Upgrade complete
  1. Roll back to the previous version
helm rollback task-proxy -n <namespace>

Example output:

Rollback was a success! Happy Helming!
  1. Verify the result
helm list -n <namespace> | grep task-proxy

Example output:

NAME            NAMESPACE   REVISION    UPDATED                                 STATUS      CHART                   APP VERSION
task-proxy      ytsaurus    3           2026-05-28 13:11:01.812794 +0300 MSK   deployed    task-proxy-chart-0.2.2
  1. Check the pod status
kubectl get pods -n <namespace> | grep task-proxy

Example output:

task-proxy-d9fcb9485-txx2k                             2/2     Running            0             2m3s
  1. Check the logs
kubectl logs -n <namespace> <task-proxy-pod-name> --tail=5

Note

During a rollback, Helm automatically creates new pods with the previous chart version and deletes the old pods. Task-proxy starts successfully and performs its functions after the rollback.