Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python client for Helm

I am working on an application which deploys helm charts to kubernetes cluster on user's demand. Helm charts are stored in private repo on github. The scenario is whenever user request an application deployment the system fetches chart from git repo build it and deploy it on the cluster.Helm does not provide REST api(as it uses gRPC protocol to talk to tiller server) and helm-cli is not the option to use in this scenario so my question is Is their any way to call tiller services without using helm cli e.g curl or python-client etc.

like image 333
captainchhala Avatar asked Oct 18 '25 13:10

captainchhala


1 Answers

You can find my fork of pyhelm with examples and Python3 support.

git clone [email protected]:andriisoldatenko/pyhelm.git
cd pyhelm && python setup.py install

I've added simple how-to to README.md:

from pyhelm.chartbuilder import ChartBuilder
from pyhelm.tiller import Tiller

chart = ChartBuilder({'name': 'mongodb', 'source': {'type': 'directory', 'location': '/tmp/pyhelm-kibwtj8d/mongodb'}})
t.install_release(chart.get_helm_chart(), dry_run=False, namespace='default')

Out[9]:
release {
  name: "fallacious-bronco"
  info {
    status {
      code: 6
    }
    first_deployed {
      seconds: 1521647335
      nanos: 746785000
    }
    last_deployed {
      seconds: 1521647335
      nanos: 746785000
    }
    Description: "Dry run complete"
  }
  chart {....
}
like image 92
Andrii Soldatenko Avatar answered Oct 22 '25 00:10

Andrii Soldatenko