conversion

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2024 License: Apache-2.0 Imports: 22 Imported by: 48

Documentation

Overview

Package conversion implements conversion utilities.

Index

Constants

View Source
const (
	// DataAnnotation is the annotation that conversion webhooks
	// use to retain the data in case of down-conversion from the hub.
	DataAnnotation = "cluster.x-k8s.io/conversion-data"
)

Variables

This section is empty.

Functions

func FuzzTestFunc added in v0.3.0

func FuzzTestFunc(input FuzzTestFuncInput) func(*testing.T)

FuzzTestFunc returns a new testing function to be used in tests to make sure conversions between the Hub version of an object and an older version aren't lossy.

func GetFuzzer added in v0.3.0

func GetFuzzer(scheme *runtime.Scheme, funcs ...fuzzer.FuzzerFuncs) *fuzz.Fuzzer

GetFuzzer returns a new fuzzer to be used for testing.

func MarshalData added in v0.3.0

func MarshalData(src metav1.Object, dst metav1.Object) error

MarshalData stores the source object as json data in the destination object annotations map. It ignores the metadata of the source object.

func UnmarshalData added in v0.3.0

func UnmarshalData(from metav1.Object, to interface{}) (bool, error)

UnmarshalData tries to retrieve the data from the annotation and unmarshals it into the object passed as input.

func UpdateReferenceAPIContract added in v0.4.3

func UpdateReferenceAPIContract(ctx context.Context, c client.Client, ref *corev1.ObjectReference) error

UpdateReferenceAPIContract takes a client and object reference, queries the API Server for the Custom Resource Definition and looks which one is the stored version available.

The object passed as input is modified in place if an updated compatible version is found. NOTE: This version depends on CRDs being named correctly as defined by contract.CalculateCRDName.

Types

type FuzzTestFuncInput added in v0.4.0

type FuzzTestFuncInput struct {
	Scheme *runtime.Scheme

	Hub              conversion.Hub
	HubAfterMutation func(conversion.Hub)

	Spoke                      conversion.Convertible
	SpokeAfterMutation         func(convertible conversion.Convertible)
	SkipSpokeAnnotationCleanup bool

	FuzzerFuncs []fuzzer.FuzzerFuncs
}

FuzzTestFuncInput contains input parameters for the FuzzTestFunc function.

Jump to

Keyboard shortcuts

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