Helm state tool
Project description
Helm State
The Helm State tool is a simple GitOps tool with helm and kubernetes in mind. The Helm State tool stores deployed helm versions in git branches, where it will be easy to track previously deployed versions and which version is currently running.
The full helm version state is stored in a state.yaml
file versioned by a git branch with this naming convention:
my-resource_group/my-namespace/my-helm-chart
Content structure of state.yaml
:
my-resource-group:
my-namespace:
my-helm-chart:
version: 1.0.0
Install Or Upgrade
- pip install --upgrade HelmState
Prerequisites
- python3x
Usage
The Helm State is available as a command line tool with helmstate
.
First of all, either clone or initialize a new repository to where the state will be stored. Then, try out some of the commands below with current working directory set to the repository folder.
Commit new helm states and push last commit
helmstate commit --helm-chart my-helm-chart --version 1.0.0
helmstate commit --helm-chart my-helm-chart --version 1.0.1 --push
Get current helm state
helmstate get --helm-chart my-helm-chart
Revert current helm state 2 commits back and push last revert
helmstate commit --helm-chart my-helm-chart --version 1.0.0
helmstate commit --helm-chart my-helm-chart --version 1.0.1
helmstate commit --helm-chart my-helm-chart --version 1.0.2
helmstate revert --helm-chart my-helm-chart --commits 1
helmstate revert --helm-chart my-helm-chart --commits 1 --push
Split different environments in resource groups
helmstate commit --helm-chart my-helm-chart --version 1.0.0 --resource-group my-resource-group
Set kubectl namespace to where the helm artifact was deployed
helmstate commit --helm-chart my-helm-chart --version 1.0.0 --namespace my-namespace --resource-group my-resource-group
More details with help
helmstate --help
Visualize State Tree With GitKraken
gitkraken is a great git GUI, and works well to visualize the state tree.
Development
Dependencies:
pip install twine
pip install wheel
pip install -r requirements.txt
Publish New Version.
- Configure setup.py with new version.
- Package:
python setup.py bdist_wheel
- Check:
twine check dist/*
- Publish:
twine upload dist/*
Run Unit Tests
- python -m unittest
- docker build .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file HelmState-1.0.22-py3-none-any.whl
.
File metadata
- Download URL: HelmState-1.0.22-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 474f2878c3e799b685d1c1d6695555ed7eb0fa852fb095f9acf18fe096ba86d3 |
|
MD5 | 2bd02a41a278d254ddb88b39b47c12e4 |
|
BLAKE2b-256 | cba1b7642c9963d09d89056b886e067bcb0268da45bcb0ee9e4515f51f7c160b |