Documentation ¶
Index ¶
- Constants
- Variables
- func AddUserToConfig(user string, token string, config *api.Config) (*api.Config, error)
- func CertificateAuthorityData(config *api.Config, context *api.Context) []byte
- func CleanCertmanagerResources(c kubernetes.Interface, ns string, config IngressConfig) error
- func ClusterRoleBindingYaml(user string) string
- func ClusterRoleYaml(user string) string
- func CompletePromote(p *v1.PromoteActivityStep) error
- func CompletePromotionPullRequest(a *v1.PipelineActivity, s *v1.PipelineActivityStep, ps *v1.PromoteActivityStep, ...) error
- func CompletePromotionUpdate(a *v1.PipelineActivity, s *v1.PipelineActivityStep, ps *v1.PromoteActivityStep, ...) error
- func CreateClusterRole(kubeClient kubernetes.Interface, namesapce string, name string, ...) error
- func CreateClusterRoleBinding(kubeClient kubernetes.Interface, namespace string, name string, ...) error
- func CreateDefaultDevEnvironment(ns string) *v1.Environment
- func CreateEnvGitRepository(batchMode bool, authConfigSvc auth.ConfigService, devEnv *v1.Environment, ...) (*gits.GitRepository, gits.GitProvider, error)
- func CreateEnvironmentSurvey(batchMode bool, authConfigSvc auth.ConfigService, devEnv *v1.Environment, ...) (gits.GitProvider, error)
- func CreateKubeClient(kubeconfig *string) (kubernetes.Interface, error)
- func CreatePatchBytes(op string, path string, value interface{}) ([]byte, error)
- func CreateTeam(ns string, name string, members []string) *v1.Team
- func CurrentCluster(config *api.Config) (string, *api.Cluster)
- func CurrentContext(config *api.Config) *api.Context
- func CurrentContextName(config *api.Config) string
- func CurrentNamespace(config *api.Config) string
- func CurrentServer(config *api.Config) string
- func DefaultModifyConfigMap(kubeClient kubernetes.Interface, ns string, name string, ...) (*v1.ConfigMap, error)
- func DefaultModifySecret(kubeClient kubernetes.Interface, ns string, name string, ...) (*v1.Secret, error)
- func DeleteClusterRole(kubeClient kubernetes.Interface, name string) error
- func DeleteClusterRoleBinding(kubeClient kubernetes.Interface, name string) error
- func DeleteIngress(client kubernetes.Interface, ns, name string) error
- func DeleteJob(client kubernetes.Interface, namespace, name string) error
- func DeleteTeam(jxClient versioned.Interface, ns string, teamName string) error
- func DeploymentPodCount(client kubernetes.Interface, name, namespace string) (int, error)
- func EmailToK8sID(email string) string
- func EnableInsecureRegistry(iqJson string, dockerRegistry string) (string, error)
- func EnsureDevEnvironmentSetup(jxClient versioned.Interface, ns string) (*v1.Environment, error)
- func EnsureDevNamespaceCreatedWithoutEnvironment(kubeClient kubernetes.Interface, ns string) error
- func EnsureEditEnvironmentSetup(kubeClient kubernetes.Interface, jxClient versioned.Interface, ns string, ...) (*v1.Environment, error)
- func EnsureEnvironmentNamespaceSetup(kubeClient kubernetes.Interface, jxClient versioned.Interface, ...) error
- func EnsureGitServiceExistsForHost(jxClient versioned.Interface, devNs string, kind string, name string, ...) error
- func EnsureNamespaceCreated(kubeClient kubernetes.Interface, name string, labels map[string]string, ...) error
- func EnvironmentMatches(env *v1.Environment, filter *v1.EnvironmentFilter) bool
- func EnvironmentMatchesAny(env *v1.Environment, filters []v1.EnvironmentFilter) bool
- func ExtensionOwnerRef(ext *jenkinsv1.Extension) metav1.OwnerReference
- func ExtractDomainValue(data map[string]string) (string, error)
- func FailedPromote(p *v1.PromoteActivityStep) error
- func FailedPromotionPullRequest(a *v1.PipelineActivity, s *v1.PipelineActivityStep, ps *v1.PromoteActivityStep, ...) error
- func FailedPromotionUpdate(a *v1.PipelineActivity, s *v1.PipelineActivityStep, ps *v1.PromoteActivityStep, ...) error
- func GenerateBuildNumber(activities typev1.PipelineActivityInterface, pipelines []*v1.PipelineActivity, ...) (string, *v1.PipelineActivity, error)
- func GetAdminNamespace(kubeClient kubernetes.Interface, teamNs string) (string, error)
- func GetAppName(name string, namespaces ...string) string
- func GetCommitSha(r *metav1.ObjectMeta) string
- func GetCommitURL(r *metav1.ObjectMeta) string
- func GetConfigMap(client kubernetes.Interface, ns string, name string) (*v1.ConfigMap, error)
- func GetConfigMapData(client kubernetes.Interface, name, ns string) (map[string]string, error)
- func GetConfigMaps(kubeClient kubernetes.Interface, ns string) (map[string]*v1.ConfigMap, []string, error)
- func GetCurrentDomain(client kubernetes.Interface, ns string) (string, error)
- func GetDeploymentByRepo(client kubernetes.Interface, ns string, repoName string) (*v1beta1.Deployment, error)
- func GetDeploymentNames(client kubernetes.Interface, ns string, filter string) ([]string, error)
- func GetDeploymentPods(client kubernetes.Interface, name, namespace string) ([]v1.Pod, error)
- func GetDeployments(kubeClient kubernetes.Interface, ns string) (map[string]v1beta1.Deployment, error)
- func GetDevEnvGitOwner(jxClient versioned.Interface) (string, error)
- func GetDevEnvironment(jxClient versioned.Interface, ns string) (*v1.Environment, error)
- func GetDevNamespace(kubeClient kubernetes.Interface, ns string) (string, string, error)
- func GetDevPodNames(client kubernetes.Interface, ns string, username string) ([]string, map[string]*v1.Pod, error)
- func GetEditAppName(name string) string
- func GetEditEnvironmentNamespace(jxClient versioned.Interface, ns string) (string, error)
- func GetEnrichedDevEnvironment(kubeClient kubernetes.Interface, jxClient versioned.Interface, ns string) (*v1.Environment, error)
- func GetEnvVar(container *corev1.Container, name string) *corev1.EnvVar
- func GetEnvironment(jxClient versioned.Interface, ns string, name string) (*v1.Environment, error)
- func GetEnvironmentNames(jxClient versioned.Interface, ns string) ([]string, error)
- func GetEnvironmentNamespace(jxClient versioned.Interface, ns, environment string) (string, error)
- func GetEnvironmentRoles(jxClient versioned.Interface, ns string) (map[string]*v1.EnvironmentRoleBinding, []string, error)
- func GetEnvironments(jxClient versioned.Interface, ns string) (map[string]*v1.Environment, []string, error)
- func GetEnvironmentsByPrURL(jxClient versioned.Interface, ns string, prURL string) (*v1.Environment, error)
- func GetFilteredEnvironmentNames(jxClient versioned.Interface, ns string, ...) ([]string, error)
- func GetGitServiceKind(jxClient versioned.Interface, kubeClient kubernetes.Interface, devNs string, ...) (string, error)
- func GetIngress(client kubernetes.Interface, ns, name string) (string, error)
- func GetName(r *metav1.ObjectMeta) string
- func GetOrCreateRelease(jxClient versioned.Interface, ns string, release *v1.Release) (*v1.Release, error)
- func GetOrCreateStage(a *v1.PipelineActivity, stageName string) (*v1.PipelineActivityStep, *v1.StageActivityStep, bool)
- func GetOrderedEnvironments(jxClient versioned.Interface, ns string) (map[string]*v1.Environment, []string, error)
- func GetOrderedReleases(jxClient versioned.Interface, ns string, filter string) ([]v1.Release, error)
- func GetPendingTeams(jxClient versioned.Interface, ns string) (map[string]*v1.Team, []string, error)
- func GetPodCondition(status *v1.PodStatus, conditionType v1.PodConditionType) (int, *v1.PodCondition)
- func GetPodMetrics(client *metricsclient.Clientset, ns string) (*metricsv1beta1.PodMetricsList, error)
- func GetPodNames(client kubernetes.Interface, ns string, filter string) ([]string, error)
- func GetPodReadyCondition(status v1.PodStatus) *v1.PodCondition
- func GetPodRestarts(pod *v1.Pod) int32
- func GetPodVersion(pod *corev1.Pod, appName string) string
- func GetPods(client kubernetes.Interface, ns string, filter string) ([]string, map[string]*v1.Pod, error)
- func GetPodsWithLabels(client kubernetes.Interface, ns string, selector string) ([]string, map[string]*v1.Pod, error)
- func GetPreviewEnvironmentReleaseName(env *v1.Environment) string
- func GetQuickstartLocations(jxClient versioned.Interface, ns string) ([]v1.QuickStartLocation, error)
- func GetReadyPodNames(client kubernetes.Interface, ns string, filter string) ([]string, error)
- func GetSecrets(kubeClient kubernetes.Interface, ns string) (map[string]*v1.Secret, []string, error)
- func GetServiceKindFromSecrets(kubeClient kubernetes.Interface, ns string, gitServiceURL string) (string, error)
- func GetTeamRoles(kubeClient kubernetes.Interface, ns string) (map[string]*rbacv1.Role, []string, error)
- func GetTeams(kubeClient kubernetes.Interface) ([]*corev1.Namespace, []string, error)
- func GetUserRoles(jxClient versioned.Interface, ns string, userKind string, userName string) ([]string, error)
- func GetVersion(r *metav1.ObjectMeta) string
- func GetVolume(volumes *[]corev1.Volume, name string) *corev1.Volume
- func GetVolumeMount(volumenMounts *[]corev1.VolumeMount, name string) *corev1.VolumeMount
- func HasInitContainerStarted(pod *v1.Pod, idx int) bool
- func IsClusterRole(kubeClient kubernetes.Interface, name string) bool
- func IsClusterRoleBinding(kubeClient kubernetes.Interface, name string) bool
- func IsDaemonSetExists(client kubernetes.Interface, name, namespace string) (bool, error)
- func IsDeploymentRunning(client kubernetes.Interface, name, namespace string) (bool, error)
- func IsJobFinished(job *batchv1.Job) bool
- func IsJobSucceeded(job *batchv1.Job) bool
- func IsPodReady(pod *v1.Pod) bool
- func IsPodReadyConditionTrue(status v1.PodStatus) bool
- func IsPreviewEnvironment(env *v1.Environment) bool
- func IsProwEnabled(kubeClient kubernetes.Interface, ns string) (bool, error)
- func IsResourceVersionNewer(v1 string, v2 string) bool
- func ModifyNamespace(out io.Writer, dir string, env *v1.Environment, git gits.Gitter) error
- func NewPermanentEnvironment(name string) *v1.Environment
- func NewPermanentEnvironmentWithGit(name string, gitUrl string) *v1.Environment
- func NewPreviewEnvironment(name string) *v1.Environment
- func ParseXml(xml string) (*etree.Document, string, error)
- func PickEnvironment(envNames []string, defaultEnv string, in terminal.FileReader, ...) (string, error)
- func PodOwnerRef(pod *corev1.Pod) metav1.OwnerReference
- func PodRequestsAndLimits(pod *v1.Pod) (reqs map[v1.ResourceName]resource.Quantity, ...)
- func PodStatus(pod *v1.Pod) string
- func ReadInstallValues(kubeClient kubernetes.Interface, namespace string) (map[string]string, error)
- func ReadRegion(kubeClient kubernetes.Interface, namespace string) (string, error)
- func RegisterAllCRDs(apiClient apiextensionsclientset.Interface) error
- func RegisterAppCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterBuildPackCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterCRD(apiClient apiextensionsclientset.Interface, name string, ...) error
- func RegisterCommitStatusCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterEnvironmentCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterEnvironmentRoleBindingCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterExtensionCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterGitServiceCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterPipelineActivityCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterPluginCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterReleaseCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterSourceRepositoryCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterTeamCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterUserCRD(apiClient apiextensionsclientset.Interface) error
- func RegisterWorkflowCRD(apiClient apiextensionsclientset.Interface) error
- func RememberInstallValues(kubeClient kubernetes.Interface, namespace string, values map[string]string) error
- func RememberRegion(kubeClient kubernetes.Interface, namespace string, region string) error
- func ReplaceMakeVariable(lines []string, name string, value string) error
- func RoleBindingKubeSystemYaml(user string) string
- func RoleBindings(client kubernetes.Interface, namespace string) (string, error)
- func RoleKubeSystemYaml(user string) string
- func SaveAsConfigMap(c kubernetes.Interface, configMapName string, ns string, obj interface{}) (*v1.ConfigMap, error)
- func Server(config *api.Config, context *api.Context) string
- func ServiceOwnerRef(svc *corev1.Service) metav1.OwnerReference
- func SetAdminNamespace(kubeClient kubernetes.Interface, teamNs string, adminNs string) error
- func SortEnvironments(environments []v1.Environment)
- func SortListWatchByName(listWatch *cache.ListWatch)
- func SortReleases(releases []v1.Release)
- func SortRuntimeObjectsByName(objects []runtime.Object)
- func StartPromote(p *v1.PromoteActivityStep) error
- func StartPromotionPullRequest(a *v1.PipelineActivity, s *v1.PipelineActivityStep, ps *v1.PromoteActivityStep, ...) error
- func StartPromotionUpdate(a *v1.PipelineActivity, s *v1.PipelineActivityStep, ps *v1.PromoteActivityStep, ...) error
- func ToMetaTime(t *time.Time) *metav1.Time
- func ToValidName(name string) string
- func ToValidNameWithDots(name string) string
- func UpdateJenkinsGitServers(cm *corev1.ConfigMap, server *auth.AuthServer, userAuth *auth.UserAuth, ...) (bool, error)
- func UpdateUserRoles(kubeClient kubernetes.Interface, jxClient versioned.Interface, ns string, ...) error
- func ValidNameOption(option string, value string) error
- func ValidSubDomainOption(option string, value string) error
- func ValidateEnvironmentDoesNotExist(jxClient versioned.Interface, ns string, str string) error
- func ValidateName(val interface{}) error
- func ValidateSubDomain(val interface{}) error
- func WaitForAllDeploymentsToBeReady(client kubernetes.Interface, namespace string, timeoutPerDeploy time.Duration) error
- func WaitForDeploymentToBeCreatedAndReady(client kubernetes.Interface, name, namespace string, ...) error
- func WaitForDeploymentToBeReady(client kubernetes.Interface, name, namespace string, timeout time.Duration) error
- func WaitForJobToSucceeded(client kubernetes.Interface, namespace, jobName string, timeout time.Duration) error
- func WaitForJobToTerminate(client kubernetes.Interface, namespace, jobName string, timeout time.Duration) error
- func WaitForPodNameToBeReady(client kubernetes.Interface, namespace string, name string, ...) error
- func WaitForPodToBeReady(client kubernetes.Interface, selector labels.Selector, namespace string, ...) error
- type ByName
- type ByOrder
- type ClusterStatus
- func (clusterStatus *ClusterStatus) AverageCpuPercent() int
- func (clusterStatus *ClusterStatus) AverageMemPercent() int
- func (clusterStatus *ClusterStatus) CheckResource() string
- func (clusterStatus *ClusterStatus) Info() string
- func (clusterStatus *ClusterStatus) MinimumResourceLimit() int
- func (clusterStatus *ClusterStatus) NodeCount() int
- type EnvironmentNamespaceCache
- type HeapterConfig
- type IngressConfig
- type JXInstallConfig
- type KubeConfig
- type Kuber
- type NodeStatus
- type PatchRow
- type PipelineActivityKey
- type PipelineDetails
- type PipelineID
- type PipelineNamespaceCache
- type PromotePullRequestFn
- type PromoteStepActivityKey
- func (k *PromoteStepActivityKey) GetOrCreatePreview(jxClient versioned.Interface, ns string) (*v1.PipelineActivity, *v1.PipelineActivityStep, *v1.PreviewActivityStep, bool, ...)
- func (k *PromoteStepActivityKey) GetOrCreatePromote(jxClient versioned.Interface, ns string) (*v1.PipelineActivity, *v1.PipelineActivityStep, *v1.PromoteActivityStep, bool, ...)
- func (k *PromoteStepActivityKey) GetOrCreatePromotePullRequest(jxClient versioned.Interface, ns string) (*v1.PipelineActivity, *v1.PipelineActivityStep, *v1.PromoteActivityStep, ...)
- func (k *PromoteStepActivityKey) GetOrCreatePromoteUpdate(jxClient versioned.Interface, ns string) (*v1.PipelineActivity, *v1.PipelineActivityStep, *v1.PromoteActivityStep, ...)
- func (k *PromoteStepActivityKey) OnPromotePullRequest(jxClient versioned.Interface, ns string, fn PromotePullRequestFn) error
- func (k *PromoteStepActivityKey) OnPromoteUpdate(jxClient versioned.Interface, ns string, fn PromoteUpdateFn) error
- type PromoteUpdateFn
- type ReleaseOrder
- type SourceRepoer
- type SourceRepositoryService
- func (service *SourceRepositoryService) CreateOrUpdateSourceRepository(name, organisation, providerURL string) error
- func (service *SourceRepositoryService) CreateSourceRepository(name, organisation, providerURL string) error
- func (service *SourceRepositoryService) DeleteSourceRepository(name string) error
- func (service *SourceRepositoryService) GetSourceRepository(name string) (*v1.SourceRepository, error)
- func (service *SourceRepositoryService) ListSourceRepositories() (*v1.SourceRepositoryList, error)
Constants ¶
const ( // DefaultNamespace the standard namespace for Jenkins X DefaultNamespace = "jx" // PodNamespaceFile the file path and name for pod namespace PodNamespaceFile = "/var/run/secrets/kubernetes.io/serviceaccount/namespace" )
const ( // ChartAmbassador the default chart for ambassador ChartAmbassador = "datawire/ambassador" // ChartAnchore the default chart for the Anchore plugin ChartAnchore = "stable/anchore-engine" // ChartCloudBees the default name of the CloudBees addon chart ChartCloudBees = "cb/core" // ChartExposecontrollerService the default name of the Exposecontroller Service chart for Edit environments ChartExposecontrollerService = "jenkins-x/exposecontroller-service" // ChartAnchore the default chart for the Anchore plugin ChartPipelineEvent = "jenkins-x/pipeline-events-addon" // ChartGitea the default name of the gitea chart ChartGitea = "jenkins-x/gitea" // ChartIstio the default chart for the Istio chart ChartIstio = "install/kubernetes/helm/istio" // ChartKubeless the default chart for kubeless ChartKubeless = "incubator/kubeless" // ChartProw the default chart for Prow ChartProw = "jenkins-x/prow" // ChartKnative the default chart for knative ChartKnativeBuild = "jenkins-x/knative-build" ChartBuildTemplates = "jenkins-x/jx-build-templates" DefaultProwReleaseName = "jx-prow" DefaultKnativeBuildReleaseName = "knative-build" DefaultBuildTemplatesReleaseName = "jx-build-templates" // Charts Single Sign-On addon ChartSsoOperator = "jenkinsxio/sso-operator" DefaultSsoOperatorReleaseName = "jx-sso-operator" ChartSsoDex = "jenkinsxio/dex" DefaultSsoDexReleaseName = "jx-sso-dex" // ChartVaultOperator the default chart for vault opeator ChartVaultOperator = "jenkinsxio/vault-operator" DefaultVaultOperatorReleaseName = "vault-operator" // ServiceJenkins is the name of the Jenkins Service ServiceJenkins = "jenkins" // SecretJenkins is the name of the Jenkins secret SecretJenkins = "jenkins" // ServiceCloudBees the service name of the CloudBees app for Kubernetes ServiceCloudBees = "cb-core" // ServiceChartMuseum the service name of the Helm ChartMuseum service ServiceChartMuseum = "jenkins-x-chartmuseum" // ServiceKubernetesDashboard the Kubernetes dashboard ServiceKubernetesDashboard = "jenkins-x-kubernetes-dashboard" // SecretJenkinsChartMuseum the chart museum secret SecretJenkinsChartMuseum = "jenkins-x-chartmuseum" // SecretJenkinsReleaseGPG the GPG secrets for doing releases SecretJenkinsReleaseGPG = "jenkins-release-gpg" // SecretJenkinsPipelinePrefix prefix for a jenkins pipeline secret name SecretJenkinsPipelinePrefix = "jx-pipeline-" // SecretJenkinsPipelineAddonCredentials the chat credentials secret SecretJenkinsPipelineAddonCredentials = "jx-pipeline-addon-" // SecretJenkinsPipelineChatCredentials the chat credentials secret SecretJenkinsPipelineChatCredentials = "jx-pipeline-chat-" // SecretJenkinsPipelineGitCredentials the git credentials secret SecretJenkinsPipelineGitCredentials = "jx-pipeline-git-" // SecretJenkinsPipelineIssueCredentials the issue tracker credentials secret SecretJenkinsPipelineIssueCredentials = "jx-pipeline-issues-" // ConfigMapExposecontroller the name of the ConfigMap with the Exposecontroller configuration ConfigMapExposecontroller = "exposecontroller" // ConfigMapIngressConfig the new name of the ConfigMap with the Exposecontroller configuration ConfigMapIngressConfig = "ingress-config" // ConfigMapJenkinsX the name of the ConfigMap with the Jenkins configuration ConfigMapJenkinsX = "jenkins" // ConfigMapJenkinsPodTemplates is the ConfigMap containing all the Pod Templates available ConfigMapJenkinsPodTemplates = "jenkins-x-pod-templates" // ConfigMapJenkinsTeamController is the ConfigMap containing the TeamController config files ConfigMapJenkinsTeamController = "jenkins-x-team-controller" // ConfigMapJenkinsDockerRegistry is the ConfigMap containing the Docker Registry configuration ConfigMapJenkinsDockerRegistry = "jenkins-x-docker-registry" // ConfigMapNameJXInstallConfig is the ConfigMap containing the jx installation's CA and server url. Used by jx login ConfigMapNameJXInstallConfig = "jx-install-config" // LocalHelmRepoName is the default name of the local chart repository where CI/CD releases go to LocalHelmRepoName = "releases" // DeploymentExposecontrollerService the name of the Deployment for the Exposecontroller Service DeploymentExposecontrollerService = "exposecontroller-service" // DeploymentProwBuild the name of the Deployment for the Prow webhook engine DeploymentProwBuild = "prow-build" DefaultEnvironmentGitRepoURL = "https://github.com/jenkins-x/default-environment-charts.git" DefaultOrganisationGitRepoURL = "https://github.com/jenkins-x/default-organisation.git" // AnnotationTitle the human readable name of a resource which can include mixed case, spaces and punctuation AnnotationTitle = "title" // AnnotationDescription the tooltip / texual description of an resource AnnotationDescription = "description" // LabelKind to indicate the kind of auth, such as Git or Issue LabelKind = "jenkins.io/kind" // ValueKindAddon an addon auth secret/credentials ValueKindAddon = "addon" // ValueKindChat a chat auth secret/credentials ValueKindChat = "chat" // ValueKindGit a git auth secret/credentials ValueKindGit = "git" // ValueKindIssue an issue auth secret/credentials ValueKindIssue = "issue" // ValueKindCVE an addon auth secret/credentials ValueKindCVE = "cve" // ValueKindCVE an addon auth PipelineEvent ValueKindPipelineEvent = "PipelineEvent" // ValueKindEnvironmentRole to indicate a Role which maps to an EnvironmentRoleBinding ValueKindEnvironmentRole = "EnvironmentRole" // ValueKindCVE an addon auth PipelineEvent ValueKindRelease = "Release" // ValueKindEditNamespace for edit namespace ValueKindEditNamespace = "editspace" // LabelServiceKind the label to indicate the auto Server's Kind LabelServiceKind = "jenkins.io/service-kind" // LabelCreatedBy indicates the service that created this resource LabelCreatedBy = "jenkins.io/created-by" // LabelPodTemplate the name of the pod template for a DevPod LabelPodTemplate = "jenkins.io/pod_template" // LabelDevPodName the name of a dev pod LabelDevPodName = "jenkins.io/devpod" // LabelDevPodUsername the user name owner of the DeVPod LabelDevPodUsername = "jenkins.io/devpod_user" // LabelUsername the user name owner of a namespace or resource LabelUsername = "jenkins.io/user" // ValueCreatedByJX for resources created by the Jenkins X CLI ValueCreatedByJX = "jx" // LabelCredentialsType the kind of jenkins credential for a secret LabelCredentialsType = "jenkins.io/credentials-type" // ValueCredentialTypeUsernamePassword for user password credential secrets ValueCredentialTypeUsernamePassword = "usernamePassword" // ValueCredentialTypeSecretFile for secret files ValueCredentialTypeSecretFile = "secretFile" // LabelTeam indicates the team name an environment belongs to LabelTeam = "team" // LabelEnvironment indicates the name of the environment LabelEnvironment = "env" // LabelValueDevEnvironment is the value of the LabelTeam label for Development environments (system namespace) LabelValueDevEnvironment = "dev" // LabelJobKind the kind of job LabelJobKind = "jenkins.io/job-kind" // ValueJobKindPostPreview ValueJobKindPostPreview = "post-preview-step" // AnnotationURL indicates a service/server's URL AnnotationURL = "jenkins.io/url" // AnnotationExpose used to expose service using exposecontroller AnnotationExpose = "fabric8.io/expose" // AnnotationIngress tells exposecontroller to annotate generated ingress rule with values AnnotationIngress = "fabric8.io/ingress.annotations" // AnnotationExposePort indicates to the exposecontroller which service port to expose //in case a service has multiple prots AnnotationExposePort = "fabric8.io/exposePort" // AnnotationName indicates a service/server's textual name (can be mixed case, contain spaces unlike Kubernetes resources) AnnotationName = "jenkins.io/name" // AnnotationCredentialsDescription the description text for a Credential on a Secret AnnotationCredentialsDescription = "jenkins.io/credentials-description" // AnnotationWorkingDir the working directory, such as for a DevPod AnnotationWorkingDir = "jenkins.io/working-dir" // AnnotationLocalDir the local directory that is sync'd to the DevPod AnnotationLocalDir = "jenkins.io/local-dir" // AnnotationIsDefaultStorageClass used to indicate a storageclass is default AnnotationIsDefaultStorageClass = "storageclass.kubernetes.io/is-default-class" // AnnotationReleaseName is the name of the annotation that stores the release name in the preview environment AnnotationReleaseName = "jenkins.io/chart-release" // SecretDataUsername the username in a Secret/Credentials SecretDataUsername = "username" // SecretDataPassword the password in a Secret/Credentials SecretDataPassword = "password" // SecretBasicAuth the name for the Jenkins X basic auth secret SecretBasicAuth = "jx-basic-auth" JenkinsAdminApiToken = "jenkins-admin-api-token" JenkinsAdminUserField = "jenkins-admin-user" JenkinsBearTokenField = "jenkins-bearer-token" AUTH = "auth" // KubeProvider stores the kubernetes provider used to create the cluster or install KubeProvider = "kubeProvider" // Region stores the cloud region the cluster is installed on Region = "region" // Zone stores the cloud zone of the install Zone = "zone" // ProjectID stores the project ID used to install the cluster (a GKE thing mostly) ProjectID = "projectID" // ClusterName stores the name of the cluster that is created ClusterName = "clusterName" )
const ( CertmanagerCertificateProd = "letsencrypt-prod" CertmanagerCertificateStaging = "letsencrypt-staging" CertmanagerIssuerProd = "letsencrypt-prod" CertmanagerIssuerStaging = "letsencrypt-staging" )
const ( IngressConfigConfigmap = "ingress-config" Domain = "domain" Email = "email" TLS = "tls" Issuer = "issuer" Exposer = "exposer" )
const ( BitbucketConfigMapKey = "com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketEndpointConfiguration.xml" GiteaConfigMapKey = "org.jenkinsci.plugin.gitea.servers.GiteaServers.xml" GithubConfigMapKey = "org.jenkinsci.plugins.github_branch_source.GitHubConfiguration.xml" )
const ( // ClassificationLogs stores build logs ClassificationLogs = "logs" // ClassificationTest stores test results/rports ClassificationTests = "tests" // ClassificationCoverage stores code coverage results/reports ClassificationCoverage = "coverage" )
const ( OptionName = "name" OptionNamespace = "namespace" )
const DEFAULT_APPS_REPOSITORY = "http://chartmuseum.jenkins-x.io"
Variables ¶
var ( AddonCharts = map[string]string{ "ambassador": ChartAmbassador, "anchore": ChartAnchore, "cb": ChartCloudBees, "gitea": ChartGitea, "istio": ChartIstio, "kubeless": ChartKubeless, "prometheus": "stable/prometheus", "grafana": "stable/grafana", "jx-build-templates": "jenkins-x/jx-build-templates", DefaultProwReleaseName: ChartProw, DefaultKnativeBuildReleaseName: ChartKnativeBuild, DefaultSsoDexReleaseName: ChartSsoDex, DefaultSsoOperatorReleaseName: ChartSsoOperator, DefaultVaultOperatorReleaseName: ChartVaultOperator, } AddonServices = map[string]string{ "anchore": "anchore-anchore-engine", "pipeline-events": "jx-pipeline-events-elasticsearch-client", "grafana": "grafana", } )
var ( // Classifications the common classification names Classifications = []string{ ClassificationCoverage, ClassificationTests, ClassificationLogs, } // ClassificationValues the classification values as a string ClassificationValues = strings.Join(Classifications, ", ") )
var ( DefaultQuickstartLocations = []v1.QuickStartLocation{ { GitURL: gits.GitHubURL, GitKind: gits.KindGitHub, Owner: "jenkins-x-quickstarts", Includes: []string{"*"}, Excludes: []string{"WIP-*"}, }, } )
Functions ¶
func AddUserToConfig ¶
AddUserToConfig adds the given user to the config
func CertificateAuthorityData ¶
CertificateAuthorityData returns the certificate authority data for the given context
func CleanCertmanagerResources ¶
func CleanCertmanagerResources(c kubernetes.Interface, ns string, config IngressConfig) error
func ClusterRoleBindingYaml ¶
func ClusterRoleYaml ¶
func CompletePromote ¶
func CompletePromote(p *v1.PromoteActivityStep) error
func CompletePromotionPullRequest ¶
func CompletePromotionPullRequest(a *v1.PipelineActivity, s *v1.PipelineActivityStep, ps *v1.PromoteActivityStep, p *v1.PromotePullRequestStep) error
func CompletePromotionUpdate ¶
func CompletePromotionUpdate(a *v1.PipelineActivity, s *v1.PipelineActivityStep, ps *v1.PromoteActivityStep, p *v1.PromoteUpdateStep) error
func CreateClusterRole ¶
func CreateClusterRole(kubeClient kubernetes.Interface, namesapce string, name string, apiGroups []string, resources []string, verbs []string) error
CreateClusterRole creates a new cluster role
func CreateClusterRoleBinding ¶
func CreateClusterRoleBinding(kubeClient kubernetes.Interface, namespace string, name string, serviceAccountName string, clusterRoleName string) error
CreateClusterRoleBinding creates acluster role binding in a given namespace for a service account
func CreateDefaultDevEnvironment ¶
func CreateDefaultDevEnvironment(ns string) *v1.Environment
CreateDefaultDevEnvironment creates a default development environment
func CreateEnvGitRepository ¶
func CreateEnvGitRepository(batchMode bool, authConfigSvc auth.ConfigService, devEnv *v1.Environment, data *v1.Environment, config *v1.Environment, forkEnvGitURL string, envDir string, gitRepoOptions *gits.GitRepositoryOptions, helmValues config.HelmValuesConfig, prefix string, git gits.Gitter, in terminal.FileReader, out terminal.FileWriter, errOut io.Writer) (*gits.GitRepository, gits.GitProvider, error)
CreateEnvGitRepository creates the git repository for the given Environment
func CreateEnvironmentSurvey ¶
func CreateEnvironmentSurvey(batchMode bool, authConfigSvc auth.ConfigService, devEnv *v1.Environment, data *v1.Environment, config *v1.Environment, forkEnvGitURL string, ns string, jxClient versioned.Interface, kubeClient kubernetes.Interface, envDir string, gitRepoOptions *gits.GitRepositoryOptions, helmValues config.HelmValuesConfig, prefix string, git gits.Gitter, in terminal.FileReader, out terminal.FileWriter, errOut io.Writer) (gits.GitProvider, error)
CreateEnvironmentSurvey creates a Survey on the given environment using the default options from the CLI
func CreateKubeClient ¶
func CreateKubeClient(kubeconfig *string) (kubernetes.Interface, error)
CreateKubeClient creates a new Kubernetes client
func CreatePatchBytes ¶
CreatePatchBytes creates a kubernetes PATCH block
func CreateTeam ¶
CreateTeam creates a new default Team
func CurrentCluster ¶
CurrentCluster returns the current cluster
func CurrentContext ¶
CurrentContext returns the current context
func CurrentContextName ¶
CurrentContextName returns the current context name
func CurrentNamespace ¶
CurrentNamespace returns the current namespace in the context
func CurrentServer ¶
CurrentServer returns the current context's server
func DefaultModifyConfigMap ¶
func DefaultModifyConfigMap(kubeClient kubernetes.Interface, ns string, name string, fn func(env *v1.ConfigMap) error, defaultConfigMap *v1.ConfigMap) (*v1.ConfigMap, error)
DefaultModifyConfigMap default implementation of a function to modify
func DefaultModifySecret ¶
func DefaultModifySecret(kubeClient kubernetes.Interface, ns string, name string, fn func(env *v1.Secret) error, defaultSecret *v1.Secret) (*v1.Secret, error)
DefaultModifySecret default implementation of a function to modify
func DeleteClusterRole ¶
func DeleteClusterRole(kubeClient kubernetes.Interface, name string) error
DeleteClusterRole deletes a cluster role if exists
func DeleteClusterRoleBinding ¶
func DeleteClusterRoleBinding(kubeClient kubernetes.Interface, name string) error
DeleteClusterRoleBinding deltes a cluster role binding
func DeleteIngress ¶
func DeleteIngress(client kubernetes.Interface, ns, name string) error
DeleteIngress removes an ingress by name
func DeleteTeam ¶
DeleteTeam deletes the team resource but does not uninstall the underlying namespaces
func DeploymentPodCount ¶
func DeploymentPodCount(client kubernetes.Interface, name, namespace string) (int, error)
func EmailToK8sID ¶
EmailToK8sID converts the provided email address to a valid Kubernetes resource name, converting the @ to a .
func EnableInsecureRegistry ¶
EnableInsecureRegistry appends the Docker Registry
func EnsureDevEnvironmentSetup ¶
EnsureDevEnvironmentSetup ensures that the Environment is created in the given namespace
func EnsureDevNamespaceCreatedWithoutEnvironment ¶
func EnsureDevNamespaceCreatedWithoutEnvironment(kubeClient kubernetes.Interface, ns string) error
EnsureDevNamespaceCreatedWithoutEnvironment ensures that there is a development namespace created
func EnsureEditEnvironmentSetup ¶
func EnsureEditEnvironmentSetup(kubeClient kubernetes.Interface, jxClient versioned.Interface, ns string, username string) (*v1.Environment, error)
EnsureEditEnvironmentSetup ensures that the Environment is created in the given namespace
func EnsureEnvironmentNamespaceSetup ¶
func EnsureEnvironmentNamespaceSetup(kubeClient kubernetes.Interface, jxClient versioned.Interface, env *v1.Environment, ns string) error
func EnsureGitServiceExistsForHost ¶
func EnsureGitServiceExistsForHost(jxClient versioned.Interface, devNs string, kind string, name string, gitUrl string, out io.Writer) error
EnsureGitServiceExistsForHost ensures that there is a GitService CRD for the given host and kind
func EnsureNamespaceCreated ¶
func EnsureNamespaceCreated(kubeClient kubernetes.Interface, name string, labels map[string]string, annotations map[string]string) error
Ensure that the namespace exists for the given name
func EnvironmentMatches ¶
func EnvironmentMatches(env *v1.Environment, filter *v1.EnvironmentFilter) bool
EnvironmentMatches returns true if the environment matches the given filter
func EnvironmentMatchesAny ¶
func EnvironmentMatchesAny(env *v1.Environment, filters []v1.EnvironmentFilter) bool
EnvironmentMatchesAny returns true if the list of filters is empty or one of the filters matches the given environment
func ExtensionOwnerRef ¶
func ExtensionOwnerRef(ext *jenkinsv1.Extension) metav1.OwnerReference
func ExtractDomainValue ¶
ExtractDomainValue returns the domain value
func FailedPromote ¶
func FailedPromote(p *v1.PromoteActivityStep) error
func FailedPromotionPullRequest ¶
func FailedPromotionPullRequest(a *v1.PipelineActivity, s *v1.PipelineActivityStep, ps *v1.PromoteActivityStep, p *v1.PromotePullRequestStep) error
func FailedPromotionUpdate ¶
func FailedPromotionUpdate(a *v1.PipelineActivity, s *v1.PipelineActivityStep, ps *v1.PromoteActivityStep, p *v1.PromoteUpdateStep) error
func GenerateBuildNumber ¶
func GenerateBuildNumber(activities typev1.PipelineActivityInterface, pipelines []*v1.PipelineActivity, pn PipelineID) (string, *v1.PipelineActivity, error)
GenerateBuildNumber generates a new build number for the given pipeline
func GetAdminNamespace ¶
func GetAdminNamespace(kubeClient kubernetes.Interface, teamNs string) (string, error)
GetAdminNamespace tries to find the admin namespace that corresponds to this team. in other words this is the namespace where the team CRD was initially created when this team was created, or the current team namespace for the case where this team was just created with a standalone `jx install`
func GetAppName ¶
GetAppName returns the app name
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 GetConfigMap ¶
GetConfigMap gets a named configmap
func GetConfigMapData ¶
GetConfigMapData gets config map data
func GetConfigMaps ¶
func GetConfigMaps(kubeClient kubernetes.Interface, ns string) (map[string]*v1.ConfigMap, []string, error)
GetConfigMaps returns a map of the ConfigMaps along with a sorted list of names
func GetCurrentDomain ¶
func GetCurrentDomain(client kubernetes.Interface, ns string) (string, error)
GetCurrentDomain gets the current domain
func GetDeploymentByRepo ¶
func GetDeploymentByRepo(client kubernetes.Interface, ns string, repoName string) (*v1beta1.Deployment, error)
func GetDeploymentNames ¶
func GetDeploymentPods ¶
func GetDeployments ¶
func GetDeployments(kubeClient kubernetes.Interface, ns string) (map[string]v1beta1.Deployment, error)
func GetDevEnvGitOwner ¶
GetDevEnvGitOwner gets the default GitHub owner/organisation to use for Environment repos. This takes the setting from the 'jx' Dev Env to get the one that was selected at installation time.
func GetDevEnvironment ¶
GetDevEnvironment returns the current development environment using the jxClient for the given ns. If the Dev Environment cannot be found, returns nil Environment (rather than an error). A non-nil error is only returned if there is an error fetching the Dev Environment.
func GetDevNamespace ¶
GetDevNamespace returns the developer environment namespace which is the namespace that contains the Environments and the developer tools like Jenkins
func GetDevPodNames ¶
func GetDevPodNames(client kubernetes.Interface, ns string, username string) ([]string, map[string]*v1.Pod, error)
GetDevPodNames returns the users dev pod names. If username is blank, all devpod names will be returned
func GetEditAppName ¶
func GetEditEnvironmentNamespace ¶
GetEditEnvironmentNamespace returns the namespace of the current users edit environment
func GetEnrichedDevEnvironment ¶
func GetEnrichedDevEnvironment(kubeClient kubernetes.Interface, jxClient versioned.Interface, ns string) (*v1.Environment, error)
GetEnrichedDevEnvironment lazily creates the dev namespace if it does not already exist and auto-detects the webhook engine if its not specified
func GetEnvironment ¶
GetEnvironment find an environment by name
func GetEnvironmentNames ¶
GetEnvironmentNames returns the sorted list of environment names
func GetEnvironmentNamespace ¶
GetEnvironments returns the namespace name for a given environment
func GetEnvironmentRoles ¶
func GetEnvironmentRoles(jxClient versioned.Interface, ns string) (map[string]*v1.EnvironmentRoleBinding, []string, error)
GetEnvironmentRoles returns all the environment role binding names and details
func GetEnvironments ¶
func GetEnvironments(jxClient versioned.Interface, ns string) (map[string]*v1.Environment, []string, error)
GetEnvironments returns a map of the environments along with a sorted list of names
func GetEnvironmentsByPrURL ¶
func GetEnvironmentsByPrURL(jxClient versioned.Interface, ns string, prURL string) (*v1.Environment, error)
GetEnvironmentsByPrURL find an environment by a pull request URL
func GetFilteredEnvironmentNames ¶
func GetFilteredEnvironmentNames(jxClient versioned.Interface, ns string, fn func(environment *v1.Environment) bool) ([]string, error)
GetFilteredEnvironmentNames returns the sorted list of environment names
func GetGitServiceKind ¶
func GetGitServiceKind(jxClient versioned.Interface, kubeClient kubernetes.Interface, devNs string, gitServiceURL string) (string, error)
GetGitServiceKind returns the kind of the given host if one can be found or ""
func GetIngress ¶
func GetIngress(client kubernetes.Interface, ns, name string) (string, error)
func GetOrCreateRelease ¶
func GetOrCreateRelease(jxClient versioned.Interface, ns string, release *v1.Release) (*v1.Release, error)
GetOrCreateRelease creates or updates the given release resource
func GetOrCreateStage ¶
func GetOrCreateStage(a *v1.PipelineActivity, stageName string) (*v1.PipelineActivityStep, *v1.StageActivityStep, bool)
GetOrCreateStage gets or creates the step for the given name
func GetOrderedEnvironments ¶
func GetOrderedEnvironments(jxClient versioned.Interface, ns string) (map[string]*v1.Environment, []string, error)
GetOrderedEnvironments returns a map of the environments along with the correctly ordered names
func GetOrderedReleases ¶
func GetOrderedReleases(jxClient versioned.Interface, ns string, filter string) ([]v1.Release, error)
GetOrderedReleases returns the releases sorted in newest release first
func GetPendingTeams ¶
func GetPendingTeams(jxClient versioned.Interface, ns string) (map[string]*v1.Team, []string, error)
GetPendingTeams returns the pending teams with the sorted order of names
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 GetPodMetrics ¶
func GetPodMetrics(client *metricsclient.Clientset, ns string) (*metricsv1beta1.PodMetricsList, error)
func GetPodNames ¶
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 GetPodRestarts ¶
GetPodRestars returns the number of restarts of a POD
func GetPodVersion ¶
GetPodVersion returns the version for the given app name
func GetPodsWithLabels ¶
func GetPreviewEnvironmentReleaseName ¶
func GetPreviewEnvironmentReleaseName(env *v1.Environment) string
GetPreviewEnvironmentReleaseName returns the (helm) release name for the given (preview) environment or the empty string is the environment is not a preview environment, or has no release name associated with it
func GetQuickstartLocations ¶
func GetQuickstartLocations(jxClient versioned.Interface, ns string) ([]v1.QuickStartLocation, error)
GetQuickstartLocations returns the current quickstart locations. If no locations are defined yet lets return the defaults
func GetReadyPodNames ¶
func GetSecrets ¶
func GetSecrets(kubeClient kubernetes.Interface, ns string) (map[string]*v1.Secret, []string, error)
GetSecrets returns a map of the Secrets along with a sorted list of names
func GetServiceKindFromSecrets ¶
func GetServiceKindFromSecrets(kubeClient kubernetes.Interface, ns string, gitServiceURL string) (string, error)
GetServiceKindFromSecrets gets the kind of service from secrets
func GetTeamRoles ¶
func GetTeamRoles(kubeClient kubernetes.Interface, ns string) (map[string]*rbacv1.Role, []string, error)
GetTeamRoles returns the roles for the given team dev namespace
func GetUserRoles ¶
func GetUserRoles(jxClient versioned.Interface, ns string, userKind string, userName string) ([]string, error)
UpdateUserRoles updates the EnvironmentRoleBinding values based on the given userRoles userKind is "User" or "ServiceAccount"
func GetVersion ¶
func GetVersion(r *metav1.ObjectMeta) string
GetVersion returns the version from the labels on the deployment if it can be deduced
func GetVolumeMount ¶
func GetVolumeMount(volumenMounts *[]corev1.VolumeMount, name string) *corev1.VolumeMount
func HasInitContainerStarted ¶
HasInitContainerStarted returns true if the given InitContainer has started running
func IsClusterRole ¶
func IsClusterRole(kubeClient kubernetes.Interface, name string) bool
IsClusterRole checks if a cluster role exists
func IsClusterRoleBinding ¶
func IsClusterRoleBinding(kubeClient kubernetes.Interface, name string) bool
IsClusterRoleBinding checks if the cluster role binding exists
func IsDaemonSetExists ¶
func IsDaemonSetExists(client kubernetes.Interface, name, namespace string) (bool, error)
func IsDeploymentRunning ¶
func IsDeploymentRunning(client kubernetes.Interface, name, namespace string) (bool, error)
func IsJobFinished ¶
IsJobFinished returns true if the job has completed
func IsJobSucceeded ¶
IsJobSucceeded returns true if the job completed and did not fail
func IsPodReady ¶
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 ¶
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 IsPreviewEnvironment ¶
func IsPreviewEnvironment(env *v1.Environment) bool
func IsProwEnabled ¶
func IsProwEnabled(kubeClient kubernetes.Interface, ns string) (bool, error)
IsProwEnabled returns true if Prow is enabled in the given development namespace
func IsResourceVersionNewer ¶
IsResourceVersionNewer returns true if the first resource version is newer than the second
func ModifyNamespace ¶
ModifyNamespace modifies the namespace
func NewPermanentEnvironment ¶
func NewPermanentEnvironment(name string) *v1.Environment
NewPermanentEnvironment creates a new permanent environment for testing
func NewPermanentEnvironmentWithGit ¶
func NewPermanentEnvironmentWithGit(name string, gitUrl string) *v1.Environment
NewPermanentEnvironment creates a new permanent environment for testing
func NewPreviewEnvironment ¶
func NewPreviewEnvironment(name string) *v1.Environment
NewPreviewEnvironment creates a new preview environment for testing
func PickEnvironment ¶
func PickEnvironment(envNames []string, defaultEnv string, in terminal.FileReader, out terminal.FileWriter, errOut io.Writer) (string, error)
func PodOwnerRef ¶
func PodOwnerRef(pod *corev1.Pod) metav1.OwnerReference
func PodRequestsAndLimits ¶
func PodRequestsAndLimits(pod *v1.Pod) (reqs map[v1.ResourceName]resource.Quantity, limits map[v1.ResourceName]resource.Quantity)
func ReadInstallValues ¶
func ReadInstallValues(kubeClient kubernetes.Interface, namespace string) (map[string]string, error)
ReadInstallValues reads the installed configuration values from the installation namespace
Empty map is returned if: - jx-install-config config map doesn't exist - kube client returns error on Config Map read operation
Error is returned if: - jx-install-config config map doesn't exist - kube client returns error on Config Map read operation
func ReadRegion ¶
func ReadRegion(kubeClient kubernetes.Interface, namespace string) (string, error)
ReadRegion allows to read cloud region from Config Map (jx-install-config). Region value is usually written using RememberRegion function.
Empty string is returned if: - region value doesn't exist - has empty value - jx-install-config config map doesn't exist - kube client returns error on Config Map read operation
Error is returned if: - jx-install-config config map doesn't exist - kube client returns error on Config Map read operation
func RegisterAllCRDs ¶
func RegisterAllCRDs(apiClient apiextensionsclientset.Interface) error
RegisterAllCRDs ensures that all Jenkins-X CRDs are registered
func RegisterAppCRD ¶
func RegisterAppCRD(apiClient apiextensionsclientset.Interface) error
RegisterAppCRD ensures that the CRD is registered for App
func RegisterBuildPackCRD ¶
func RegisterBuildPackCRD(apiClient apiextensionsclientset.Interface) error
RegisterBuildPackCRD ensures that the CRD is registered for BuildPack
func RegisterCRD ¶
func RegisterCRD(apiClient apiextensionsclientset.Interface, name string, names *v1beta1.CustomResourceDefinitionNames, columns []v1beta1.CustomResourceColumnDefinition, validation *v1beta1.CustomResourceValidation, groupName string) error
RegisterCRD allows new custom resources to be registered using apiClient under a particular name. Various forms of the name are provided using names. In Kubernetes 1.11 and later a custom display format for kubectl is used, which is specified using columns.
func RegisterCommitStatusCRD ¶
func RegisterCommitStatusCRD(apiClient apiextensionsclientset.Interface) error
RegisterCommitStatusCRD ensures that the CRD is registered for CommitStatus
func RegisterEnvironmentCRD ¶
func RegisterEnvironmentCRD(apiClient apiextensionsclientset.Interface) error
RegisterEnvironmentCRD ensures that the CRD is registered for Environments
func RegisterEnvironmentRoleBindingCRD ¶
func RegisterEnvironmentRoleBindingCRD(apiClient apiextensionsclientset.Interface) error
RegisterEnvironmentRoleBindingCRD ensures that the CRD is registered for Environments
func RegisterExtensionCRD ¶
func RegisterExtensionCRD(apiClient apiextensionsclientset.Interface) error
RegisterExtensionCRD ensures that the CRD is registered for Extension
func RegisterGitServiceCRD ¶
func RegisterGitServiceCRD(apiClient apiextensionsclientset.Interface) error
RegisterGitServiceCRD ensures that the CRD is registered for GitServices
func RegisterPipelineActivityCRD ¶
func RegisterPipelineActivityCRD(apiClient apiextensionsclientset.Interface) error
RegisterPipelineActivityCRD ensures that the CRD is registered for PipelineActivity
func RegisterPluginCRD ¶
func RegisterPluginCRD(apiClient apiextensionsclientset.Interface) error
RegisterPluginCRD ensures that the CRD is registered for Plugin
func RegisterReleaseCRD ¶
func RegisterReleaseCRD(apiClient apiextensionsclientset.Interface) error
RegisterReleaseCRD ensures that the CRD is registered for Release
func RegisterSourceRepositoryCRD ¶
func RegisterSourceRepositoryCRD(apiClient apiextensionsclientset.Interface) error
RegisterSourceRepositoryCRD ensures that the CRD is registered for Applications
func RegisterTeamCRD ¶
func RegisterTeamCRD(apiClient apiextensionsclientset.Interface) error
RegisterTeamCRD ensures that the CRD is registered for Team
func RegisterUserCRD ¶
func RegisterUserCRD(apiClient apiextensionsclientset.Interface) error
RegisterUserCRD ensures that the CRD is registered for User
func RegisterWorkflowCRD ¶
func RegisterWorkflowCRD(apiClient apiextensionsclientset.Interface) error
RegisterWorkflowCRD ensures that the CRD is registered for Environments
func RememberInstallValues ¶
func RememberInstallValues(kubeClient kubernetes.Interface, namespace string, values map[string]string) error
RememberInstallValues remembers any non-blank installation values in the Kubernetes Config Map (jx-install-config), so jx can access this information later. Usually executed when provisioning new Kubernetes cluster.
If jx-install-config config map doesn't exist, it will be created. If region value is already saved, it will be overridden by this function call.
func RememberRegion ¶
func RememberRegion(kubeClient kubernetes.Interface, namespace string, region string) error
RememberRegion remembers cloud providers region in Kubernetes Config Map (jx-install-config), so jx can access this information later. Usually executed when provisioning new Kubernetes cluster.
If jx-install-config config map doesn't exist, it will be created. If region value is already saved, it will be overridden by this function call.
func ReplaceMakeVariable ¶
ReplaceMakeVariable needs a description
func RoleBindings ¶
func RoleBindings(client kubernetes.Interface, namespace string) (string, error)
func RoleKubeSystemYaml ¶
func SaveAsConfigMap ¶
func SaveAsConfigMap(c kubernetes.Interface, configMapName string, ns string, obj interface{}) (*v1.ConfigMap, error)
SaveAsConfigMap to the specified namespace as a config map.
func ServiceOwnerRef ¶
func ServiceOwnerRef(svc *corev1.Service) metav1.OwnerReference
func SetAdminNamespace ¶
func SetAdminNamespace(kubeClient kubernetes.Interface, teamNs string, adminNs string) error
SetAdminNamespace annotates the given namespace with a backlink to the admin namespace. it does not make any changes if the current annotation points to the same admin namespace
func SortEnvironments ¶
func SortEnvironments(environments []v1.Environment)
func SortListWatchByName ¶
func SortReleases ¶
SortReleases sorts the releases in name order then latest version first
func StartPromote ¶
func StartPromote(p *v1.PromoteActivityStep) error
func StartPromotionPullRequest ¶
func StartPromotionPullRequest(a *v1.PipelineActivity, s *v1.PipelineActivityStep, ps *v1.PromoteActivityStep, p *v1.PromotePullRequestStep) error
func StartPromotionUpdate ¶
func StartPromotionUpdate(a *v1.PipelineActivity, s *v1.PipelineActivityStep, ps *v1.PromoteActivityStep, p *v1.PromoteUpdateStep) error
func ToMetaTime ¶
ToMetaTime converts the go time pointer to a meta time
func ToValidName ¶
ToValidName converts the given string into a valid Kubernetes resource name
func ToValidNameWithDots ¶
ToValidNameWithDots converts the given string into a valid Kubernetes resource name
func UpdateJenkinsGitServers ¶
func UpdateJenkinsGitServers(cm *corev1.ConfigMap, server *auth.AuthServer, userAuth *auth.UserAuth, credentials string) (bool, error)
UpdateJenkinsGitServers update the Jenkins ConfigMap with any missing Git server configurations for the given server and token
func UpdateUserRoles ¶
func UpdateUserRoles(kubeClient kubernetes.Interface, jxClient versioned.Interface, ns string, userKind string, userName string, userRoles []string, roles map[string]*rbacv1.Role) error
UpdateUserRoles updates the EnvironmentRoleBinding values based on the given userRoles. userKind is "User" or "ServiceAccount"
func ValidNameOption ¶
func ValidSubDomainOption ¶
func ValidateName ¶
func ValidateName(val interface{}) error
func ValidateSubDomain ¶
func ValidateSubDomain(val interface{}) error
func WaitForDeploymentToBeReady ¶
func WaitForDeploymentToBeReady(client kubernetes.Interface, name, namespace string, timeout time.Duration) error
WaitForDeploymentToBeReady waits for the pods of a deployment to become ready
func WaitForJobToSucceeded ¶
func WaitForJobToSucceeded(client kubernetes.Interface, namespace, jobName string, timeout time.Duration) error
waits for the job to complete
func WaitForJobToTerminate ¶
func WaitForJobToTerminate(client kubernetes.Interface, namespace, jobName string, timeout time.Duration) error
waits for the job to terminate
func WaitForPodNameToBeReady ¶
func WaitForPodNameToBeReady(client kubernetes.Interface, namespace string, name string, timeout time.Duration) error
waits for the pod to become ready using the pod name
func WaitForPodToBeReady ¶
func WaitForPodToBeReady(client kubernetes.Interface, 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
type ClusterStatus ¶
type ClusterStatus struct { Name string // contains filtered or unexported fields }
func GetClusterStatus ¶
func GetClusterStatus(client kubernetes.Interface, namespace string) (ClusterStatus, error)
func (*ClusterStatus) AverageCpuPercent ¶
func (clusterStatus *ClusterStatus) AverageCpuPercent() int
func (*ClusterStatus) AverageMemPercent ¶
func (clusterStatus *ClusterStatus) AverageMemPercent() int
func (*ClusterStatus) CheckResource ¶
func (clusterStatus *ClusterStatus) CheckResource() string
func (*ClusterStatus) Info ¶
func (clusterStatus *ClusterStatus) Info() string
func (*ClusterStatus) MinimumResourceLimit ¶
func (clusterStatus *ClusterStatus) MinimumResourceLimit() int
func (*ClusterStatus) NodeCount ¶
func (clusterStatus *ClusterStatus) NodeCount() int
type EnvironmentNamespaceCache ¶
type EnvironmentNamespaceCache struct {
// contains filtered or unexported fields
}
EnvironmentNamespaceCache caches the Environments for a single namespace
func CreateEnvironmentCache ¶
func CreateEnvironmentCache(jxClient versioned.Interface, ns string) *EnvironmentNamespaceCache
CreateEnvironmentCache creates a cache for the given namespace of Environments
func (*EnvironmentNamespaceCache) Item ¶
func (c *EnvironmentNamespaceCache) Item(name string) *v1.Environment
Item returns the Environment for the tiven name
func (*EnvironmentNamespaceCache) Items ¶
func (c *EnvironmentNamespaceCache) Items() []*v1.Environment
Items returns the Environments in this namespace sorted in name order
type HeapterConfig ¶
type IngressConfig ¶
type IngressConfig struct { Email string `structs:"email" yaml:"email" json:"email"` Domain string `structs:"domain" yaml:"domain" json:"domain"` Issuer string `structs:"issuer" yaml:"issuer" json:"issuer"` Exposer string `structs:"exposer" yaml:"exposer" json:"exposer"` TLS bool `structs:"tls" yaml:"tls" json:"tls"` }
func GetIngressConfig ¶
func GetIngressConfig(c kubernetes.Interface, ns string) (IngressConfig, error)
type JXInstallConfig ¶
type JXInstallConfig struct { Server string `structs:"server" yaml:"server" json:"server"` CA []byte `structs:"ca.crt" yaml:"ca.crt" json:"ca.crt"` }
JXInstallConfig is the struct used to create the jx-install-config configmap
type KubeConfig ¶
type KubeConfig struct{}
KubeConfig implements kube interactions
func (*KubeConfig) LoadConfig ¶
func (k *KubeConfig) LoadConfig() (*api.Config, *clientcmd.PathOptions, error)
LoadConfig loads the Kubernetes configuration
func (*KubeConfig) UpdateConfig ¶
func (k *KubeConfig) UpdateConfig(namespace string, server string, caData string, user string, token string) error
UpdateConfig defines new config entries for jx
type Kuber ¶
type Kuber interface { // LoadConfig loads the Kubernetes configuration LoadConfig() (*api.Config, *clientcmd.PathOptions, error) // UpdateConfig defines new config entries for jx UpdateConfig(namespace string, server string, caData string, user string, token string) error }
Kuber defines common kube actions used within Jenkins X
func NewKubeConfig ¶
func NewKubeConfig() Kuber
NewKubeConfig creates a new KubeConfig struct to be used to interact with the underlying kube system
type NodeStatus ¶
type NodeStatus struct { Name string AllocatedMemory *resource.Quantity AllocatedCPU *resource.Quantity CpuReqs resource.Quantity CpuLimits resource.Quantity MemReqs resource.Quantity MemLimits resource.Quantity // contains filtered or unexported fields }
func Status ¶
func Status(client kubernetes.Interface, namespace string, node v1.Node) (NodeStatus, error)
type PatchRow ¶
type PatchRow struct { Op string `json:"op"` Path string `json:"path"` Value interface{} `json:"value"` }
PatchRow used to generate the patch JSON for patching
type PipelineActivityKey ¶
type PipelineActivityKey struct { Name string Pipeline string Build string Version string BuildURL string BuildLogsURL string ReleaseNotesURL string LastCommitSHA string LastCommitMessage string LastCommitURL string GitInfo *gits.GitRepository }
func (*PipelineActivityKey) GetOrCreate ¶
func (k *PipelineActivityKey) GetOrCreate(jxClient versioned.Interface, ns string) (*v1.PipelineActivity, bool, error)
GetOrCreate gets or creates the pipeline activity
func (*PipelineActivityKey) IsValid ¶
func (k *PipelineActivityKey) IsValid() bool
type PipelineDetails ¶
type PipelineDetails struct { GitOwner string GitRepository string BranchName string Pipeline string Build string }
func CreatePipelineDetails ¶
func CreatePipelineDetails(activity *v1.PipelineActivity) *PipelineDetails
CreatePipelineDetails creates a PipelineDetails object populated from the activity
type PipelineID ¶
PipelineID is an identifier for a Pipeline. A pipeline is typically identified by its owner, repository, and branch with the ID field taking the form `<owner>/>repository>/<branch>`
func NewPipelineID ¶
func NewPipelineID(owner string, repository string, branch string) PipelineID
NewPipelineID creates a new PipelineID for a given owner, repository, and branch.
func NewPipelineIDFromString ¶
func NewPipelineIDFromString(id string) PipelineID
NewPipelineIDFromString creates a new PipelineID, given a pre-built string identifier. The string identifier is expected to follow the format `<owner>/>repository>/<branch>`, though this isn't actually validated/mandated here.
func (*PipelineID) GetActivityName ¶
func (p *PipelineID) GetActivityName(activity string) string
GetActivityName Builds a Kubernetes-friendly (i.e. a-z,-,. only) name for a specific activity, within a pipeline.
type PipelineNamespaceCache ¶
type PipelineNamespaceCache struct {
// contains filtered or unexported fields
}
PipelineNamespaceCache caches the pipelines for a single namespace
func NewPipelineCache ¶
func NewPipelineCache(jxClient versioned.Interface, ns string) *PipelineNamespaceCache
NewPipelineCache creates a cache of pipelines for a namespace
func (*PipelineNamespaceCache) Pipelines ¶
func (c *PipelineNamespaceCache) Pipelines() []*v1.PipelineActivity
Pipelines returns the pipelines in this namespace sorted in name order
func (*PipelineNamespaceCache) Stop ¶
func (c *PipelineNamespaceCache) Stop()
Stop closes the underlying chanel processing events which stops consuming watch events
type PromotePullRequestFn ¶
type PromotePullRequestFn func(*v1.PipelineActivity, *v1.PipelineActivityStep, *v1.PromoteActivityStep, *v1.PromotePullRequestStep) error
type PromoteStepActivityKey ¶
type PromoteStepActivityKey struct { PipelineActivityKey Environment string ApplicationURL string }
func (*PromoteStepActivityKey) GetOrCreatePreview ¶
func (k *PromoteStepActivityKey) GetOrCreatePreview(jxClient versioned.Interface, ns string) (*v1.PipelineActivity, *v1.PipelineActivityStep, *v1.PreviewActivityStep, bool, error)
GetOrCreatePreview gets or creates the Preview step for the key
func (*PromoteStepActivityKey) GetOrCreatePromote ¶
func (k *PromoteStepActivityKey) GetOrCreatePromote(jxClient versioned.Interface, ns string) (*v1.PipelineActivity, *v1.PipelineActivityStep, *v1.PromoteActivityStep, bool, error)
GetOrCreatePromote gets or creates the Promote step for the key
func (*PromoteStepActivityKey) GetOrCreatePromotePullRequest ¶
func (k *PromoteStepActivityKey) GetOrCreatePromotePullRequest(jxClient versioned.Interface, ns string) (*v1.PipelineActivity, *v1.PipelineActivityStep, *v1.PromoteActivityStep, *v1.PromotePullRequestStep, bool, error)
GetOrCreatePromotePullRequest gets or creates the PromotePullRequest for the key
func (*PromoteStepActivityKey) GetOrCreatePromoteUpdate ¶
func (k *PromoteStepActivityKey) GetOrCreatePromoteUpdate(jxClient versioned.Interface, ns string) (*v1.PipelineActivity, *v1.PipelineActivityStep, *v1.PromoteActivityStep, *v1.PromoteUpdateStep, bool, error)
GetOrCreatePromoteUpdate gets or creates the Promote for the key
func (*PromoteStepActivityKey) OnPromotePullRequest ¶
func (k *PromoteStepActivityKey) OnPromotePullRequest(jxClient versioned.Interface, ns string, fn PromotePullRequestFn) error
OnPromotePullRequest updates activities on a Promote PR
func (*PromoteStepActivityKey) OnPromoteUpdate ¶
func (k *PromoteStepActivityKey) OnPromoteUpdate(jxClient versioned.Interface, ns string, fn PromoteUpdateFn) error
OnPromoteUpdate updates activities on a Promote Update
type PromoteUpdateFn ¶
type PromoteUpdateFn func(*v1.PipelineActivity, *v1.PipelineActivityStep, *v1.PromoteActivityStep, *v1.PromoteUpdateStep) error
type ReleaseOrder ¶
func (ReleaseOrder) Len ¶
func (a ReleaseOrder) Len() int
func (ReleaseOrder) Less ¶
func (a ReleaseOrder) Less(i, j int) bool
func (ReleaseOrder) Swap ¶
func (a ReleaseOrder) Swap(i, j int)
type SourceRepoer ¶
type SourceRepoer interface { // CreateOrUpdateSourceRepository creates or updates a source repository CreateOrUpdateSourceRepository(name, organisation, providerUrl string) error // CreateSourceRepository creates an source repository. If a source repository already exists, it will return an error CreateSourceRepository(name, organisation, providerUrl string) error // DeleteSourceRepository deletes a source repository DeleteSourceRepository(name string) error // GetSourceRepository gets an source repository, if it exists and returns an error otherwise GetSourceRepository(name string) (*v1.SourceRepository, error) // ListSourceRepositories gets a list of all the source repositorys ListSourceRepositories() (*v1.SourceRepositoryList, error) }
SourceRepoer is responsible for storing information about Source Repositories (aka Applications, Projects) go --generate-matchers FIXME - note. At the moment, repos are only referred to by their name (ie, not the organisation) meaning you can't import both github.com/org1/myawesomeapp and github.com/org2/myawesomeapp.
func NewSourceRepositoryService ¶
func NewSourceRepositoryService(client versioned.Interface, namespace string) SourceRepoer
NewSourceRepositoryService creates a new Service for interacting with the Source Repository Custom Resource
type SourceRepositoryService ¶
type SourceRepositoryService struct {
// contains filtered or unexported fields
}
SourceRepositoryService is the implementation of SourceRepoer
func (*SourceRepositoryService) CreateOrUpdateSourceRepository ¶
func (service *SourceRepositoryService) CreateOrUpdateSourceRepository(name, organisation, providerURL string) error
CreateOrUpdateSourceRepository creates a repo if it doesn't exist or updates it if the URL has changed
func (*SourceRepositoryService) CreateSourceRepository ¶
func (service *SourceRepositoryService) CreateSourceRepository(name, organisation, providerURL string) error
CreateSourceRepository creates a repo. If a repo already exists, it will return an error
func (*SourceRepositoryService) DeleteSourceRepository ¶
func (service *SourceRepositoryService) DeleteSourceRepository(name string) error
DeleteSourceRepository deletes a repo
func (*SourceRepositoryService) GetSourceRepository ¶
func (service *SourceRepositoryService) GetSourceRepository(name string) (*v1.SourceRepository, error)
GetSourceRepository gets repo, if it exists and returns an error otherwise
func (*SourceRepositoryService) ListSourceRepositories ¶
func (service *SourceRepositoryService) ListSourceRepositories() (*v1.SourceRepositoryList, error)
ListSourceRepositories gets a list of all the repos
Source Files ¶
- activity.go
- activity_functions.go
- clients.go
- cluster_status.go
- config.go
- configmap.go
- constants.go
- containers.go
- crds.go
- daemonsets.go
- deployments.go
- env.go
- env_cache.go
- envrolebindings.go
- git_services.go
- ingress.go
- install_rbac.go
- interface.go
- jenkins.go
- job.go
- jx_install_config.go
- kops.go
- metadata.go
- metrics.go
- names.go
- namespaces.go
- owners.go
- patch.go
- pipeline_cache.go
- pod.go
- quickstarts.go
- releases.go
- roles.go
- runtime_objects.go
- secrets.go
- sourcerepository_impl.go
- sourcerepository_interface.go
- storage.go
- teams.go
- times.go
- validate.go
- version.go