Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( Scheme = runtime.NewScheme() Codecs = serializer.NewCodecFactory(Scheme) )
Functions ¶
func WithAPIs ¶
func WithAPIs(handler http.Handler, codecs serializer.CodecFactory, informer informers.APIServiceInformer, serviceLister v1listers.ServiceLister, endpointsLister v1listers.EndpointsLister) http.Handler
WithAPIs adds the handling for /apis and /apis/<group: -apiregistration.k8s.io>.
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 *apiregistration.APIService, destinationHost string)
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) RemoveAPIService ¶
func (s *APIAggregator) RemoveAPIService(apiServiceName string)
RemoveAPIService removes the APIService from being handled. Later on it will disable the proxy endpoint. Right now it does nothing because our handler has to properly 404 itself since muxes don't unregister
type APIHandlerManager ¶
type APIHandlerManager interface { AddAPIService(apiService *apiregistration.APIService, destinationHost string) RemoveAPIService(apiServiceName string) }
type APIServiceRegistrationController ¶
type APIServiceRegistrationController struct {
// contains filtered or unexported fields
}
func NewAPIServiceRegistrationController ¶
func NewAPIServiceRegistrationController(apiServiceInformer informers.APIServiceInformer, serviceInformer v1informers.ServiceInformer, apiHandlerManager APIHandlerManager) *APIServiceRegistrationController
func (*APIServiceRegistrationController) Run ¶
func (c *APIServiceRegistrationController) Run(stopCh <-chan struct{})
type Config ¶
type Config struct { GenericConfig *genericapiserver.Config CoreAPIServerClient kubeclientset.Interface // ProxyClientCert/Key are the client cert used to identify this proxy. Backing APIServices use // this to confirm the proxy's identity ProxyClientCert []byte ProxyClientKey []byte }
func (*Config) Complete ¶
func (c *Config) Complete() completedConfig
Complete fills in any fields not set that are required to have valid data. It's mutating the receiver.
func (*Config) SkipComplete ¶
func (c *Config) SkipComplete() completedConfig
SkipComplete provides a way to construct a server instance without config completion.