openshiftapiserver

package
v0.0.0-...-00984ce Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2018 License: Apache-2.0 Imports: 103 Imported by: 0

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 EnsureOpenShiftInfraNamespace

func EnsureOpenShiftInfraNamespace(context genericapiserver.PostStartHookContext) error

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

func LegacyStorage

func LegacyStorage(storage map[schema.GroupVersion]map[string]rest.Storage) map[string]rest.Storage

LegacyStorage returns a storage for locked legacy types.

func NewProjectAuthorizationCache

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

func NewProjectCache

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

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) New

func (c CompletedConfig) New(delegationTarget genericapiserver.DelegationTarget) (*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) GetInternalKubernetesInformers

func (i *InformerHolder) GetInternalKubernetesInformers() kinternalinformers.SharedInformerFactory

func (*InformerHolder) GetInternalOpenshiftAuthorizationInformers

func (i *InformerHolder) GetInternalOpenshiftAuthorizationInformers() authorizationinformer.SharedInformerFactory

func (*InformerHolder) GetInternalOpenshiftImageInformers

func (i *InformerHolder) GetInternalOpenshiftImageInformers() imageinformer.SharedInformerFactory

func (*InformerHolder) GetInternalOpenshiftQuotaInformers

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

func (*InformerHolder) GetInternalOpenshiftSecurityInformers

func (i *InformerHolder) GetInternalOpenshiftSecurityInformers() securityinformer.SharedInformerFactory

func (*InformerHolder) GetKubernetesInformers

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

func (*InformerHolder) GetOpenshiftOauthInformers

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

func (*InformerHolder) GetOpenshiftRouteInformers

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

func (*InformerHolder) GetOpenshiftUserInformers

func (i *InformerHolder) GetOpenshiftUserInformers() userinformer.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 NewOpenshiftAPIConfig

func NewOpenshiftAPIConfig(openshiftAPIServerConfig *configapi.MasterConfig) (*OpenshiftAPIConfig, error)

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 *restclient.Config
	KubeInternalInformers     kinternalinformers.SharedInformerFactory
	KubeInformers             kubeinformers.SharedInformerFactory

	QuotaInformers    quotainformer.SharedInformerFactory
	SecurityInformers securityinformer.SharedInformerFactory

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

	// for Images
	LimitVerifier imageadmission.LimitVerifier
	// RegistryHostnameRetriever retrieves the internal and external hostname of
	// the integrated registry, or false if no such registry is available.
	RegistryHostnameRetriever          registryhostname.RegistryHostnameRetriever
	AllowedRegistriesForImport         *configapi.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 configapi.GrantHandlerType

	ClusterQuotaMappingController *clusterquotamapping.ClusterQuotaMappingController

	// SCCStorage is actually created with a kubernetes restmapper options to have the correct prefix,
	// so we have to have it special cased here to point to the right spot.
	SCCStorage *sccstorage.REST
}

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