package util

import "k8s.io/kubernetes/federation/pkg/kubefed/util"

Index

Constants

const (
	// KubeconfigSecretDataKey is the key name used in the secret to
	// stores a cluster's credentials.
	KubeconfigSecretDataKey = "kubeconfig"

	// Used in and to create the kube-dns configmap storing the zone info
	FedDomainMapKey       = "federations"
	KubeDnsConfigmapName  = "kube-dns"
	FedDNSZoneName        = "dns-zone-name"
	FedNameServer         = "nameserver"
	FedDNSProvider        = "dns-provider"
	FedDNSProviderCoreDNS = "coredns"
	KubeDnsStubDomains    = "stubDomains"

	// DefaultFederationSystemNamespace is the namespace in which
	// federation system components are hosted.
	DefaultFederationSystemNamespace = "federation-system"

	KubeAPIQPS   = 20.0
	KubeAPIBurst = 30
)

Functions

func ClusterRoleName

func ClusterRoleName(federationName, serviceAccountName string) string

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

func ClusterServiceAccountName

func ClusterServiceAccountName(joiningClusterName, hostContext string) string

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

func CreateKubeconfigSecret

func CreateKubeconfigSecret(clientset client.Interface, kubeconfig *clientcmdapi.Config, namespace, name, federationName, clusterName string, dryRun bool) (*api.Secret, error)

func GetClientsetFromSecret

func GetClientsetFromSecret(secret *api.Secret, serverAddress string) (*client.Clientset, error)

func GetServerAddress

func GetServerAddress(c *fedv1beta1.Cluster) (string, error)

func GetVersionedClientForRBACOrFail

func GetVersionedClientForRBACOrFail(hostFactory cmdutil.Factory) (client.Interface, error)

GetVersionedClientForRBACOrFail discovers the versioned rbac APIs and gets the versioned clientset for either the preferred version or the first listed version (if no preference listed) TODO: We need to evaluate the usage of RESTMapper interface to achieve the same functionality

Types

type AdminConfig

type AdminConfig interface {
	// PathOptions provides filesystem based kubeconfig access.
	PathOptions() *clientcmd.PathOptions
	// FedClientSet provides a federation API compliant clientset
	// to communicate with the federation control plane api server
	FederationClientset(context, kubeconfigPath string) (*fedclient.Clientset, error)
	// ClusterFactory provides a mechanism to communicate with the
	// cluster derived from the context and the kubeconfig.
	ClusterFactory(context, kubeconfigPath string) cmdutil.Factory
}

AdminConfig provides a filesystem based kubeconfig (via `PathOptions()`) and a mechanism to talk to the federation host cluster and the federation control plane api server.

func NewAdminConfig

func NewAdminConfig(pathOptions *clientcmd.PathOptions) AdminConfig

NewAdminConfig creates an admin config for `kubefed` commands.

type NoRBACAPIError

type NoRBACAPIError struct {
	// contains filtered or unexported fields
}

used to identify the rbac api availability error.

func (*NoRBACAPIError) Error

func (n *NoRBACAPIError) Error() string

type SubcommandOptions

type SubcommandOptions struct {
	Name                      string
	Host                      string
	FederationSystemNamespace string
	Kubeconfig                string
}

SubcommandOptions holds the configuration required by the subcommands of `kubefed`.

func (*SubcommandOptions) Bind

func (o *SubcommandOptions) Bind(flags *pflag.FlagSet)

func (*SubcommandOptions) SetName

func (o *SubcommandOptions) SetName(cmd *cobra.Command, args []string) error

Source Files

util.go

Version
v1.8.13-beta.0
Published
Apr 23, 2018
Platform
linux/amd64
Imports
22 packages
Last checked
32 minutes ago

Tools for package owners.