Implementation Roadmap & Future Design
This document outlines the planned improvements, feature priorities, and strategic vision for jhelm.
1. Recommended Implementation Roadmap
The roadmap is divided into several phases focusing on compatibility, feature completeness, and architectural modernization.
1.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
1.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
1.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
2. Compatibility Matrix
| Feature | Helm 3 | Helm 4 | jhelm Current | Priority | Status |
|---|---|---|---|---|---|
Template Rendering |
✅ |
✅ |
✅ |
- |
Complete |
Sprig Functions |
✅ |
✅ |
✅ (100%) |
P1 |
✅ Complete |
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 |
Pending |
Hooks |
✅ |
✅ |
❌ |
P2 |
Pending |
JSON Schema |
❌ |
✅ |
✅ |
P2 |
✅ Complete |
Content Caching |
❌ |
✅ |
✅ |
P1 |
✅ Complete |
Structured Logging |
❌ |
✅ |
⚠️ |
P1 |
Partial |
3. Spring Boot Integration Roadmap ⭐
3.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.
3.2. Architecture Design
3.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). |
3.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-app: Read from Spring Config Server, support environment variables via Spring Boot.
-
jhelm-gotemplate: Remains lightweight, no Spring dependency (pure Java).