Kong / charts

Helm chart for Kong
Apache License 2.0
237 stars 473 forks source link

kong ingress duplicate CRD installation #1051

Open NissesSenap opened 2 months ago

NissesSenap commented 2 months ago

When using ArgoCD and the ingress helm chart you will get the following error RepeatedResourceWarning Resource apiextensions.k8s.io/CustomResourceDefinition//ingressclassparameterses.configuration.konghq.com appeared 2 times among application resources.

image

I think this is because currently, ingress uses the kong helm chart as a subChart twice, but don't disable the CRD installation in the gateway.

See: https://github.com/Kong/charts/blob/e09fd7a54ba99466328ccf9a581e50a3d516f58c/charts/ingress/values.yaml#L41-L42

and

https://github.com/Kong/charts/blob/e09fd7a54ba99466328ccf9a581e50a3d516f58c/charts/kong/templates/custom-resource-definitions.yaml#L1-L4

I'm unsure if this actually works since we also have the folder called CRDs https://helm.sh/docs/chart_best_practices/custom_resource_definitions/#method-1-let-helm-do-it-for-you, but I'm a bit unsure on how helm/argocd works in this case.

NissesSenap commented 2 months ago

In the end, I solved this locally by setting skipCRDs on my helm chat. And I created a separate ArgoCD application that applies https://raw.githubusercontent.com/Kong/charts/6c1421bf2f4ccbd96d14eb49ed9438bbf9bef800/charts/kong/crds/custom-resource-definitions.yaml which matches the version of the CRDs in the helm chart

rainest commented 2 months ago

Yeah, don't know if there's anything we can do here--AFAIK there is no way to selectively disable CRDs for only one of the subcharts, and the attached issue supports that.

We want to ultimately consolidate back into a single chart, which would clear the problem. Your current workaround is what I'd suggest, with the slight difference that you should use the KIC URL for your particular controller version, which will be easier than picking out a particular chart commit.