Skip to main content

helmadm

Inspect Helm 3 releases in Kubernetes: list releases, detect manifest drift, generate Argo CD Application YAML, and export reproducible install bundles. Uses the Kubernetes API only — no helm or kubectl binary required.

Requirements: Python 3.12+, kubeconfig (or in-cluster) access to the cluster.

Install

Recommended — uv + uvx (no global install):

uvx helmadm ls

Add a shell alias so helmadm always runs the latest from PyPI:

alias helmadm='uvx helmadm'

Global tool with uv:

uv tool install helmadm
helmadm --help

pip / pipx:

pip install helmadm
# or: pipx install helmadm

From source (development):

# in a clone of this repository
uv sync
uv run helmadm --help

See docs/develop/dev-uv.md for building and publishing.

Commands

Command Purpose
ls List Helm releases (Helm 3 secret storage)
drift Compare release manifest to live objects (read-only)
argocd-yaml Print an Argo CD Application manifest
pull Export a reproducible Helm install bundle
helmadm --help
helmadm ls --help

ls

helmadm ls
helmadm ls -n monitoring
helmadm ls --no-detail

Detailed output includes chart, version, and NEEDS_REPO_URL when argocd-yaml / pull need --repo-url.

drift

helmadm drift -n monitoring prometheus
helmadm drift -n monitoring prometheus --detect-extras   # objects not managed by the release
helmadm drift -ia -n kube-system traefik   # show compare notes
helmadm drift --compare-mode legacy -n monitoring prometheus

Default compare uses server-side apply dry-run (merged vs live; like kubectl diff --server-side). Legacy normalization is used automatically when SSA is unavailable, or with --compare-mode legacy.

Exit 1 on drift, missing objects, fetch errors, or extras (with --detect-extras).

Nicer diffs: pipe stdout through delta (-s for side-by-side; --paging never when piping so delta does not open its own pager):

helmadm drift -n monitoring prometheus --detect-extras | delta -s --paging never
uv run helmadm drift -n monitoring prometheus --detect-extras | delta -s --paging never

argocd-yaml

helmadm ls -n monitoring
helmadm argocd-yaml -n monitoring prometheus
helmadm argocd-yaml -n monitoring prometheus \
  --repo-url https://prometheus-community.github.io/helm-charts

Writes overrides to spec.source.helm.valuesObject. Fields you must set (destination, project, …) use CHANGE_ME. --debug adds a .debug block — remove before applying to Argo CD.

pull

helmadm pull -n loki -o ./bundles fluentbit
helmadm pull -n monitoring prometheus --revision 3 -o ./bundles

Creates {namespace}/{release}/ with values files, helmadm-pull-metadata.yaml, and a README.md with plain helm install commands. --tar writes a gzip bundle to stdout; --force overwrites an existing directory.

More documentation

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

helmadm-0.2.1.tar.gz (73.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

helmadm-0.2.1-py3-none-any.whl (45.5 kB view details)

Uploaded Python 3

File details

Details for the file helmadm-0.2.1.tar.gz.

File metadata

  • Download URL: helmadm-0.2.1.tar.gz
  • Upload date:
  • Size: 73.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for helmadm-0.2.1.tar.gz
Algorithm Hash digest
SHA256 7ad708d541f39ab79d4ac391115e7c12aadcaeb35dc7206642febd2e81547eb8
MD5 2011f9729f2935c2c95cc0d6a4e311fa
BLAKE2b-256 c0e297dfcc5263efa2b793e41666737ceb2be46b094403d7f227c9aeaf19ed48

See more details on using hashes here.

File details

Details for the file helmadm-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: helmadm-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 45.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for helmadm-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dd42c1c0b0940176c9b48aff5414a7cf37665fb0b31db1556facfcae40ca16ed
MD5 7852e4c19f98c7856b6adb5789ac25e6
BLAKE2b-256 9cca1292013785ab8f56a6ce29c5e5ffa03b889b488e53bf09cdce62c89c89d2

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2.0

2 files

0.1.2

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page