-
Notifications
You must be signed in to change notification settings - Fork 34
Open
Labels
good first issueGood for newcomersGood for newcomershacktoberfestIssues created specifically for Hacktoberfest.Issues created specifically for Hacktoberfest.
Description
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 updateStarter tasks
- Analyze the dependency hierarchy in
charts/incubator/*/Chart.yamlfiles - Identify which charts have local dependencies vs external-only dependencies
- Examine existing
package-incubator-hyperswitch-helmtask 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)
- Independent charts:
- 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 updateshould stop execution on failure
Acceptance criteria
- Task
update-dependencies(aliasud) added to root Taskfile.yaml - Dependencies built in correct order: leaf → intermediate → umbrella
- Command
task build-dependenciespasses locally after fresh clone - All Chart.lock files are generated correctly
- Task provides clear progress feedback for each step
- Error handling stops execution if any chart fails to build
- Task works from any directory (uses proper cd commands)
- Test
helm template charts/incubator/hyperswitch-stackworks after running task
Resources
- Taskfile documentation
- Helm dependency command reference
- Existing task patterns in root
Taskfile.yaml - Chart dependency analysis:
grep -r "file://" charts/incubator/*/Chart.yaml
Mentor contact
@itsharshvb
Pre-flight
- I read the Contributing Guide and setup
- I searched existing issues and PRs
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomershacktoberfestIssues created specifically for Hacktoberfest.Issues created specifically for Hacktoberfest.