Documentation
¶
Index ¶
- type CompletedConfig
- func (c CompletedConfig) New(delegationTarget genericapiserver.DelegationTarget) (*RootAPIServer, error)
- func (c CompletedConfig) NewRequestInfo(req *http.Request) (*genericapirequest.RequestInfo, error)
- func (c CompletedConfig) WithOpenAPIAggregationController(delegatedAPIServer *genericapiserver.GenericAPIServer) error
- type InformerStart
- type InformerStarts
- type RootAPIConfig
- type RootAPIExtraConfig
- type RootAPIServer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompletedConfig ¶
type CompletedConfig struct {
// contains filtered or unexported fields
}
func (CompletedConfig) New ¶
func (c CompletedConfig) New(delegationTarget genericapiserver.DelegationTarget) (*RootAPIServer, error)
func (CompletedConfig) NewRequestInfo ¶
func (c CompletedConfig) NewRequestInfo(req *http.Request) (*genericapirequest.RequestInfo, error)
NewRequestInfo method makes the `completedConfig` an implementation of a RequestInfoResolver. And when creating the RootAPIServer (in the New method), the RequestInfoResolver of the associated GenericConfig is replaced by the `completedConfig`.
Since we reuse the DefaultBuildChainHandler in our customized getRootChainHandler method (that checks the URL Path against virtual workspace root paths), that means that the RequestInfo object will be created, as part of the DefaultBuildChainHandler.
So we also override the RequestInfoResolver in order to use the same URL Path as the one that will be forwarded to the virtual workspace deletegated APIServers.
func (CompletedConfig) WithOpenAPIAggregationController ¶
func (c CompletedConfig) WithOpenAPIAggregationController(delegatedAPIServer *genericapiserver.GenericAPIServer) error
type InformerStart ¶
type InformerStart func(stopCh <-chan struct{})
type InformerStarts ¶
type InformerStarts []InformerStart
type RootAPIConfig ¶
type RootAPIConfig struct { GenericConfig *genericapiserver.RecommendedConfig ExtraConfig RootAPIExtraConfig }
func NewRootAPIConfig ¶
func NewRootAPIConfig(recommendedConfig *genericapiserver.RecommendedConfig, informerStarts InformerStarts, virtualWorkspaces ...framework.VirtualWorkspace) (*RootAPIConfig, error)
func (*RootAPIConfig) Complete ¶
func (c *RootAPIConfig) Complete() completedConfig
Complete fills in any fields not set that are required to have valid data. It's mutating the receiver.
type RootAPIExtraConfig ¶
type RootAPIExtraConfig struct { VirtualWorkspaces []framework.VirtualWorkspace // contains filtered or unexported fields }
func (*RootAPIExtraConfig) Validate ¶
func (c *RootAPIExtraConfig) Validate() error
Validate helps ensure that we build this config correctly, because there are lots of bits to remember for now
type RootAPIServer ¶
type RootAPIServer struct {
GenericAPIServer *genericapiserver.GenericAPIServer
}
RootAPIServer is only responsible for serving the APIs for the virtual workspace at a given root path or root path family It does NOT expose oauth, related oauth endpoints, or any kube APIs.