controller

package
v3.6.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2017 License: Apache-2.0 Imports: 67 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 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
	STIImage              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 ClusterQuotaMappingControllerConfig

type ClusterQuotaMappingControllerConfig struct {
	ClusterQuotaMappingController *clusterquotamapping.ClusterQuotaMappingController
}

func (*ClusterQuotaMappingControllerConfig) RunController

type ClusterQuotaReconciliationControllerConfig

type ClusterQuotaReconciliationControllerConfig struct {
	Mapper                         clusterquotamapping.ClusterQuotaMapper
	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
	DeprecatedOpenshiftClient(name string) (osclient.Interface, error)
	DeprecatedOpenshiftClientOrDie(name string) osclient.Interface
	OpenshiftTemplateClient(name string) (templateclient.Interface, error)
}

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

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

type OpenshiftControllerConfig

type OpenshiftControllerConfig struct {
	ServiceAccountTokenControllerOptions ServiceAccountTokenControllerOptions

	// TODO, this should only hold the delta on names and we run two controllers, upstream and ours
	ServiceAccountControllerOptions ServiceAccountControllerOptions

	BuildControllerConfig BuildControllerConfig

	DeployerControllerConfig          DeployerControllerConfig
	DeploymentConfigControllerConfig  DeploymentConfigControllerConfig
	DeploymentTriggerControllerConfig DeploymentTriggerControllerConfig

	ImageTriggerControllerConfig ImageTriggerControllerConfig
	ImageImportControllerConfig  ImageImportControllerConfig

	ServiceServingCertsControllerOptions ServiceServingCertsControllerOptions

	SDNControllerConfig       SDNControllerConfig
	UnidlingControllerConfig  UnidlingControllerConfig
	IngressIPControllerConfig IngressIPControllerConfig

	OriginToRBACSyncControllerConfig OriginToRBACSyncControllerConfig

	ClusterQuotaMappingControllerConfig        ClusterQuotaMappingControllerConfig
	ClusterQuotaReconciliationControllerConfig ClusterQuotaReconciliationControllerConfig
}

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

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 OriginToRBACSyncControllerConfig

type OriginToRBACSyncControllerConfig struct {
	PrivilegedRBACClient rbacinternalversion.RbacInterface
}

func (*OriginToRBACSyncControllerConfig) RunController

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