-
Notifications
You must be signed in to change notification settings - Fork 180
Cert-generator job - argocd sync loop #4896
Description
Describe the bug
When deploying nginx-gateway-fabric helm chart (v2.4.2, for example), everything is deployed successfully initially (cert generator job enabled, by default). Should be noted that I do not directly deploy helm chart, but use it as a dependent chart in my local helm chart.
Then, if something is changed in helm values or argocd application and argo detects it, it shows that argo wants to delete cert-generator ServiceAccount, Role & RoleBinding.
I suspect the reason it the helm pre-install hook that all of the above resources contain in their annotations:
Tried couple of things (ignoreDifferences section in argocd application manifest) but nothing works and always argocd is stuck in a sync loop:
- cert-generator job & resources deleted
- cert-generator job re-created
- job completes
- ...
- repeat
I also tried to set some argocd PreSync annotation through helm values, but the field certGenerator.annotations does not seem to be used inside helm template:
Has anyone come across with this problem? And did you manage to resolve it somehow?
To Reproduce
Steps to reproduce the behavior:
- Deploy nginx-gateway-fabric using helm chart (v2.4.2) - with argocd
- Sync ArgoCD application & wait some time
- Change argocd manifests
- Refresh argocd application
- Argo wants to delete cert-generator manifests - sync loop if applied
Expected behavior
Chart is installed & sync loop does not keep happening forever in changes afterwards.
Your environment
- Version of the NGINX Gateway Fabric - release version or a specific commit: helm chart v2.4.2 (but happened in v2.3.0 helm chart too)
- Version of Kubernetes: 1.33.4
- Kubernetes platform (e.g. Mini-kube or GCP): Azure (AKS)
- Details on how you expose the NGINX Gateway Fabric Pod: Service of type LoadBalancer
- Logs of NGINX container:
kubectl -n <nginx-deployment-namespace> logs deployments/<nginx-deployment> - NGINX Configuration:
kubectl -n <nginx-deployment-namespace> exec -it deployments/<nginx-deployment> -- nginx -T
Additional context
Add any other context about the problem here. Any log files you want to share.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status