Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helm parameters should allow maps #3936

Closed
sfxworks opened this issue Jul 13, 2020 · 4 comments
Closed

Helm parameters should allow maps #3936

sfxworks opened this issue Jul 13, 2020 · 4 comments
Labels
duplicate This issue or pull request already exists enhancement New feature or request

Comments

@sfxworks
Copy link

Summary

Helm parameters should allow for map values instead of just strings

Motivation

Trying to configure annotations for ingress https://github.com/goharbor/harbor-helm/blob/master/values.yaml#L37-L40
Using application spec https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/

May need to use values.yaml. In which case, the ability to have secrets referenced in parameters would also be nice

Proposal

Unknown but adjustments may be needed to CRD at the least.


Message from the maintainers:

If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

@alexec
Copy link
Contributor

alexec commented Jul 13, 2020

I think this is an Argo CD issue, not an Argo Workflows issue?

@alexec alexec transferred this issue from argoproj/argo-workflows Jul 13, 2020
@ghost
Copy link

ghost commented Jul 21, 2020

+1 On this one..

Currently the HELM charts look like this when u try to provision your own values.

Current declaration looks like this:

---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: awesome-app
spec:
  destination:
    namespace: awesome-namespace
    server: 'https://kubernetes.default.svc'
  project: 'awesome-project'
  source:
    path: ''
    repoURL: 'awesome_helm_repo'
    targetRevision: 0.1.0
    chart: helm-guestbook
    helm:
      values: | # Everything treated as a string :(
        replicaCount: 1
        image:
          repository: awesome-image
          tag: dev-67ce5bf
        env:
          - name: INJECTED_VAR_1
            value: VALUE
          - name: INJECTED_VAR_2
            value: VALUE
          - name: INJECTED_VAR_3
            value: VALUE
        route:
          host: ""
          enabled: true

Proposal would be to allow the mapping values too:

---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: awesome-app
spec:
  destination:
    namespace: awesome-namespace
    server: 'https://kubernetes.default.svc'
  project: 'awesome-project'
  source:
    path: ''
    repoURL: 'awesome_helm_repo'
    targetRevision: 0.1.0
    chart: helm-guestbook
    helm:
      values: # Let YAML do it's syntax validation :)
        replicaCount: 1
        image:
          repository: awesome-image
          tag: dev-67ce5bf
        env:
          - name: INJECTED_VAR_1
            value: VALUE
          - name: INJECTED_VAR_2
            value: VALUE
          - name: INJECTED_VAR_3
            value: VALUE
        route:
          host: ""
          enabled: true

Adding to what @sfxworks said, this looks the same but it makes it easier:

  • for your IDE to help where it can
  • you can use Kustomize to make a patch on one of the values

We can see similar design in the HelmRelease CRD used in the Helm-Operator (Flux).

@an-tex
Copy link

an-tex commented May 11, 2021

duplicate #2936 . I'm really missing this feature too though

@crenshaw-dev
Copy link
Member

Closing in favor of duplicate #2936

@crenshaw-dev crenshaw-dev added the duplicate This issue or pull request already exists label Apr 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants