Summary
Create a Taskfile command that automatically builds Helm chart dependencies in the correct order from child charts to parent charts.
Type
Enhancement
Context
Contributors must manually run helm dependency update for 8+ charts in specific order: leaf charts first (card-vault, web, monitoring, istio, keymanager, ucs), then dependent chart (hyperswitch-app), then umbrella chart (hyperswitch-stack). This manual process is:
- Time-consuming: Requires running commands for 8+ different charts
- Error-prone: Easy to miss charts or run them in wrong order
- Knowledge-intensive: Requires understanding the dependency hierarchy
- Friction for new contributors: Creates unnecessary barriers to getting started
The current dependency hierarchy requires this manual sequence:
# Step 1: Build leaf charts first
cd charts/incubator/hyperswitch-card-vault && helm dependency update
cd charts/incubator/hyperswitch-web && helm dependency update
cd charts/incubator/hyperswitch-monitoring && helm dependency update
cd charts/incubator/hyperswitch-istio && helm dependency update
cd charts/incubator/hyperswitch-keymanager && helm dependency update
cd charts/incubator/hyperswitch-ucs && helm dependency update
# Step 2: Build intermediate chart that depends on card-vault
cd charts/incubator/hyperswitch-app && helm dependency update
# Step 3: Build umbrella chart that depends on multiple charts
cd charts/incubator/hyperswitch-stack && helm dependency update
Starter tasks
- Analyze the dependency hierarchy in
charts/incubator/*/Chart.yaml files
- Identify which charts have local dependencies vs external-only dependencies
- Examine existing
package-incubator-hyperswitch-helm task pattern in Taskfile.yaml
- Create build order: independent → dependent → umbrella charts
Implementation hints
- File to modify:
Taskfile.yaml (root level)
- Dependency order:
- Independent charts:
hyperswitch-card-vault, hyperswitch-web, hyperswitch-monitoring, hyperswitch-istio, hyperswitch-keymanager, hyperswitch-ucs
- Dependent chart:
hyperswitch-app (depends on card-vault)
- Umbrella chart:
hyperswitch-stack (depends on app, web, monitoring, ucs)
- Task structure:
update-dependencies:
desc: "Build all Helm chart dependencies in correct order"
cmds:
- echo "Building Helm chart dependencies..."
- |
# add the chart building logic over here
- echo "All dependencies built successfully\!"
aliases:
- ud
- Error handling: Each
helm dependency update should stop execution on failure
Acceptance criteria
Resources
Mentor contact
@itsharshvb
Pre-flight
Summary
Create a Taskfile command that automatically builds Helm chart dependencies in the correct order from child charts to parent charts.
Type
Enhancement
Context
Contributors must manually run
helm dependency updatefor 8+ charts in specific order: leaf charts first (card-vault, web, monitoring, istio, keymanager, ucs), then dependent chart (hyperswitch-app), then umbrella chart (hyperswitch-stack). This manual process is:The current dependency hierarchy requires this manual sequence:
Starter tasks
charts/incubator/*/Chart.yamlfilespackage-incubator-hyperswitch-helmtask pattern in Taskfile.yamlImplementation hints
Taskfile.yaml(root level)hyperswitch-card-vault,hyperswitch-web,hyperswitch-monitoring,hyperswitch-istio,hyperswitch-keymanager,hyperswitch-ucshyperswitch-app(depends on card-vault)hyperswitch-stack(depends on app, web, monitoring, ucs)helm dependency updateshould stop execution on failureAcceptance criteria
update-dependencies(aliasud) added to root Taskfile.yamltask build-dependenciespasses locally after fresh clonehelm template charts/incubator/hyperswitch-stackworks after running taskResources
Taskfile.yamlgrep -r "file://" charts/incubator/*/Chart.yamlMentor contact
@itsharshvb
Pre-flight