## Perform Standard Upgrades

The first step is to perform a standard upgrade of the Live Agent chart to the desired new version to ensure the migration job is run before enabling Redis Sentinel. If the values were not specified previously, ensure that Sentinel mode is disabled in the `values.yaml` file.

redis:
      enabled: true
      sentinel:
        enabled: false
    # ...

Upgrade the chart to the latest version.

helm upgrade cognigy-live-agent oci://cognigy.azurecr.io/helm/live-agent --version X.X.X --namespace live-agent -f custom-values.yaml

## Change values.yaml

The new values for version 4.53 already include the new Redis Sentinel configuration. If you use a custom `values.yaml` file, ensure it does not override the new Redis Sentinel configuration.

# ...

redis:
      enabled: true
      sentinel:
        enabled: true
    # ...

## Change the Migration Job Hooks

The migration job hooks must be temporarily changed to `post-install,post-upgrade` to run the migration job after the upgrade. Otherwise, the migration job will run before new Redis pods are created, resulting in a failed migration.

# migration job (uncomment if needed)
    migration:
      enabled: true
      hooks:
        migrate:
          # the setting here will override the default, which is "post-install,pre-upgrade"
          hookAnnotation: "post-install,post-upgrade"

### Upgrade the chart

Upgrade the chart to the latest version.

helm upgrade cognigy-live-agent oci://cognigy.azurecr.io/helm/live-agent --version X.X.X --namespace live-agent -f custom-values.yaml

### Verify Functionality and Pod Status

Ensure that the pods are running and the application is functioning correctly, including passing the startup health check.

kubectl get pods

### Remove the Old PVCs and PVs

Remove the previous PVCs used by the Redis pods before the upgrade. They are typically named as follows:

- `redis-data-cognigy-live-agent-redis-master-0`
- `redis-data-cognigy-live-agent-redis-replicas-0`

To remove the previous PVCs and PVS, follow these steps:

1. Check that PVCs’ status is now `Released`:

kubectl get pvc -n live-agent

2. Delete PVCs.

kubectl delete pvc redis-data-cognigy-live-agent-redis-master-0 -n live-agent
    kubectl delete pvc redis-data-cognigy-live-agent-redis-replicas-0 -n live-agent

3. Check that the PVs are now `Available`.

kubectl get pv

4. Delete PVs.

kubectl delete pv <pv_name> # replace <pv_name> with the name of the PV associated with the deleted PVCs

## Remove the Migration Job Hooks after the Upgrade

Remove the migration job hooks from the `values.yaml` file that was added in the previous step and revert to the default value after the upgrade.

# migration job (uncomment if needed)
    # migration:
    #   enabled: true
    #   hooks:
    #     migrate:
    #       hookAnnotation: "post-install,pre-upgrade"
