helm-dashboard icon indicating copy to clipboard operation
helm-dashboard copied to clipboard

Add Support for Preconfigured Helm Repositories via Values File

Open josephaw1022 opened this issue 1 year ago • 2 comments

Description

Currently, the Helm Dashboard UI requires manual input to add Helm chart repositories whenever a new cluster is spun up. This can become repetitive and inefficient for users who manage multiple clusters or frequently create new clusters. It would be beneficial if the repositories could be pre-configured via the values.yaml file during the initial setup, allowing the Helm Dashboard to automatically populate the UI with the predefined repositories. This would save time and reduce manual intervention.

Screenshots

image

Additional information

Proposed Solution:

Introduce the ability to define Helm repositories in the values.yaml file. These values would then be passed into the deployment as environment variables or mounted as a configuration file. Application Reads Configuration:

The Helm Dashboard would read the Helm repository configurations either from environment variables or a file at runtime. The configuration could be handled using a ConfigMap in Kubernetes.


repositories:
    - name: "Komodor"
      url: "https://helm-charts.komodor.io"
    - name: "argo"
      url: "https://argoproj.github.io/helm-chart"

probably would need to think about the username and password fields as well.

josephaw1022 avatar Sep 28 '24 21:09 josephaw1022

Very nice suggestion, I like the idea.

Notes for implementation:

  • the open question is how to pass the list of repos to HD, cli options or env vars are not very suitable, and we don't have any config files
  • another question is that we internally have app per k8s context, easy to set for in-cluster setup, harder for local multi-cluster. Probably needs to have more complex structure of configuration.
  • app.Repositories.Add() needs to be called to add the repo, it has all the parameters needed

undera avatar Sep 29 '24 08:09 undera

we can use init containers with http calls to provision repositories? we can also utilize dynamic reloading feature. see - grafana helm chart provisions dashboards from configmaps.

changes will be isolated to in cluster configuration.

hiteshnayak305 avatar Dec 03 '24 12:12 hiteshnayak305