Documentation
¶
Overview ¶
Package origin provides objects for creating an OpenShift Origin server
Index ¶
- Variables
- func NewAuthenticator(options configapi.MasterConfig, privilegedLoopbackConfig *rest.Config, ...) (authenticator.Request, map[string]genericapiserver.PostStartHookFunc, error)
- func NewAuthorizer(informers InformerAccess, projectRequestDenyMessage string) authorizer.Authorizer
- func NewOAuthServerConfigFromMasterConfig(masterConfig *MasterConfig, listener net.Listener) (*oauthserver.OAuthServerConfig, error)
- func NewServiceProxyHandler(serviceName string, serviceNamespace string, serviceResolver ServiceResolver, ...) (*serviceProxyHandler, error)
- func PanicOnGRPCStuckThreads(interval time.Duration, stopCh <-chan struct{})
- func StartProfiler()
- func WithPatternPrefixHandler(handler http.Handler, patternHandler http.Handler, prefixes ...string) http.Handler
- type CompletedOpenshiftNonAPIConfig
- type InformerAccess
- type MasterConfig
- type NonAPIExtraConfig
- type OpenshiftNonAPIConfig
- type OpenshiftNonAPIServer
- type ServiceResolver
- type TooManyThreadsStuckHealth
Constants ¶
This section is empty.
Variables ¶
var GRPCThreadLimit = 0
Functions ¶
func NewAuthenticator ¶
func NewAuthenticator( options configapi.MasterConfig, privilegedLoopbackConfig *rest.Config, informers InformerAccess, ) (authenticator.Request, map[string]genericapiserver.PostStartHookFunc, error)
func NewAuthorizer ¶
func NewAuthorizer(informers InformerAccess, projectRequestDenyMessage string) authorizer.Authorizer
func NewOAuthServerConfigFromMasterConfig ¶
func NewOAuthServerConfigFromMasterConfig(masterConfig *MasterConfig, listener net.Listener) (*oauthserver.OAuthServerConfig, error)
TODO this is taking a very large config for a small piece of it. The information must be broken up at some point so that we can run this in a pod. This is an indication of leaky abstraction because it spent too much time in openshift start
func NewServiceProxyHandler ¶
func NewServiceProxyHandler(serviceName string, serviceNamespace string, serviceResolver ServiceResolver, caBundle []byte, applicationDisplayName string) (*serviceProxyHandler, error)
NewServiceProxyHandler is a simple proxy that doesn't handle upgrades, passes headers directly through, and doesn't assert any identity.
func PanicOnGRPCStuckThreads ¶
func StartProfiler ¶
func StartProfiler()
Types ¶
type CompletedOpenshiftNonAPIConfig ¶
type CompletedOpenshiftNonAPIConfig struct {
// contains filtered or unexported fields
}
func (CompletedOpenshiftNonAPIConfig) New ¶
func (c CompletedOpenshiftNonAPIConfig) New(delegationTarget genericapiserver.DelegationTarget) (*OpenshiftNonAPIServer, error)
type InformerAccess ¶
type InformerAccess interface { GetInternalKubernetesInformers() kinternalinformers.SharedInformerFactory GetKubernetesInformers() kinformers.SharedInformerFactory GetOpenshiftOauthInformers() oauthinformer.SharedInformerFactory GetOpenshiftRouteInformers() routeinformer.SharedInformerFactory GetOpenshiftUserInformers() userinformer.SharedInformerFactory GetInternalOpenshiftAuthorizationInformers() authorizationinformer.SharedInformerFactory GetInternalOpenshiftImageInformers() imageinformer.SharedInformerFactory GetInternalOpenshiftQuotaInformers() quotainformer.SharedInformerFactory GetInternalOpenshiftSecurityInformers() securityinformer.SharedInformerFactory Start(stopCh <-chan struct{}) }
func NewInformers ¶
func NewInformers(clientConfig *rest.Config) (InformerAccess, error)
NewInformers is only exposed for the build's integration testing until it can be fixed more appropriately.
type MasterConfig ¶
type MasterConfig struct { Options configapi.MasterConfig // 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{}) // RESTOptionsGetter provides access to storage and RESTOptions for a particular resource RESTOptionsGetter restoptions.Getter RuleResolver rbacregistryvalidation.AuthorizationRuleResolver SubjectLocator rbacauthorizer.SubjectLocator ProjectAuthorizationCache *projectauth.AuthorizationCache ProjectCache *projectcache.ProjectCache ClusterQuotaMappingController *clusterquotamapping.ClusterQuotaMappingController LimitVerifier imageadmission.LimitVerifier RESTMapper *restmapper.DeferredDiscoveryRESTMapper // RegistryHostnameRetriever retrieves the name of the integrated registry, or false if no such registry // is available. RegistryHostnameRetriever registryhostname.RegistryHostnameRetriever // PrivilegedLoopbackClientConfig is the client configuration used to call OpenShift APIs from system components // To apply different access control to a system component, create a client config specifically for that component. PrivilegedLoopbackClientConfig restclient.Config // PrivilegedLoopbackKubernetesClientsetExternal is the client used to call Kubernetes APIs from system components, // built from KubeClientConfig. It should only be accessed via the *TestingClient() helper methods. To apply // different access control to a system component, create a separate client/config specifically for // that component. PrivilegedLoopbackKubernetesClientsetExternal kclientsetexternal.Interface AuditBackend audit.Backend // TODO inspect uses to eliminate them InternalKubeInformers kinternalinformers.SharedInformerFactory ClientGoKubeInformers kubeclientgoinformers.SharedInformerFactory AuthorizationInformers authorizationinformer.SharedInformerFactory RouteInformers routeinformer.SharedInformerFactory QuotaInformers quotainformer.SharedInformerFactory SecurityInformers securityinformer.SharedInformerFactory // contains filtered or unexported fields }
MasterConfig defines the required parameters for starting the OpenShift master
func BuildMasterConfig ¶ added in v0.3.3
func BuildMasterConfig( options configapi.MasterConfig, informers InformerAccess, ) (*MasterConfig, error)
BuildMasterConfig builds and returns the OpenShift master configuration based on the provided options
func (*MasterConfig) Run ¶ added in v0.2.1
func (c *MasterConfig) Run(stopCh <-chan struct{}) error
Run launches the OpenShift master by creating a kubernetes master, installing OpenShift APIs into it and then running it. TODO this method only exists to support the old openshift start path. It should be removed a little ways into 3.10.
func (*MasterConfig) RunDNSServer ¶ added in v0.4.2
func (c *MasterConfig) RunDNSServer()
RunDNSServer starts the DNS server
func (*MasterConfig) RunKubeAPIServer ¶
func (c *MasterConfig) RunKubeAPIServer(stopCh <-chan struct{}) error
type NonAPIExtraConfig ¶
type NonAPIExtraConfig struct {
OAuthMetadata []byte
}
type OpenshiftNonAPIConfig ¶
type OpenshiftNonAPIConfig struct { GenericConfig *genericapiserver.RecommendedConfig ExtraConfig NonAPIExtraConfig }
func (*OpenshiftNonAPIConfig) Complete ¶
func (c *OpenshiftNonAPIConfig) Complete() completedOpenshiftNonAPIConfig
Complete fills in any fields not set that are required to have valid data. It's mutating the receiver.
type OpenshiftNonAPIServer ¶
type OpenshiftNonAPIServer struct {
GenericAPIServer *genericapiserver.GenericAPIServer
}
OpenshiftNonAPIServer serves non-API endpoints for openshift.
type ServiceResolver ¶
A ServiceResolver knows how to get a URL given a service.
type TooManyThreadsStuckHealth ¶
type TooManyThreadsStuckHealth struct {
// contains filtered or unexported fields
}
TooManyThreadsStuckHealth is a health checker that indicates when we have too many thread in a particular method. This condition usually indicates that we got stuck and we should restart ourselves
func NewGRPCStuckThreads ¶
func NewGRPCStuckThreads() *TooManyThreadsStuckHealth
func (*TooManyThreadsStuckHealth) Check ¶
func (h *TooManyThreadsStuckHealth) Check(req *http.Request) error
func (*TooManyThreadsStuckHealth) Count ¶
func (h *TooManyThreadsStuckHealth) Count() int
func (*TooManyThreadsStuckHealth) Name ¶
func (h *TooManyThreadsStuckHealth) Name() string