Documentation ¶
Index ¶
- Variables
- func CreateAggregatorServer(config *Config, delegateAPIServer genericapiserver.DelegationTarget) (*aggregatorapiserver.APIAggregator, error)
- func NewExternalNameResolver(externalNames servicelistersv0alpha1.ExternalNameLister) apiserver.ServiceResolver
- type AvailableConditionController
- type Config
- type Priority
- type RemoteService
- type RemoteServicesConfig
- type ServiceResolver
Constants ¶
This section is empty.
Variables ¶
var APIVersionPriorities = map[schema.GroupVersion]Priority{
{Group: "", Version: "v1"}: {Group: 18000, Version: 1},
{Group: "admissionregistration.k8s.io", Version: "v1"}: {Group: 16700, Version: 15},
{Group: "admissionregistration.k8s.io", Version: "v1beta1"}: {Group: 16700, Version: 12},
{Group: "admissionregistration.k8s.io", Version: "v1alpha1"}: {Group: 16700, Version: 9},
}
APIVersionPriorities are the proper way to resolve this letting the aggregator know the desired group and version-within-group order of the underlying servers is to refactor the genericapiserver.DelegationTarget to include a list of priorities based on which APIs were installed. This requires the APIGroupInfo struct to evolve and include the concept of priorities and to avoid mistakes, the core storage map there needs to be updated. That ripples out every bit as far as you'd expect, so for 1.7 we'll include the list here instead of being built up during storage.
Functions ¶
func CreateAggregatorServer ¶
func CreateAggregatorServer(config *Config, delegateAPIServer genericapiserver.DelegationTarget) (*aggregatorapiserver.APIAggregator, error)
func NewExternalNameResolver ¶
func NewExternalNameResolver(externalNames servicelistersv0alpha1.ExternalNameLister) apiserver.ServiceResolver
Types ¶
type AvailableConditionController ¶
type AvailableConditionController struct {
// contains filtered or unexported fields
}
AvailableConditionController handles checking the availability of registered API services.
func NewAvailableConditionController ¶
func NewAvailableConditionController( apiServiceInformer informers.APIServiceInformer, externalNameInformer informersservicev0alpha1.ExternalNameInformer, apiServiceClient apiregistrationclient.APIServicesGetter, proxyTransportDial *transport.DialHolder, proxyCurrentCertKeyContent certKeyFunc, serviceResolver ServiceResolver, ) (*AvailableConditionController, error)
NewAvailableConditionController returns a new AvailableConditionController.
func (*AvailableConditionController) Run ¶
func (c *AvailableConditionController) Run(workers int, stopCh <-chan struct{})
Run starts the AvailableConditionController loop which manages the availability condition of API services.
type Config ¶
type Config struct { KubeAggregatorConfig *aggregatorapiserver.Config Informers informersv0alpha1.SharedInformerFactory RemoteServicesConfig *RemoteServicesConfig // Builders contain prerequisite api groups for aggregator to function correctly e.g. ExternalName // Since the main APIServer delegate supports storage implementations that intend to be multi-tenant // Aggregator builders that we don't intend to use multi-tenant storage are kept in aggregator's // Delegate, one which is configured explicitly to use file storage only Builders []builder.APIGroupBuilder }
func CreateAggregatorConfig ¶
func CreateAggregatorConfig(commandOptions *options.Options, sharedConfig genericapiserver.RecommendedConfig, externalNamesNamespace string) (*Config, error)
func NewConfig ¶
func NewConfig(aggregator *aggregatorapiserver.Config, informers informersv0alpha1.SharedInformerFactory, builders []builder.APIGroupBuilder, remoteServices *RemoteServicesConfig) *Config
remoteServices may be nil when not using aggregation
type Priority ¶
type Priority struct { // Group indicates the order of the Group relative to other groups. Group int32 // Version indicates the relative order of the Version inside of its group. Version int32 }
Priority defines group Priority that is used in discovery. This controls group position in the kubectl output.
type RemoteService ¶
type RemoteServicesConfig ¶
type RemoteServicesConfig struct { ExternalNamesNamespace string InsecureSkipTLSVerify bool CABundle []byte Services []RemoteService // contains filtered or unexported fields }