scheme

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2019 License: Apache-2.0 Imports: 3 Imported by: 11,008

Documentation

Overview

Package scheme contains utilities for gradually building Schemes, which contain information associating Go types with Kubernetes groups, versions, and kinds.

Each API group should define a utility function called AddToScheme for adding its types to a Scheme:

// in package myapigroupv1...
var (
	SchemeGroupVersion = schema.GroupVersion{Group: "my.api.group", Version: "v1"}
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
	AddToScheme = SchemeBuilder.AddToScheme
)

func init() {
	SchemeBuilder.Register(&MyType{}, &MyTypeList)
}
var (
	scheme *runtime.Scheme = runtime.NewScheme()
)

This also true of the built-in Kubernetes types. Then, in the entrypoint for your manager, assemble the scheme containing exactly the types you need. For instance, if our controller needs types from the core/v1 API group (e.g. Pod), plus types from my.api.group/v1:

func init() {
	myapigroupv1.AddToScheme(scheme)
	kubernetesscheme.AddToScheme(scheme)
}

func main() {
	mgr := controllers.NewManager(controllers.GetConfigOrDie(), manager.Options{
		Scheme: scheme,
	})
	// ...
}

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder struct {
	GroupVersion schema.GroupVersion
	runtime.SchemeBuilder
}

Builder builds a new Scheme for mapping go types to Kubernetes GroupVersionKinds.

func (*Builder) AddToScheme

func (bld *Builder) AddToScheme(s *runtime.Scheme) error

AddToScheme adds all registered types to s.

func (*Builder) Build

func (bld *Builder) Build() (*runtime.Scheme, error)

Build returns a new Scheme containing the registered types.

func (*Builder) Register

func (bld *Builder) Register(object ...runtime.Object) *Builder

Register adds one or objects to the SchemeBuilder so they can be added to a Scheme. Register mutates bld.

func (*Builder) RegisterAll

func (bld *Builder) RegisterAll(b *Builder) *Builder

RegisterAll registers all types from the Builder argument. RegisterAll mutates bld.

Jump to

Keyboard shortcuts

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