cluster

package
v0.0.310 Latest Latest
Warning

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

Go to latest
Published: Jun 15, 2022 License: Apache-2.0 Imports: 47 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultFederatedGroup   = "types.kubefed.io"
	DefaultFederatedVersion = "v1beta1"

	FederatedKindPrefix = "Federated"
)

Default values for the federated group and version used by the enable and disable subcommands of `kubefedctl`.

Variables

This section is empty.

Functions

func ClusterClientset

func ClusterClientset(config *rest.Config) (*kubeclient.Clientset, error)

ClusterClientset provides a kubernetes API compliant clientset to communicate with the joining cluster's kubernetes API server.

func ClusterServiceAccountName

func ClusterServiceAccountName(joiningClusterName, hostClusterName string) string

ClusterServiceAccountName returns the name of a service account whose credentials are used by the host cluster to access the client cluster.

func CurrentContext

func CurrentContext(config clientcmd.ClientConfig) (string, error)

CurrentContext retrieves the current context from the provided config.

func GetNamespace

func GetNamespace(hostClusterContext string, kubeconfig string, config FedConfig) (string, error)

GetNamespace returns namespace of the current context

func HealthCheckRoleName

func HealthCheckRoleName(serviceAccountName, namespace string) string

HealthCheckRoleName returns the name of a ClusterRole and its associated ClusterRoleBinding that is used to allow the service account to check the health of the cluster and list nodes.

func HostClientset

func HostClientset(config *rest.Config) (*kubeclient.Clientset, error)

HostClientset provides a kubernetes API compliant clientset to communicate with the host cluster's kubernetes API server.

func IsFederatedAPIResource

func IsFederatedAPIResource(kind, group string) bool

IsFederatedAPIResource checks if a resource with the given Kind and group is a Federated one

func IsPrimaryCluster

func IsPrimaryCluster(obj, clusterObj pkgruntime.Object) bool

IsPrimaryCluster checks if the caller is working with objects for the primary cluster by checking if the UIDs match for both ObjectMetas passed in. TODO (font): Need to revisit this when cluster ID is available.

func MetaAccessor

func MetaAccessor(obj pkgruntime.Object) metav1.Object

func NewClusterController

func NewClusterController(
	client kubernetes.Interface,
	config *rest.Config,
	clusterInformer clusterinformer.ClusterInformer,
	clusterClient clusterclient.ClusterInterface,
	resyncPeriod time.Duration,
) *clusterController

func RoleName

func RoleName(serviceAccountName string) string

RoleName returns the name of a Role or ClusterRole and its associated RoleBinding or ClusterRoleBinding that are used to allow the service account to access necessary resources on the cluster.

Types

type FedConfig

type FedConfig interface {
	HostConfig(context, kubeconfigPath string) (*rest.Config, error)
	ClusterConfig(context, kubeconfigPath string) (*rest.Config, error)
	GetClientConfig(ontext, kubeconfigPath string) clientcmd.ClientConfig
}

FedConfig provides a rest config based on the filesystem kubeconfig (via pathOptions) and context in order to talk to the host kubernetes cluster and the joining kubernetes cluster.

func NewFedConfig

func NewFedConfig(pathOptions *clientcmd.PathOptions) FedConfig

NewFedConfig creates a fedConfig for `kubefedctl` commands.

Jump to

Keyboard shortcuts

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