How to fix ExcludedResourceWarning Resource /Application is excluded in the settings in Kubernetes
ExcludedResourceWarning appears when ArgoCD encounters resources excluded in global settings. Configure resource inclusions/exclusions properly or override exclusions per-application using sync options.
Quick fix
Fixes ExcludedResourceWarning Resource /Application is excluded in the settings
kubectl get configmap argocd-cm -n argocd -o yaml | grep -A 20 resource.exclusions- Understand default exclusions
- View excluded resources in your Application
- Override exclusions per-Application using sync options
- Configure resource inclusions in argocd-cm
kubectl get configmap argocd-cm -n argocd -o yaml | grep -A 20 resource.exclusionsExcludedResourceWarning Resource /Application is excluded in the settings
What this error means
ArgoCD shows ExcludedResourceWarning when it encounters a Kubernetes resource type that has been excluded from management via the global resource exclusion configuration. This is typically a warning rather than an error, but it prevents ArgoCD from managing those resources. Common exclusions include ServiceAccount, Secret, and NetworkPolicy by default to prevent security issues.
Typical symptoms
- Warning displayed: "ExcludedResourceWarning Resource <kind> is excluded in the settings"
- Application deploys but shows warnings for managed resources
- Specific resource types are not synced by ArgoCD
- App of Apps pattern fails with resource exclusion warnings
- Custom resources are excluded but need to be managed
- Secrets or ConfigMaps cannot be synced through ArgoCD
- NetworkPolicy resources are silently ignored
- Trying to deploy ArgoCD Application resources fails
Common causes
- Resource type is configured in argocd-cm resource.exclusions field
- Global exclusions block sensitive resource types by default
- Using App of Apps pattern with ArgoCD Application CRD which is excluded
- Custom resource type not in resource.inclusions allowlist
- Namespace is excluded when shoulde be included
- API group and kind match exclusion rules unintentionally
- Resource exclusion rules too broad with wildcards
- RBAC restrictions preventing resource synchronization
How to fix "ExcludedResourceWarning Resource /Application is excluded in the settings"
Check the argocd-cm ConfigMap to see what is excluded:
kubectl get configmap argocd-cm -n argocd -o yaml | grep -A 20 resource.exclusionsCommon exclusions include ServiceAccount, Secret, ResourceQuota, and NetworkPolicy for security.
Use ArgoCD UI to see which resources are excluded. Go to the Application details and check the Resource Tree tab. Resources marked as excluded will show a warning icon.
To allow specific excluded resources in your application, add the IgnoreExtraneous sync option:
apiVersion: argoproj.io/v1alpha1
kind: Application
spec:
syncPolicy:
syncOptions:
- RespectIgnoreDifferences=trueOr use annotations on resources to exclude them from diff detection.
To allow a specific resource type globally, edit the ConfigMap:
kubectl edit configmap argocd-cm -n argocdAdd resource.inclusions to override exclusions:
resource.inclusions: |
- apiGroups:
- apps
kinds:
- DeploymentTo stop excluding a resource type entirely, edit argocd-cm and remove it from resource.exclusions:
resource.exclusions: |
- apiGroups:
- rbac.authorization.k8s.io
kinds:
- ClusterRoleBindingWhen using the App of Apps pattern, the Application CRD itself must not be excluded. If it is, add it to inclusions:
resource.inclusions: |
- apiGroups:
- argoproj.io
kinds:
- ApplicationFor production, enable RBAC-aware exclusions in argocd-cm:
resource.respectRBAC: "strict"This ensures resources are only excluded if the service account does not have permissions.
Use cluster comparison options to handle excluded resources more carefully:
resource.customizations.comparison.rules: |
- kinds:
- Secret
jqFilter: .Advanced notes
Exclusions exist for security reasons - be cautious when removing them, especially for Secrets and RBAC resources. Use inclusion lists rather than exclusion lists when you want to manage only specific resource types. For multi-tenant clusters, use RBAC-aware exclusions to ensure access control is enforced. Consider using an external secrets operator instead of syncing Secrets through ArgoCD for better security posture.
Frequently asked questions
- What does "ExcludedResourceWarning Resource /Application is excluded in the setti" mean?
- ArgoCD shows ExcludedResourceWarning when it encounters a Kubernetes resource type that has been excluded from management via the global resource exclusion configuration. This is typically a warning rather than an error, but it prevents ArgoCD from managing those resources. Common exclusions include ServiceAccount, Secret, and NetworkPolicy by default to prevent security issues.
- How do I fix "ExcludedResourceWarning Resource /Application is excluded in the setti"?
- ExcludedResourceWarning appears when ArgoCD encounters resources excluded in global settings. Configure resource inclusions/exclusions properly or override exclusions per-application using sync options.
- What causes "ExcludedResourceWarning Resource /Application is excluded in the setti"?
- Resource type is configured in argocd-cm resource.exclusions field Global exclusions block sensitive resource types by default Using App of Apps pattern with ArgoCD Application CRD which is excluded
- Is the "ExcludedResourceWarning Resource /Application is excluded in the setti" error serious?
- It is a medium-severity error โ more of a blocker than a risk. The steps above resolve it.
Official resources & further reading
- ๐Kubernetes Official Documentation
- ๐ArgoCD RBAC Resource Exclusions(Official Docs)
- ๐ArgoCD Compare Options(Official Docs)
- ๐