These docs are for chart
0.8.x. For the current chart, see the current docs. To upgrade to1.0, follow Upgrading to Chart 1.0.
This guide covers upgrading an existing Currents deployment installed with the Helm chart on EKS.
For reference, the Docker Compose environment has a separate upgrade flow: Upgrading Currents On-Prem.
Infrastructure backups and third-party dependencies are customer-managed. See Currents Service Dependencies and Support Policy.
Two versions matter during upgrades:
version in Chart.yaml) controls chart templates and defaults.appVersion / currents.imageTag) controls Currents service container images.By default, helm upgrade --install without --version upgrades to the latest published chart, which is 1.0 or later. The commands here pin --version 0.8.1 to stay on 0.8.x.
Use this when release notes do not require values or secret changes:
kubectl config set-context --current --namespace=currents
helm upgrade --install currents currents \
--repo https://currents-dev.github.io/helm-charts/ \
--version 0.8.1 \
-f currents-helm-config.yaml
To target a specific chart version:
helm upgrade --install currents currents \
--repo https://currents-dev.github.io/helm-charts/ \
--version 0.7.0 \
-f currents-helm-config.yaml
Use this when release notes mention new or renamed values:
currents-helm-config.yaml with the latest chart values reference:
currents-helm-config.yaml.helm upgrade --install with the updated file.Use this when release notes require new secrets:
helm upgrade --install.Recommended upgrade command:
kubectl config set-context --current --namespace=currents
helm upgrade --install currents currents \
--repo https://currents-dev.github.io/helm-charts/ \
--version 0.8.1 \
-f currents-helm-config.yaml
Optional: if you use the Helm diff plugin, preview changes first:
helm diff upgrade currents currents \
--repo https://currents-dev.github.io/helm-charts/ \
--version 0.8.1 \
-f currents-helm-config.yaml
Watch rollout:
kubectl get pods
kubectl rollout status deploy -l app.kubernetes.io/instance=currents --timeout=5m
Check installed chart and app version:
helm list -n currents
Check applied values:
helm get values currents -n currents
Check running container images:
kubectl get pods -n currents -o custom-columns=NAME:.metadata.name,IMAGE:.spec.containers[*].image
The scheduler component runs startup tasks (including migrations) on startup and logs Startup tasks complete when they finish. On a large dataset they can take several minutes. The scheduler pod reports ready while they run, so a finished kubectl rollout status doesn’t mean the migrations are done.
Check scheduler logs during/after upgrades:
kubectl logs -n currents deploy/currents-scheduler --tail=200
If a migration fails, for example with a ClickHouse Timeout error. on a busy cluster, the scheduler logs the error and keeps running, but the remaining migrations don’t run until it starts again. Restart it:
kubectl rollout restart deploy/currents-scheduler -n currents
Finished migrations are skipped, and an interrupted backfill skips the records it already updated, so a restart is safe to repeat.
If you need to rollback:
helm history currents -n currents
helm rollback currents <revision> -n currents
Then verify pod health:
kubectl get pods -n currents
kubectl get pods -n currents
kubectl describe pod <pod-name> -n currents
kubectl logs <pod-name> -n currents --all-containers --tail=200
If services report MongoDB/ClickHouse/Redis/object storage connection errors, dependencies may still be initializing. Restart the affected deployment:
kubectl rollout restart deploy/<deployment-name> -n currents
If pods fail with missing env var or secret errors:
kubectl get secrets -n currents
helm get values currents -n currents
Confirm secret names/keys match the values in Configuration Reference.
If pods fail with ECR pull errors, verify EKS IAM access for image pulls:
This guide covers upgrading Currents Helm chart releases and application images.
Upgrading third-party infrastructure (MongoDB operators, ClickHouse operators, storage platform, cluster components) is customer-managed. See: