Kubyl is a Helm client. Browse charts from your repositories and OCI registries, install them, upgrade with a values editor, roll back to an earlier revision and uninstall. Every write shows what will change before anything is applied. Releases are listed under Administration > Operators > Helm Releases, and the Charts tab holds repositories and the chart browser. Helm is shown on every cluster.
Requirements
Kubyl runs your own helm CLI (3.13 or newer, 4.x works too). It finds helm on your login shell's PATH, or set helm.path. Kubyl never downloads Helm for you.
helm gets the kubeconfig and context of the cluster you are on. For contexts you sign in to through Kubyl (OIDC, OpenShift), the token reaches helm through its environment only, never in its arguments or in a file. Values go to helm on stdin and never touch the disk.
Repositories
Kubyl uses Helm's own repository configuration, so helm and Kubyl see the same repositories. Open Helm: Repositories… (or the Charts tab) to list, add, update and remove them.
- HTTP repositories with optional basic auth, CA and client certificate.
- OCI registries through a registry login (Docker's credential store).
- Adding a name that already exists asks for a second click before it replaces it, and so does Remove.
Chart browser
The Charts tab searches your repositories by name, description, latest version, app version and repository, with a repository filter. Select a chart for its versions, Chart.yaml metadata, README, default values and the CRDs it ships. You can also type an OCI reference such as oci://registry/path/chart:version into the search.
Set helm.artifact_hub to true to add Artifact Hub results to the search. It is off by default because Kubyl does not call third-party services unasked.
Install
Install… (from a chart, or Helm: Install Chart…) asks for:
- A release name and a namespace. Create namespace is off by default, because users who can't list namespaces can't always create them.
- A chart version. It is always explicit: the newest stable version is preselected and labelled "(latest)", pre-releases are labelled "(pre-release)".
- Values in a YAML editor, checked against the chart's
values.schema.jsonwhen it has one. Start from the chart's defaults or in override only mode. - Options: wait, timeout, atomic (rollback on failure), skip CRDs and a description.
The preview renders the chart with a server-side dry run and lists the objects that will be created, grouped by kind, plus hooks, notes and CRDs. Secrets are masked. If you lack the permissions for a server-side dry run, Kubyl falls back to a client-side one and says the preview is less exact. If the dry run fails, Helm's error is shown and nothing is applied. Applying uses the exact values and chart version the preview rendered, then opens the new release.
Upgrade
Upgrade… from a release's tab, a list row or the palette. The version defaults to the one installed, so a values-only upgrade doesn't move you to a newer chart. The editor starts with the release's current user-supplied values, with choices to reuse them or reset to the chart's defaults. Helm doesn't record a release's repository: Kubyl looks the chart up by name in your repositories and asks you to pick when several have it, or you can type a reference.
The review shows a values diff (secret values masked) and a per-object manifest diff against the current revision, with objects added and removed, hooks, and a warning for CRD changes, which Helm never upgrades.
Roll back
Roll Back… lets you pick a revision from the history and previews the manifest diff from the current revision to it. Options: wait, timeout, cleanup on fail and no hooks.
Uninstall
Uninstall… lists the release's objects that will be deleted and what stays: PVCs from StatefulSet templates, CRDs and objects with helm.sh/resource-policy: keep. Options: keep history, no hooks and wait.
Upgrade, roll back and uninstall check when you apply that the release's latest revision is still the one you previewed. If another revision landed in the meantime, Kubyl says so instead of applying.
Stuck releases
A release left in a pending-* state, or an operation that fails with "another operation is in progress", shows a banner on the release with Roll back to N…. After a failed, cancelled or timed-out operation, Show the release's status opens the release's tab. Writes keep running if you close the dialog or quit Kubyl, and you can cancel a running one from its dialog (Helm then reports the resulting state).
Release tab
Open a release for its Values, Manifest, Notes, History and Resources, step through older and newer revisions, and reveal or mask secret values. Copy helm command… stays as a secondary action and carries --kubeconfig (and HELM_DRIVER for ConfigMap-stored releases). Ask agent sends the chart, versions, status, recent revisions and failing resources to the agent, never the values.
| Keys | Action |
|---|---|
| Enter | Open the release |
| VorMorH | Values / manifest / history |
| 1or2or3or4or5 | Values, Manifest, Notes, History, Resources (in a release tab) |
| [or] | Older / newer revision |
| R | Reveal or mask |
| U | Upgrade… |
| B | Roll back… |
| CtrlD | Uninstall… |
| I | Install chart… (release list and Charts tab) |
| ShiftA | Ask agent |
| C | Copy the helm command |
The command palette has Helm: Install Chart…, Upgrade Release…, Roll Back Release…, Uninstall Release…, Repositories… and Charts (:charts).
Managed by Helm
Objects labelled app.kubernetes.io/managed-by: Helm with meta.helm.sh/release-name show Managed by Helm release X in their details, with a link to the release. Editing one in the YAML editor warns that the next upgrade will revert your change.
Read-only clusters and PROD
- On read-only clusters every Helm write is hidden: install, upgrade, roll back, uninstall.
- On PROD clusters the install, upgrade, roll back and uninstall dialogs ask you to type the confirmation.
Settings
| Key | Default | Meaning |
|---|---|---|
helm.path | Found on PATH | Path to the helm binary. Kubyl re-checks it when this changes. |
helm.artifact_hub | false | Include Artifact Hub results in chart search. |
helm.default_timeout | 5m0s | Timeout for install, upgrade and rollback. Go durations such as 10m or 90s; an invalid value falls back to the default. |
helm.atomic | true | Roll back automatically when an install or upgrade fails (implies waiting for readiness). |