kubernetesk8s.io/kubernetes/pkg/master/thirdparty Index | Files

package thirdparty

import "k8s.io/kubernetes/pkg/master/thirdparty"

Index

Functions

func NewAutoRegistrationController

func NewAutoRegistrationController(tprInformer informers.ThirdPartyResourceInformer, crdinformer crdinformers.CustomResourceDefinitionInformer, apiServiceRegistration AutoAPIServiceRegistration) *tprRegistrationController

NewAutoRegistrationController returns a controller which will register TPR GroupVersions with the auto APIService registration controller so they automatically stay in sync. In order to stay sane with both TPR and CRD present, we have a single controller that manages both. When choosing whether to have an APIService, we simply iterate through both.

Types

type AutoAPIServiceRegistration

type AutoAPIServiceRegistration interface {
	// AddAPIServiceToSync adds an API service to auto-register.
	AddAPIServiceToSync(in *apiregistration.APIService)
	// RemoveAPIServiceToSync removes an API service to auto-register.
	RemoveAPIServiceToSync(name string)
}

AutoAPIServiceRegistration is an interface which callers can re-declare locally and properly cast to for adding and removing APIServices

type ThirdPartyResourceServer

type ThirdPartyResourceServer struct {
	// contains filtered or unexported fields
}

func NewThirdPartyResourceServer

func NewThirdPartyResourceServer(genericAPIServer *genericapiserver.GenericAPIServer, availableGroupManager discovery.GroupManager, storageFactory serverstorgage.StorageFactory, crdRESTOptionsGetter generic.RESTOptionsGetter) *ThirdPartyResourceServer

func (*ThirdPartyResourceServer) HasThirdPartyResource

func (m *ThirdPartyResourceServer) HasThirdPartyResource(rsrc *extensions.ThirdPartyResource) (bool, error)

HasThirdPartyResource returns true if a particular third party resource currently installed.

func (*ThirdPartyResourceServer) InstallThirdPartyResource

func (m *ThirdPartyResourceServer) InstallThirdPartyResource(rsrc *extensions.ThirdPartyResource) error

InstallThirdPartyResource installs a third party resource specified by 'rsrc'. When a resource is installed a corresponding RESTful resource is added as a valid path in the web service provided by the master.

For example, if you install a resource ThirdPartyResource{ Name: "foo.company.com", Versions: {"v1"} } then the following RESTful resource is created on the server:

http://<host>/apis/company.com/v1/foos/...

func (*ThirdPartyResourceServer) ListThirdPartyResources

func (m *ThirdPartyResourceServer) ListThirdPartyResources() []string

ListThirdPartyResources lists all currently installed third party resources The format is <path>/<resource-plural-name>

func (*ThirdPartyResourceServer) RemoveThirdPartyResource

func (m *ThirdPartyResourceServer) RemoveThirdPartyResource(path string) error

RemoveThirdPartyResource removes all resources matching `path`. Also deletes any stored data

Source Files

thirdparty.go tprregistration_controller.go

Version
v1.7.7
Published
Sep 28, 2017
Platform
js/wasm
Imports
41 packages
Last checked
2 minutes ago

Tools for package owners.