Documentation ¶
Index ¶
- func FindFieldsOwners(managedFields []metav1.ManagedFieldsEntry, ...) []metav1.ManagedFieldsEntry
- func UpgradeManagedFields(obj runtime.Object, csaManagerNames sets.Set[string], ssaManagerName string, ...) error
- func UpgradeManagedFieldsPatch(obj runtime.Object, csaManagerNames sets.Set[string], ssaManagerName string, ...) ([]byte, error)
- type Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindFieldsOwners ¶
func FindFieldsOwners( managedFields []metav1.ManagedFieldsEntry, operation metav1.ManagedFieldsOperationType, fields *fieldpath.Set, ) []metav1.ManagedFieldsEntry
Finds all managed fields owners of the given operation type which owns all of the fields in the given set
If there is an error decoding one of the fieldsets for any reason, it is ignored and assumed not to match the query.
func UpgradeManagedFields ¶
func UpgradeManagedFields( obj runtime.Object, csaManagerNames sets.Set[string], ssaManagerName string, opts ...Option, ) error
Upgrades the Manager information for fields managed with client-side-apply (CSA) Prepares fields owned by `csaManager` for 'Update' operations for use now with the given `ssaManager` for `Apply` operations.
This transformation should be performed on an object if it has been previously managed using client-side-apply to prepare it for future use with server-side-apply.
Caveats:
- This operation is not reversible. Information about which fields the client owned will be lost in this operation.
- Supports being performed either before or after initial server-side apply.
- Client-side apply tends to own more fields (including fields that are defaulted), this will possibly remove this defaults, they will be re-defaulted, that's fine.
- Care must be taken to not overwrite the managed fields on the server if they have changed before sending a patch.
obj - Target of the operation which has been managed with CSA in the past csaManagerNames - Names of FieldManagers to merge into ssaManagerName ssaManagerName - Name of FieldManager to be used for `Apply` operations
func UpgradeManagedFieldsPatch ¶
func UpgradeManagedFieldsPatch( obj runtime.Object, csaManagerNames sets.Set[string], ssaManagerName string, opts ...Option, ) ([]byte, error)
Calculates a minimal JSON Patch to send to upgrade managed fields See `UpgradeManagedFields` for more information.
obj - Target of the operation which has been managed with CSA in the past csaManagerNames - Names of FieldManagers to merge into ssaManagerName ssaManagerName - Name of FieldManager to be used for `Apply` operations
Returns non-nil error if there was an error, a JSON patch, or nil bytes if there is no work to be done.