> ## Documentation Index
> Fetch the complete documentation index at: https://metoro.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Upgrade 10.3.0 to 10.4.0

> Upgrade Metoro on-premises 10.3.0 hubs to 10.4.0

Metoro 10.4.0 is a minor release in the 10.x on-premises line. It keeps the 10.x Helm values API, so existing 10.3.0 values files can be reused without migration.

No ClickHouse reset, PostgreSQL migration, Temporal migration, or datastore maintenance step is required for this upgrade.

<Warning>
  When `ai.enabled=true`, Metoro 10.4.0 also pulls the Guardian runner, Agent Sandbox controller, and sandbox router images. If you mirror or allowlist images individually, add or update the following values before upgrading:

  * `images.guardianRunner`
  * `images.agentSandboxController`
  * `images.agentSandboxRouter`

  `global.imageRepositoryOverride` rewrites the default Metoro repositories automatically, but the corresponding image paths and tags must exist in that registry. If you override `images.agentSandboxController` individually, keep the `agentSandbox.image` dependency pass-through value in sync; the chart validates these values during rendering.
</Warning>

<Info>
  Hub commands assume the Helm release is named `metoro` and runs in the `metoro-hub` namespace. Monitored-cluster exporter commands assume the Helm release is named `metoro-exporter` and runs in the `metoro` namespace. Adjust release names and namespaces if your installation uses different values.
</Info>

## Upgrade The Hub

Start from the values file used for the existing hub release. If you do not have it locally, export the user-supplied Helm values:

```bash theme={null}
helm -n metoro-hub get values metoro > metoro-hub-values.yaml
```

Upgrade the hub chart to `10.4.0`:

```bash theme={null}
helm upgrade --install metoro oci://quay.io/metoro/charts/metoro-onprem \
  --namespace metoro-hub \
  --version 10.4.0 \
  --values metoro-hub-values.yaml
```

## Check The Hub Rollout

Check the hub Helm release and workloads:

```bash theme={null}
helm -n metoro-hub status metoro
kubectl -n metoro-hub rollout status deployment/apiserver
kubectl -n metoro-hub rollout status deployment/ingester
```

If hub self-monitoring is enabled, check the bundled exporter rollout too:

```bash theme={null}
kubectl -n metoro-hub rollout status deployment/metoro-exporter
```

If Metoro AI is enabled, check the Agent Sandbox components:

```bash theme={null}
kubectl -n metoro-hub rollout status deployment/sandbox-router-deployment
kubectl -n metoro-agent-sandbox rollout status deployment/agent-sandbox-controller-manager
```

## Upgrade Monitored-Cluster Exporters

Upgrading the hub repins future onboarding commands, but it does not automatically upgrade exporter releases already installed on monitored clusters. Repeat this section for every monitored cluster that has `metoro-exporter-onprem` installed.

Start from the values file used for the existing exporter release in the monitored cluster. If you do not have it locally, export the user-supplied Helm values:

```bash theme={null}
helm -n metoro get values metoro-exporter > metoro-exporter-values.yaml
```

Upgrade the exporter chart to `10.4.0`:

```bash theme={null}
helm upgrade --install metoro-exporter oci://quay.io/metoro/charts/metoro-exporter-onprem \
  --namespace metoro \
  --version 10.4.0 \
  --values metoro-exporter-values.yaml
```

## Check Monitored-Cluster Rollouts

After upgrading each monitored cluster, check the exporter Helm release and workloads:

```bash theme={null}
helm -n metoro status metoro-exporter
kubectl -n metoro rollout status deployment/metoro-exporter
kubectl -n metoro rollout status daemonset/metoro-node-agent
```

If ServiceMonitor scraping is enabled, check the collector and target allocator rollouts too:

```bash theme={null}
kubectl -n metoro rollout status statefulset/metoro-exporter-sm-scraper
kubectl -n metoro rollout status deployment/metoro-exporter-sm-scraper-targetallocator
```

Use the release name and namespace from the existing exporter installation if they differ from the defaults above.

Expected outcome:

* Apiserver and Ingester roll to the 10.4.0 images.
* Hub self-monitoring rolls to the 10.4.0 exporter chart and images when enabled.
* Existing monitored-cluster exporter releases roll to the 10.4.0 exporter chart and images after their Helm upgrades.
* Metoro AI hubs retain the Agent Sandbox controller, router, and Guardian runner defaults when `ai.enabled=true`.
* Existing PostgreSQL, ClickHouse, Temporal, and telemetry data remain in place.
* Future monitored-cluster onboarding commands reference `metoro-exporter-onprem` 10.4.0.
