Skip to main content

A handy helm3 deployment tool

Project description

Kuploy - a handy helm3 deployment tool

Kuploy is a wrapper around helm that adds a lot of convenient features. It allows to store everything that is needed to deploy to kubernetes in one place.

Features

  • store chart names and versions along with values into yaml files and deploy from this files
  • Verify that the correct kubeconfig is active
  • Auto-Select a kube config for a deployment
  • Simple and secure secret management
  • Install docker secrets before installing a chart
  • Apply k8s yamls before/after a chart is installed
  • Use local charts and charts from repositories
  • Automatically add and refresh chart repositories
  • Point to the correct location in a chart in case of an error

Installation

pip install kuploy

Usage

Deploy all charts from a yaml:

kuploy mystack.yaml

Secret handling

Kuploy creates an AES master key that is stored as secret in kubernetes. Whenever a secret is encrypted or decrypted, the master key is queried from kubernetes. That means that every user with access to a particular kubernetes context is able to encrypt and decrypt secrets.

Initialize the master key

Create an AES masterkey to encrypt secrets:

kuploy secrets --context testcluster --init-masterkey

This allows to create a new master key or to restore a previously generated one. A new master key should be backed up on a secure location (e.g. a password database).

Encrypt a secret

kuploy secrets --context testcluster --encrypt

Queries for a secret and encrypts it. Instead of a secret, a number can be entered to create a random secret and encrypt it.

A secret looks like <SECRET>+GO41xBf2X7dHtjTk+OTQ7g=. It can be used as value in a deployment yaml and will be decrypted during deployment.

Yaml format

context: testcluster

charts:
  - name: victoria-metrics-k8s-stack
    namespace: monitoring
    chart:
      repo: https://victoriametrics.github.io/helm-charts/
      name: victoria-metrics-k8s-stack
      version: 0.6.1
    values:
      grafana:
        enabled: false

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

kuploy-0.3.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

kuploy-0.3.0-py2.py3-none-any.whl (9.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file kuploy-0.3.0.tar.gz.

File metadata

  • Download URL: kuploy-0.3.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.5

File hashes

Hashes for kuploy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9a3daffd0b150b15f274f21dc9be14dfc6e1d3cfcbae64ce4d348814635739b3
MD5 b45e0c35affb28cb8fc7936f7391fd1b
BLAKE2b-256 56da4dce22eaec384fc6a6fefccfa3e74c55431110fe75e43ad68ac8745a658c

See more details on using hashes here.

File details

Details for the file kuploy-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: kuploy-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.5

File hashes

Hashes for kuploy-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ce08296ade8392cef8c2fe380f0c4641e02fffd4d06ee97bc39f8191ff0b4b03
MD5 78c58d64459bfda890d353cf297206c3
BLAKE2b-256 ed30f952f09b40dc3605939b2269044966a6c3fb39e803357314d2fd10f8e8ce

See more details on using hashes here.

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