Open avilesj opened 4 months ago
This issue is currently awaiting triage.
If Ingress contributors determines this is a relevant issue, they will accept it by applying the triage/accepted
label and provide further guidance.
The triage/accepted
label can be added by org members by writing /triage accepted
in a comment.
/remove-kind bug
Please attempt an install with helm and report status
/triage needs-information
Direct helm installation works.
This is stale, but we won't close it automatically, just bare in mind the maintainers may be busy with other tasks and will reach your issue ASAP. If you have any question or request to prioritize this, please reach #ingress-nginx-dev
on Kubernetes Slack.
Minio tenant of the Minio Operator is also a perfect example of a Helm values.yaml that Argocd cannot parse. The issue in this one are all the 'exotic' tokens (e.g: `__ and ###) https://github.com/minio/operator/blob/master/helm/tenant/values.yaml
@D1StrX thanks for the update.
With this info, I guess we can be certain that the problem is parsing.
The project maintains the chart for helm usage and no problem is detected on helm usage.
Since the fields containing tokens or extraArgs
or raw yaml
work with helm and seem to break when ArgoCD parses it, I think its better to approach the ArgoCD developers for comments. I don't think there are resources available on this project to test and debug ArgoCD integration for parsers/parsing values file content.
Minio tenant of the Minio Operator is also a perfect example of a Helm values.yaml that Argocd cannot parse. The issue in this one are all the 'exotic' tokens (e.g: `__ and ###) https://github.com/minio/operator/blob/master/helm/tenant/values.yaml
Was able to narrow it down to the KES config part in the Minio tenant values.yaml. So, my suggestion would be; Try stripping down the values.yaml for your nginx Helm deployment and then push it to Git to let ArgoCD apply the changes.
I also tried the apps-of-apps pattern for the Kubernetes-nginx controllers, and I'm not experiencing any issues at all. I'm using the default values.yaml file with basic value changes in the default keys.
Funny thing with argo-cd
helm chart, this also says Failed to unmarshal
when deploying ArgoCD with ArgoCD.
When testing/narrowing down this issue:
It's due a line or lines that has a single # .
Not due ##
or # @default
lines in my tests. I first removed # @default
lines and next ##
What happened: Installation through ArgoCD results in
Failed to unmarshal "values.yaml": <nil>
while using the default values file.What you expected to happen: Helm chart should be installed through ArgoCD using the default values successfully.
NGINX Ingress controller version (exec into the pod and run nginx-ingress-controller --version.):
Kubernetes version (use
kubectl version
): (chart version) 4.10.0 v1.28.4 Environment:Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release): n/a
Kernel (e.g.
uname -a
): n/aInstall tools:
k0s
Basic cluster related info:
kubectl version
kubectl get nodes -o wide
How was the ingress-nginx-controller installed:
helm ls -A | grep -i ingress
helm -n <ingresscontrollernamespace> get values <helmreleasename>
Current State of the controller:
kubectl describe ingressclasses
kubectl -n <ingresscontrollernamespace> get all -A -o wide
kubectl -n <ingresscontrollernamespace> describe po <ingresscontrollerpodname>
kubectl -n <ingresscontrollernamespace> describe svc <ingresscontrollerservicename>
Current state of ingress object, if applicable:
kubectl -n <appnamespace> get all,ing -o wide
kubectl -n <appnamespace> describe ing <ingressname>
Others:
kubectl describe ...
of any custom configmap(s) created and in useHow to reproduce this issue:
Application
CRD that installs this helm chart with default values.Anything else we need to know: This is in my homelab. I use the app of apps pattern to install everything and everything works so far. I am migrating from Traefik to NGINX through this helm chart and found this error with the default values files.
I had seen something like this before with a prometheus helm chart where the values files had some portions that kind of looked like a kubernetes manifest, which made the parser blow up. That one was easier to catch and work out but I am not sure what's going on with this helm chart. (Or me, of course :) )