controller

package
v3.7.0-0.126.4+incompa... Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2017 License: Apache-2.0 Imports: 89 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunBuildConfigChangeController

func RunBuildConfigChangeController(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 RunOriginNamespaceController

func RunOriginNamespaceController(ctx ControllerContext) (bool, error)

func RunResourceQuotaManager

func RunResourceQuotaManager(ctx ControllerContext) (bool, error)

func RunServiceAccountPullSecretsController

func RunServiceAccountPullSecretsController(ctx ControllerContext) (bool, error)

func RunTemplateInstanceController

func RunTemplateInstanceController(ctx ControllerContext) (bool, error)

Types

type BuildControllerConfig

type BuildControllerConfig struct {
	DockerImage           string
	S2IImage              string
	AdmissionPluginConfig map[string]configapi.AdmissionPluginConfig

	Codec runtime.Codec
}

func (*BuildControllerConfig) RunController

func (c *BuildControllerConfig) RunController(ctx ControllerContext) (bool, error)

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

type ClusterQuotaReconciliationControllerConfig

type ClusterQuotaReconciliationControllerConfig struct {
	DefaultResyncPeriod            time.Duration
	DefaultReplenishmentSyncPeriod time.Duration
}

func (*ClusterQuotaReconciliationControllerConfig) RunController

type ControllerClientBuilder

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

	// Legacy OpenShift client (pkg/client)
	DeprecatedOpenshiftClient(name string) (osclient.Interface, error)
	DeprecatedOpenshiftClientOrDie(name string) osclient.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

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

type ControllerContext

type ControllerContext struct {
	KubeControllerContext kubecontroller.ControllerContext

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

	ExternalKubeInformers  kexternalinformers.SharedInformerFactory
	InternalKubeInformers  kinternalinformers.SharedInformerFactory
	AppInformers           appinformer.SharedInformerFactory
	BuildInformers         buildinformer.SharedInformerFactory
	ImageInformers         imageinformer.SharedInformerFactory
	TemplateInformers      templateinformer.SharedInformerFactory
	QuotaInformers         quotainformer.SharedInformerFactory
	AuthorizationInformers authorizationinformer.SharedInformerFactory
	SecurityInformers      securityinformer.SharedInformerFactory

	// Stop is the stop channel
	Stop <-chan struct{}
}

func (ControllerContext) IsControllerEnabled

func (c ControllerContext) IsControllerEnabled(name string) bool

TODO wire this up to something that handles the names. The logic is available upstream, we just have to wire to it

type DeployerControllerConfig

type DeployerControllerConfig struct {
	ImageName     string
	ClientEnvVars []kapi.EnvVar

	Codec runtime.Codec
}

func (*DeployerControllerConfig) RunController

func (c *DeployerControllerConfig) RunController(ctx ControllerContext) (bool, error)

type DeploymentConfigControllerConfig

type DeploymentConfigControllerConfig struct {
	Codec runtime.Codec
}

func (*DeploymentConfigControllerConfig) RunController

type DeploymentTriggerControllerConfig

type DeploymentTriggerControllerConfig struct {
	Codec runtime.Codec
}

func (*DeploymentTriggerControllerConfig) RunController

type HorizontalPodAutoscalerControllerConfig

type HorizontalPodAutoscalerControllerConfig struct {
	HeapsterNamespace string
}

func (*HorizontalPodAutoscalerControllerConfig) RunController

type ImageImportControllerConfig

type ImageImportControllerConfig struct {
	MaxScheduledImageImportsPerMinute          int
	ScheduledImageImportMinimumIntervalSeconds int
	DisableScheduledImport                     bool
	ResyncPeriod                               time.Duration
}

func (*ImageImportControllerConfig) RunController

func (c *ImageImportControllerConfig) RunController(ctx ControllerContext) (bool, error)

type ImageTriggerControllerConfig

type ImageTriggerControllerConfig struct {
	HasBuilderEnabled      bool
	HasDeploymentsEnabled  bool
	HasDaemonSetsEnabled   bool
	HasStatefulSetsEnabled bool
	HasCronJobsEnabled     bool
}

func (*ImageTriggerControllerConfig) RunController

func (c *ImageTriggerControllerConfig) RunController(ctx ControllerContext) (bool, error)

type IngressIPControllerConfig

type IngressIPControllerConfig struct {
	IngressIPNetworkCIDR string
	IngressIPSyncPeriod  time.Duration
}

func (*IngressIPControllerConfig) RunController

func (c *IngressIPControllerConfig) RunController(ctx ControllerContext) (bool, error)

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.

func FromKubeInitFunc

func FromKubeInitFunc(initFn kubecontroller.InitFunc) InitFunc

FromKubeInitFunc adapts a kube init func to an openshift one

type OpenshiftControllerClientBuilder

type OpenshiftControllerClientBuilder struct {
	controller.ControllerClientBuilder
}

func (OpenshiftControllerClientBuilder) DeprecatedOpenshiftClient

func (b OpenshiftControllerClientBuilder) DeprecatedOpenshiftClient(name string) (osclient.Interface, error)

func (OpenshiftControllerClientBuilder) DeprecatedOpenshiftClientOrDie

func (b OpenshiftControllerClientBuilder) DeprecatedOpenshiftClientOrDie(name string) osclient.Interface

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

type OpenshiftControllerConfig

type OpenshiftControllerConfig struct {
	ServiceAccountTokenControllerOptions ServiceAccountTokenControllerOptions

	ServiceAccountControllerOptions ServiceAccountControllerOptions

	BuildControllerConfig BuildControllerConfig

	DeployerControllerConfig          DeployerControllerConfig
	DeploymentConfigControllerConfig  DeploymentConfigControllerConfig
	DeploymentTriggerControllerConfig DeploymentTriggerControllerConfig

	ImageTriggerControllerConfig ImageTriggerControllerConfig
	ImageImportControllerConfig  ImageImportControllerConfig

	ServiceServingCertsControllerOptions ServiceServingCertsControllerOptions

	SDNControllerConfig       SDNControllerConfig
	UnidlingControllerConfig  UnidlingControllerConfig
	IngressIPControllerConfig IngressIPControllerConfig

	ClusterQuotaReconciliationControllerConfig ClusterQuotaReconciliationControllerConfig

	HorizontalPodAutoscalerControllerConfig HorizontalPodAutoscalerControllerConfig
}

OpenshiftControllerConfig is the runtime (non-serializable) config object used to launch the set of openshift (not kube) controllers.

func BuildOpenshiftControllerConfig

func BuildOpenshiftControllerConfig(options configapi.MasterConfig) (*OpenshiftControllerConfig, error)

func (*OpenshiftControllerConfig) GetControllerInitializers

func (c *OpenshiftControllerConfig) GetControllerInitializers() (map[string]InitFunc, error)

func (*OpenshiftControllerConfig) ServiceAccountContentControllerInit

func (c *OpenshiftControllerConfig) ServiceAccountContentControllerInit() InitFunc

NewOpenShiftControllerPreStartInitializers returns list of initializers for controllers that needed to be run before any other controller is started. Typically this has to done for the serviceaccount-token controller as it provides tokens to other controllers.

type SDNControllerConfig

type SDNControllerConfig struct {
	NetworkConfig configapi.MasterNetworkConfig
}

func (*SDNControllerConfig) RunController

func (c *SDNControllerConfig) RunController(ctx ControllerContext) (bool, error)

type ServiceAccountControllerOptions

type ServiceAccountControllerOptions struct {
	ManagedNames []string
}

func (*ServiceAccountControllerOptions) RunController

type ServiceAccountTokenControllerOptions

type ServiceAccountTokenControllerOptions struct {
	RootCA           []byte
	ServiceServingCA []byte
	PrivateKey       interface{}

	RootClientBuilder controller.SimpleControllerClientBuilder
}

func (*ServiceAccountTokenControllerOptions) RunController

type ServiceServingCertsControllerOptions

type ServiceServingCertsControllerOptions struct {
	Signer *configapi.CertInfo
}

func (*ServiceServingCertsControllerOptions) RunController

type UnidlingControllerConfig

type UnidlingControllerConfig struct {
	ResyncPeriod time.Duration
}

func (*UnidlingControllerConfig) RunController

func (c *UnidlingControllerConfig) RunController(ctx ControllerContext) (bool, error)

Jump to

Keyboard shortcuts

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