You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
I'm trying to use a multiline string that is used on multiple places in a public helm chart.
I came across this issue which implemented the indent function, but unfortunately, indent doesn't help with the case where the same value is used on multiple places with different indentation levels in the helm chart.
Describe the solution you'd like
Ideally, the plugin should be able to identify the indentation required for that particular string and follow that automatically depending on the context. Manually specifying an indentation, in this case, is not an option because the indentation required depends on the context.
Describe alternatives you've considered
I tried playing around with different indents, but that didn't work.
Another alternative I tried was to replace the placeholders from the values files before doing helm template.
That didn't seem to work either, as argocd-vault-plugin compains with
Error: error unmarshaling JSON: while decoding JSON: Object 'Kind' is missing in
So I'm guessing it only works with actual k8s resources, not with values files.
If we could use argocd-vault-plugin with a values file, a workaround would be to use it before helm template, instead of after it.
Although this might seem like an edge case, I think having a value being used on different places is probaly not that unlikely. Maybe a bit more unlikely to have one of this places to be an yaml as string inside another yaml...
The text was updated successfully, but these errors were encountered:
Creating additional modifiers for the argocd vault plugin could solve the issue instead of making changes in public helm charts. For my Linkerd identityTrustAnchorsPEM issue practically identical to the one here, having nindent as a modifier on my inline-path placeholder would have solved the issue.
Sorry to revive an old thread but I'm also facing a similar issue. Even the <path:kv-argocd#linkerd-issuer-crt | indent 8> are causing problems in the secret that gets generated.
Did you manage to solve the issue and deploy Linkerd using AVP?
Is your feature request related to a problem? Please describe.
I'm trying to use a multiline string that is used on multiple places in a public helm chart.
I came across this issue which implemented the
indent
function, but unfortunately,indent
doesn't help with the case where the same value is used on multiple places with different indentation levels in the helm chart.Describe the solution you'd like
Ideally, the plugin should be able to identify the indentation required for that particular string and follow that automatically depending on the context. Manually specifying an indentation, in this case, is not an option because the indentation required depends on the context.
Describe alternatives you've considered
I tried playing around with different
indent
s, but that didn't work.Another alternative I tried was to replace the placeholders from the values files before doing helm template.
That didn't seem to work either, as argocd-vault-plugin compains with
So I'm guessing it only works with actual k8s resources, not with values files.
If we could use argocd-vault-plugin with a values file, a workaround would be to use it before
helm template
, instead of after it.Additional context
Basically I'm trying to install Linkerd helm chart, as documented here, but via ArgoCD.
(linkerd-control-plane).
app-version: 2.12.3
chart-version 1.9.5
chart-source
The helm install/template command requires 3 certificates to be passed:
So I created an Argocd application to read those values from secrets, like this:
indent
works great on the last 2 values, but not foridentityTrustAnchorsPEM
. The reason is that this value will be put in 2 different places:https://github.com/linkerd/linkerd2/blob/stable-2.12.3/charts/linkerd-control-plane/templates/identity.yaml#L35
and indirectly by dumping all Values here:
https://github.com/linkerd/linkerd2/blob/stable-2.12.3/charts/linkerd-control-plane/templates/config.yaml#L38
If I apply it like that, the cert is correctly replaced on the first yaml, but the identation will be wrong on the second one:
vs
If I change the place holder to
I fix the second one, but I break the first one:
Although this might seem like an edge case, I think having a value being used on different places is probaly not that unlikely. Maybe a bit more unlikely to have one of this places to be an yaml as string inside another yaml...
The text was updated successfully, but these errors were encountered: