openshiftapiserver

package
v4.1.0+incompatible Latest Latest
Warning

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

Go to latest
Published: May 1, 2019 License: Apache-2.0 Imports: 82 Imported by: 40

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddOpenshiftVersionRoute

func AddOpenshiftVersionRoute(container *restful.Container, path string)

initVersionRoute initializes an HTTP endpoint for the server's version information.

func NewProjectAuthorizationCache

func NewProjectAuthorizationCache(subjectLocator rbacauthorizer.SubjectLocator, namespaces corev1informers.NamespaceInformer, rbacInformers rbacinformers.Interface) *projectauth.AuthorizationCache

func NewProjectCache

func NewProjectCache(nsInformer corev1informers.NamespaceInformer, privilegedLoopbackConfig *restclient.Config, defaultNodeSelector string) (*projectcache.ProjectCache, error)

func NewRESTOptionsGetter

func NewRESTOptionsGetter(startingFlags map[string][]string, storageConfig configv1.EtcdStorageConfig) (genericregistry.RESTOptionsGetter, error)

NewConfigGetter returns a restoptions.Getter implemented using information from the provided master config.

func NewSubjectLocator

func NewSubjectLocator(informers rbacinformers.Interface) rbacauthorizer.SubjectLocator

func OpenshiftHandlerChain

func OpenshiftHandlerChain(apiHandler http.Handler, genericConfig *genericapiserver.Config) http.Handler

Types

type CompletedConfig

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

func (CompletedConfig) EnsureOpenShiftInfraNamespace

func (c CompletedConfig) EnsureOpenShiftInfraNamespace(context genericapiserver.PostStartHookContext) error

EnsureOpenShiftInfraNamespace is called as part of global policy initialization to ensure infra namespace exists

func (CompletedConfig) New

func (c CompletedConfig) New(delegationTarget genericapiserver.DelegationTarget, keepRemovedNetworkingAPIs bool) (*OpenshiftAPIServer, error)

type InformerHolder

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

informerHolder is a convenient way for us to keep track of the informers, but is intentionally private. We don't want to leak it out further than this package. Everything else should say what it wants.

func NewInformers

func NewInformers(kubeInformers kexternalinformers.SharedInformerFactory, kubeClientConfig *rest.Config, loopbackClientConfig *rest.Config) (*InformerHolder, error)

NewInformers is only exposed for the build's integration testing until it can be fixed more appropriately.

func (*InformerHolder) GetKubernetesInformers

func (i *InformerHolder) GetKubernetesInformers() kexternalinformers.SharedInformerFactory

func (*InformerHolder) GetOpenshiftAuthorizationInformers

func (i *InformerHolder) GetOpenshiftAuthorizationInformers() authorizationv1informer.SharedInformerFactory

func (*InformerHolder) GetOpenshiftImageInformers

func (i *InformerHolder) GetOpenshiftImageInformers() imagev1informer.SharedInformerFactory

func (*InformerHolder) GetOpenshiftOauthInformers

func (i *InformerHolder) GetOpenshiftOauthInformers() oauthv1informer.SharedInformerFactory

func (*InformerHolder) GetOpenshiftQuotaInformers

func (i *InformerHolder) GetOpenshiftQuotaInformers() quotainformer.SharedInformerFactory

func (*InformerHolder) GetOpenshiftRouteInformers

func (i *InformerHolder) GetOpenshiftRouteInformers() routev1informer.SharedInformerFactory

func (*InformerHolder) GetOpenshiftSecurityInformers

func (i *InformerHolder) GetOpenshiftSecurityInformers() securityv1informer.SharedInformerFactory

func (*InformerHolder) GetOpenshiftUserInformers

func (i *InformerHolder) GetOpenshiftUserInformers() userv1informer.SharedInformerFactory

func (*InformerHolder) Start

func (i *InformerHolder) Start(stopCh <-chan struct{})

Start initializes all requested informers.

type OpenshiftAPIConfig

type OpenshiftAPIConfig struct {
	GenericConfig *genericapiserver.RecommendedConfig
	ExtraConfig   OpenshiftAPIExtraConfig
}

func (*OpenshiftAPIConfig) Complete

func (c *OpenshiftAPIConfig) Complete() completedConfig

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

type OpenshiftAPIExtraConfig

type OpenshiftAPIExtraConfig struct {
	// we phrase it like this so we can build the post-start-hook, but no one can take more indirect dependencies on informers
	InformerStart func(stopCh <-chan struct{})

	KubeAPIServerClientConfig *rest.Config
	KubeInformers             kubeinformers.SharedInformerFactory

	QuotaInformers    quotainformer.SharedInformerFactory
	SecurityInformers securityv1informer.SharedInformerFactory

	// these are all required to build our storage
	RuleResolver   rbacregistryvalidation.AuthorizationRuleResolver
	SubjectLocator rbacauthorizer.SubjectLocator

	// for Images
	// RegistryHostnameRetriever retrieves the internal and external hostname of
	// the integrated registry, or false if no such registry is available.
	RegistryHostnameRetriever          registryhostname.RegistryHostnameRetriever
	AllowedRegistriesForImport         openshiftcontrolplanev1.AllowedRegistries
	MaxImagesBulkImportedPerRepository int
	AdditionalTrustedCA                []byte

	RouteAllocator *routeallocationcontroller.RouteAllocationController

	ProjectAuthorizationCache *projectauth.AuthorizationCache
	ProjectCache              *projectcache.ProjectCache
	ProjectRequestTemplate    string
	ProjectRequestMessage     string
	RESTMapper                *restmapper.DeferredDiscoveryRESTMapper

	// oauth API server
	ServiceAccountMethod string

	ClusterQuotaMappingController *clusterquotamapping.ClusterQuotaMappingController
}

func (*OpenshiftAPIExtraConfig) Validate

func (c *OpenshiftAPIExtraConfig) Validate() error

Validate helps ensure that we build this config correctly, because there are lots of bits to remember for now

type OpenshiftAPIServer

type OpenshiftAPIServer struct {
	GenericAPIServer *genericapiserver.GenericAPIServer
}

OpenshiftAPIServer is only responsible for serving the APIs for Openshift It does NOT expose oauth, related oauth endpoints, or any kube APIs.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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