kube

package
v1.0.58 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2018 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ChartGitea the default name of the gitea chart
	ChartGitea = "jenkins-x/gitea"

	// ServiceJenkins is the name of the Jenkins Service
	ServiceJenkins = "jenkins"

	// ServiceChartMuseum the service name of the Helm Chart Museum service
	ServiceChartMuseum = "jenkins-x-chartmuseum"

	// the git credentials secret
	SecretJenkinsGitCredentials = "jenkins-git-credentials"

	// LocalHelmRepoName is the default name of the local chart repository where CI / CD releases go to
	LocalHelmRepoName = "releases"

	DefaultEnvironmentGitRepoURL = "https://github.com/jenkins-x/default-environment-charts.git"
)
View Source
const (
	LabelValueDevEnvironment = "dev"

	LabelTeam        = "team"
	LabelEnvironment = "env"
)
View Source
const (
	OptionName      = "name"
	OptionNamespace = "namespace"
)
View Source
const (
	DefaultNamespace = "default"
)
View Source
const (
	ExposeURLAnnotation = "fabric8.io/exposeUrl"
)

Variables

View Source
var (
	AddonCharts = map[string]string{
		"gitea":      ChartGitea,
		"prometheus": "stable/prometheus",
		"grafana":    "stable/grafana",
	}
)

Functions

func CreateClient

func CreateClient(kubeconfig *string) (*kubernetes.Clientset, error)

CreateClient creates a new kubernetes client

func CreateEnvironmentSurvey

func CreateEnvironmentSurvey(out io.Writer, batchMode bool, authConfigSvc auth.AuthConfigService, data *v1.Environment, config *v1.Environment, forkEnvGitURL string, ns string, jxClient *versioned.Clientset, envDir string, gitRepoOptions gits.GitRepositoryOptions) (gits.GitProvider, error)

CreateEnvironmentSurvey creates a Survey on the given environment using the default options from the CLI

func CurrentContext

func CurrentContext(config *api.Config) *api.Context

CurrentContext returns the current context

func CurrentNamespace

func CurrentNamespace(config *api.Config) string

CurrentNamespace returns the current namespace in the context

func CurrentServer

func CurrentServer(config *api.Config) string

CurrentServer returns the current context's server

func EnsureDevEnvironmentSetup

func EnsureDevEnvironmentSetup(jxClient *versioned.Clientset, ns string) (*v1.Environment, error)

EnsureDevEnvironmentSetup ensures that the Environment is created in the given namespace

func EnsureEnvironmentNamespaceSetup

func EnsureEnvironmentNamespaceSetup(kubeClient *kubernetes.Clientset, jxClient *versioned.Clientset, env *v1.Environment, ns string) error

func EnsureNamespaceCreated

func EnsureNamespaceCreated(kubeClient *kubernetes.Clientset, name string, labels map[string]string, annotations map[string]string) error

Ensure that the namespace exists for the given name

func FindServiceURL

func FindServiceURL(client *kubernetes.Clientset, namespace string, name string) (string, error)

func GetCommitSha

func GetCommitSha(r *metav1.ObjectMeta) string

GetCommitSha returns the git commit sha

func GetCommitURL

func GetCommitURL(r *metav1.ObjectMeta) string

GetCommitURL returns the git commit URL

func GetDeploymentNames

func GetDeploymentNames(client *kubernetes.Clientset, ns string, filter string) ([]string, error)

func GetDeployments

func GetDeployments(kubeClient *kubernetes.Clientset, ns string) (map[string]v1beta2.Deployment, error)

func GetDevNamespace

func GetDevNamespace(kubeClient *kubernetes.Clientset, ns string) (string, string, error)

GetDevNamespace returns the developer environment namespace which is the namespace that contains the Environments and the developer tools like Jenkins

func GetEnvironmentNames

func GetEnvironmentNames(jxClient *versioned.Clientset, ns string) ([]string, error)

GetEnvironmentNames returns the sorted list of environment names

func GetEnvironments

func GetEnvironments(jxClient *versioned.Clientset, ns string) (map[string]*v1.Environment, []string, error)

GetEnvironments returns a map of the enviroments along with a sorted list of names

func GetName

func GetName(r *metav1.ObjectMeta) string

GetName returns the app name

func GetPodCondition

func GetPodCondition(status *v1.PodStatus, conditionType v1.PodConditionType) (int, *v1.PodCondition)

credit https://github.com/kubernetes/kubernetes/blob/8719b4a/pkg/api/v1/pod/util.go GetPodCondition extracts the provided condition from the given status and returns that. Returns nil and -1 if the condition is not present, and the index of the located condition.

func GetPodNames

func GetPodNames(client *kubernetes.Clientset, ns string, filter string) ([]string, error)

func GetPodReadyCondition

func GetPodReadyCondition(status v1.PodStatus) *v1.PodCondition

credit https://github.com/kubernetes/kubernetes/blob/8719b4a/pkg/api/v1/pod/util.go Extracts the pod ready condition from the given status and returns that. Returns nil if the condition is not present.

func GetPodVersion

func GetPodVersion(pod *corev1.Pod, appName string) string

GetPodVersion returns the version for the given app name

func GetReadyPodNames

func GetReadyPodNames(client *kubernetes.Clientset, ns string, filter string) ([]string, error)

func GetServiceNames

func GetServiceNames(client *kubernetes.Clientset, ns string, filter string) ([]string, error)

func GetVersion

func GetVersion(r *metav1.ObjectMeta) string

GetVersion returns the version from the labels on the deployment if it can be deduced

func HasExternalAddress

func HasExternalAddress(svc *v1.Service) bool

func IsDeploymentRunning

func IsDeploymentRunning(client *kubernetes.Clientset, name, namespace string) (bool, error)

func IsPodReady

func IsPodReady(pod *v1.Pod) bool

credit https://github.com/kubernetes/kubernetes/blob/8719b4a/pkg/api/v1/pod/util.go IsPodReady returns true if a pod is ready; false otherwise.

func IsPodReadyConditionTrue

func IsPodReadyConditionTrue(status v1.PodStatus) bool

credit https://github.com/kubernetes/kubernetes/blob/8719b4a/pkg/api/v1/pod/util.go IsPodReady retruns true if a pod is ready; false otherwise.

func LoadConfig

func LoadConfig() (*api.Config, *clientcmd.PathOptions, error)

LoadConfig loads the kubernetes configuration

func PickEnvironment

func PickEnvironment(envNames []string, defaultEnv string) (string, error)

func RegisterEnvironmentCRD

func RegisterEnvironmentCRD(apiClient *apiextensionsclientset.Clientset) error

RegisterEnvironmentCRD ensures that the CRD is registered for Environments

func Server

func Server(config *api.Config, context *api.Context) string

Server returns the server of the given context

func SortEnvironments

func SortEnvironments(environments []v1.Environment)

func ValidNameOption

func ValidNameOption(option string, value string) error

func ValidSubDomainOption

func ValidSubDomainOption(option string, value string) error

func ValidateEnvironmentDoesNotExist

func ValidateEnvironmentDoesNotExist(jxClient *versioned.Clientset, ns string, str string) error

func ValidateName

func ValidateName(val interface{}) error

func ValidateSubDomain

func ValidateSubDomain(val interface{}) error

func WaitForAllDeploymentsToBeReady

func WaitForAllDeploymentsToBeReady(client *kubernetes.Clientset, namespace string, timeoutPerDeploy time.Duration) error

func WaitForDeploymentToBeReady

func WaitForDeploymentToBeReady(client *kubernetes.Clientset, name, namespace string, timeout time.Duration) error

waits for the pods of a deployment to become ready

func WaitForExternalIP

func WaitForExternalIP(client *kubernetes.Clientset, name, namespace string, timeout time.Duration) error

waits for the pods of a deployment to become ready

func WaitForPodToBeReady

func WaitForPodToBeReady(client *kubernetes.Clientset, selector labels.Selector, namespace string, timeout time.Duration) error

waits for the pod to become ready using label selector to match the pod

Types

type ByOrder

type ByOrder []v1.Environment

func (ByOrder) Len

func (a ByOrder) Len() int

func (ByOrder) Less

func (a ByOrder) Less(i, j int) bool

func (ByOrder) Swap

func (a ByOrder) Swap(i, j int)

type HeapterConfig

type HeapterConfig struct {
	KubeClient        *kubernetes.Clientset
	HeapsterNamespace string
	HeapsterScheme    string
	HeapsterPort      string
	HeapsterService   string
	// contains filtered or unexported fields
}

func (*HeapterConfig) GetPodMetrics

func (q *HeapterConfig) GetPodMetrics(ns string, pod string, selector string, metric string, start string, end string) ([]byte, error)

type ServiceURL

type ServiceURL struct {
	Name string
	URL  string
}

func FindServiceURLs

func FindServiceURLs(client *kubernetes.Clientset, namespace string) ([]ServiceURL, error)

Jump to

Keyboard shortcuts

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