Skip to main content

Python library for managing Helm releases using Helm 3.

Project description

pyhelm3

Python library for managing Helm releases using Helm 3 (i.e. Tiller-less Helm).

Installation

pyhelm3 can be installed directly from GitHub using pip:

pip install git+https://github.com/stackhpc/pyhelm3.git

Usage

from pyhelm3 import Client


# This will use the Kubernetes configuration from the environment
client = Client()
# Specify the kubeconfig file to use
client = Client(kubeconfig = "/path/to/kubeconfig")
# Specify the kubecontext to use
client = Client(kubecontext = "kubecontext")
# Specify a custom Helm executable (by default, we expect 'helm' to be on the PATH)
client = Client(executable = "/path/to/helm")


# List the deployed releases
releases = await client.list_releases(all = True, all_namespaces = True)
for release in releases:
    revision = await release.current_revision()
    print(release.name, release.namespace, revision.revision, str(revision.status))


# Get the current revision for an existing release
revision = await client.get_current_revision("cert-manager", namespace = "cert-manager")
chart_metadata = await revision.chart_metadata()
print(
    revision.release.name,
    revision.release.namespace,
    revision.revision,
    str(revision.status),
    chart_metadata.name,
    chart_metadata.version
)


# Fetch a chart
chart = await client.get_chart(
    "cert-manager",
    repo = "https://charts.jetstack.io",
    version = "v1.8.x"
)
print(chart.metadata.name, chart.metadata.version)
print(await chart.readme())


# Install or upgrade a release
revision = await client.install_or_upgrade_release(
    "cert-manager",
    chart,
    { "installCRDs": True },
    atomic = True,
    wait = True
)
print(
    revision.release.name,
    revision.release.namespace,
    revision.revision,
    str(revision.status)
)


# Uninstall a release
#   Via the revision
revision = await client.get_current_revision("cert-manager", namespace = "cert-manager")
await revision.release.uninstall(wait = True)
#   Or directly by name
await client.uninstall_release("cert-manager", namespace = "cert-manager", wait = True)

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

pyhelm3-0.3.4.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

pyhelm3-0.3.4-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file pyhelm3-0.3.4.tar.gz.

File metadata

  • Download URL: pyhelm3-0.3.4.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for pyhelm3-0.3.4.tar.gz
Algorithm Hash digest
SHA256 dd3496129ec93535a4ff7095d72515f08b99b0189f1e5a1b26d55bb2a5c33e3b
MD5 fa75999aa441c617ceb34b79f4540c4e
BLAKE2b-256 9cf13eea7840a1858e113900a50c54763f65f31f50690c4f726d9c0247d0ad76

See more details on using hashes here.

Provenance

File details

Details for the file pyhelm3-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: pyhelm3-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for pyhelm3-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3160c7c3621648e18feed60a65fd4445a134e9f0756c0facf962e55f4806de4f
MD5 41585ea95a5393219fe58ae26b0be251
BLAKE2b-256 ae3822ba09abb7b1181c732fd3c070edd06329961d6652b49bb85e92d0062ad5

See more details on using hashes here.

Provenance

Supported by

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