Python client for Helm

3/28/2018

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.

-- captainchhala
kubernetes-helm

1 Answer

3/31/2018

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

git clone git@github.com: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 {....
}
-- Andrii Soldatenko
Source: StackOverflow