> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/self-managed-enterprise-edition/use-self-managed-enterprise-edition/smp-installationupgrade/helm-installation/upgrade-helm-chart.md).

# Upgrade the Helm chart

Learn how to upgrade the Helm chart for the on-prem Harness Self-Managed Enterprise Edition.

Use the following instructions to upgrade the chart to a new release.

1. Use the following command to obtain the release name for the earlier release.

   ```
   $ helm ls -n <namespace>
   ```
2. Retrieve the values for the earlier release.

   ```
   $ helm get values my-release > old_values.yaml
   ```
3. Change the values of the `old\_values.yaml` file as required.
4. Use the `helm upgrade` command to update the chart for your `override-demo.yaml` file or `override-prod.yaml` file.

   ```
   $ helm upgrade my-release harness/harness -n <namespace> -f override-demo.yaml -f old_values.yaml
   ```

   ```
   $ helm upgrade my-release harness/harness -n <namespace> -f override-prod.yaml -f old_values.yaml
   ```

### Include the shared secrets override on upgrade <a href="#include-the-shared-secrets-override-on-upgrade" id="include-the-shared-secrets-override-on-upgrade"></a>

If your installation uses the `harness-shared-secrets` override described in [Install using Helm](/self-managed-enterprise-edition/use-self-managed-enterprise-edition/smp-installationupgrade/helm-installation/install-using-helm.md#rotate-default-secrets-with-a-shared-secrets-override), pass `override-secrets.yaml` again on every `helm upgrade`:

```
$ helm upgrade my-release harness/harness -n <namespace> -f override-demo.yaml -f override-secrets.yaml -f old_values.yaml
```

The Secret template looks up the existing `harness-shared-secrets` Secret in the cluster before generating any value, so an upgrade reuses the values from the previous rotation instead of regenerating them.

To adopt the override for the first time on an existing installation, add `-f override-secrets.yaml` to the `helm upgrade` command above.

{% hint style="warning" %}
**ARGOCD USERS: ADD `HARNESS-SHARED-SECRETS` TO `IGNOREDIFFERENCES`**

ArgoCD renders the chart with `helm template`, not `helm upgrade --install`, so it hits the same lookup limitation on every sync: it re-renders `harness-shared-secrets` with new random values instead of reusing the values already in the cluster. Add the Secret to `ignoreDifferences` in your ArgoCD `Application` manifest, or ArgoCD treats the Secret as permanently out of sync and can overwrite the existing secret material on every sync.

```yaml
spec:
  ignoreDifferences:
    - group: ""
      kind: Secret
      name: harness-shared-secrets
      jsonPointers:
        - /data
```

{% endhint %}

{% @harness-feedback/feedback %}
