# Helm

Source: https://docs.ops0.com/docs/kubernetes/helm

View and manage Helm releases deployed to your Kubernetes clusters directly from ops0.

## What is Helm?

Helm is the package manager for Kubernetes. A **Helm release** is a named deployment of a Helm chart into a cluster namespace. ops0 surfaces all releases across your connected clusters so you can inspect status, version, and values without running `helm` commands locally.

**Read-only view**

ops0 provides a read-only view of Helm releases. Install, upgrade, rollback, and uninstall operations must be performed with the `helm` CLI or your existing CI/CD pipeline. ops0 reflects the resulting state automatically after each operation.

## Viewing Releases

Navigate to **Kubernetes → Helm** on any connected cluster to see all installed releases.

| Column | Description |
|--------|-------------|
| **Name** | Release name |
| **Namespace** | Kubernetes namespace the release was installed into |
| **Chart** | Chart name and version (e.g. `nginx-ingress-4.7.0`) |
| **App Version** | Application version the chart deploys |
| **Status** | Current release status |
| **Updated** | Timestamp of the last install or upgrade |

## Release Statuses

| Status | Meaning |
|--------|---------|
| **deployed** | Release installed successfully and running |
| **pending-install** | Installation in progress |
| **pending-upgrade** | Upgrade in progress |
| **pending-rollback** | Rollback in progress |
| **failed** | Last operation failed |
| **superseded** | Release has been replaced by a newer revision |
| **uninstalling** | Uninstall in progress |

## Release Detail

Click any release to see its full details.

### Overview Tab

- Chart name, version, and repository
- App version
- Current status and last updated time
- Namespace
- Revision history count

### Values Tab

Shows the merged values used for this release — the effective configuration after chart defaults and any overrides applied at install/upgrade time.

### Manifest Tab

The rendered Kubernetes YAML manifests that Helm generated from the chart templates and values. This is exactly what was applied to the cluster.

### Revision History

| Field | Description |
|-------|-------------|
| **Revision** | Sequential revision number (starts at 1) |
| **Updated** | When this revision was applied |
| **Status** | Status of this revision |
| **Chart** | Chart version at this revision |
| **Description** | Operation performed (install, upgrade, rollback) |

## Namespaces

Helm releases are namespace-scoped. Use the namespace filter at the top of the releases list to focus on a specific namespace or view all namespaces at once.

## Troubleshooting

Release Status: failed

Open the release detail and check the Manifest tab for resource errors. Cross-reference with the Events page for the same namespace to find the root cause (image pull errors, resource limits, missing secrets).

Release not showing

Helm releases are discovered from the cluster's Kubernetes secrets (where Helm stores release state). Ensure the cluster agent has permission to read secrets in all namespaces. Check the ClusterRole bound to the ops0 service account.

Values show as empty

Releases installed with `--set` flags only (no values file) may not expose all merged values. This is a Helm behavior — only values explicitly passed at install/upgrade time are stored in the release secret.
