v0.11.1 Latest Latest

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

Go to latest
Published: Feb 10, 2022 License: Apache-2.0 Imports: 11 Imported by: 24



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.



This section is empty.


This section is empty.


func IsConvertible

func IsConvertible(scheme *runtime.Scheme, obj runtime.Object) (bool, error)

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.


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

func NewDecoder(scheme *runtime.Scheme) (*Decoder, error)

NewDecoder creates a Decoder given the runtime.Scheme

func (*Decoder) Decode

func (d *Decoder) Decode(content []byte) (runtime.Object, *schema.GroupVersionKind, error)

Decode decodes the inlined object.

func (*Decoder) DecodeInto

func (d *Decoder) DecodeInto(content []byte, into runtime.Object) error

DecodeInto decodes the inlined object in the into the passed-in runtime.Object.

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

type Webhook

type Webhook struct {
	// contains filtered or unexported fields

Webhook implements a CRD conversion webhook HTTP handler.

func (*Webhook) InjectScheme

func (wh *Webhook) InjectScheme(s *runtime.Scheme) error

InjectScheme injects a scheme into the webhook, in order to construct a Decoder.

func (*Webhook) ServeHTTP

func (wh *Webhook) ServeHTTP(w http.ResponseWriter, r *http.Request)

Jump to

Keyboard shortcuts

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