csaupgrade

package
v0.32.0-beta.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 6, 2024 License: Apache-2.0 Imports: 10 Imported by: 5

Documentation

Index

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:

  1. This operation is not reversible. Information about which fields the client owned will be lost in this operation.
  2. Supports being performed either before or after initial server-side apply.
  3. 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.
  4. 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.

Types

type Option added in v0.30.0

type Option func(*options)

func Subresource added in v0.30.0

func Subresource(s string) Option

Subresource set the subresource to upgrade from CSA to SSA.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL