context

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2019 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetClientset

func GetClientset(contextName string) (*kubernetes.Clientset, error)

GetClientset gives a clientset for the given contextName

func GetContextNames

func GetContextNames() []string

GetContextNames gives the list of all contextNames known by the application

func GetMetrics

func GetMetrics(contextName string) (*metrics.Clientset, error)

GetMetrics gives a clientset for the given contextName

func LoadContexts

func LoadContexts(applicationConfiguration configuration.ApplicationConfiguration) error

LoadContexts loads all the possible configuration from a Kubectl config file. If there are no configuration, try to default to the InCluster mode

func SetClusterCertificateEmbedded

func SetClusterCertificateEmbedded(clusterName string, cluster ParamClusterCertificateEmbedded) error

SetClusterCertificateEmbedded adds or updates a cluster without validating the server certificate given as raw text

func SetClusterCertificateFile

func SetClusterCertificateFile(clusterName string, cluster ParamClusterCertificateFile) error

SetClusterCertificateFile adds or updates a cluster without validating the server certificate given as a local file

func SetClusterInsecure

func SetClusterInsecure(clusterName string, cluster ParamClusterInsecure) error

SetClusterInsecure adds or updates a cluster without validating the server certificate

func SetContext

func SetContext(contextName string, context ParamContext) error

SetContext adds or updates a context

func SetUserWithCertificateFile

func SetUserWithCertificateFile(userName string, credentials ParamCredentialsCertificateFile) error

SetUserWithCertificateFile adds or updates a user with the credentials given as local certificate files

func SetUserWithCertificateFileEmbedded

func SetUserWithCertificateFileEmbedded(userName string, credentials ParamCredentialsCertificateEmbedded) error

SetUserWithCertificateFileEmbedded adds or updates a user with the credentials given as embedded certificate files

func SetUserWithUserNamePassword

func SetUserWithUserNamePassword(userName string, credentials ParamCredentialsUserNamePassword) error

SetUserWithUserNamePassword adds or updates a user with the given credentials

func UseContext

func UseContext(contextName string) error

UseContext defines the current default context

Types

type DefinitionCluster

type DefinitionCluster struct {
	Server                   string `yaml:"server,omitempty" json:"server,omitempty"`
	InsecureSkipTLSVerify    bool   `yaml:"insecure-skip-tls-verify,omitempty" json:"insecure-skip-tls-verify,omitempty"`
	CertificateAuthority     string `yaml:"certificate-authority,omitempty" json:"certificate-authority,omitempty"`
	CertificateAuthorityData string `yaml:"certificate-authority-data,omitempty" json:"certificate-authority-data,omitempty"`
}

DefinitionCluster is the actual definition of a Kubernetes cluster

type DefinitionContext

type DefinitionContext struct {
	User      string `yaml:"user,omitempty" json:"user"`
	Cluster   string `yaml:"cluster,omitempty" json:"cluster"`
	Namespace string `yaml:"namespace,omitempty" json:"namespace,omitempty"`
}

DefinitionContext is the actual definition of a Kubectl configuration

type DefinitionUser

type DefinitionUser struct {
	UserName              string `yaml:"username,omitempty" json:"username,omitempty"`
	Password              string `yaml:"password,omitempty" json:"password,omitempty"`
	ClientCertificate     string `yaml:"client-certificate,omitempty" json:"client-certificate,omitempty"`
	ClientKey             string `yaml:"client-key,omitempty" json:"client-key,omitempty"`
	ClientCertificateData string `yaml:"client-certificate-data,omitempty" json:"client-certificate-data,omitempty"`
	ClientKeyData         string `yaml:"client-key-data,omitempty" json:"client-key-data,omitempty"`
}

DefinitionUser is the actual definition of a Kubernetes user

type KubeConfig

type KubeConfig struct {
	APIVersion     string            `yaml:"apiVersion" json:"apiVersion"`
	Kind           string            `yaml:"kind" json:"kind"`
	Preferences    map[string]string `yaml:"preferences" json:"preferences"`
	Clusters       []NamedCluster    `yaml:"clusters,omitempty" json:"clusters,omitempty"`
	Contexts       []NamedContext    `yaml:"contexts,omitempty" json:"contexts,omitempty"`
	CurrentContext string            `yaml:"current-context,omitempty" json:"current-context,omitempty"`
	Users          []NamedUser       `yaml:"users,omitempty" json:"users,omitempty"`
}

KubeConfig is the complete configuration of a kubectl config file

func GetKubeConfig

func GetKubeConfig() (*KubeConfig, error)

GetKubeConfig reads the configuration file

type NamedCluster

type NamedCluster struct {
	Name              string            `yaml:"name" json:"name"`
	DefinitionCluster DefinitionCluster `yaml:"cluster,omitempty" json:"cluster,omitempty"`
}

NamedCluster is a Kubernetes cluster. This struct holds only a name and the // actual definition structure

func GetKubeCluster

func GetKubeCluster(name string) (*NamedCluster, error)

GetKubeCluster return a single cluster if present, nil otherwise

func GetKubeClusters

func GetKubeClusters() ([]NamedCluster, error)

GetKubeClusters returns the clusters configured

type NamedContext

type NamedContext struct {
	Name              string            `yaml:"name" json:"name"`
	DefinitionContext DefinitionContext `yaml:"context,omitempty" json:"context,omitempty"`
}

NamedContext is a Kubectl configuration, the association of a user and a cluster. This struct holds only a name and the actual definition structure

func GetKubeContext

func GetKubeContext(name string) (*NamedContext, error)

GetKubeContext return a single context if present, nil otherwise

func GetKubeContexts

func GetKubeContexts() ([]NamedContext, error)

GetKubeContexts returns the clusters configured

type NamedUser

type NamedUser struct {
	Name           string         `yaml:"name" json:"name"`
	DefinitionUser DefinitionUser `yaml:"user,omitempty" json:"user,omitempty"`
}

NamedUser is a Kubernetes user. This struct holds only a name and the // actual definition structure

func GetKubeUser

func GetKubeUser(name string) (*NamedUser, error)

GetKubeUser return a single user if present, nil otherwise

func GetKubeUsers

func GetKubeUsers() ([]NamedUser, error)

GetKubeUsers returns the users configured

type NotFoundError

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

NotFoundError is a trivial implementation of error.

func (*NotFoundError) ContextName

func (e *NotFoundError) ContextName() string

ContextName returns the name of the context that was not found

func (*NotFoundError) Error

func (e *NotFoundError) Error() string

type ParamClusterCertificateEmbedded

type ParamClusterCertificateEmbedded struct {
	Server                   string `json:"server"`
	CertificateAuthorityData string `json:"certificateAuthorityData"`
}

ParamClusterCertificateEmbedded is the definition of a cluster for which the TLS certificate is verified with a local file

type ParamClusterCertificateFile

type ParamClusterCertificateFile struct {
	Server               string `json:"server"`
	CertificateAuthority string `json:"certificateAuthority"`
}

ParamClusterCertificateFile is the definition of a cluster for which the TLS certificate is verified with a local file

type ParamClusterInsecure

type ParamClusterInsecure struct {
	Server string `json:"server"`
}

ParamClusterInsecure is the definition of a cluster for which the TLS certificate is not verified

type ParamContext

type ParamContext struct {
	User      string `json:"user"`
	Cluster   string `json:"cluster"`
	Namespace string `json:"namespace"`
}

ParamContext is the definition of a context

type ParamCredentialsCertificateEmbedded

type ParamCredentialsCertificateEmbedded struct {
	ClientCertificateData string `json:"clientCertificateData"`
	ClientKeyData         string `json:"clientKeyData"`
}

ParamCredentialsCertificateEmbedded is the definition of a credential with a certificate embedded

type ParamCredentialsCertificateFile

type ParamCredentialsCertificateFile struct {
	ClientCertificate string `json:"clientCertificate"`
	ClientKey         string `json:"clientKey"`
}

ParamCredentialsCertificateFile is the definition of a credential with a certificate kept as a local file

type ParamCredentialsUserNamePassword

type ParamCredentialsUserNamePassword struct {
	UserName string `json:"userName"`
	Password string `json:"password"`
}

ParamCredentialsUserNamePassword is the definition of a credential with a username and a password

Jump to

Keyboard shortcuts

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