Skip to content

Respect controller flag in owner references #501

Open
@mkjpryor

Description

@mkjpryor

Summary

Currently, gitops-engine only considers resources with no owner references as top-level resources, and hence refuses to delete objects that have any owner references.

I would like to have a configuration and/or sync option to say that only owner references with controller: true should be respected when determining whether a resource is a top-level resource and can be deleted.

Motivation

I would like to use Argo CD to manage Cluster API clusters, but Cluster API adds owner references with controller: false to all resources that are part of a cluster but not directly managed by Cluster API (in particular, MachineDeployments). This means that Argo CD refuses to delete those resources even though it created them and there are no other controllers managing them.

I believe that that this is the correct behaviour from Cluster API, as those resources do indeed have a dependency on the Cluster object but Cluster API is not responsible for managing their lifecycle (other than cascade deletion).

Currently, this is a massive blocker for anyone who wants to use Argo CD to manage Cluster API clusters.

Proposal

I would like to see an additional sync option, RespectControllerReferencesOnly=true, that can be set on an application to enable this behaviour.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions