This is a Helm 3 wrapper in python. Use it for your Iac scripts.
- add helm_python in your requirements.txt
- import Helm class
import Helm
- init Helm class
helm = Helm()
optionnal:
- debug : if True, only display command (default: False)
This init function check if Helm is installed in PATH and if Helm version is 3 or higher
helm.upgrade(
name="my-nginx",
path="stable/nginx"
)
is equivalent to :
helm upgrade -i my-nginx stable/nginx
where :
- "name" is the name of helm installation
- "path" is the Helm package localisation (for examples: "stable/prometheus-operator" or "../myfolder/mychart")
Optionnal :
- namespace: namespace for installation
- value_file_path: path to your values.yaml
- sets (array) : list of overwrite values
- wait : False if Helm dosn't have to wait the running status (default: True)
example for sets use :
tst_set = [
{
'name': 'image.tag',
'value': '2.0.0'
},
{
'name': 'grafana."grafana\.ini"."auth\.google"',
'value': 'SECRET'
},
{
'name': 'alertmanager.config.receivers[0].slack_configs[0].api_url',
'value': 'ANOTHER_SECRET'
}
]
You can clone project on Github : github.com/slavayssiere/helm_python
please install :
sudo python -m pip install --upgrade pip setuptools wheel
sudo python -m pip install tqdm
sudo python -m pip install --user --upgrade twine
to deploy to PyPi:
python setup.py bdist_wheel
python -m twine upload dist/*