Skip to content

Allow sync operations to be terminated from the control plane #565

@jannfis

Description

@jannfis

Is your feature request related to a problem? Please describe.

Right now, users can trigger sync and refresh operations for Applications on the control plane cluster. The principal will detect the sync's .operation field and the refresh annotation and send it to the agents.

However, a running sync operation cannot be aborted due to the fact that this is done through settings in an Application's .status field (https://github.com/argoproj/argo-cd/blob/fed3c7eef76ba17658d3b751bf48f32cd2baf498/server/application/application.go#L2396), and the .status is never propagated from the principal to the agents (because usually, the application controller on the managed clusters will update the status exclusively).

Describe the solution you'd like

The principal should detect when .status.operationState.phase is being set to Terminating and propagating this change, potentially as a new event type, to the agent and Application is targeting.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions