Argo-cd: Question: Helm repository with multible values files

Created on 18 Dec 2018  路  7Comments  路  Source: argoproj/argo-cd

We are using helm for our deployments with multiple helm repositories. The directory structure looks like:

<ENV>/<APPLICATION_NAME>/values.yaml

It would be great to have a detection mechanism for this. Something like a argo.yaml which we can placed inside the directory.

Example:

type: helm
helm-repository: stable
chart: redis
version: 1.0.0

do you think this is useful?

Most helpful comment

@rpahli - The way to accomplish this without building any extra features, is by having a helm chart in your private git repo, with a dependency to your desired chart in the upstream helm repository. The values.yaml in the private git repo is able to customize the helm parameters in the upstream chart.

I added an example of how to do that here:
https://github.com/argoproj/argocd-example-apps/tree/master/helm-dependency

Let us know if this satisfies your use case.

All 7 comments

Helllo @rpahli ! Not sure if I understood your proposal correctly.

Are you suggesting to add applications auto-detection mechanism? So user could connect repository with multiple argo.yaml files instead of manually run argocd app create for every application?

This is already supported but in a slightly different way. You can create directory argo-cd-apps which has yaml definition for each your environment and connect it to argocd using argocd app create appications --repo <repourl> --path argo-cd-apps. E.g.:

argo-cd-apps/prod.yaml

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: helm-guestbook
spec:
  destination:
    namespace: default
    server: https://localhost:6443
  project: default
  source:
    helm:
      valueFiles:
      - values-production.yaml
    path: helm-guestbook
    repoURL: https://github.com/argoproj/argocd-example-apps

This way you can manage argocd application in a gitops way.

Hello @alexmt,

that's what I'm looking for. But what I miss is the opportunity to use remote helm repositories with local values files.

You might use URL. e.g.

  source:
    helm:
      valueFiles:
      - https://raw.githubusercontent.com/argoproj/argocd-example-apps/master/helm-guestbook/values-production.yaml

Unfortunately, Helm does not support URLs which require authentication.

What I mean is I want to use remote helm chart (tgz files) for example from https://hub.helm.sh and only the values files are in a git repositories. I know helm template does not support remote templates out of the box but this would be very helpful if argo-cd would support this. Maybe I can support to implement this feature if you think this is helpful.

@rpahli - The way to accomplish this without building any extra features, is by having a helm chart in your private git repo, with a dependency to your desired chart in the upstream helm repository. The values.yaml in the private git repo is able to customize the helm parameters in the upstream chart.

I added an example of how to do that here:
https://github.com/argoproj/argocd-example-apps/tree/master/helm-dependency

Let us know if this satisfies your use case.

Ok I'll check it if this works for us.

Thanks

First class help charts without involving git is WIP. I think we can close this one. @rpahli please feel free to reopen if #1145 does not cover your use case

Was this page helpful?
0 / 5 - 0 ratings

Related issues

estahn picture estahn  路  3Comments

peterbosalliandercom picture peterbosalliandercom  路  3Comments

rosscdh picture rosscdh  路  3Comments

jessesuen picture jessesuen  路  3Comments

duboisf picture duboisf  路  3Comments