controller

package
v3.10.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2018 License: Apache-2.0 Imports: 111 Imported by: 32

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ControllerInitializers = map[string]InitFunc{
	"openshift.io/serviceaccount": RunServiceAccountController,

	"openshift.io/namespace-security-allocation": RunNamespaceSecurityAllocationController,

	"openshift.io/default-rolebindings": RunDefaultRoleBindingController,

	"openshift.io/serviceaccount-pull-secrets": RunServiceAccountPullSecretsController,
	"openshift.io/origin-namespace":            RunOriginNamespaceController,
	"openshift.io/service-serving-cert":        RunServiceServingCertsController,

	"openshift.io/build":               RunBuildController,
	"openshift.io/build-config-change": RunBuildConfigChangeController,

	"openshift.io/deployer":         RunDeployerController,
	"openshift.io/deploymentconfig": RunDeploymentConfigController,

	"openshift.io/image-trigger":          RunImageTriggerController,
	"openshift.io/image-import":           RunImageImportController,
	"openshift.io/image-signature-import": RunImageSignatureImportController,

	"openshift.io/templateinstance":          RunTemplateInstanceController,
	"openshift.io/templateinstancefinalizer": RunTemplateInstanceFinalizerController,

	"openshift.io/sdn":              RunSDNController,
	"openshift.io/unidling":         RunUnidlingController,
	"openshift.io/ingress-ip":       RunIngressIPController,
	"openshift.io/ingress-to-route": RunIngressToRouteController,

	"openshift.io/resourcequota":                RunResourceQuotaManager,
	"openshift.io/cluster-quota-reconciliation": RunClusterQuotaReconciliationController,

	"openshift.io/horizontalpodautoscaling": RunHorizontalPodAutoscalerController,
}

Functions

func RunBuildConfigChangeController

func RunBuildConfigChangeController(ctx ControllerContext) (bool, error)

func RunBuildController

func RunBuildController(ctx ControllerContext) (bool, error)

RunController starts the build sync loop for builds and buildConfig processing.

func RunClusterQuotaReconciliationController

func RunClusterQuotaReconciliationController(ctx ControllerContext) (bool, error)

func RunControllerServer

func RunControllerServer(servingInfo configapi.HTTPServingInfo, kubeExternal clientgoclientset.Interface) error

TODO make this an actual API server built on the genericapiserver

func RunDefaultRoleBindingController

func RunDefaultRoleBindingController(ctx ControllerContext) (bool, error)

func RunDeployerController

func RunDeployerController(ctx ControllerContext) (bool, error)

func RunDeploymentConfigController

func RunDeploymentConfigController(ctx ControllerContext) (bool, error)

func RunHorizontalPodAutoscalerController

func RunHorizontalPodAutoscalerController(originCtx ControllerContext) (bool, error)

TODO this goes away with a truly generic autoscaler

func RunImageImportController

func RunImageImportController(ctx ControllerContext) (bool, error)

func RunImageSignatureImportController

func RunImageSignatureImportController(ctx ControllerContext) (bool, error)

func RunImageTriggerController

func RunImageTriggerController(ctx ControllerContext) (bool, error)

func RunIngressIPController

func RunIngressIPController(ctx ControllerContext) (bool, error)

func RunIngressToRouteController

func RunIngressToRouteController(ctx ControllerContext) (bool, error)

func RunNamespaceSecurityAllocationController

func RunNamespaceSecurityAllocationController(ctx ControllerContext) (bool, error)

func RunOriginNamespaceController

func RunOriginNamespaceController(ctx ControllerContext) (bool, error)

func RunResourceQuotaManager

func RunResourceQuotaManager(ctx ControllerContext) (bool, error)

func RunSDNController

func RunSDNController(ctx ControllerContext) (bool, error)

func RunServiceAccountController

func RunServiceAccountController(ctx ControllerContext) (bool, error)

func RunServiceAccountPullSecretsController

func RunServiceAccountPullSecretsController(ctx ControllerContext) (bool, error)

func RunServiceServingCertsController

func RunServiceServingCertsController(ctx ControllerContext) (bool, error)

func RunTemplateInstanceController

func RunTemplateInstanceController(ctx ControllerContext) (bool, error)

func RunTemplateInstanceFinalizerController

func RunTemplateInstanceFinalizerController(ctx ControllerContext) (bool, error)

func RunUnidlingController

func RunUnidlingController(ctx ControllerContext) (bool, error)

Types

type ControllerClientBuilder

type ControllerClientBuilder interface {
	controller.ControllerClientBuilder
	KubeInternalClient(name string) (kclientsetinternal.Interface, error)
	KubeInternalClientOrDie(name string) kclientsetinternal.Interface

	OpenshiftInternalAppsClient(name string) (appsclientinternal.Interface, error)
	OpenshiftInternalAppsClientOrDie(name string) appsclientinternal.Interface

	OpenshiftInternalBuildClient(name string) (buildclientinternal.Interface, error)
	OpenshiftInternalBuildClientOrDie(name string) buildclientinternal.Interface

	// OpenShift clients based on generated internal clientsets
	OpenshiftInternalTemplateClient(name string) (templateclient.Interface, error)
	OpenshiftInternalTemplateClientOrDie(name string) templateclient.Interface

	OpenshiftInternalImageClient(name string) (imageclientinternal.Interface, error)
	OpenshiftInternalImageClientOrDie(name string) imageclientinternal.Interface

	OpenshiftInternalQuotaClient(name string) (quotaclient.Interface, error)
	OpenshiftInternalQuotaClientOrDie(name string) quotaclient.Interface

	OpenshiftInternalNetworkClient(name string) (networkclientinternal.Interface, error)
	OpenshiftInternalNetworkClientOrDie(name string) networkclientinternal.Interface

	OpenshiftInternalSecurityClient(name string) (securityclient.Interface, error)
	OpenshiftInternalSecurityClientOrDie(name string) securityclient.Interface
	OpenshiftV1SecurityClient(name string) (securityv1client.Interface, error)
	OpenshiftV1SecurityClientOrDie(name string) securityv1client.Interface
}

type ControllerContext

type ControllerContext struct {
	OpenshiftControllerConfig configapi.OpenshiftControllerConfig

	// ClientBuilder will provide a client for this controller to use
	ClientBuilder ControllerClientBuilder

	ExternalKubeInformers   kexternalinformers.SharedInformerFactory
	AppInformers            appinformer.SharedInformerFactory
	BuildInformers          buildinformer.SharedInformerFactory
	ImageInformers          imageinformer.SharedInformerFactory
	NetworkInformers        networkinformer.SharedInformerFactory
	TemplateInformers       templateinformer.SharedInformerFactory
	QuotaInformers          quotainformer.SharedInformerFactory
	AuthorizationInformers  authorizationinformer.SharedInformerFactory
	RouteInformers          routeinformer.SharedInformerFactory
	SecurityInformers       securityinformer.SharedInformerFactory
	GenericResourceInformer GenericResourceInformer
	DynamicRestMapper       *discovery.DeferredDiscoveryRESTMapper

	// Stop is the stop channel
	Stop <-chan struct{}
	// InformersStarted is closed after all of the controllers have been initialized and are running.  After this point it is safe,
	// for an individual controller to start the shared informers. Before it is closed, they should not.
	InformersStarted chan struct{}
}

func (ControllerContext) IsControllerEnabled

func (c ControllerContext) IsControllerEnabled(name string) bool

type GenericResourceInformer

type GenericResourceInformer interface {
	ForResource(resource schema.GroupVersionResource) (kexternalinformers.GenericInformer, error)
	Start(stopCh <-chan struct{})
}

type InitFunc

type InitFunc func(ctx ControllerContext) (bool, error)

InitFunc is used to launch a particular controller. It may run additional "should I activate checks". Any error returned will cause the controller process to `Fatal` The bool indicates whether the controller was enabled.

type OpenshiftControllerClientBuilder

type OpenshiftControllerClientBuilder struct {
	controller.ControllerClientBuilder
}

func (OpenshiftControllerClientBuilder) KubeInternalClient

func (OpenshiftControllerClientBuilder) KubeInternalClientOrDie

func (b OpenshiftControllerClientBuilder) KubeInternalClientOrDie(name string) kclientsetinternal.Interface

func (OpenshiftControllerClientBuilder) OpenshiftInternalAppsClient

func (b OpenshiftControllerClientBuilder) OpenshiftInternalAppsClient(name string) (appsclientinternal.Interface, error)

OpenshiftInternalAppsClient provides a REST client for the apps API. If the client cannot be created because of configuration error, this function will error.

func (OpenshiftControllerClientBuilder) OpenshiftInternalAppsClientOrDie

func (b OpenshiftControllerClientBuilder) OpenshiftInternalAppsClientOrDie(name string) appsclientinternal.Interface

OpenshiftInternalAppsClientOrDie provides a REST client for the apps API. If the client cannot be created because of configuration error, this function will panic.

func (OpenshiftControllerClientBuilder) OpenshiftInternalBuildClient

func (b OpenshiftControllerClientBuilder) OpenshiftInternalBuildClient(name string) (buildclientinternal.Interface, error)

OpenshiftInternalBuildClient provides a REST client for the build API. If the client cannot be created because of configuration error, this function will error.

func (OpenshiftControllerClientBuilder) OpenshiftInternalBuildClientOrDie

func (b OpenshiftControllerClientBuilder) OpenshiftInternalBuildClientOrDie(name string) buildclientinternal.Interface

OpenshiftInternalBuildClientOrDie provides a REST client for the build API. If the client cannot be created because of configuration error, this function will panic.

func (OpenshiftControllerClientBuilder) OpenshiftInternalImageClient

func (b OpenshiftControllerClientBuilder) OpenshiftInternalImageClient(name string) (imageclientinternal.Interface, error)

OpenshiftInternalImageClient provides a REST client for the image API. If the client cannot be created because of configuration error, this function will error.

func (OpenshiftControllerClientBuilder) OpenshiftInternalImageClientOrDie

func (b OpenshiftControllerClientBuilder) OpenshiftInternalImageClientOrDie(name string) imageclientinternal.Interface

OpenshiftInternalImageClientOrDie provides a REST client for the image API. If the client cannot be created because of configuration error, this function will panic.

func (OpenshiftControllerClientBuilder) OpenshiftInternalNetworkClient

func (b OpenshiftControllerClientBuilder) OpenshiftInternalNetworkClient(name string) (networkclientinternal.Interface, error)

OpenshiftInternalNetworkClient provides a REST client for the network API. If the client cannot be created because of configuration error, this function will error.

func (OpenshiftControllerClientBuilder) OpenshiftInternalNetworkClientOrDie

func (b OpenshiftControllerClientBuilder) OpenshiftInternalNetworkClientOrDie(name string) networkclientinternal.Interface

OpenshiftInternalNetworkClientOrDie provides a REST client for the network API. If the client cannot be created because of configuration error, this function will panic.

func (OpenshiftControllerClientBuilder) OpenshiftInternalQuotaClient

func (b OpenshiftControllerClientBuilder) OpenshiftInternalQuotaClient(name string) (quotaclient.Interface, error)

func (OpenshiftControllerClientBuilder) OpenshiftInternalQuotaClientOrDie

func (b OpenshiftControllerClientBuilder) OpenshiftInternalQuotaClientOrDie(name string) quotaclient.Interface

OpenshiftInternalBuildClientOrDie provides a REST client for the build API. If the client cannot be created because of configuration error, this function will panic.

func (OpenshiftControllerClientBuilder) OpenshiftInternalSecurityClient

func (b OpenshiftControllerClientBuilder) OpenshiftInternalSecurityClient(name string) (securityclient.Interface, error)

OpenshiftInternalSecurityClient provides a REST client for the security API. If the client cannot be created because of configuration error, this function will error.

func (OpenshiftControllerClientBuilder) OpenshiftInternalSecurityClientOrDie

func (b OpenshiftControllerClientBuilder) OpenshiftInternalSecurityClientOrDie(name string) securityclient.Interface

OpenshiftInternalSecurityClientOrDie provides a REST client for the security API. If the client cannot be created because of configuration error, this function will panic.

func (OpenshiftControllerClientBuilder) OpenshiftInternalTemplateClient

func (b OpenshiftControllerClientBuilder) OpenshiftInternalTemplateClient(name string) (templateclient.Interface, error)

OpenshiftInternalTemplateClient provides a REST client for the template API. If the client cannot be created because of configuration error, this function will return an error.

func (OpenshiftControllerClientBuilder) OpenshiftInternalTemplateClientOrDie

func (b OpenshiftControllerClientBuilder) OpenshiftInternalTemplateClientOrDie(name string) templateclient.Interface

OpenshiftInternalTemplateClientOrDie provides a REST client for the template API. If the client cannot be created because of configuration error, this function will panic.

func (OpenshiftControllerClientBuilder) OpenshiftV1SecurityClient

func (b OpenshiftControllerClientBuilder) OpenshiftV1SecurityClient(name string) (securityv1client.Interface, error)

func (OpenshiftControllerClientBuilder) OpenshiftV1SecurityClientOrDie

func (b OpenshiftControllerClientBuilder) OpenshiftV1SecurityClientOrDie(name string) securityv1client.Interface

Jump to

Keyboard shortcuts

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