Documentation ¶
Index ¶
- func NewAutoRegistrationController(tprInformer informers.ThirdPartyResourceInformer, ...) *tprRegistrationController
- type AutoAPIServiceRegistration
- type ThirdPartyResourceServer
- func (m *ThirdPartyResourceServer) HasThirdPartyResource(rsrc *extensions.ThirdPartyResource) (bool, error)
- func (m *ThirdPartyResourceServer) InstallThirdPartyResource(rsrc *extensions.ThirdPartyResource) error
- func (m *ThirdPartyResourceServer) ListThirdPartyResources() []string
- func (m *ThirdPartyResourceServer) RemoveThirdPartyResource(path string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewAutoRegistrationController ¶ added in v1.7.0
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 ¶ added in v1.7.0
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