controller

package
v3.11.0-0.15.0+incompa... Latest Latest
Warning

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

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

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,
}

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

	OpenshiftAppsClient(name string) (appsclient.Interface, error)
	OpenshiftAppsClientOrDie(name string) appsclient.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

	OpenshiftNetworkClient(name string) (networkclient.Interface, error)
	OpenshiftNetworkClientOrDie(name string) networkclient.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

	KubernetesInformers kubeinformers.SharedInformerFactory

	InternalBuildInformers    buildinformer.SharedInformerFactory
	InternalImageInformers    imageinformer.SharedInformerFactory
	InternalTemplateInformers templateinformer.SharedInformerFactory
	InternalQuotaInformers    quotainformer.SharedInformerFactory
	InternalRouteInformers    routeinformer.SharedInformerFactory

	AppsInformers    appsinformer.SharedInformerFactory
	NetworkInformers networkinformer.SharedInformerFactory

	GenericResourceInformer genericinformers.GenericResourceInformer
	RestMapper              meta.RESTMapper

	// 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{}
	// contains filtered or unexported fields
}

func NewControllerContext

func NewControllerContext(
	config configapi.OpenshiftControllerConfig,
	inClientConfig *rest.Config,
	stopCh <-chan struct{},
) (*ControllerContext, error)

func (*ControllerContext) IsControllerEnabled

func (c *ControllerContext) IsControllerEnabled(name string) bool

func (*ControllerContext) StartInformers

func (c *ControllerContext) StartInformers(stopCh <-chan struct{})

func (*ControllerContext) ToGenericInformer

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

func (b OpenshiftControllerClientBuilder) OpenshiftAppsClient(name string) (appsclient.Interface, error)

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

func (OpenshiftControllerClientBuilder) OpenshiftAppsClientOrDie

func (b OpenshiftControllerClientBuilder) OpenshiftAppsClientOrDie(name string) appsclient.Interface

OpenshiftAppsClientOrDie 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) 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) OpenshiftNetworkClient

func (b OpenshiftControllerClientBuilder) OpenshiftNetworkClient(name string) (networkclient.Interface, error)

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

func (OpenshiftControllerClientBuilder) OpenshiftNetworkClientOrDie

func (b OpenshiftControllerClientBuilder) OpenshiftNetworkClientOrDie(name string) networkclient.Interface

OpenshiftNetworkClientOrDie provides a REST client for the network 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