Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Context ¶
type Context struct {
Mgr controllerruntime.Manager
ObjectWatcher objectwatcher.ObjectWatcher
Opts Options
StopChan <-chan struct{}
DynamicClientSet dynamic.Interface
OverrideManager overridemanager.OverrideManager
ControlPlaneInformerManager informermanager.SingleClusterInformerManager
ResourceInterpreter resourceinterpreter.ResourceInterpreter
}
Context defines the context object for controller.
func (Context) IsControllerEnabled ¶
IsControllerEnabled check if a specified controller enabled or not.
type InitFunc ¶
InitFunc is used to launch a particular controller. Any error returned will cause the controller process to `Fatal` The bool indicates whether the controller was enabled.
type Initializers ¶
Initializers is a public map of named controller groups
func (Initializers) ControllerNames ¶
func (i Initializers) ControllerNames() []string
ControllerNames returns all known controller names
func (Initializers) StartControllers ¶
func (i Initializers) StartControllers(ctx Context) error
StartControllers starts a set of controllers with a specified ControllerContext
type Options ¶
type Options struct {
// Controllers contains all controller names.
Controllers []string
// ClusterMonitorPeriod represents cluster-controller monitoring period, i.e. how often does
// cluster-controller check cluster health signal posted from cluster-status-controller.
// This value should be lower than ClusterMonitorGracePeriod.
ClusterMonitorPeriod metav1.Duration
// ClusterMonitorGracePeriod represents the grace period after last cluster health probe time.
// If it doesn't receive update for this amount of time, it will start posting
// "ClusterReady==ConditionUnknown".
ClusterMonitorGracePeriod metav1.Duration
// ClusterStartupGracePeriod specifies the grace period of allowing a cluster to be unresponsive during
// startup before marking it unhealthy.
ClusterStartupGracePeriod metav1.Duration
// ClusterStatusUpdateFrequency is the frequency that controller computes and report cluster status.
// It must work with ClusterMonitorGracePeriod.
ClusterStatusUpdateFrequency metav1.Duration
// ClusterLeaseDuration is a duration that candidates for a lease need to wait to force acquire it.
// This is measure against time of last observed lease RenewTime.
ClusterLeaseDuration metav1.Duration
// ClusterLeaseRenewIntervalFraction is a fraction coordinated with ClusterLeaseDuration that
// how long the current holder of a lease has last updated the lease.
ClusterLeaseRenewIntervalFraction float64
// ClusterCacheSyncTimeout is the timeout period waiting for cluster cache to sync.
ClusterCacheSyncTimeout metav1.Duration
// ClusterAPIQPS is the QPS to use while talking with cluster kube-apiserver.
ClusterAPIQPS float32
// ClusterAPIBurst is the burst to allow while talking with cluster kube-apiserver.
ClusterAPIBurst int
// SkippedPropagatingNamespaces is a list of namespaces that will be skipped for propagating.
SkippedPropagatingNamespaces []string
// ClusterName is the name of cluster.
ClusterName string
// ConcurrentWorkSyncs is the number of Works that are allowed to sync concurrently.
ConcurrentWorkSyncs int
}
Options defines all the parameters required by our controllers.
Click to show internal directories.
Click to hide internal directories.