Implementation Roadmap & Future Design
This document outlines the planned improvements, feature priorities, and strategic vision for jhelm.
1. 1.0.0 — first stable release
jhelm 1.0.0 is the first stable release on Maven Central, defined by two things being true
at once: a broad real-world conformance bar and a stable, extraction-ready engine and API.
1.1. What 1.0 delivers
| Area | Delivered in 1.0 |
|---|---|
Conformance |
540 / 540 real-world charts render byte-identical to |
Engine |
The Go template + Sprig engine ships as the standalone
gotmpl4j library on Maven Central; jhelm consumes it
as a dependency and keeps only the Helm-specific function layer ( |
Chart lifecycle |
install / upgrade / rollback / uninstall / list / status / history / get / template / package / lint / dependency, plus hooks, JSON-Schema validation, and Helm-faithful SemVer version selection. |
Repositories |
HTTP and OCI repositories with digest verification and recursive dependency value coalescing. |
Real cluster |
|
Provenance & security |
Chart signing / verification (PGP), opt-in SSRF protection for server mode, and host-gated repository credentials. |
Distribution |
Published modules: |
API stability |
The public surface was frozen in |
1.2. API freeze (shipped in 0.4.0)
The pre-1.0 API freeze milestone landed in 0.4.0, settling the public surface ahead of a
stable 1.0. The supported surface — and the .internal convention that separates it from
implementation detail — is documented in API Surface & Stability:
-
Unchecked exceptions — the action layer and
KubeServicethrow theJhelmExceptionhierarchy instead ofthrows Exception. -
No leaked Kubernetes-client types —
ApiException/ApiClientare wrapped behindKubeClient; BouncyCastle PGP types behindSigningKey/VerificationKeyring. -
Options objects — the action API takes immutable
InstallOptions/UpgradeOptions/UninstallOptions/RollbackOptionsinstead of long parameter lists. -
Immutable result models —
Release/ReleaseInfo/MapConfigare immutable; releasestatusis a typedReleaseStatusenum and the lifecycle phase aLifecyclePhaseenum.
1.3. Post-1.0 direction
The phases and design below are forward-looking. The near-term priorities after 1.0 are
Server-Side Apply in HelmKubeService, structured logging, and closing the remaining OCI and
gitlab value-coalescing gaps; the longer-term vision is the Spring Boot management platform
described at the end of this page.
2. Recommended Implementation Roadmap
The roadmap is divided into several phases focusing on compatibility, feature completeness, and architectural modernization.
2.1. Phase 1: Helm 4 Core Compatibility (2-3 weeks)
-
Add missing template functions (
mustToYaml,mustToJson, etc.) - ✅ COMPLETED -
Category-based function refactoring - ✅ COMPLETED
-
Remove duplicate legacy functions - ✅ COMPLETED
-
Implement Server-Side Apply in
HelmKubeService -
Enhanced OCI registry support with digest verification
-
Content-based chart caching
-
Multi-document values file support
2.2. Phase 2: Feature Completeness (3-4 weeks)
-
Dependency management system
-
Hooks support (pre/post install/upgrade)
-
Missing commands (
get,show,dependency) -
JSON Schema validation - ✅ COMPLETED
-
Improved resource status watching
2.3. Phase 3: Architecture & Quality (2-3 weeks)
-
Remove Spring Boot from core modules (making them library-first)
-
Async/reactive support - ✅ COMPLETED (virtual-thread
AsyncKubeService) -
Metrics and observability
-
Enhanced error recovery
-
Better contextual error messages
3. Compatibility Matrix
| Feature | Helm 3 | Helm 4 | jhelm Current | Priority | Status |
|---|---|---|---|---|---|
Template Rendering |
✅ |
✅ |
✅ |
- |
Complete |
Sprig Functions |
✅ |
✅ |
✅ |
P1 |
✅ Complete (minor gaps tracked in Function Coverage) |
Helm 4 must Functions* |
❌ |
✅ |
✅ |
P1 |
✅ Complete |
Server-Side Apply |
❌ |
✅ |
❌ |
P1 |
Pending |
Three-Way Merge |
✅ |
❌ |
✅ |
P1 |
Complete |
Plugin System |
✅ |
✅ (new) |
❌ |
P2 |
Pending |
OCI Registries |
✅ |
✅ (enhanced) |
⚠️ |
P1 |
Partial |
Chart Dependencies |
✅ |
✅ |
✅ |
P2 |
✅ Complete |
Hooks |
✅ |
✅ |
✅ |
P2 |
✅ Complete |
JSON Schema |
❌ |
✅ |
✅ |
P2 |
✅ Complete |
Content Caching |
❌ |
✅ |
✅ |
P1 |
✅ Complete |
Structured Logging |
❌ |
✅ |
⚠️ |
P1 |
Partial |
4. Spring Boot Integration Roadmap ⭐
4.1. Strategic Vision
Transform jhelm into an enterprise-grade Helm management platform powered by Spring Boot, offering:
-
Centralized Configuration: Spring Config Server integration for values management across environments.
-
REST API: Full-featured API for programmatic Helm operations.
-
Web UI: Modern web interface for chart management and deployments.
-
Multi-tenancy: Support for multiple teams, clusters, and environments.
-
Real-time Operations: WebSocket-based deployment status and logs.
-
Enterprise Features: Security, audit logging, RBAC, SSO integration.
4.2. Architecture Design
4.2.1. New Modules
| Module | Description |
|---|---|
|
Purpose: REST API and Web UI server. |
|
Purpose: Configuration management and Spring Config integration. |
|
Purpose: Authentication, authorization, and audit (Future). |
4.2.2. Enhanced Existing Modules
-
jhelm-core: Add
@ConfigurationProperties, Spring Environment integration, Spring Events for deployment lifecycle, Spring Cache for template caching. -
jhelm-kube: Reactive operations with Spring WebFlux, Spring Retry for resilience, Spring Cloud Kubernetes for discovery, Async deployment support.
-
jhelm-cli: Read from Spring Config Server, support environment variables via Spring Boot.
-
jhelm-gotemplate-helm: Remains lightweight, no Spring dependency (pure Java), tracking the external gotmpl4j engine.