conversion

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2020 License: Apache-2.0 Imports: 11 Imported by: 27

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

Constants

This section is empty.

Variables

This section is empty.

Functions

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.

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

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