{"id":23095044,"url":"https://github.com/microbean/microbean-helm","last_synced_at":"2025-07-23T14:04:19.213Z","repository":{"id":43042878,"uuid":"92879445","full_name":"microbean/microbean-helm","owner":"microbean","description":"A Java API for Helm, the Kubernetes package manager.","archived":false,"fork":false,"pushed_at":"2020-03-04T20:44:04.000Z","size":12348,"stargazers_count":118,"open_issues_count":20,"forks_count":53,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-20T11:05:11.375Z","etag":null,"topics":["grpc-java","helm","helm-charts","java","kubernetes","kubernetes-deployment","tiller-server"],"latest_commit_sha":null,"homepage":"https://microbean.github.io/microbean-helm/index.html","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microbean.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-30T21:52:48.000Z","updated_at":"2024-10-21T02:36:26.000Z","dependencies_parsed_at":"2022-09-24T05:31:00.610Z","dependency_job_id":null,"html_url":"https://github.com/microbean/microbean-helm","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/microbean/microbean-helm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbean%2Fmicrobean-helm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbean%2Fmicrobean-helm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbean%2Fmicrobean-helm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbean%2Fmicrobean-helm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microbean","download_url":"https://codeload.github.com/microbean/microbean-helm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbean%2Fmicrobean-helm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266691580,"owners_count":23969182,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["grpc-java","helm","helm-charts","java","kubernetes","kubernetes-deployment","tiller-server"],"created_at":"2024-12-16T22:19:20.043Z","updated_at":"2025-07-23T14:04:19.193Z","avatar_url":"https://github.com/microbean.png","language":"Java","readme":"# microBean Helm\n\n[![Build Status](https://travis-ci.org/microbean/microbean-helm.svg?branch=master)](https://travis-ci.org/microbean/microbean-helm)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.microbean/microbean-helm/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.microbean/microbean-helm)\n\n\nThe [microBean Helm project][12] lets you work with the server-side\ncomponentry of [Helm][0] from Java.\n\nThis means your Java applications can now manage applications in your\nKubernetes cluster using the [Helm][0] notions of [charts][3]\nand [releases][9].\n\nUntil now, Java developers had to use the `helm` command line client\nto do these operations.\n\n# Announcements\n\nProject announcements may be found [in the\nwiki](https://github.com/microbean/microbean-helm/wiki/Announcements).\nYou are encouraged to take a look!\n\n# Versioning\n\nThe microBean Helm project's version number tracks the Helm and Tiller\nrelease it works with, together with its own version semantics.  For\nexample, a microBean Helm version of `2.12.3.0.0.1` means that the Helm\nversion it tracks is `2.12.3` and the (SemVer-compatible) version of\nthe non-generated code that is part of _this_ project is `0.0.1`.\n\n# Installation\n\nTo install microBean Helm, simply include it as a dependency in your\nproject.  If you're using Maven, the dependency stanza should look\nlike this:\n\n    \u003cdependency\u003e\n      \u003cgroupId\u003eorg.microbean\u003c/groupId\u003e\n      \u003cartifactId\u003emicrobean-helm\u003c/artifactId\u003e\n      \u003c!-- See http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.microbean%22%20AND%20a%3A%22microbean-helm%22 for available releases. --\u003e\n      \u003cversion\u003e2.12.3.0.0.1\u003c/version\u003e\n      \u003ctype\u003ejar\u003c/type\u003e\n    \u003c/dependency\u003e\n    \nReleases are [available in Maven Central][10].  Snapshots are available\nin [Sonatype Snapshots][11].\n\n# Documentation\n\nThe microBean Helm project [documentation is online][8].\n\n# Helm\n\n[Helm][0] is the package manager for [Kubernetes][1].  It consists of\na command line program named `helm` and a server-side component named\nTiller.  `helm` serves as a Tiller client.\n\n# Tiller\n\n[Tiller][2] is the server-side component of Helm.  Tiller accepts and\nworks with Helm [_charts_][3]\u0026mdash;packaged Kubernetes manifest\ntemplates together with their values.  microBean Helm lets\nyou\n[build and work with those charts and the _releases_ they produce from Java][4] and\nsend them back and forth to and from Tiller.\n\n## Tiller Installation\n\nIn a normal Helm usage scenario, Tiller\nis\n[installed just-in-time by the `helm` command line client (via the `helm init` subcommand)][5].\nIt runs as a Pod in a Kubernetes cluster.  microBean Helm features\nthe [`TillerInstaller` class][13] that can do the same thing from\nJava.\n\n## Tiller Connectivity\n\nBecause Tiller normally runs as a Pod, communicating with it from\noutside the cluster is not straightforward.  The `helm` command line\nclient internally forwards a local port to a port on the Tiller Pod\nand, via this tunnel, establishes communication with the Tiller\nserver.  The microBean Helm project does the same thing but via a Java\nlibrary.\n\n## Tiller Communication\n\nTiller is fundamentally a [gRPC][6] application.  The microBean Helm\nproject [generates the Java bindings][7] to its gRPC API, allowing\napplications to communicate with Tiller using Java classes.\n\n# [`ReleaseManager`][4]\n\nIdeally, business logic for installing and updating releases would be\nentirely encapsulated within the Tiller server.  Unfortunately, this\nis not the case.  The `helm` command-line program investigates and\nprocesses a Helm chart's `requirements.yaml` file at installation time\nand uses it to alter what is actually dispatched to Tiller.  For this\nreason, if you are using the microBean Helm project, you must use the\n_non_-generated [`ReleaseManager` class][4] to perform your\nHelm-related operations, since it contains a port of the business\nlogic embedded in the `helm` program.\n\n[0]: https://helm.sh/\n[1]: https://kubernetes.io/\n[2]: https://docs.helm.sh/glossary/#tiller\n[3]: https://docs.helm.sh/developing_charts/#\n[4]: https://microbean.github.io/microbean-helm/apidocs/org/microbean/helm/ReleaseManager.html\n[5]: https://docs.helm.sh/using_helm/#easy-in-cluster-installation\n[6]: http://www.grpc.io/\n[7]: https://microbean.github.io/microbean-helm/apidocs/index.html\n[8]: https://microbean.github.io/microbean-helm/\n[9]: https://docs.helm.sh/glossary/#release\n[10]: http://search.maven.org/#search%7Cga%7C1%7Ca%3Amicrobean-helm\n[11]: https://oss.sonatype.org/content/repositories/snapshots/org/microbean/microbean-helm/\n[12]: https://github.com/microbean/microbean-helm\n[13]:https://microbean.github.io/microbean-helm/apidocs/org/microbean/helm/TillerInstaller.html\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrobean%2Fmicrobean-helm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrobean%2Fmicrobean-helm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrobean%2Fmicrobean-helm/lists"}