argoproj / applicationset

The ApplicationSet controller manages multiple Argo CD Applications as a single ApplicationSet unit, supporting deployments to large numbers of clusters, deployments of large monorepos, and enabling secure Application self-service.
https://argocd-applicationset.readthedocs.io/
Apache License 2.0
586 stars 279 forks source link

ApplicationSet remains in degraded state forever #590

Open lbaschiera-tdh opened 2 years ago

lbaschiera-tdh commented 2 years ago

Hi all,

Little bit of context: I have an ArgoCD installation that currently manages 3 clusters: Dev, Stage and Loadtest. Applications are first installed into Dev, and then promoted to Loadtest and Stage in the same step. For each of them, I have an ApplicationSet that deploys the Helm charts contained in my configuration repository, with the following structure (Based on this argo-cd issue and this approach):

.
├── base
│   ├── chart-1
│   └── chart-2
└── dev
    ├── only-dev-chart-1
    ...
    └── only-dev-chart-n

Dev AppSet creates an app out of each chart in ./dev and ./base, while Stage and Loadtest AppSets create apps only for charts in ./base

The issue I'm currently facing is that when I promote one chart from Dev to Stage and Loadtest (This translates into moving the helm chart from ./dev to ./base), the ApplicationSet for Dev is marked as 'degraded' and the Health detail is:

ApplicationSet appset-dev contains applications with duplicate name: dev-chart-x Even though there's only one Application named dev-chart-x with the correct NEW repo path, that is ./base/chart-x.

I have tried hard refreshing the cache for the Application in charge of deploying the ApplicationSets and deleting the dev-chart-x Application and syncing for it to be reinstalled, but the AppSet is still in degraded state and I can't find a way to fix it.

Any ideas on how to proceed?