Skip to main content

Generate Argo CD Application manifests from Helm releases in Kubernetes

Project description

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). Pipe to delta: helmadm drift … | delta -s.

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

Project details


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.0.tar.gz (70.6 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.0-py3-none-any.whl (43.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: helmadm-0.2.0.tar.gz
  • Upload date:
  • Size: 70.6 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.0.tar.gz
Algorithm Hash digest
SHA256 4637b7e0c0f6ebc168e22d2120d67501063cf4622048dfedcfb25aabd2fdf528
MD5 92af395b74266b6a14e56ee4a3a17e21
BLAKE2b-256 c01eeeec5d2bcfbcf028186848d0620849757770acb56db35a5a06162e4d5c49

See more details on using hashes here.

File details

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

File metadata

  • Download URL: helmadm-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 43.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32a91dbd2f773c3aa137a75fc1d5f7d9d11eff1145c3bd21dfe189bbf6d805bb
MD5 5f55ed4bc1a51e2b53b7885e8809a5ab
BLAKE2b-256 70967d6b78e403fd082c3168038c94a295c210ad0460be3f7a108b8531fe0f91

See more details on using hashes here.

Supported by

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