Documentation
¶
Overview ¶
Package conversion provides implementation for CRD conversion webhook that implements handler for version conversion requests for types that are convertible.
See pkg/conversion for interface definitions required to ensure an API Type is convertible.
Index ¶
- func IsConvertible(scheme *runtime.Scheme, obj runtime.Object) (bool, error)
- func NewHubSpokeConverter[hubObject runtime.Object](hub hubObject, spokeConverter ...SpokeConverter[hubObject]) func(scheme *runtime.Scheme) (Converter, error)
- func NewWebhookHandler(scheme *runtime.Scheme, registry Registry) http.Handler
- type Converter
- type Decoder
- type PartialImplementationError
- type Registry
- type SpokeConverter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsConvertible ¶
IsConvertible determines if given type is convertible or not. For a type to be convertible, the group-kind needs to have a Hub type defined and all non-hub types must be able to convert to/from Hub.
func NewHubSpokeConverter ¶ added in v0.23.0
Types ¶
type Decoder ¶
type Decoder struct {
// contains filtered or unexported fields
}
Decoder knows how to decode the contents of a CRD version conversion request into a concrete object. TODO(droot): consider reusing decoder from admission pkg for this.
func NewDecoder ¶
NewDecoder creates a Decoder given the runtime.Scheme
type PartialImplementationError ¶
type PartialImplementationError struct {
// contains filtered or unexported fields
}
PartialImplementationError represents an error due to partial conversion implementation such as hub without spokes, multiple hubs or spokes without hub.
func (PartialImplementationError) Error ¶
func (e PartialImplementationError) Error() string
type Registry ¶ added in v0.23.0
type Registry interface {
RegisterConverter(gk schema.GroupKind, converter Converter) error
GetConverter(gk schema.GroupKind) (Converter, bool)
}
func NewRegistry ¶ added in v0.23.0
func NewRegistry() Registry
type SpokeConverter ¶ added in v0.23.0
type SpokeConverter[hubObject runtime.Object] interface { GetSpoke() runtime.Object ConvertHubToSpoke(ctx context.Context, hub hubObject, spoke runtime.Object) error ConvertSpokeToHub(ctx context.Context, spoke runtime.Object, hub hubObject) error }