status

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2021 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ControllerName is the controller name that will be used when reporting events.
	ControllerName = "cluster-status-controller"
)
View Source
const WorkStatusControllerName = "work-status-controller"

WorkStatusControllerName is the controller name that will be used when reporting events.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClusterStatusController added in v0.3.0

type ClusterStatusController struct {
	client.Client               // used to operate Cluster resources.
	KubeClient                  clientset.Interface
	EventRecorder               record.EventRecorder
	PredicateFunc               predicate.Predicate
	InformerManager             informermanager.MultiClusterInformerManager
	StopChan                    <-chan struct{}
	ClusterClientSetFunc        func(c *v1alpha1.Cluster, client client.Client) (*util.ClusterClient, error)
	ClusterDynamicClientSetFunc func(c *v1alpha1.Cluster, client client.Client) (*util.DynamicClusterClient, error)

	// ClusterStatusUpdateFrequency is the frequency that controller computes and report cluster status.
	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
	// ClusterLeaseControllers store clusters and their corresponding lease controllers.
	ClusterLeaseControllers sync.Map
}

ClusterStatusController is to sync status of Cluster.

func (*ClusterStatusController) Reconcile added in v0.3.0

Reconcile syncs status of the given member cluster. The Controller will requeue the Request to be processed again if an error is non-nil or Result.Requeue is true, otherwise upon completion it will requeue the reconcile key after the duration.

func (*ClusterStatusController) SetupWithManager added in v0.3.0

func (c *ClusterStatusController) SetupWithManager(mgr controllerruntime.Manager) error

SetupWithManager creates a controller and register to controller manager.

type WorkStatusController added in v0.4.0

type WorkStatusController struct {
	client.Client   // used to operate Work resources.
	EventRecorder   record.EventRecorder
	RESTMapper      meta.RESTMapper
	InformerManager informermanager.MultiClusterInformerManager

	StopChan     <-chan struct{}
	WorkerNumber int // WorkerNumber is the number of worker goroutines

	ObjectWatcher        objectwatcher.ObjectWatcher
	PredicateFunc        predicate.Predicate
	ClusterClientSetFunc func(c *v1alpha1.Cluster, client client.Client) (*util.DynamicClusterClient, error)
	// contains filtered or unexported fields
}

WorkStatusController is to sync status of Work.

func (*WorkStatusController) Reconcile added in v0.4.0

Reconcile performs a full reconciliation for the object referred to by the Request. The Controller will requeue the Request to be processed again if an error is non-nil or Result.Requeue is true, otherwise upon completion it will remove the work from the queue.

func (*WorkStatusController) RunWorkQueue added in v0.4.0

func (c *WorkStatusController) RunWorkQueue()

RunWorkQueue initializes worker and run it, worker will process resource asynchronously.

func (*WorkStatusController) SetupWithManager added in v0.4.0

func (c *WorkStatusController) SetupWithManager(mgr controllerruntime.Manager) error

SetupWithManager creates a controller and register to controller manager.

Jump to

Keyboard shortcuts

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