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
- Command reference — flags, bundle layout, examples
- Configuration — environment variables and kubeconfig
- Developer guide — uv, build, PyPI publish
Metadata
Release files for helmadm 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| helmadm-0.2.1.tar.gz | 73.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| helmadm-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 118.6 kB
Release files / helmadm-0.2.1.tar.gz
| Download URL | helmadm-0.2.1.tar.gz |
|---|---|
| Size | 73.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7ad708d541f39ab79d4ac391115e7c12aadcaeb35dc7206642febd2e81547eb8
|
|
BLAKE2b-256 checksum How to use checksums |
c0e297dfcc5263efa2b793e41666737ceb2be46b094403d7f227c9aeaf19ed48
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / helmadm-0.2.1-py3-none-any.whl
| Download URL | helmadm-0.2.1-py3-none-any.whl |
|---|---|
| Size | 45.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dd42c1c0b0940176c9b48aff5414a7cf37665fb0b31db1556facfcae40ca16ed
|
|
BLAKE2b-256 checksum How to use checksums |
9cca1292013785ab8f56a6ce29c5e5ffa03b889b488e53bf09cdce62c89c89d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|