GFI: Automate Helm repository setup with a Taskfile command
#191 opened on Sep 9, 2025
Repository metrics
- Stars
- (18 stars)
- PR merge metrics
- (PR metrics pending)
Description
Summary Create an automated Taskfile command that scans all Chart.yaml files and adds external Helm repositories in one command.
Type Enhancement
Context
Currently, developers must manually run 7+ helm repo add commands for external dependencies (Bitnami, Prometheus, Grafana, OpenTelemetry, Istio, Codecentric, Vector) when cloning the repository. This creates friction for new contributors and is error-prone. The repository contains 8 Helm charts with various external dependencies that need to be added before charts can be used.
The current manual process requires developers to identify and add these repositories individually:
helm repo add bitnami https://charts.bitnami.com/bitnamihelm repo add prometheus-community https://prometheus-community.github.io/helm-chartshelm repo add grafana https://grafana.github.io/helm-chartshelm repo add opentelemetry https://open-telemetry.github.io/opentelemetry-helm-chartshelm repo add istio https://istio-release.storage.googleapis.com/chartshelm repo add codecentric https://codecentric.github.io/helm-chartshelm repo add vector https://helm.vector.dev
Starter tasks
- Examine existing
charts/incubator/hyperswitch-app/Taskfile.yamlfor thehelm-add-repopattern - Scan all
Chart.yamlfiles incharts/incubator/to identify external repository URLs - Add the new task to root
Taskfile.yamlfollowing existing patterns
Implementation hints
- File to modify:
Taskfile.yaml(root level) - Reference pattern:
charts/incubator/hyperswitch-app/Taskfile.yamlhas existinghelm-add-repotask - Required repositories:
bitnami: https://charts.bitnami.com/bitnami prometheus-community: https://prometheus-community.github.io/helm-charts grafana: https://grafana.github.io/helm-charts opentelemetry: https://open-telemetry.github.io/opentelemetry-helm-charts istio: https://istio-release.storage.googleapis.com/charts codecentric: https://codecentric.github.io/helm-charts vector: https://helm.vector.dev - Exclude: Filter out
file://repositories (local dependencies) - Task structure:
setup-helm-repos: desc: "Automatically add all external Helm repositories used by charts" cmds: - echo "Adding external Helm repositories..." # Add parsing and helm repo add logic here - helm repo update - echo "Helm repositories setup complete!" aliases: - shr
Acceptance criteria
- Task
setup-helm-repos(aliasshr) added to root Taskfile.yaml - All 7 external repositories are added correctly
- Command
task setup-helm-repospasses locally - Command includes error handling for duplicate repositories (use
|| true) - Command runs
helm repo updateafter adding repositories - Task provides clear output showing which repositories were added
- Test by removing existing repos and running the new task
Resources
- Taskfile documentation
- Helm repo command reference
- Current task patterns in existing Taskfile.yaml
Mentor contact @itsharshvb
Pre-flight
- I read the Contributing Guide and setup
- I searched existing issues and PRs