Skip to content

Feature Request: Support application-level timeout.reconciliation configuration #30642

Open

Description

@DashrathMundkar

Summary

Allow configuring timeout.reconciliation at the individual Argo CD Application level instead of relying exclusively on the global argocd-cm ConfigMap setting.

Motivation

Currently, timeout.reconciliation is configured globally through the argocd-cm ConfigMap.

This means all applications managed by an Argo CD instance share the same reconciliation interval, regardless of their individual requirements.

However, different applications often have different reconciliation requirements:

Critical applications may need frequent reconciliation to detect Git changes quickly.

Applications with less frequent deployments may benefit from longer reconciliation intervals.

Applications with large manifests or expensive manifest generation may not need frequent polling.

Different teams sharing the same Argo CD instance may have different deployment requirements.

Having only a global setting makes it difficult to accommodate these different use cases without affecting every application.

Proposal

Introduce an application-level configuration option to override the global timeout.reconciliation value.

For example:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-application
spec:
  # Application-specific reconciliation configuration
  reconciliation:
    timeout: 30s

The exact API structure can be discussed during implementation.

Expected Behavior

Applications should be able to specify their own reconciliation timeout.

If an application-level timeout is configured, it should take precedence over the global timeout.reconciliation setting.

If no application-level timeout is configured, Argo CD should continue using the global setting.

Existing behavior should remain backward compatible.

The solution should consider reconciliation jitter and its interaction with application-level timeouts.

Benefits

Provides finer-grained control over reconciliation frequency.

Allows different applications to have different deployment responsiveness requirements.

Avoids changing global configuration to accommodate individual applications.

Improves flexibility in multi-team and multi-tenant Argo CD installations.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttriage/pendingThis issue needs further triage to be correctly classified

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions