apiserver

package
Version: v0.22.2 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2021 License: Apache-2.0 Imports: 57 Imported by: 73

Documentation

Index

Constants

View Source
const (

	// StorageVersionPostStartHookName is the name of the storage version updater post start hook.
	StorageVersionPostStartHookName = "built-in-resources-storage-version-updater"
)

Variables

This section is empty.

Functions

func DefaultAPIResourceConfigSource

func DefaultAPIResourceConfigSource() *serverstorage.ResourceConfig

DefaultAPIResourceConfigSource returns default configuration for an APIResource.

Types

type APIAggregator

type APIAggregator struct {
	GenericAPIServer *genericapiserver.GenericAPIServer

	// provided for easier embedding
	APIRegistrationInformers informers.SharedInformerFactory
	// contains filtered or unexported fields
}

APIAggregator contains state for a Kubernetes cluster master/api server.

func (*APIAggregator) AddAPIService

func (s *APIAggregator) AddAPIService(apiService *v1.APIService) error

AddAPIService adds an API service. It is not thread-safe, so only call it on one thread at a time please. It's a slow moving API, so its ok to run the controller on a single thread

func (*APIAggregator) PrepareRun added in v0.16.4

func (s *APIAggregator) PrepareRun() (preparedAPIAggregator, error)

PrepareRun prepares the aggregator to run, by setting up the OpenAPI spec and calling the generic PrepareRun.

func (*APIAggregator) RemoveAPIService

func (s *APIAggregator) RemoveAPIService(apiServiceName string)

RemoveAPIService removes the APIService from being handled. It is not thread-safe, so only call it on one thread at a time please. It's a slow moving API, so it's ok to run the controller on a single thread.

type APIHandlerManager

type APIHandlerManager interface {
	AddAPIService(apiService *v1.APIService) error
	RemoveAPIService(apiServiceName string)
}

APIHandlerManager defines the behaviour that an API handler should have.

type APIServiceRegistrationController

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

APIServiceRegistrationController is responsible for registering and removing API services.

func NewAPIServiceRegistrationController

func NewAPIServiceRegistrationController(apiServiceInformer informers.APIServiceInformer, apiHandlerManager APIHandlerManager) *APIServiceRegistrationController

NewAPIServiceRegistrationController returns a new APIServiceRegistrationController.

func (*APIServiceRegistrationController) Enqueue added in v0.19.0

func (c *APIServiceRegistrationController) Enqueue()

Enqueue queues all apiservices to be rehandled. This method is used by the controller to notify when the proxy cert content changes.

func (*APIServiceRegistrationController) Run

func (c *APIServiceRegistrationController) Run(stopCh <-chan struct{}, handlerSyncedCh chan<- struct{})

Run starts APIServiceRegistrationController which will process all registration requests until stopCh is closed.

type CompletedConfig

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

CompletedConfig same as Config, just to swap private object.

func (CompletedConfig) NewWithDelegate

func (c CompletedConfig) NewWithDelegate(delegationTarget genericapiserver.DelegationTarget) (*APIAggregator, error)

NewWithDelegate returns a new instance of APIAggregator from the given config.

type Config

type Config struct {
	GenericConfig *genericapiserver.RecommendedConfig
	ExtraConfig   ExtraConfig
}

Config represents the configuration needed to create an APIAggregator.

func (*Config) Complete

func (cfg *Config) Complete() CompletedConfig

Complete fills in any fields not set that are required to have valid data. It's mutating the receiver.

type ExtraConfig

type ExtraConfig struct {
	// ProxyClientCert/Key are the client cert used to identify this proxy. Backing APIServices use
	// this to confirm the proxy's identity
	ProxyClientCertFile string
	ProxyClientKeyFile  string

	// If present, the Dial method will be used for dialing out to delegate
	// apiservers.
	ProxyTransport *http.Transport

	// Mechanism by which the Aggregator will resolve services. Required.
	ServiceResolver ServiceResolver
}

ExtraConfig represents APIServices-specific configuration

type ServiceResolver

type ServiceResolver interface {
	ResolveEndpoint(namespace, name string, port int32) (*url.URL, error)
}

A ServiceResolver knows how to get a URL given a service.

func NewClusterIPServiceResolver

func NewClusterIPServiceResolver(services listersv1.ServiceLister) ServiceResolver

NewClusterIPServiceResolver returns a ServiceResolver that directly calls the service's cluster IP.

func NewEndpointServiceResolver

func NewEndpointServiceResolver(services listersv1.ServiceLister, endpoints listersv1.EndpointsLister) ServiceResolver

NewEndpointServiceResolver returns a ServiceResolver that chooses one of the service's endpoints.

func NewLoopbackServiceResolver

func NewLoopbackServiceResolver(delegate ServiceResolver, host *url.URL) ServiceResolver

NewLoopbackServiceResolver returns a ServiceResolver that routes the kubernetes/default service with port 443 to loopback.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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