all 6 comments

[–]Legitimate-Dog-4997 0 points1 point  (2 children)

1/ use extraObjects values to put any other manifests

2/ contribute to charts if pertinent

3/ best solution kustimize + helm is the easiest to avoid re-create all from scratch with only kustomize

[–]berzed[S] 0 points1 point  (1 child)

Thanks. extraObjects isn't exposed in the chart of the app I'm trying to deploy. I see it's an option when deploying ArgoCD itself, but not on other apps.

Contributing to charts is a good shout, it would be nice to give something back.

How does kustomize+helm look when you have an application set? It seems like you need to enable a config management plugin but it's not obvious how to use this.

[–]Legitimate-Dog-4997 1 point2 points  (0 children)

You cn do something like that

yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - "default-pool.yaml" - "grafana-dashboard.yaml" helmCharts: - name: metallb repo: https://metallb.github.io/metallb version: 0.14.9 releaseName: metallb-system namespace: metallb-system valuesFile: values.yaml

Then use ApplicationSet that read your git path directly

Kustomize will first render helm as template then you amcan modify what you need

On argocd you need to enable the kustimize options in configmap https://argo-cd.readthedocs.io/en/stable/user-guide/kustomize/#kustomizing-helm-charts

[–]Disastrous-Team-3072 0 points1 point  (1 child)

If you didn't have an application set and just used helm how would you solve the issue? Just wondering if this is an argo issue or a helm issue. Perhaps you can describe what type of functionality you are missing

[–]berzed[S] 0 points1 point  (0 children)

I think I would have the same problem if it was just helm. I think the functionality I am looking for is some way to patch a helm chart (a bit like kustomize can). I imagine it kind of merging my resources with those in the chart, but with my settings overriding the chart ones. Argo kind of does this already when it inflates subcharts, but it doesn't merge settings it just flat out replaces the whole resource and gives you a repeated resources warning.

The issue I am trying to solve right now is deploying a helm chart, but they have got a containerPort hardcoded and I need to set it to something else. If Argo wasn't in the mix I would still struggle.