A Helm plugin for recursive dependency management across all subcharts in complex chart hierarchies.
- Recursive Dependency Management: Automatically processes dependencies across all subcharts in a single command
- Visual Tree Display: Tree view showing the complete dependency hierarchy with status indicators
- Batch Operations: Build, update, and lint all charts in the correct dependency order
Managing dependencies in complex Helm chart hierarchies is challenging. Helm's built-in dependency commands only work on a single chart level, requiring you to manually navigate to each subchart directory and run commands individually. This becomes:
- Time-consuming: Manual navigation through dozens of subcharts
- Error prone: Easy to miss dependencies or run commands in the wrong order
- Inconsistent: Different team members might handle dependencies differently
Cascade solves this by automatically discovering all charts in your hierarchy and processing them in the correct dependency order.
helm plugin install https://github.com/origranot/helm-cascadeView the complete dependency tree with status indicators:
helm cascade list <chart-dir>Example Output:
├── e-commerce-platform
│ ✓ web-frontend 1.2.3 ok
│ 📦 api-gateway 2.1.0 unpacked
│ ✓ payment-service 0.5.2 ok
│ ├── web-frontend
│ │ ✓ nginx-ingress 3.1.0 ok
│ │ ✓ cert-manager 2.4.1 ok
│ │ ✗ monitoring-stack 1.0.0 missing
│ ├── api-gateway
│ │ ✓ istio-gateway 1.8.0 ok
│ │ ✓ rate-limiter 0.3.2 ok
│ │ ├── istio-gateway
│ │ │ ✓ istio-base 2.1.0 ok
│ │ │ ✓ istiod 1.5.0 okStatus Indicators:
- ✓ ok: Dependency is properly installed and up-to-date
- ✗ missing: Dependency needs to be downloaded
- 📦 unpacked: Dependency is downloaded but not installed
- ⚠ version_mismatch: Installed version doesn't match requirements
Download and install all dependencies across the entire chart hierarchy:
helm cascade build <chart-dir>Update all dependencies to their latest versions:
helm cascade update <chart-dir>
# or use the short alias:
helm cascade up <chart-dir>Validate all charts in the hierarchy:
helm cascade lint <chart-dir>Consider an e-commerce platform with this structure:
e-commerce-platform/
├── Chart.yaml
├── values.yaml
├── charts/
│ ├── web-frontend/
│ │ ├── Chart.yaml
│ │ ├── charts/
│ │ │ ├── nginx-ingress/
│ │ │ │ ├── Chart.yaml
│ │ │ │ └── charts/
│ │ │ │ └── cert-manager/
│ │ │ └── monitoring-stack/
│ │ └── charts/
│ │ └── redis-cache/
│ ├── api-gateway/
│ │ ├── Chart.yaml
│ │ └── charts/
│ │ ├── istio-gateway/
│ │ │ ├── Chart.yaml
│ │ │ └── charts/
│ │ │ ├── istio-base/
│ │ │ └── istiod/
│ │ └── rate-limiter/
│ └── payment-service/
Without Cascade:
# Manual process - error-prone and time-consuming
cd e-commerce-platform
helm dependency build
cd charts/web-frontend
helm dependency build
cd charts/nginx-ingress
helm dependency build
cd charts/cert-manager
helm dependency build
cd charts/monitoring-stack
helm dependency build
cd charts/redis-cache
helm dependency build
cd ../api-gateway
helm dependency build
cd charts/istio-gateway
helm dependency build
cd charts/istio-base
helm dependency build
cd charts/istiod
helm dependency build
cd ../rate-limiter
helm dependency build
cd ../../payment-service
helm dependency build
# ... repeat for every chartWith Cascade:
# One command handles everything
helm cascade build e-commerce-platformContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.