In the previous post, I outlined how microbean-helm produces the Java bindings for Helm, the Kubernetes package manager. Specifically, it creates and packages up the gRPC Java code that describes the API surfaced by the Tiller server-side component of Helm (the thing that does the heavy lifting in the Helm ecosystem).
In the latest revision of the project, I’ve done some road grading to make it easier to work with the (cumbersome) gRPC API. Here is how you connect to Tiller from Java and ask it for a particular release. That is, we’re basically doing the Java equivalent of
helm history someRelease:
Under the covers, this sets up a port forwarding connection to the first Pod in the cluster that is running a healthy instance of Tiller (hopefully there is exactly one) and establishes all the gRPC plumbing for you (which is not very straightforward). As long as you ensure that (in this example) both the
DefaultKubernetesClient and the
Tiller object are closed, as is done in this example, you won’t leak resources.
Happy Helming from Java!