jhelm — Java Implementation of Helm

jhelm is a native Java implementation of the Helm package manager for Kubernetes. It provides an embeddable library, a Spring Boot starter, a REST API, and a standalone CLI to work with Helm charts from the JVM — without shelling out to the Go-based Helm binary.

1. Helm-faithful rendering, in pure Java

jhelm renders chart templates byte-for-byte identically to helm template across a continuously-run suite of 540+ real-world charts (Bitnami, Grafana, GitLab, Kubernetes-monitoring, and more) — in pure Java, with no Go or helm binary. Parity is enforced in CI on every change, so behaviour tracks upstream Helm closely rather than approximating it. Rendering is driven by the standalone gotmpl4j Go-template engine.

2. MCP-native

The same operations are exposed as Model Context Protocol tools, so an AI agent can render charts, search ArtifactHub, and manage releases directly — no shelling out, no glue code. See MCP Server.

3. Key Features

  • Go template engine — the full Go text/template language with Helm’s Sprig function set and Helm-specific functions (include, tpl, required, lookup, toYaml, …), provided by the standalone gotmpl4j library.

  • Chart lifecycle management — install, upgrade, rollback, uninstall, list, status, history, test

  • Repository & OCI registries — add/remove repos, search, pull, push

  • Dependency management — list, update, build chart dependencies

  • Packaging & provenance — package charts to .tgz, PGP sign and verify

  • Spring Boot auto-configuration — programmatic action API with @ConfigurationProperties

  • REST API — Spring MVC endpoints with OpenAPI/Swagger documentation (pure library plus a jhelm-rest-starter)

  • MCP server — exposes jhelm operations as Model Context Protocol tools for AI agents (built on Spring AI)

  • JSON Schema validation — validates chart values against values.schema.json (Draft-07)

  • Async Kubernetes operations — Java 21 virtual threads via AsyncKubeService

4. Technology Stack

  • Java 21

  • Spring Boot 4.0.7

  • Kubernetes Client 26.0.0

  • gotmpl4j 1.1.0 (Go template + Sprig engine)

  • Picocli 4.7.7 (CLI framework)

  • Getting Started — build, run the CLI, or add jhelm as a library

  • Spring Boot Starter — programmatic API with auto-configured beans and code samples

  • REST API — HTTP endpoints and OpenAPI documentation

  • MCP Server — jhelm operations as Model Context Protocol tools for AI agents

  • CLI Reference — all commands, options, and examples

  • Configuration — jhelm.* properties reference

  • Security — the unified jhelm.security.* model for REST and MCP

  • Architecture — module structure and design

  • Helm Functions — the Helm-specific template function catalogue

  • Roadmap — planned features and compatibility matrix