The ResourceManger manages the lifecycle of a resource by calling create/update/delete as needed to keep the actual and desired state in sync. Currently the update part is hard coded as a client.Update() call. There are other ways to manage "updating" a resource including various flavors of patching and most interestingly server-side apply. Using server-side apply with duck types should make update operations safe, negating the need for #506.
A user should be able to override the "update" strategy for the resource manager in a ChildReconciler/ChildSetReconciler/AggregateReconciler/anywhere else the ResourceManager is used today.
The
ResourceManger
manages the lifecycle of a resource by calling create/update/delete as needed to keep the actual and desired state in sync. Currently the update part is hard coded as aclient.Update()
call. There are other ways to manage "updating" a resource including various flavors of patching and most interestingly server-side apply. Using server-side apply with duck types should make update operations safe, negating the need for #506.A user should be able to override the "update" strategy for the resource manager in a ChildReconciler/ChildSetReconciler/AggregateReconciler/anywhere else the ResourceManager is used today.