View Source
const (
	UserAgentName = "Cluster-Controller"

	// Following labels come from
	LabelZoneFailureDomain = ""
	LabelZoneRegion        = ""


This section is empty.


func StartClusterController

func StartClusterController(config *util.ControllerConfig, clusterHealthCheckConfig util.ClusterHealthCheckConfig, stopChan <-chan struct{}) error

    StartClusterController starts a new cluster controller.


    type ClusterClient

    type ClusterClient struct {
    	// contains filtered or unexported fields

      ClusterClient provides methods for determining the status and zones of a particular FederatedCluster.

      func NewClusterClientSet

      func NewClusterClientSet(c *fedv1a1.FederatedCluster, client generic.Client, fedNamespace, clusterNamespace string) (*ClusterClient, error)

        NewClusterClientSet returns a ClusterClient for the given FederatedCluster. The kubeClient and crClient are used to configure the ClusterClient's internal client with information from a kubeconfig stored in a kubernetes secret and an API endpoint from the cluster-registry.

        func (*ClusterClient) GetClusterHealthStatus

        func (self *ClusterClient) GetClusterHealthStatus() *fedv1a1.FederatedClusterStatus

          GetClusterHealthStatus gets the kubernetes cluster health status by requesting "/healthz"

          func (*ClusterClient) GetClusterZones

          func (self *ClusterClient) GetClusterZones() ([]string, string, error)

            GetClusterZones gets the kubernetes cluster zones and region by inspecting labels on nodes in the cluster.

            type ClusterController

            type ClusterController struct {
            	// contains filtered or unexported fields

              ClusterController is responsible for maintaining the health status of each FederatedCluster in a particular namespace.

              func (*ClusterController) Run

              func (cc *ClusterController) Run(stopChan <-chan struct{})

                Run begins watching and syncing.

                type ClusterData

                type ClusterData struct {
                	// contains filtered or unexported fields

                  ClusterData stores cluster client and previous health check probe results of individual cluster.