You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There should be a switch to ignore the FailOnSharedResource option for a single manual sync.
Motivation
In general, we want to have the FailOnSharedResource option enabled at all times to protect from accidental resource conflicts, particularly those caused by automated processes. However, there are limited cases where we actually want to transfer a resource from one Application to another. In particular, sometimes the original Application has been deleted or is no longer managing those resources but has not pruned them, so they still exist in the cluster with annotations for an app that no longer exists.
We use a monorepo where folders correspond to Applications generated by a GitGenerator. Currently, a folder rename in a repository breaks all syncs for that app until FailOnSharedResource is disabled for the new application and the application is manually synced. This is particularly painful because there's no GUI option to disable or enable FailOnSharedResource, so the edit must be made by hand-editing the manifest. (And the parent ApplicationSet might need to be configured to ignore the changes as well.)
Proposal
From my understanding of the code, the default sync options of the application are overwritten here by any sync options that are specified in the API call. Currently, the UI passes along all sync options that are set in the sync request (or, more to the point, it doesn't have a GUI option for FailOnSharedResource, so you can't disable it manually). My proposal is to implement an option in the UI that allows the FailOnSharedResource=true option to not be sent with the sync request for a given sync.
The text was updated successfully, but these errors were encountered:
Summary
There should be a switch to ignore the
FailOnSharedResource
option for a single manual sync.Motivation
In general, we want to have the
FailOnSharedResource
option enabled at all times to protect from accidental resource conflicts, particularly those caused by automated processes. However, there are limited cases where we actually want to transfer a resource from oneApplication
to another. In particular, sometimes the originalApplication
has been deleted or is no longer managing those resources but has not pruned them, so they still exist in the cluster with annotations for an app that no longer exists.We use a monorepo where folders correspond to
Applications
generated by aGitGenerator
. Currently, a folder rename in a repository breaks all syncs for that app untilFailOnSharedResource
is disabled for the new application and the application is manually synced. This is particularly painful because there's no GUI option to disable or enableFailOnSharedResource
, so the edit must be made by hand-editing the manifest. (And the parentApplicationSet
might need to be configured to ignore the changes as well.)Proposal
From my understanding of the code, the default sync options of the application are overwritten here by any sync options that are specified in the API call. Currently, the UI passes along all sync options that are set in the sync request (or, more to the point, it doesn't have a GUI option for
FailOnSharedResource
, so you can't disable it manually). My proposal is to implement an option in the UI that allows theFailOnSharedResource=true
option to not be sent with the sync request for a given sync.The text was updated successfully, but these errors were encountered: