Documentation
¶
Index ¶
- func ApplyFile(file string) error
- func ApplyFileWithNamespace(file, namespace string) error
- func CreateConfigMap(name, confFile string) error
- func CreateConfigMapWithNamespace(name, confFile, namespace string) error
- func CreateFile(file string) error
- func CreateFileWithNamespace(file, namespace string) error
- func DefaultConfigDir() (string, error)
- func DefaultConfigFile() (string, error)
- func DeleteAllCells() error
- func DeleteFile(file string) error
- func DeleteFileWithNamespace(file, namespace string) error
- func DeleteNameSpace(nameSpace string) error
- func DeletePersistedVolume(persistedVolume string) error
- func DeleteResourceWithNamespace(kind, instance, namespace string) error
- func GetDeploymentNames(namespace string) ([]string, error)
- func GetMasterNodeName() (string, error)
- func WaitForCluster(timeout time.Duration) error
- func WaitForCondition(condition string, timeoutSeconds int, resourceName string, namespace string) error
- func WaitForDeployment(condition string, timeoutSeconds int, resourceName string, namespace string) error
- func WaitForDeployments(namespace string, timeout time.Duration) error
- func WriteConfig(file string, conf *Config) error
- type AuthInfo
- type AuthProviderConfig
- type Cluster
- type ClusterInfo
- type Config
- type Context
- type ContextInfo
- type ExecConfig
- type ExecEnvVar
- type Node
- type NodeItem
- type NodeMetaData
- type Preferences
- type UserInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyFileWithNamespace ¶
func CreateConfigMap ¶
func CreateFile ¶
func CreateFileWithNamespace ¶
func DefaultConfigDir ¶
func DefaultConfigFile ¶
func DeleteAllCells ¶
func DeleteAllCells() error
func DeleteFile ¶
func DeleteFileWithNamespace ¶
func DeleteNameSpace ¶
func DeletePersistedVolume ¶
func GetDeploymentNames ¶
func GetMasterNodeName ¶
func WaitForCluster ¶
func WaitForCondition ¶
func WaitForDeployment ¶
func WriteConfig ¶
Types ¶
type AuthInfo ¶
type AuthInfo struct {
// LocationOfOrigin indicates where this object came from. It is used for round tripping config post-merge, but never serialized.
LocationOfOrigin string `json:"-"`
// ClientCertificate is the path to a client cert file for TLS.
// +optional
ClientCertificate string `json:"client-certificate,omitempty"`
// ClientCertificateData contains PEM-encoded data from a client cert file for TLS. Overrides ClientCertificate
// +optional
ClientCertificateData []byte `json:"client-certificate-data,omitempty"`
// ClientKey is the path to a client key file for TLS.
// +optional
ClientKey string `json:"client-key,omitempty"`
// ClientKeyData contains PEM-encoded data from a client key file for TLS. Overrides ClientKey
// +optional
ClientKeyData []byte `json:"client-key-data,omitempty"`
// Token is the bearer token for authentication to the kubernetes cluster.
// +optional
Token string `json:"token,omitempty"`
// TokenFile is a pointer to a file that contains a bearer token (as described above). If both Token and TokenFile are present, Token takes precedence.
// +optional
TokenFile string `json:"tokenFile,omitempty"`
// Impersonate is the username to act-as.
// +optional
Impersonate string `json:"act-as,omitempty"`
// ImpersonateGroups is the groups to imperonate.
// +optional
ImpersonateGroups []string `json:"act-as-groups,omitempty"`
// ImpersonateUserExtra contains additional information for impersonated user.
// +optional
ImpersonateUserExtra map[string][]string `json:"act-as-user-extra,omitempty"`
// Username is the username for basic authentication to the kubernetes cluster.
// +optional
Username string `json:"username,omitempty"`
// Password is the password for basic authentication to the kubernetes cluster.
// +optional
Password string `json:"password,omitempty"`
// AuthProvider specifies a custom authentication plugin for the kubernetes cluster.
// +optional
AuthProvider *AuthProviderConfig `json:"auth-provider,omitempty"`
// Exec specifies a custom exec-based authentication plugin for the kubernetes cluster.
// +optional
Exec *ExecConfig `json:"exec,omitempty"`
// Extensions holds additional information. This is useful for extenders so that reads and writes don't clobber unknown fields
// +optional
Extensions map[string]interface{} `json:"extensions,omitempty"`
}
AuthInfo contains information that describes identity information. This is use to tell the kubernetes cluster who you are.
type AuthProviderConfig ¶
type AuthProviderConfig struct {
Name string `json:"name"`
// +optional
Config map[string]string `json:"config,omitempty"`
}
AuthProviderConfig holds the configuration for a specified auth provider.
type Cluster ¶
type Cluster struct {
// LocationOfOrigin indicates where this object came from. It is used for round tripping config post-merge, but never serialized.
LocationOfOrigin string `json:"-"`
// Server is the address of the kubernetes cluster (https://hostname:port).
Server string `json:"server"`
// InsecureSkipTLSVerify skips the validity check for the server's certificate. This will make your HTTPS connections insecure.
// +optional
InsecureSkipTLSVerify bool `json:"insecure-skip-tls-verify,omitempty"`
// CertificateAuthority is the path to a cert file for the certificate authority.
// +optional
CertificateAuthority string `json:"certificate-authority,omitempty"`
// CertificateAuthorityData contains PEM-encoded certificate authority certificates. Overrides CertificateAuthority
// +optional
CertificateAuthorityData []byte `json:"certificate-authority-data,omitempty"`
// Extensions holds additional information. This is useful for extenders so that reads and writes don't clobber unknown fields
// +optional
Extensions map[string]interface{} `json:"extensions,omitempty"`
}
Cluster contains information about how to communicate with a kubernetes cluster
type ClusterInfo ¶
type Config ¶
type Config struct {
// Legacy field from pkg/api/types.go TypeMeta.
// TODO(jlowdermilk): remove this after eliminating downstream dependencies.
// +optional
Kind string `json:"kind,omitempty"`
// Legacy field from pkg/api/types.go TypeMeta.
// TODO(jlowdermilk): remove this after eliminating downstream dependencies.
// +optional
APIVersion string `json:"apiVersion,omitempty"`
// Preferences holds general information to be use for cli interactions
Preferences Preferences `json:"preferences"`
// Clusters is a map of referencable names to cluster configs
Clusters []*ClusterInfo `json:"clusters"`
// AuthInfos is a map of referencable names to user configs
AuthInfos []*UserInfo `json:"users"`
// Contexts is a map of referencable names to context configs
Contexts []*ContextInfo `json:"contexts"`
// CurrentContext is the name of the context that you would like to use by default
CurrentContext string `json:"current-context"`
// Extensions holds additional information. This is useful for extenders so that reads and writes don't clobber unknown fields
// +optional
Extensions map[string]interface{} `json:"extensions,omitempty"`
}
Config holds the information needed to build connect to remote kubernetes clusters as a given user IMPORTANT if you add fields to this struct, please update IsConfigEmpty() +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func MergeConfig ¶
func ReadConfig ¶
type Context ¶
type Context struct {
// LocationOfOrigin indicates where this object came from. It is used for round tripping config post-merge, but never serialized.
LocationOfOrigin string `json:"-"`
// Cluster is the name of the cluster for this context
Cluster string `json:"cluster"`
// AuthInfo is the name of the authInfo for this context
AuthInfo string `json:"user"`
// Namespace is the default namespace to use on unspecified requests
// +optional
Namespace string `json:"namespace,omitempty"`
// Extensions holds additional information. This is useful for extenders so that reads and writes don't clobber unknown fields
// +optional
Extensions map[string]interface{} `json:"extensions,omitempty"`
}
Context is a tuple of references to a cluster (how do I communicate with a kubernetes cluster), a user (how do I identify myself), and a namespace (what subset of resources do I want to work with)
type ContextInfo ¶
type ExecConfig ¶
type ExecConfig struct {
// Command to execute.
Command string `json:"command"`
// Arguments to pass to the command when executing it.
// +optional
Args []string `json:"args"`
// Env defines additional environment variables to expose to the process. These
// are unioned with the host's environment, as well as variables client-go uses
// to pass argument to the plugin.
// +optional
Env []ExecEnvVar `json:"env"`
// Preferred input version of the ExecInfo. The returned ExecCredentials MUST use
// the same encoding version as the input.
APIVersion string `json:"apiVersion,omitempty"`
}
ExecConfig specifies a command to provide client credentials. The command is exec'd and outputs structured stdout holding credentials.
See the client.authentiction.k8s.io API group for specifications of the exact input and output format
type ExecEnvVar ¶
ExecEnvVar is used for setting environment variables when executing an exec-based credential plugin.
type NodeItem ¶
type NodeItem struct {
Metadata NodeMetaData `json:"metadata"`
}
type NodeMetaData ¶
type NodeMetaData struct {
Name string `json:"name"`
}
type Preferences ¶
type Preferences struct {
// +optional
Colors bool `json:"colors,omitempty"`
// Extensions holds additional information. This is useful for extenders so that reads and writes don't clobber unknown fields
// +optional
Extensions map[string]interface{} `json:"extensions,omitempty"`
}
IMPORTANT if you add fields to this struct, please update IsConfigEmpty()