This page covers moving an existing Cartesia self-hosted deployment to a newer release, and rolling back if the upgrade fails. For initial deployments, see Getting Started.Documentation Index
Fetch the complete documentation index at: https://docs.cartesia.ai/llms.txt
Use this file to discover all available pages before exploring further.
Release tags
Each Cartesia release is tagged with the formatsonic-YYYYMMDD (e.g., sonic-20260503). A release tag pins the image version for every component in the chart:
cartesia-apicartesia-license-proxy- Every worker image (
cartesia-sonic-azure-disco,cartesia-sonic-rosy-dragon, etc.)
cartesia-kube evolve independently from the release tag — you generally do not need to update them when upgrading the release.
Set the tag once globally:
- Helm:
release.releaseTaginvalues.yaml - Terraform:
release_tagin your.tfvarsfile
Upgrade Procedure
Bump the tag value and re-apply.- Terraform
- Helm
Edit your Then apply from the platform directory:
.tfvars file:release.releaseTag globally for every worker — there is no per-worker tag override. If you need per-worker staged validation before rolling all workers, contact support@cartesia.ai.
Verifying the upgrade
Run the Verify checklist from the Managed Kubernetes page. Additionally, watch each deployment’s rollout complete:Rolling Update Behavior
The chart configures these rolling update strategies:| Component | maxSurge | maxUnavailable |
|---|---|---|
| API server | 1 | release.maxUnavailable (default 0) |
| Workers (each) | 3 | release.maxUnavailable (default 0) |
| Voice Clone worker | 3 | release.maxUnavailable (default 0) |
| License proxy | Kubernetes default (25%) | Kubernetes default (25%) |
maxUnavailable: 0, Kubernetes brings new pods up before terminating old ones — capacity is never reduced below the desired count during an upgrade. To allow faster rollouts at the cost of temporary capacity loss, raise release.maxUnavailable in values.yaml.
With
maxSurge: 3 and maxUnavailable: 0, a worker deployment temporarily needs (desired replicas + 3) GPUs available during the rollout. If your cluster is at exact GPU capacity, the new pods will Pend until the cluster autoscaler adds nodes — or until you scale the deployment down before upgrading.Rollback Procedure
If the upgrade introduces a regression, revert the release tag.- Helm
- Terraform
List previous releases:Roll back to a specific revision:Or to the immediately previous revision:
Initial deployment failures
If the cluster never reaches a healthy state during an initial deployment, debug before retrying:- Inspect pod events:
kubectl describe pod <pod> -n cartesia - Inspect logs:
kubectl logs <pod> -n cartesia
- Helm:
helm uninstall cartesia -n cartesia - Terraform: revert the change in version control and
terraform apply, orterraform destroyfor a full teardown.
Verifying the rollback
Confirm every pod is running the rolled-back tag and re-run the Verify checklist.Hot-reload artifacts and rollback
Voice migrations and pronunciation dictionaries added via add-voices and add-pdict are stored in the customer GCS bucket (gs://cartesia-{name}/migrations/v2/migrations/) and applied via hot reload — see Managing Artifacts.
These artifacts are independent of the release tag. Rolling back a release via helm rollback or terraform apply does not remove voice migrations or pronunciation dictionaries from the bucket — they remain available after rollback.
There is no public API today to revoke a previously-added voice or pdict. If you need to remove an artifact from your deployment, contact support@cartesia.ai.