v4beta1

package
v4.0.1 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2020 License: Apache-2.0 Imports: 22 Imported by: 57

Documentation

Overview

+k8s:deepcopy-gen=package +k8s:openapi-gen=true Package v4 is the v4 version of the API. +groupName=core.jenkins-x.io

Index

Constants

View Source
const (
	// RequirementsConfigFileName is the name of the requirements configuration file
	RequirementsConfigFileName = "jx-requirements.yml"
	// RequirementClusterName is the cluster name
	RequirementClusterName = "JX_REQUIREMENT_CLUSTER_NAME"
	// RequirementProject is the cloudprovider project
	RequirementProject = "JX_REQUIREMENT_PROJECT"
	// RequirementZone zone the cluster is in
	RequirementZone = "JX_REQUIREMENT_ZONE"
	// RequirementEnvGitOwner the default git owner for environment repositories if none is specified explicitly
	RequirementEnvGitOwner = "JX_REQUIREMENT_ENV_GIT_OWNER"
	// RequirementEnvGitPublic sets the visibility of the environment repositories as private (subscription required for GitHub Organisations)
	RequirementEnvGitPublic = "JX_REQUIREMENT_ENV_GIT_PUBLIC"
	// RequirementGitPublic sets the visibility of the application repositories as private (subscription required for GitHub Organisations)
	RequirementGitPublic = "JX_REQUIREMENT_GIT_PUBLIC"
	// RequirementExternalDNSServiceAccountName the service account name for external dns
	RequirementExternalDNSServiceAccountName = "JX_REQUIREMENT_EXTERNALDNS_SA_NAME"
	// RequirementVaultName the name for vault
	RequirementVaultName = "JX_REQUIREMENT_VAULT_NAME"
	// RequirementVaultServiceAccountName the service account name for vault
	RequirementVaultServiceAccountName = "JX_REQUIREMENT_VAULT_SA_NAME"
	// RequirementVaultKeyringName the keyring name for vault
	RequirementVaultKeyringName = "JX_REQUIREMENT_VAULT_KEYRING_NAME"
	// RequirementVaultKeyName the key name for vault
	RequirementVaultKeyName = "JX_REQUIREMENT_VAULT_KEY_NAME"
	// RequirementVaultBucketName the vault name for vault
	RequirementVaultBucketName = "JX_REQUIREMENT_VAULT_BUCKET_NAME"
	// RequirementVaultRecreateBucket recreate the bucket that vault uses
	RequirementVaultRecreateBucket = "JX_REQUIREMENT_VAULT_RECREATE_BUCKET"
	// RequirementVaultDisableURLDiscovery override the default lookup of the Vault URL, could be incluster service or external ingress
	RequirementVaultDisableURLDiscovery = "JX_REQUIREMENT_VAULT_DISABLE_URL_DISCOVERY"
	// RequirementSecretStorageType the secret storage type
	RequirementSecretStorageType = "JX_REQUIREMENT_SECRET_STORAGE_TYPE"
	// RequirementKanikoServiceAccountName the service account name for kaniko
	RequirementKanikoServiceAccountName = "JX_REQUIREMENT_KANIKO_SA_NAME"
	// RequirementIngressTLSProduction use the lets encrypt production server
	RequirementIngressTLSProduction = "JX_REQUIREMENT_INGRESS_TLS_PRODUCTION"
	// RequirementChartRepository the helm chart repository for jx
	RequirementChartRepository = "JX_REQUIREMENT_CHART_REPOSITORY"
	// RequirementRegistry the container registry for jx
	RequirementRegistry = "JX_REQUIREMENT_REGISTRY"
	// RequirementRepository the artifact repository for jx
	RequirementRepository = "JX_REQUIREMENT_REPOSITORY"
	// RequirementWebhook the webhook handler for jx
	RequirementWebhook = "JX_REQUIREMENT_WEBHOOK"
	// RequirementStorageBackupURL backup storage url
	RequirementStorageBackupURL = "JX_REQUIREMENT_STORAGE_BACKUP_URL"
	// RequirementStorageLogsURL logs storage url
	RequirementStorageLogsURL = "JX_REQUIREMENT_STORAGE_LOGS_URL"
	// RequirementStorageReportsURL report storage url
	RequirementStorageReportsURL = "JX_REQUIREMENT_STORAGE_REPORTS_URL"
	// RequirementStorageRepositoryURL repository storage url
	RequirementStorageRepositoryURL = "JX_REQUIREMENT_STORAGE_REPOSITORY_URL"
	// RequirementGkeProjectNumber is the gke project number
	RequirementGkeProjectNumber = "JX_REQUIREMENT_GKE_PROJECT_NUMBER"
	// RequirementDevEnvApprovers contains the optional list of users to populate the dev env's OWNERS with
	RequirementDevEnvApprovers = "JX_REQUIREMENT_DEV_ENV_APPROVERS"
)
View Source
const (
	LabelProvider      = "provider"
	LabelOwner         = "owner"
	LabelRepository    = "repository"
	LabelBranch        = "branch"
	LabelBuild         = "build"
	LabelLastCommitSha = "lastCommitSha"
	LabelContext       = "context"
)
View Source
const (
	// DefaultFailOnValidationError by default fail if validation fails when reading jx-requirements
	DefaultFailOnValidationError = true
)

Variables

View Source
var (
	// SchemeBuilder for building the schema :)
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme helper
	AddToScheme = SchemeBuilder.AddToScheme
)

PromotionStrategyTypeValues is the list of all values

RepositoryTypeValues the string values for the repository types

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: jenkinsio.GroupName, Version: jenkinsio.Version}

SchemeGroupVersion is group version used to register these objects

SecretStorageTypeValues the string values for the secret storage

View Source
var WebhookTypeValues = []string{string(WebhookTypeLighthouse)}

WebhookTypeValues the string values for the webhook types

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func MissingRequirement

func MissingRequirement(property string, fileName string) error

MissingRequirement returns an error if there is a missing property in the requirements

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AccountReference

type AccountReference struct {
	Provider string `json:"provider,omitempty"  protobuf:"bytes,1,opt,name=provider"`
	ID       string `json:"id,omitempty"  protobuf:"bytes,2,opt,name=id"`
}

AccountReference is a reference to a user account in another system that is attached to this user

func (*AccountReference) DeepCopy

func (in *AccountReference) DeepCopy() *AccountReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountReference.

func (*AccountReference) DeepCopyInto

func (in *AccountReference) DeepCopyInto(out *AccountReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ActivityStatusType

type ActivityStatusType string

ActivityStatusType is the status of an activity; usually succeeded or failed/error on completion

const (
	// ActivityStatusTypeNone an activity step has not started yet
	ActivityStatusTypeNone ActivityStatusType = ""
	// ActivityStatusTypePending an activity step is waiting to start
	ActivityStatusTypePending ActivityStatusType = "Pending"
	// ActivityStatusTypeRunning an activity is running
	ActivityStatusTypeRunning ActivityStatusType = "Running"
	// ActivityStatusTypeSucceeded an activity completed successfully
	ActivityStatusTypeSucceeded ActivityStatusType = "Succeeded"
	// ActivityStatusTypeFailed an activity failed
	ActivityStatusTypeFailed ActivityStatusType = "Failed"
	// ActivityStatusTypeWaitingForApproval an activity is waiting for approval
	ActivityStatusTypeWaitingForApproval ActivityStatusType = "WaitingForApproval"
	// ActivityStatusTypeError there is some error with an activity
	ActivityStatusTypeError ActivityStatusType = "Error"
	// ActivityStatusTypeAborted if the workflow was aborted
	ActivityStatusTypeAborted ActivityStatusType = "Aborted"
	// ActivityStatusTypeNotExecuted if the workflow was not executed
	ActivityStatusTypeNotExecuted ActivityStatusType = "NotExecuted"
)

func (ActivityStatusType) IsTerminated

func (s ActivityStatusType) IsTerminated() bool

IsTerminated returns true if this activity has stopped executing

func (ActivityStatusType) String

func (s ActivityStatusType) String() string

type ActivityStepKindType

type ActivityStepKindType string

ActivityStepKindType is a kind of step

const (
	// ActivityStepKindTypeNone no kind yet
	ActivityStepKindTypeNone ActivityStepKindType = ""
	// ActivityStepKindTypeStage a group of low level steps
	ActivityStepKindTypeStage ActivityStepKindType = "Stage"
	// ActivityStepKindTypePreview a promote activity
	ActivityStepKindTypePreview ActivityStepKindType = "Preview"
	// ActivityStepKindTypePromote a promote activity
	ActivityStepKindTypePromote ActivityStepKindType = "Promote"
)

type Attachment

type Attachment struct {
	Name string   `json:"name,omitempty"  protobuf:"bytes,1,opt,name=name"`
	URLs []string `json:"urls,omitempty"  protobuf:"bytes,2,opt,name=urls"`
}

func (*Attachment) DeepCopy

func (in *Attachment) DeepCopy() *Attachment

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Attachment.

func (*Attachment) DeepCopyInto

func (in *Attachment) DeepCopyInto(out *Attachment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoUpdateConfig

type AutoUpdateConfig struct {
	// Enabled autoupdate
	Enabled bool `json:"enabled"`
	// Schedule cron of auto updates
	Schedule string `json:"schedule"`
}

AutoUpdateConfig contains auto update config

func (*AutoUpdateConfig) DeepCopy

func (in *AutoUpdateConfig) DeepCopy() *AutoUpdateConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoUpdateConfig.

func (*AutoUpdateConfig) DeepCopyInto

func (in *AutoUpdateConfig) DeepCopyInto(out *AutoUpdateConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureConfig

type AzureConfig struct {
	// RegistrySubscription the registry subscription for defaulting the container registry.
	// Not used if you specify a Registry explicitly
	RegistrySubscription string `json:"registrySubscription,omitempty"`
	*AzureDNSConfig      `json:"dns,omitempty"`
}

AzureConfig contains Azure specific requirements

func (*AzureConfig) DeepCopy

func (in *AzureConfig) DeepCopy() *AzureConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureConfig.

func (*AzureConfig) DeepCopyInto

func (in *AzureConfig) DeepCopyInto(out *AzureConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureDNSConfig

type AzureDNSConfig struct {
	TenantID       string `json:"tenantId,omitempty"`
	SubscriptionID string `json:"subscriptionId,omitempty"`
	ResourceGroup  string `json:"resourceGroup,omitempty"`
}

func (*AzureDNSConfig) DeepCopy

func (in *AzureDNSConfig) DeepCopy() *AzureDNSConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureDNSConfig.

func (*AzureDNSConfig) DeepCopyInto

func (in *AzureDNSConfig) DeepCopyInto(out *AzureDNSConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BatchPipelineActivity

type BatchPipelineActivity struct {
	BatchBuildNumber       string            `json:"batchBuildNumber,omitempty" protobuf:"bytes,1,opt,name=batchBuildNumber"`
	BatchBranchName        string            `json:"batchBranchName,omitempty" protobuf:"bytes,2,opt,name=batchBranchName"`
	ComprisingPulLRequests []PullRequestInfo `json:"pullRequestInfo,omitempty" protobuf:"bytes,3,opt,name=pullRequestInfo"`
}

BatchPipelineActivity contains information about a batch build, used by both the batch build and its comprising PRs for linking them together

func (*BatchPipelineActivity) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BatchPipelineActivity.

func (*BatchPipelineActivity) DeepCopyInto

func (in *BatchPipelineActivity) DeepCopyInto(out *BatchPipelineActivity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Binary

type Binary struct {
	Goarch string `json:"goarch,omitempty"  protobuf:"bytes,1,opt,name=goarch"`
	Goos   string `json:"goos,omitempty"  protobuf:"bytes,2,opt,name=goos"`
	URL    string `json:"url,omitempty"  protobuf:"bytes,3,opt,name=url"`
}

Binary provies the details of a downloadable binary

func (*Binary) DeepCopy

func (in *Binary) DeepCopy() *Binary

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Binary.

func (*Binary) DeepCopyInto

func (in *Binary) DeepCopyInto(out *Binary)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterConfig

type ClusterConfig struct {
	// AzureConfig the azure specific configuration
	AzureConfig *AzureConfig `json:"azure,omitempty"`
	// ChartRepository the repository URL to deploy charts to
	ChartRepository string `json:"chartRepository,omitempty" envconfig:"JX_REQUIREMENT_CHART_REPOSITORY"`
	// GKEConfig the gke specific configuration
	GKEConfig *GKEConfig `json:"gke,omitempty"`
	// EnvironmentGitOwner the default git owner for environment repositories if none is specified explicitly
	EnvironmentGitOwner string `json:"environmentGitOwner,omitempty" envconfig:"JX_REQUIREMENT_ENV_GIT_OWNER"`
	// EnvironmentGitPublic determines whether jx boot create public or private git repos for the environments
	EnvironmentGitPublic bool `json:"environmentGitPublic,omitempty" envconfig:"JX_REQUIREMENT_ENV_GIT_PUBLIC"`
	// GitPublic determines whether jx boot create public or private git repos for the applications
	GitPublic bool `json:"gitPublic,omitempty" envconfig:"JX_REQUIREMENT_GIT_PUBLIC"`
	// Provider the kubernetes provider (e.g. gke)
	Provider string `json:"provider,omitempty"`
	// ProjectID the cloud project ID e.g. on GCP
	ProjectID string `json:"project,omitempty" envconfig:"JX_REQUIREMENT_PROJECT"`
	// ClusterName the logical name of the cluster
	ClusterName string `json:"clusterName,omitempty" envconfig:"JX_REQUIREMENT_CLUSTER_NAME"`
	// Region the cloud region being used
	Region string `json:"region,omitempty"`
	// Zone the cloud zone being used
	Zone string `json:"zone,omitempty" envconfig:"JX_REQUIREMENT_ZONE"`
	// GitName is the name of the default git service
	GitName string `json:"gitName,omitempty"`
	// GitKind is the kind of git server (github, bitbucketserver etc)
	GitKind string `json:"gitKind,omitempty"`
	// GitServer is the URL of the git server
	GitServer string `json:"gitServer,omitempty"`
	// ExternalDNSSAName the service account name for external dns
	ExternalDNSSAName string `json:"externalDNSSAName,omitempty" envconfig:"JX_REQUIREMENT_EXTERNALDNS_SA_NAME"`
	// Registry the host name of the container registry
	Registry string `json:"registry,omitempty" envconfig:"JX_REQUIREMENT_REGISTRY"`
	// VaultSAName the service account name for vault
	// KanikoSAName the service account name for kaniko
	KanikoSAName string `json:"kanikoSAName,omitempty" envconfig:"JX_REQUIREMENT_KANIKO_SA_NAME"`
	// DevEnvApprovers contains an optional list of approvers to populate the initial OWNERS file in the dev env repo
	DevEnvApprovers []string `json:"devEnvApprovers,omitempty"`
	// DockerRegistryOrg the default organisation used for container images
	DockerRegistryOrg string `json:"dockerRegistryOrg,omitempty"`
}

ClusterConfig contains cluster specific requirements

func (*ClusterConfig) DeepCopy

func (in *ClusterConfig) DeepCopy() *ClusterConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfig.

func (*ClusterConfig) DeepCopyInto

func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterConfig) UnmarshalJSON

func (t *ClusterConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON method handles the rename of EnvironmentGitPrivate to EnvironmentGitPublic.

type CommitSummary

type CommitSummary struct {
	Message   string       `json:"message,omitempty"  protobuf:"bytes,1,opt,name=message"`
	SHA       string       `json:"sha,omitempty"  protobuf:"bytes,2,opt,name=sha"`
	URL       string       `json:"url,omitempty"  protobuf:"bytes,3,opt,name=url"`
	Author    *UserDetails `json:"author,omitempty"  protobuf:"bytes,4,opt,name=author"`
	Committer *UserDetails `json:"committer,omitempty"  protobuf:"bytes,5,opt,name=committer"`
	Branch    string       `json:"branch,omitempty"  protobuf:"bytes,6,opt,name=branch"`
	IssueIDs  []string     `json:"issueIds,omitempty"  protobuf:"bytes,7,opt,name=issueIds"`
}

CommitSummary is the summary of a commit

func (*CommitSummary) DeepCopy

func (in *CommitSummary) DeepCopy() *CommitSummary

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommitSummary.

func (*CommitSummary) DeepCopyInto

func (in *CommitSummary) DeepCopyInto(out *CommitSummary)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CoreActivityStep

type CoreActivityStep struct {
	Name               string             `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"`
	Description        string             `json:"description,omitempty" protobuf:"bytes,2,opt,name=description"`
	Status             ActivityStatusType `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
	StartedTimestamp   *metav1.Time       `json:"startedTimestamp,omitempty" protobuf:"bytes,4,opt,name=startedTimestamp"`
	CompletedTimestamp *metav1.Time       `json:"completedTimestamp,omitempty" protobuf:"bytes,5,opt,name=completedTimestamp"`
}

CoreActivityStep is a base step included in Stages of a pipeline or other kinds of step

func (*CoreActivityStep) DeepCopy

func (in *CoreActivityStep) DeepCopy() *CoreActivityStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreActivityStep.

func (*CoreActivityStep) DeepCopyInto

func (in *CoreActivityStep) DeepCopyInto(out *CoreActivityStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DependencyUpdate

type DependencyUpdate struct {
	DependencyUpdateDetails `json:",inline"`
	Paths                   []DependencyUpdatePath `json:"paths,omitempty"`
}

DependencyUpdate describes an dependency update message from the commit log

func (*DependencyUpdate) DeepCopy

func (in *DependencyUpdate) DeepCopy() *DependencyUpdate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DependencyUpdate.

func (*DependencyUpdate) DeepCopyInto

func (in *DependencyUpdate) DeepCopyInto(out *DependencyUpdate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DependencyUpdateDetails

type DependencyUpdateDetails struct {
	Host               string `json:"host"`
	Owner              string `json:"owner"`
	Repo               string `json:"repo"`
	Component          string `json:"component"`
	URL                string `json:"url"`
	FromVersion        string `json:"fromVersion"`
	FromReleaseHTMLURL string `json:"fromReleaseHTMLURL"`
	FromReleaseName    string `json:"fromReleaseName"`
	ToVersion          string `json:"toVersion"`
	ToReleaseHTMLURL   string `json:"toReleaseHTMLURL"`
	ToReleaseName      string `json:"toReleaseName"`
}

DependencyUpdateDetails are the details of a dependency update

func (*DependencyUpdateDetails) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DependencyUpdateDetails.

func (*DependencyUpdateDetails) DeepCopyInto

func (in *DependencyUpdateDetails) DeepCopyInto(out *DependencyUpdateDetails)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DependencyUpdateDetails) String

func (d *DependencyUpdateDetails) String() string

type DependencyUpdatePath

type DependencyUpdatePath []DependencyUpdateDetails

DependencyUpdatePath is the path of a dependency update

func (DependencyUpdatePath) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DependencyUpdatePath.

func (DependencyUpdatePath) DeepCopyInto

func (in DependencyUpdatePath) DeepCopyInto(out *DependencyUpdatePath)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeployOptions

type DeployOptions struct {
	// Canary should we enable canary rollouts (progressive delivery) for apps by default
	Canary bool `json:"canary,omitempty" protobuf:"bytes,1,opt,name=canary"`

	// should we use the horizontal pod autoscaler on new apps by default?
	HPA bool `json:"hpa,omitempty" protobuf:"bytes,2,opt,name=hpa"`
}

DeployOptions configures options for how to deploy applications by default such as using progressive delivery or using horizontal pod autoscaler

func (*DeployOptions) DeepCopy

func (in *DeployOptions) DeepCopy() *DeployOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeployOptions.

func (*DeployOptions) DeepCopyInto

func (in *DeployOptions) DeepCopyInto(out *DeployOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Environment

type Environment struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec   EnvironmentSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status EnvironmentStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

Environment represents an environment like Dev, Test, Staging, Production where code lives

func (*Environment) DeepCopy

func (in *Environment) DeepCopy() *Environment

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Environment.

func (*Environment) DeepCopyInto

func (in *Environment) DeepCopyInto(out *Environment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Environment) DeepCopyObject

func (in *Environment) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type EnvironmentConfig

type EnvironmentConfig struct {
	// Key is the key of the environment configuration
	Key string `json:"key,omitempty"`
	// Owner is the git user or organisation for the repository
	Owner string `json:"owner,omitempty"`
	// Repository is the name of the repository within the owner
	Repository string `json:"repository,omitempty"`
	// GitServer is the URL of the git server
	GitServer string `json:"gitServer,omitempty"`
	// GitKind is the kind of git server (github, bitbucketserver etc)
	GitKind string `json:"gitKind,omitempty"`
	// Ingress contains ingress specific requirements
	Ingress *IngressConfig `json:"ingress,omitempty"`
	// RemoteCluster specifies this environment runs on a remote cluster to the development cluster
	RemoteCluster bool `json:"remoteCluster,omitempty"`
	// PromotionStrategy what kind of promotion strategy to use
	PromotionStrategy PromotionStrategyType `json:"promotionStrategy,omitempty"`
}

EnvironmentConfig configures the organisation and repository name of the git repositories for environments

func (*EnvironmentConfig) DeepCopy

func (in *EnvironmentConfig) DeepCopy() *EnvironmentConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentConfig.

func (*EnvironmentConfig) DeepCopyInto

func (in *EnvironmentConfig) DeepCopyInto(out *EnvironmentConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnvironmentFilter

type EnvironmentFilter struct {
	Kind     EnvironmentKindType `json:"kind,omitempty" protobuf:"bytes,1,opt,name=kind"`
	Includes []string            `json:"includes,omitempty" protobuf:"bytes,2,opt,name=includes"`
	Excludes []string            `json:"excludes,omitempty" protobuf:"bytes,3,opt,name=excludes"`
}

EnvironmentFilter specifies the environments to apply the role binding to

func (*EnvironmentFilter) DeepCopy

func (in *EnvironmentFilter) DeepCopy() *EnvironmentFilter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentFilter.

func (*EnvironmentFilter) DeepCopyInto

func (in *EnvironmentFilter) DeepCopyInto(out *EnvironmentFilter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnvironmentKindType

type EnvironmentKindType string

EnvironmentKindType is the kind of an environment

const (
	// EnvironmentKindTypePermanent specifies that the environment is a regular permanent one
	EnvironmentKindTypePermanent EnvironmentKindType = "Permanent"
	// EnvironmentKindTypePreview specifies that an environment is a Preview environment that lasts as long as a Pull Request
	EnvironmentKindTypePreview EnvironmentKindType = "Preview"
	// EnvironmentKindTypeTest specifies that an environment is a temporary one for a test
	EnvironmentKindTypeTest EnvironmentKindType = "Test"
	// EnvironmentKindTypeEdit specifies that an environment is a developers editing workspace
	EnvironmentKindTypeEdit EnvironmentKindType = "Edit"
	// EnvironmentKindTypeDevelopment specifies that an environment is a development environment; for developer tools like Jenkins, Nexus etc
	EnvironmentKindTypeDevelopment EnvironmentKindType = "Development"
)

func (EnvironmentKindType) IsPermanent

func (e EnvironmentKindType) IsPermanent() bool

IsPermanent returns true if this environment is permanent

type EnvironmentList

type EnvironmentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []Environment `json:"items"`
}

EnvironmentList is a list of TypeMeta resources

func (*EnvironmentList) DeepCopy

func (in *EnvironmentList) DeepCopy() *EnvironmentList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentList.

func (*EnvironmentList) DeepCopyInto

func (in *EnvironmentList) DeepCopyInto(out *EnvironmentList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EnvironmentList) DeepCopyObject

func (in *EnvironmentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type EnvironmentRepository

type EnvironmentRepository struct {
	Kind EnvironmentRepositoryType `json:"kind,omitempty" protobuf:"bytes,1,opt,name=kind"`
	URL  string                    `json:"url,omitempty" protobuf:"bytes,2,opt,name=url"`
	Ref  string                    `json:"ref,omitempty" protobuf:"bytes,3,opt,name=ref"`
}

EnvironmentRepository is the repository for an environment using GitOps

func (*EnvironmentRepository) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentRepository.

func (*EnvironmentRepository) DeepCopyInto

func (in *EnvironmentRepository) DeepCopyInto(out *EnvironmentRepository)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnvironmentRepositoryType

type EnvironmentRepositoryType string

EnvironmentRepositoryType is the repository type

const (
	// EnvironmentRepositoryTypeGit specifies that a git repository is used
	EnvironmentRepositoryTypeGit EnvironmentRepositoryType = "Git"
)

type EnvironmentRoleBindingStatus

type EnvironmentRoleBindingStatus struct {
	Version string `json:"version,omitempty"`
}

EnvironmentRoleBindingStatus is the status for an EnvironmentRoleBinding resource

func (*EnvironmentRoleBindingStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentRoleBindingStatus.

func (*EnvironmentRoleBindingStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnvironmentSpec

type EnvironmentSpec struct {
	Label             string                `json:"label,omitempty" protobuf:"bytes,1,opt,name=label"`
	Namespace         string                `json:"namespace,omitempty" protobuf:"bytes,2,opt,name=namespace"`
	Cluster           string                `json:"cluster,omitempty" protobuf:"bytes,3,opt,name=cluster"`
	PromotionStrategy PromotionStrategyType `json:"promotionStrategy,omitempty" protobuf:"bytes,4,opt,name=promotionStrategy"`
	Source            EnvironmentRepository `json:"source,omitempty" protobuf:"bytes,5,opt,name=source"`
	Order             int32                 `json:"order,omitempty" protobuf:"bytes,6,opt,name=order"`
	Kind              EnvironmentKindType   `json:"kind,omitempty" protobuf:"bytes,7,opt,name=kind"`
	PullRequestURL    string                `json:"pullRequestURL,omitempty" protobuf:"bytes,8,opt,name=pullRequestURL"`
	TeamSettings      TeamSettings          `json:"teamSettings,omitempty" protobuf:"bytes,9,opt,name=teamSettings"`
	PreviewGitSpec    PreviewGitSpec        `json:"previewGitInfo,omitempty" protobuf:"bytes,10,opt,name=previewGitInfo"`
	WebHookEngine     WebHookEngineType     `json:"webHookEngine,omitempty" protobuf:"bytes,11,opt,name=webHookEngine"`

	// RemoteCluster flag indicates if the Environment is deployed in a separate cluster to the Development Environment
	RemoteCluster bool `json:"remoteCluster,omitempty" protobuf:"bytes,12,opt,name=remoteCluster"`
}

EnvironmentSpec is the specification of an Environment

func (*EnvironmentSpec) DeepCopy

func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSpec.

func (*EnvironmentSpec) DeepCopyInto

func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EnvironmentSpec) IsLighthouse

func (e *EnvironmentSpec) IsLighthouse() bool

IsLighthouse returns true if we are using lighthouse as the webhook handler

type EnvironmentStatus

type EnvironmentStatus struct {
	Version string `json:"version,omitempty"`
}

EnvironmentStatus is the status for an Environment resource

func (*EnvironmentStatus) DeepCopy

func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentStatus.

func (*EnvironmentStatus) DeepCopyInto

func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GKEConfig

type GKEConfig struct {
	// ProjectNumber the unique project number GKE assigns to a project (required for workload identity).
	ProjectNumber string `json:"projectNumber,omitempty" envconfig:"JX_REQUIREMENT_GKE_PROJECT_NUMBER"`
}

GKEConfig contains GKE specific requirements

func (*GKEConfig) DeepCopy

func (in *GKEConfig) DeepCopy() *GKEConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GKEConfig.

func (*GKEConfig) DeepCopyInto

func (in *GKEConfig) DeepCopyInto(out *GKEConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GitStatus

type GitStatus struct {
	URL    string `json:"url,omitempty" protobuf:"bytes,1,opt,name=url"`
	Status string `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
}

GitStatus the status of a git commit in terms of CI/CD

func (*GitStatus) DeepCopy

func (in *GitStatus) DeepCopy() *GitStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitStatus.

func (*GitStatus) DeepCopyInto

func (in *GitStatus) DeepCopyInto(out *GitStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IngressConfig

type IngressConfig struct {
	// DNS is enabled
	ExternalDNS bool `json:"externalDNS"`
	// CloudDNSSecretName secret name which contains the service account for external-dns and cert-manager issuer to
	// access the Cloud DNS service to resolve a DNS challenge
	CloudDNSSecretName string `json:"cloud_dns_secret_name,omitempty"`
	// Domain to expose ingress endpoints
	Domain string `json:"domain"`
	// IgnoreLoadBalancer if the nginx-controller LoadBalancer service should not be used to detect and update the
	// domain if you are using a dynamic domain resolver like `.nip.io` rather than a real DNS configuration.
	// With this flag enabled the `Domain` value will be used and never re-created based on the current LoadBalancer IP address.
	IgnoreLoadBalancer bool `json:"ignoreLoadBalancer,omitempty"`
	// NamespaceSubDomain the sub domain expression to expose ingress. Defaults to ".jx."
	NamespaceSubDomain string `json:"namespaceSubDomain"`
	// TLS enable automated TLS using certmanager
	TLS *TLSConfig `json:"tls,omitempty"`
}

IngressConfig contains dns specific requirements

func (*IngressConfig) DeepCopy

func (in *IngressConfig) DeepCopy() *IngressConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressConfig.

func (*IngressConfig) DeepCopyInto

func (in *IngressConfig) DeepCopyInto(out *IngressConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IngressConfig) IsAutoDNSDomain

func (i *IngressConfig) IsAutoDNSDomain() bool

IsAutoDNSDomain returns true if the domain is configured to use an auto DNS sub domain like '.nip.io' or '.xip.io'

type IssueLabel

type IssueLabel struct {
	URL   string `json:"name,omitempty"  protobuf:"bytes,1,opt,name=name"`
	Name  string `json:"url,omitempty"  protobuf:"bytes,2,opt,name=url"`
	Color string `json:"color,omitempty"  protobuf:"bytes,3,opt,name=color"`
}

func (*IssueLabel) DeepCopy

func (in *IssueLabel) DeepCopy() *IssueLabel

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IssueLabel.

func (*IssueLabel) DeepCopyInto

func (in *IssueLabel) DeepCopyInto(out *IssueLabel)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IssueSummary

type IssueSummary struct {
	ID                string        `json:"id,omitempty"  protobuf:"bytes,1,opt,name=id"`
	URL               string        `json:"url,omitempty"  protobuf:"bytes,2,opt,name=url"`
	Title             string        `json:"title,omitempty"  protobuf:"bytes,3,opt,name=title"`
	Body              string        `json:"body,omitempty"  protobuf:"bytes,4,opt,name=body"`
	State             string        `json:"state,omitempty"  protobuf:"bytes,5,opt,name=state"`
	Message           string        `json:"message,omitempty"  protobuf:"bytes,6,opt,name=message"`
	User              *UserDetails  `json:"user,omitempty"  protobuf:"bytes,7,opt,name=user"`
	Assignees         []UserDetails `json:"assignees,omitempty"  protobuf:"bytes,8,opt,name=assignees"`
	ClosedBy          *UserDetails  `json:"closedBy,omitempty"  protobuf:"bytes,9,opt,name=closedBy"`
	CreationTimestamp *metav1.Time  `json:"creationTimestamp,omitempty" protobuf:"bytes,10,opt,name=creationTimestamp"`
	Labels            []IssueLabel  `json:"labels,omitempty" protobuf:"bytes,11,opt,name=labels"`
}

IssueSummary is the summary of an issue

func (*IssueSummary) DeepCopy

func (in *IssueSummary) DeepCopy() *IssueSummary

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IssueSummary.

func (*IssueSummary) DeepCopyInto

func (in *IssueSummary) DeepCopyInto(out *IssueSummary)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IssueSummary) IsClosed

func (i *IssueSummary) IsClosed() bool

IsClosed returns true if this issue is closed or fixed

type PipelineActivity

type PipelineActivity struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec   PipelineActivitySpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status PipelineActivityStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

PipelineActivity represents pipeline activity for a particular run of a pipeline

func (*PipelineActivity) BranchName

func (p *PipelineActivity) BranchName() string

BranchName returns the name of the branch for the pipeline

func (*PipelineActivity) DeepCopy

func (in *PipelineActivity) DeepCopy() *PipelineActivity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineActivity.

func (*PipelineActivity) DeepCopyInto

func (in *PipelineActivity) DeepCopyInto(out *PipelineActivity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PipelineActivity) DeepCopyObject

func (in *PipelineActivity) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PipelineActivity) RepositoryName

func (p *PipelineActivity) RepositoryName() string

RepositoryName returns the repository name for the given pipeline

func (*PipelineActivity) RepositoryOwner

func (p *PipelineActivity) RepositoryOwner() string

RepositoryOwner returns the repository name for the given pipeline

func (*PipelineActivity) StagesByStatus

func (p *PipelineActivity) StagesByStatus() map[ActivityStatusType][]string

StagesByStatus returns a map with statuses as keys and lists of stage names with that status as the values.

type PipelineActivityList

type PipelineActivityList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []PipelineActivity `json:"items"`
}

PipelineActivityList is a list of PipelineActivity resources

func (*PipelineActivityList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineActivityList.

func (*PipelineActivityList) DeepCopyInto

func (in *PipelineActivityList) DeepCopyInto(out *PipelineActivityList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PipelineActivityList) DeepCopyObject

func (in *PipelineActivityList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PipelineActivitySpec

type PipelineActivitySpec struct {
	Pipeline              string                 `json:"pipeline,omitempty" protobuf:"bytes,1,opt,name=pipeline"`
	Build                 string                 `json:"build,omitempty" protobuf:"bytes,2,opt,name=build"`
	Version               string                 `json:"version,omitempty" protobuf:"bytes,3,opt,name=version"`
	Status                ActivityStatusType     `json:"status,omitempty" protobuf:"bytes,4,opt,name=status"`
	StartedTimestamp      *metav1.Time           `json:"startedTimestamp,omitempty" protobuf:"bytes,5,opt,name=startedTimestamp"`
	CompletedTimestamp    *metav1.Time           `json:"completedTimestamp,omitempty" protobuf:"bytes,6,opt,name=completedTimestamp"`
	Steps                 []PipelineActivityStep `json:"steps,omitempty" protobuf:"bytes,7,opt,name=steps"`
	BuildURL              string                 `json:"buildUrl,omitempty" protobuf:"bytes,8,opt,name=buildUrl"`
	BuildLogsURL          string                 `json:"buildLogsUrl,omitempty" protobuf:"bytes,9,opt,name=buildLogsUrl"`
	GitURL                string                 `json:"gitUrl,omitempty" protobuf:"bytes,10,opt,name=gitUrl"`
	GitRepository         string                 `json:"gitRepository,omitempty" protobuf:"bytes,11,opt,name=gitRepository"`
	GitOwner              string                 `json:"gitOwner,omitempty" protobuf:"bytes,12,opt,name=gitOwner"`
	GitBranch             string                 `json:"gitBranch,omitempty" protobuf:"bytes,13,opt,name=gitBranch"`
	Author                string                 `json:"author,omitempty" protobuf:"bytes,14,opt,name=author"`
	AuthorAvatarURL       string                 `json:"authorAvatarURL,omitempty" protobuf:"bytes,14,opt,name=authorAvatarURL"`
	AuthorURL             string                 `json:"authorURL,omitempty" protobuf:"bytes,14,opt,name=authorURL"`
	PullTitle             string                 `json:"pullTitle,omitempty" protobuf:"bytes,15,opt,name=pullTitle"`
	ReleaseNotesURL       string                 `json:"releaseNotesURL,omitempty" protobuf:"bytes,16,opt,name=releaseNotesURL"`
	LastCommitSHA         string                 `json:"lastCommitSHA,omitempty" protobuf:"bytes,17,opt,name=lastCommitSHA"`
	LastCommitMessage     string                 `json:"lastCommitMessage,omitempty" protobuf:"bytes,18,opt,name=lastCommitMessage"`
	LastCommitURL         string                 `json:"lastCommitURL,omitempty" protobuf:"bytes,19,opt,name=lastCommitURL"`
	Attachments           []Attachment           `json:"attachments,omitempty" protobuf:"bytes,24,opt,name=attachments"`
	BatchPipelineActivity BatchPipelineActivity  `json:"batchPipelineActivity,omitempty" protobuf:"bytes,25,opt,name=batchPipelineActivity"`
	Context               string                 `json:"context,omitempty" protobuf:"bytes,26,opt,name=context"`
	BaseSHA               string                 `json:"baseSHA,omitempty" protobuf:"bytes,27,opt,name=baseSHA"`
}

PipelineActivitySpec is the specification of the pipeline activity

func (*PipelineActivitySpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineActivitySpec.

func (*PipelineActivitySpec) DeepCopyInto

func (in *PipelineActivitySpec) DeepCopyInto(out *PipelineActivitySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PipelineActivityStatus

type PipelineActivityStatus struct {
	Version string `json:"version,omitempty"  protobuf:"bytes,1,opt,name=version"`
}

PipelineActivityStatus is the status for an Environment resource

func (*PipelineActivityStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineActivityStatus.

func (*PipelineActivityStatus) DeepCopyInto

func (in *PipelineActivityStatus) DeepCopyInto(out *PipelineActivityStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PipelineActivityStep

type PipelineActivityStep struct {
	Kind    ActivityStepKindType `json:"kind,omitempty" protobuf:"bytes,1,opt,name=kind"`
	Stage   *StageActivityStep   `json:"stage,omitempty" protobuf:"bytes,2,opt,name=stage"`
	Promote *PromoteActivityStep `json:"promote,omitempty" protobuf:"bytes,3,opt,name=promote"`
	Preview *PreviewActivityStep `json:"preview,omitempty" protobuf:"bytes,4,opt,name=preview"`
}

PipelineActivityStep represents a step in a pipeline activity

func (*PipelineActivityStep) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineActivityStep.

func (*PipelineActivityStep) DeepCopyInto

func (in *PipelineActivityStep) DeepCopyInto(out *PipelineActivityStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PipelineExtension

type PipelineExtension struct {
	// Name of the container specified as a DNS_LABEL.
	Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
	// Docker image name.
	Image string `json:"image,omitempty" protobuf:"bytes,2,opt,name=image"`
	// Entrypoint array. Not executed within a shell.
	Command string `json:"command,omitempty" protobuf:"bytes,3,rep,name=command"`
	// Arguments to the entrypoint.
	Args []string `json:"args,omitempty" protobuf:"bytes,4,rep,name=args"`
}

PipelineExtension defines the image and command of an app which wants to modify/extend the pipeline

func (*PipelineExtension) DeepCopy

func (in *PipelineExtension) DeepCopy() *PipelineExtension

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineExtension.

func (*PipelineExtension) DeepCopyInto

func (in *PipelineExtension) DeepCopyInto(out *PipelineExtension)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Plugin

type Plugin struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec PluginSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}

Plugin represents a binary plugin installed into this Jenkins X team

func (*Plugin) DeepCopy

func (in *Plugin) DeepCopy() *Plugin

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plugin.

func (*Plugin) DeepCopyInto

func (in *Plugin) DeepCopyInto(out *Plugin)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Plugin) DeepCopyObject

func (in *Plugin) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PluginList

type PluginList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []Plugin `json:"items"`
}

PluginList is a list of Plugins available for a team

func (*PluginList) DeepCopy

func (in *PluginList) DeepCopy() *PluginList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginList.

func (*PluginList) DeepCopyInto

func (in *PluginList) DeepCopyInto(out *PluginList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PluginList) DeepCopyObject

func (in *PluginList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PluginSpec

type PluginSpec struct {
	SubCommand  string   `json:"subCommand,omitempty"  protobuf:"bytes,3,opt,name=subCommand"`
	Group       string   `json:"group,omitempty"  protobuf:"bytes,4,opt,name=group"`
	Binaries    []Binary `json:"binaries,omitempty" protobuf:"bytes,7opt,name=binaries"`
	Description string   `json:"description,omitempty"  protobuf:"bytes,2,opt,name=description"`
	Name        string   `json:"name,omitempty"  protobuf:"bytes,5,opt,name=name"`
	Version     string   `json:"version,omitempty"  protobuf:"bytes,6,opt,name=version"`
}

PluginSpec provides details of a binary plugin available for a team

func (*PluginSpec) DeepCopy

func (in *PluginSpec) DeepCopy() *PluginSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginSpec.

func (*PluginSpec) DeepCopyInto

func (in *PluginSpec) DeepCopyInto(out *PluginSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreviewActivityStep

type PreviewActivityStep struct {
	CoreActivityStep `json:",inline"`

	Environment    string `json:"environment,omitempty" protobuf:"bytes,1,opt,name=environment"`
	PullRequestURL string `json:"pullRequestURL,omitempty" protobuf:"bytes,2,opt,name=pullRequestURL"`
	ApplicationURL string `json:"applicationURL,omitempty" protobuf:"bytes,3,opt,name=applicationURL"`
}

PreviewActivityStep is the step of creating a preview environment as part of a Pull Request pipeline

func (*PreviewActivityStep) DeepCopy

func (in *PreviewActivityStep) DeepCopy() *PreviewActivityStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreviewActivityStep.

func (*PreviewActivityStep) DeepCopyInto

func (in *PreviewActivityStep) DeepCopyInto(out *PreviewActivityStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreviewGitSpec

type PreviewGitSpec struct {
	Name            string   `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"`
	URL             string   `json:"url,omitempty" protobuf:"bytes,2,opt,name=url"`
	User            UserSpec `json:"user,omitempty" protobuf:"bytes,3,opt,name=user"`
	Title           string   `json:"title,omitempty" protobuf:"bytes,4,opt,name=title"`
	Description     string   `json:"description,omitempty" protobuf:"bytes,5,opt,name=description"`
	BuildStatus     string   `json:"buildStatus,omitempty" protobuf:"bytes,6,opt,name=buildStatus"`
	BuildStatusURL  string   `json:"buildStatusUrl,omitempty" protobuf:"bytes,7,opt,name=buildStatusUrl"`
	ApplicationName string   `json:"appName,omitempty" protobuf:"bytes,8,opt,name=appName"`
	ApplicationURL  string   `json:"applicationURL,omitempty" protobuf:"bytes,9,opt,name=applicationURL"`
}

PreviewGitSpec is the preview git branch/pull request details

func (*PreviewGitSpec) DeepCopy

func (in *PreviewGitSpec) DeepCopy() *PreviewGitSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreviewGitSpec.

func (*PreviewGitSpec) DeepCopyInto

func (in *PreviewGitSpec) DeepCopyInto(out *PreviewGitSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PromoteActivityStep

type PromoteActivityStep struct {
	CoreActivityStep `json:",inline"`

	Environment    string                  `json:"environment,omitempty" protobuf:"bytes,1,opt,name=environment"`
	PullRequest    *PromotePullRequestStep `json:"pullRequest,omitempty" protobuf:"bytes,2,opt,name=pullRequest"`
	Update         *PromoteUpdateStep      `json:"update,omitempty" protobuf:"bytes,3,opt,name=update"`
	ApplicationURL string                  `json:"applicationURL,omitempty" protobuf:"bytes,4,opt,name=environment"`
}

PromoteActivityStep is the step of promoting a version of an application to an environment

func (*PromoteActivityStep) DeepCopy

func (in *PromoteActivityStep) DeepCopy() *PromoteActivityStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromoteActivityStep.

func (*PromoteActivityStep) DeepCopyInto

func (in *PromoteActivityStep) DeepCopyInto(out *PromoteActivityStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PromotePullRequestStep

type PromotePullRequestStep struct {
	CoreActivityStep `json:",inline"`

	PullRequestURL string `json:"pullRequestURL,omitempty" protobuf:"bytes,1,opt,name=pullRequestURL"`
	MergeCommitSHA string `json:"mergeCommitSHA,omitempty" protobuf:"bytes,2,opt,name=mergeCommitSHA"`
}

PromotePullRequestStep is the step for promoting a version to an environment by raising a Pull Request on the git repository of the environment

func (*PromotePullRequestStep) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotePullRequestStep.

func (*PromotePullRequestStep) DeepCopyInto

func (in *PromotePullRequestStep) DeepCopyInto(out *PromotePullRequestStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PromoteUpdateStep

type PromoteUpdateStep struct {
	CoreActivityStep `json:",inline"`

	Statuses []GitStatus `json:"statuses,omitempty" protobuf:"bytes,1,opt,name=statuses"`
}

PromoteUpdateStep is the step for updating a promotion after the Pull Request merges to master

func (*PromoteUpdateStep) DeepCopy

func (in *PromoteUpdateStep) DeepCopy() *PromoteUpdateStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromoteUpdateStep.

func (*PromoteUpdateStep) DeepCopyInto

func (in *PromoteUpdateStep) DeepCopyInto(out *PromoteUpdateStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PromotionEngineType

type PromotionEngineType string

PromotionEngineType is the type of promotion implementation the team uses

type PromotionStrategyType

type PromotionStrategyType string

PromotionStrategyType is the type of a promotion strategy

const (
	// PromotionStrategyTypeManual specifies that promotion happens manually
	PromotionStrategyTypeManual PromotionStrategyType = "Manual"
	// PromotionStrategyTypeAutomatic specifies that promotion happens automatically
	PromotionStrategyTypeAutomatic PromotionStrategyType = "Auto"
	// PromotionStrategyTypeNever specifies that promotion is disabled for this environment
	PromotionStrategyTypeNever PromotionStrategyType = "Never"
)

type ProwConfigType

type ProwConfigType string

ProwConfigType is the type of prow configuration

const (
	// ProwConfigScheduler when we use the Scheduler CRDs to generate the Prow ConfigMaps
	ProwConfigScheduler ProwConfigType = "Scheduler"
)

type ProwEngineType

type ProwEngineType string

ProwEngineType is the type of prow execution engine

type PullRequestInfo

type PullRequestInfo struct {
	PullRequestNumber string `json:"pullRequestNumber,omitempty" protobuf:"bytes,1,opt,name=pullRequestNumber"`
	// LastBuildNumberForCommit is the number of the last successful build of this PR outside of a batch
	LastBuildNumberForCommit string `json:"lastBuildNumberForCommit,omitempty" protobuf:"bytes,2,opt,name=lastBuildNumberForCommit"`
	// LastBuildSHA is the commit SHA in the last successful build of this PR outside of a batch.
	LastBuildSHA string `json:"lastBuildSHA,omitempty" protobuf:"bytes,3,opt,name=lastBuildSHA"`
}

PullRequestInfo contains information about a PR included in a batch, like its PR number, the last build number, and SHA

func (*PullRequestInfo) DeepCopy

func (in *PullRequestInfo) DeepCopy() *PullRequestInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullRequestInfo.

func (*PullRequestInfo) DeepCopyInto

func (in *PullRequestInfo) DeepCopyInto(out *PullRequestInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QuickStartLocation

type QuickStartLocation struct {
	GitURL   string   `json:"gitUrl,omitempty" protobuf:"bytes,1,opt,name=gitUrl"`
	GitKind  string   `json:"gitKind,omitempty" protobuf:"bytes,2,opt,name=gitKind"`
	Owner    string   `json:"owner,omitempty" protobuf:"bytes,3,opt,name=owner"`
	Includes []string `json:"includes,omitempty" protobuf:"bytes,4,opt,name=includes"`
	Excludes []string `json:"excludes,omitempty" protobuf:"bytes,5,opt,name=excludes"`
}

QuickStartLocation

func (*QuickStartLocation) DeepCopy

func (in *QuickStartLocation) DeepCopy() *QuickStartLocation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuickStartLocation.

func (*QuickStartLocation) DeepCopyInto

func (in *QuickStartLocation) DeepCopyInto(out *QuickStartLocation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Release

type Release struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec   ReleaseSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status ReleaseStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

Release represents a single version of an app that has been released

func (*Release) DeepCopy

func (in *Release) DeepCopy() *Release

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Release.

func (*Release) DeepCopyInto

func (in *Release) DeepCopyInto(out *Release)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Release) DeepCopyObject

func (in *Release) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReleaseList

type ReleaseList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []Release `json:"items"`
}

ReleaseList is a list of Release resources

func (*ReleaseList) DeepCopy

func (in *ReleaseList) DeepCopy() *ReleaseList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseList.

func (*ReleaseList) DeepCopyInto

func (in *ReleaseList) DeepCopyInto(out *ReleaseList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReleaseList) DeepCopyObject

func (in *ReleaseList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReleaseSpec

type ReleaseSpec struct {
	Name              string             `json:"name,omitempty"  protobuf:"bytes,1,opt,name=name"`
	Version           string             `json:"version,omitempty"  protobuf:"bytes,2,opt,name=version"`
	GitHTTPURL        string             `json:"gitHttpUrl,omitempty"  protobuf:"bytes,3,opt,name=gitHttpUrl"`
	GitCloneURL       string             `json:"gitCloneUrl,omitempty"  protobuf:"bytes,4,opt,name=gitCloneUrl"`
	Commits           []CommitSummary    `json:"commits,omitempty" protobuf:"bytes,5,opt,name=commits"`
	Issues            []IssueSummary     `json:"issues,omitempty" protobuf:"bytes,6,opt,name=issues"`
	PullRequests      []IssueSummary     `json:"pullRequests,omitempty" protobuf:"bytes,7,opt,name=pullRequests"`
	DependencyUpdates []DependencyUpdate `json:"dependencyUpdates,omitempty" protobuf:"bytes,11,opt,name=dependencyUpdates"`
	ReleaseNotesURL   string             `json:"releaseNotesURL,omitempty" protobuf:"bytes,8,opt,name=releaseNotesURL"`
	GitRepository     string             `json:"gitRepository,omitempty" protobuf:"bytes,9,opt,name=gitRepository"`
	GitOwner          string             `json:"gitOwner,omitempty" protobuf:"bytes,10,opt,name=gitOwner"`
}

ReleaseSpec is the specification of the Release

func (*ReleaseSpec) DeepCopy

func (in *ReleaseSpec) DeepCopy() *ReleaseSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseSpec.

func (*ReleaseSpec) DeepCopyInto

func (in *ReleaseSpec) DeepCopyInto(out *ReleaseSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReleaseStatus

type ReleaseStatus struct {
	Status ReleaseStatusType `json:"status,omitempty"  protobuf:"bytes,1,opt,name=status"`
}

ReleaseStatus is the status of a release

func (*ReleaseStatus) DeepCopy

func (in *ReleaseStatus) DeepCopy() *ReleaseStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseStatus.

func (*ReleaseStatus) DeepCopyInto

func (in *ReleaseStatus) DeepCopyInto(out *ReleaseStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReleaseStatusType

type ReleaseStatusType string

ReleaseStatusType is the status of a release; usually deployed or failed at completion

const (
	// ReleaseStatusTypeNone an activity step has not started yet
	ReleaseStatusTypeNone ReleaseStatusType = ""
	// ReleaseStatusTypePending the release is pending
	ReleaseStatusTypePending ReleaseStatusType = "Pending"
	// ReleaseStatusTypeDeployed a release has been deployed
	ReleaseStatusTypeDeployed ReleaseStatusType = "Deployed"
	// ReleaseStatusTypeFailed release failed
	ReleaseStatusTypeFailed ReleaseStatusType = "Failed"
)

type RepositoryType

type RepositoryType string

RepositoryType is the type of a repository we use to store artifacts (jars, tarballs, npm packages etc)

const (
	// RepositoryTypeArtifactory if you wish to use Artifactory as the artifact repository
	RepositoryTypeArtifactory RepositoryType = "artifactory"
	// RepositoryTypeBucketRepo if you wish to use bucketrepo as the artifact repository. see https://github.com/jenkins-x/bucketrepo
	RepositoryTypeBucketRepo RepositoryType = "bucketrepo"
	// RepositoryTypeNone if you do not wish to install an artifact repository
	RepositoryTypeNone RepositoryType = "none"
	// RepositoryTypeNexus if you wish to use Sonatype Nexus as the artifact repository
	RepositoryTypeNexus RepositoryType = "nexus"
)

type Requirements

type Requirements struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata"`

	// Spec the definition of the secret mappings
	Spec RequirementsConfig `json:"spec"`
}

Requirements represents a collection installation requirements for Jenkins X

+k8s:openapi-gen=true

func (*Requirements) DeepCopy

func (in *Requirements) DeepCopy() *Requirements

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Requirements.

func (*Requirements) DeepCopyInto

func (in *Requirements) DeepCopyInto(out *Requirements)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequirementsConfig

type RequirementsConfig struct {
	// AutoUpdate contains auto update config
	AutoUpdate AutoUpdateConfig `json:"autoUpdate,omitempty"`
	// Cluster contains cluster specific requirements
	Cluster ClusterConfig `json:"cluster"`
	// Environments the requirements for the environments
	Environments []EnvironmentConfig `json:"environments,omitempty"`
	// Ingress contains ingress specific requirements
	Ingress IngressConfig `json:"ingress"`
	// PipelineUser the user name and email used for running pipelines
	PipelineUser *UserNameEmailConfig `json:"pipelineUser,omitempty"`
	// Repository specifies what kind of artifact repository you wish to use for storing artifacts (jars, tarballs, npm modules etc)
	Repository RepositoryType `json:"repository,omitempty" envconfig:"JX_REQUIREMENT_REPOSITORY"`
	// SecretStorage how should we store secrets for the cluster
	SecretStorage SecretStorageType `json:"secretStorage,omitempty" envconfig:"JX_REQUIREMENT_SECRET_STORAGE_TYPE"`
	// Storage contains storage requirements
	Storage []StorageConfig `json:"storage,omitempty"`
	// Terraform specifies if  we are managing the kubernetes cluster and cloud resources with Terraform
	Terraform bool `json:"terraform,omitempty"`
	// Vault the configuration for vault
	Vault VaultConfig `json:"vault,omitempty"`
	// Webhook specifies what engine we should use for webhooks
	Webhook WebhookType `json:"webhook,omitempty"`
}

RequirementsConfig contains the logical installation requirements in the `jx-requirements.yml` file when installing, configuring or upgrading Jenkins X via `jx boot`

func GetRequirementsConfigFromTeamSettings

func GetRequirementsConfigFromTeamSettings(settings *TeamSettings) (*RequirementsConfig, error)

GetRequirementsConfigFromTeamSettings reads the BootRequirements string from TeamSettings and unmarshals it

func LoadRequirementsConfig

func LoadRequirementsConfig(dir string, failOnValidationErrors bool) (*RequirementsConfig, string, error)

LoadRequirementsConfig loads the project configuration if there is a project configuration file if there is not a file called `jx-requirements.yml` in the given dir we will scan up the parent directories looking for the requirements file as we often run 'jx' steps in sub directories.

func LoadRequirementsConfigFile

func LoadRequirementsConfigFile(fileName string, failOnValidationErrors bool) (*RequirementsConfig, error)

LoadRequirementsConfigFile loads a specific project YAML configuration file

func NewRequirementsConfig

func NewRequirementsConfig() *RequirementsConfig

NewRequirementsConfig creates a default configuration file

func (*RequirementsConfig) DeepCopy

func (in *RequirementsConfig) DeepCopy() *RequirementsConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequirementsConfig.

func (*RequirementsConfig) DeepCopyInto

func (in *RequirementsConfig) DeepCopyInto(out *RequirementsConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RequirementsConfig) Environment

func (c *RequirementsConfig) Environment(name string) (*EnvironmentConfig, error)

Environment looks up the environment configuration based on environment name

func (*RequirementsConfig) EnvironmentMap

func (c *RequirementsConfig) EnvironmentMap() map[string]interface{}

EnvironmentMap creates a map of maps tree which can be used inside Go templates to access the environment configurations

func (*RequirementsConfig) GetStorageURL

func (c *RequirementsConfig) GetStorageURL(name string) string

func (*RequirementsConfig) IsCloudProvider

func (c *RequirementsConfig) IsCloudProvider() bool

IsCloudProvider returns true if the kubenretes provider is a cloud

func (*RequirementsConfig) IsEmpty

func (c *RequirementsConfig) IsEmpty() bool

IsEmpty returns true if this configuration is empty

func (*RequirementsConfig) IsLazyCreateSecrets

func (c *RequirementsConfig) IsLazyCreateSecrets(flag string) (bool, error)

IsLazyCreateSecrets returns a boolean whether secrets should be lazily created

func (*RequirementsConfig) MergeSave

func (c *RequirementsConfig) MergeSave(src *RequirementsConfig, requirementsFileName string) error

MergeSave attempts to merge the provided RequirementsConfig with the caller's data. It does so overriding values in the source struct with non-zero values from the provided struct it defines non-zero per property and not for a while embedded struct, meaning that nested properties in embedded structs should also be merged correctly. if a slice is added a transformer will be needed to handle correctly merging the contained values

func (*RequirementsConfig) OverrideRequirementsFromEnvironment

func (c *RequirementsConfig) OverrideRequirementsFromEnvironment(gkeProjectNumber func(projectId string) (string, error))

OverrideRequirementsFromEnvironment allows properties to be overridden with environment variables

func (*RequirementsConfig) SaveConfig

func (c *RequirementsConfig) SaveConfig(fileName string) error

SaveConfig saves the configuration file to the given project directory

func (*RequirementsConfig) ToMap

func (c *RequirementsConfig) ToMap() (map[string]interface{}, error)

ToMap converts this object to a map of maps for use in helm templating

type RequirementsValues

type RequirementsValues struct {
	// RequirementsConfig contains the logical installation requirements
	RequirementsConfig *RequirementsConfig `json:"jxRequirements,omitempty"`
}

RequirementsValues contains the logical installation requirements in the `jx-requirements.yml` file as helm values

func (*RequirementsValues) DeepCopy

func (in *RequirementsValues) DeepCopy() *RequirementsValues

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequirementsValues.

func (*RequirementsValues) DeepCopyInto

func (in *RequirementsValues) DeepCopyInto(out *RequirementsValues)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceReference

type ResourceReference struct {
	// API version of the referent.
	APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,5,opt,name=apiVersion"`
	// Kind of the referent.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
	Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"`
	// Name of the referent.
	// More info: http://kubernetes.io/docs/user-guide/identifiers#names
	Name string `json:"name" protobuf:"bytes,3,opt,name=name"`
	// UID of the referent.
	// More info: http://kubernetes.io/docs/user-guide/identifiers#uids
	UID types.UID `json:"uid,omitempty" protobuf:"bytes,4,opt,name=uid,casttype=k8s.io/apimachinery/pkg/types.UID"`
}

func (*ResourceReference) DeepCopy

func (in *ResourceReference) DeepCopy() *ResourceReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReference.

func (*ResourceReference) DeepCopyInto

func (in *ResourceReference) DeepCopyInto(out *ResourceReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretStorageType

type SecretStorageType string

SecretStorageType is the type of storage used for secrets

const (
	// SecretStorageTypeVault specifies that we use vault to store secrets
	SecretStorageTypeVault SecretStorageType = "vault"
	// SecretStorageTypeLocal specifies that we use the local file system in
	// `~/.jx/localSecrets` to store secrets
	SecretStorageTypeLocal SecretStorageType = "local"
)

type SourceRepository

type SourceRepository struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec SourceRepositorySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}

SourceRepository is the metadata for an Application/Project/SourceRepository

func (*SourceRepository) DeepCopy

func (in *SourceRepository) DeepCopy() *SourceRepository

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceRepository.

func (*SourceRepository) DeepCopyInto

func (in *SourceRepository) DeepCopyInto(out *SourceRepository)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SourceRepository) DeepCopyObject

func (in *SourceRepository) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SourceRepository) Sanitize

func (repo *SourceRepository) Sanitize()

Sanitize sanitizes the source repository URL

type SourceRepositoryList

type SourceRepositoryList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []SourceRepository `json:"items"`
}

SourceRepositoryList is a structure used by k8s to store lists of apps

func (*SourceRepositoryList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceRepositoryList.

func (*SourceRepositoryList) DeepCopyInto

func (in *SourceRepositoryList) DeepCopyInto(out *SourceRepositoryList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SourceRepositoryList) DeepCopyObject

func (in *SourceRepositoryList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SourceRepositorySpec

type SourceRepositorySpec struct {
	Description string `json:"description,omitempty" protobuf:"bytes,1,opt,name=description"`
	// Provider stores the URL of the git provider such as https://github.com
	Provider string `json:"provider,omitempty" protobuf:"bytes,2,opt,name=provider"`
	Org      string `json:"org,omitempty" protobuf:"bytes,3,opt,name=org"`
	Repo     string `json:"repo,omitempty" protobuf:"bytes,4,opt,name=repo"`
	// ProviderName is a logical name for the provider without any URL scheme which can be used in a label selector
	ProviderName string `json:"providerName,omitempty" protobuf:"bytes,5,opt,name=providerName"`
	// ProviderKind is the kind of provider (github / bitbucketcloud / bitbucketserver etc)
	ProviderKind string `json:"providerKind,omitempty" protobuf:"bytes,6,opt,name=providerKind"`
	// URL is the web URL of the project page
	URL string `json:"url,omitempty" protobuf:"bytes,7,opt,name=url"`
	// SSHCloneURL is the git URL to clone this repository using SSH
	SSHCloneURL string `json:"sshCloneURL,omitempty" protobuf:"bytes,8,opt,name=sshCloneURL"`
	// HTTPCloneURL is the git URL to clone this repository using HTTP/HTTPS
	HTTPCloneURL string `json:"httpCloneURL,omitempty" protobuf:"bytes,9,opt,name=httpCloneURL"`
	// Scheduler a reference to a custom scheduler otherwise we default to the Team's Scededuler
	Scheduler ResourceReference `json:"scheduler,omitempty" protobuf:"bytes,10,opt,name=scheduler"`
}

SourceRepositorySpec provides details of the metadata for an App

func (*SourceRepositorySpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceRepositorySpec.

func (*SourceRepositorySpec) DeepCopyInto

func (in *SourceRepositorySpec) DeepCopyInto(out *SourceRepositorySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StageActivityStep

type StageActivityStep struct {
	CoreActivityStep `json:",inline"`

	Steps []CoreActivityStep `json:"steps,omitempty" protobuf:"bytes,1,opt,name=steps"`
}

StageActivityStep represents a stage of zero to more sub steps in a jenkins pipeline

func (*StageActivityStep) DeepCopy

func (in *StageActivityStep) DeepCopy() *StageActivityStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StageActivityStep.

func (*StageActivityStep) DeepCopyInto

func (in *StageActivityStep) DeepCopyInto(out *StageActivityStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StorageConfig

type StorageConfig struct {
	// Name of the bucket
	Name string `json:"name"`
	// URL the cloud storage bucket URL such as 'gs://mybucket' or 's3://foo' or `azblob://thingy'
	// see https://jenkins-x.io/architecture/storage/
	URL string `json:"url"`
}

StorageConfig contains dns specific requirements

func (*StorageConfig) DeepCopy

func (in *StorageConfig) DeepCopy() *StorageConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageConfig.

func (*StorageConfig) DeepCopyInto

func (in *StorageConfig) DeepCopyInto(out *StorageConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StorageLocation

type StorageLocation struct {
	Classifier string `json:"classifier,omitempty" protobuf:"bytes,1,opt,name=classifier"`
	GitURL     string `json:"gitUrl,omitempty" protobuf:"bytes,2,opt,name=gitUrl"`
	GitBranch  string `json:"gitBranch,omitempty" protobuf:"bytes,3,opt,name=gitBranch"`
	BucketURL  string `json:"bucketUrl,omitempty" protobuf:"bytes,4,opt,name=bucketUrl"`
}

StorageLocation

func (*StorageLocation) DeepCopy

func (in *StorageLocation) DeepCopy() *StorageLocation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageLocation.

func (*StorageLocation) DeepCopyInto

func (in *StorageLocation) DeepCopyInto(out *StorageLocation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StorageLocation) Description

func (s *StorageLocation) Description() string

Description returns the textual description of the storage location

func (*StorageLocation) GetGitBranch

func (s *StorageLocation) GetGitBranch() string

GetGitBranch returns the git branch to use when using git storage

func (*StorageLocation) IsEmpty

func (s *StorageLocation) IsEmpty() bool

IsEmpty returns true if the storage location is empty

type TLSConfig

type TLSConfig struct {
	// TLS enabled
	Enabled bool `json:"enabled"`
	// Email address to register with services like LetsEncrypt
	Email string `json:"email"`
	// Production false uses self-signed certificates from the LetsEncrypt staging server, true enables the production
	// server which incurs higher rate limiting https://letsencrypt.org/docs/rate-limits/
	Production bool `json:"production"`
	// SecretName the name of the secret which contains the TLS certificate
	SecretName string `json:"secretName,omitempty"`
}

TLSConfig contains TLS specific requirements

func (*TLSConfig) DeepCopy

func (in *TLSConfig) DeepCopy() *TLSConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.

func (*TLSConfig) DeepCopyInto

func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TeamSettings

type TeamSettings struct {
	BranchPatterns      string               `json:"branchPatterns,omitempty" protobuf:"bytes,3,opt,name=branchPatterns"`
	ForkBranchPatterns  string               `json:"forkBranchPatterns,omitempty" protobuf:"bytes,4,opt,name=forkBranchPatterns"`
	QuickstartLocations []QuickStartLocation `json:"quickstartLocations,omitempty" protobuf:"bytes,5,opt,name=quickstartLocations"`
	PostPreviewJobs     []batchv1.Job        `json:"postPreviewJobs,omitempty" protobuf:"bytes,9,opt,name=postPreviewJobs"`
	PromotionEngine     PromotionEngineType  `json:"promotionEngine,omitempty" protobuf:"bytes,10,opt,name=promotionEngine"`
	GitServer           string               `` /* 140-byte string literal not displayed */
	Organisation        string               `` /* 155-byte string literal not displayed */
	EnvOrganisation     string               `` /* 176-byte string literal not displayed */
	PipelineUsername    string               `` /* 191-byte string literal not displayed */
	PipelineUserEmail   string               `` /* 201-byte string literal not displayed */
	DockerRegistryOrg   string               `` /* 189-byte string literal not displayed */
	GitPublic           bool                 `` /* 139-byte string literal not displayed */
	KubeProvider        string               `json:"kubeProvider,omitempty" protobuf:"bytes,18,opt,name=kubeProvider"`
	AppsRepository      string               `json:"appsRepository,omitempty" protobuf:"bytes,19,opt,name=appsRepository"`
	StorageLocations    []StorageLocation    `json:"storageLocations,omitempty" protobuf:"bytes,21,opt,name=storageLocations"`

	// DeployKind what kind of deployment ("default" uses regular Kubernetes Services and Deployments, "knative" uses the Knative Service resource instead)
	DeployKind string `json:"deployKind,omitempty" protobuf:"bytes,24,opt,name=deployKind"`

	// AppsPrefixes is the list of prefixes for appNames
	AppsPrefixes     []string          `json:"appPrefixes,omitempty" protobuf:"bytes,27,opt,name=appPrefixes"`
	DefaultScheduler ResourceReference `json:"defaultScheduler,omitempty" protobuf:"bytes,28,opt,name=defaultScheduler"`

	// ProwConfig is the way we manage prow configurations
	ProwConfig ProwConfigType `json:"prowConfig,omitempty" protobuf:"bytes,29,opt,name=prowConfig"`

	// BootRequirements is a marshaled string of the jx-requirements.yml used in the most recent run for this cluster
	BootRequirements string `json:"bootRequirements,omitempty" protobuf:"bytes,31,opt,name=bootRequirements"`

	// DeployOptions configures options for how to deploy applications by default such as using canary rollouts (progressive delivery) or using horizontal pod autoscaler
	DeployOptions *DeployOptions `json:"deployOptions,omitempty" protobuf:"bytes,32,opt,name=deployOptions"`
}

TeamSettings the default settings for a team

func (*TeamSettings) DeepCopy

func (in *TeamSettings) DeepCopy() *TeamSettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamSettings.

func (*TeamSettings) DeepCopyInto

func (in *TeamSettings) DeepCopyInto(out *TeamSettings)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TeamSettings) GetDeployOptions

func (t *TeamSettings) GetDeployOptions() DeployOptions

GetDeployOptions returns the default deploy options for a team

func (*TeamSettings) SetStorageLocation

func (t *TeamSettings) SetStorageLocation(classifier string, storage StorageLocation)

SetStorageLocation stores the given storage location in the team settings

func (*TeamSettings) StorageLocation

func (t *TeamSettings) StorageLocation(classifier string) StorageLocation

StorageLocation returns the storage location, lazily creating one if one does not already exist

func (*TeamSettings) StorageLocationOrDefault

func (t *TeamSettings) StorageLocationOrDefault(classifier string) StorageLocation

StorageLocationOrDefault returns the storage location if there is one or returns the default storage configuration

func (*TeamSettings) UnmarshalJSON

func (t *TeamSettings) UnmarshalJSON(data []byte) error

UnmarshalJSON method handles the rename of GitPrivate to GitPublic.

type UserDetails

type UserDetails struct {
	Login             string             `json:"login,omitempty"  protobuf:"bytes,1,opt,name=login"`
	Name              string             `json:"name,omitempty"  protobuf:"bytes,2,opt,name=name"`
	Email             string             `json:"email,omitempty"  protobuf:"bytes,3,opt,name=email"`
	CreationTimestamp *metav1.Time       `json:"creationTimestamp,omitempty" protobuf:"bytes,4,opt,name=creationTimestamp"`
	URL               string             `json:"url,omitempty"  protobuf:"bytes,5,opt,name=url"`
	AvatarURL         string             `json:"avatarUrl,omitempty"  protobuf:"bytes,6,opt,name=avatarUrl"`
	ServiceAccount    string             `json:"serviceAccount,omitempty"  protobuf:"bytes,7,opt,name=serviceAccount"`
	Accounts          []AccountReference `json:"accountReference,omitempty"  protobuf:"bytes,8,opt,name=accountReference"`
	ExternalUser      bool               `json:"externalUser,omitempty"  protobuf:"bytes,9,opt,name=externalUser"`
}

UserDetails containers details of a user

func (*UserDetails) DeepCopy

func (in *UserDetails) DeepCopy() *UserDetails

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserDetails.

func (*UserDetails) DeepCopyInto

func (in *UserDetails) DeepCopyInto(out *UserDetails)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserNameEmailConfig

type UserNameEmailConfig struct {
	// Username the username of the user
	Username string `json:"username,omitempty"`
	// Email the email address of the user
	Email string `json:"email,omitempty"`
}

UserNameEmailConfig contains the user name and email of a user (e.g. pipeline user)

func (*UserNameEmailConfig) DeepCopy

func (in *UserNameEmailConfig) DeepCopy() *UserNameEmailConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserNameEmailConfig.

func (*UserNameEmailConfig) DeepCopyInto

func (in *UserNameEmailConfig) DeepCopyInto(out *UserNameEmailConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserSpec

type UserSpec struct {
	Username string `json:"username,omitempty" protobuf:"bytes,1,opt,name=username"`
	Name     string `json:"name,omitempty" protobuf:"bytes,2,opt,name=name"`
	LinkURL  string `json:"linkUrl,omitempty" protobuf:"bytes,3,opt,name=linkUrl"`
	ImageURL string `json:"imageUrl,omitempty" protobuf:"bytes,4,opt,name=imageUrl"`
}

UserSpec is the user details

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSpec.

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VaultAWSConfig

type VaultAWSConfig struct {
	VaultAWSUnsealConfig
	AutoCreate          bool   `json:"autoCreate,omitempty"`
	DynamoDBTable       string `json:"dynamoDBTable,omitempty"`
	DynamoDBRegion      string `json:"dynamoDBRegion,omitempty"`
	ProvidedIAMUsername string `json:"iamUserName,omitempty"`
}

VaultAWSConfig contains all the Vault configuration needed by Vault to be deployed in AWS

func (*VaultAWSConfig) DeepCopy

func (in *VaultAWSConfig) DeepCopy() *VaultAWSConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultAWSConfig.

func (*VaultAWSConfig) DeepCopyInto

func (in *VaultAWSConfig) DeepCopyInto(out *VaultAWSConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VaultAWSUnsealConfig

type VaultAWSUnsealConfig struct {
	KMSKeyID  string `json:"kmsKeyId,omitempty"`
	KMSRegion string `json:"kmsRegion,omitempty"`
	S3Bucket  string `json:"s3Bucket,omitempty"`
	S3Prefix  string `json:"s3Prefix,omitempty"`
	S3Region  string `json:"s3Region,omitempty"`
}

VaultAWSUnsealConfig contains references to existing AWS resources that can be used to install Vault

func (*VaultAWSUnsealConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultAWSUnsealConfig.

func (*VaultAWSUnsealConfig) DeepCopyInto

func (in *VaultAWSUnsealConfig) DeepCopyInto(out *VaultAWSUnsealConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VaultAzureConfig

type VaultAzureConfig struct {
	TenantID           string `json:"tenantId,omitempty"`
	VaultName          string `json:"vaultName,omitempty"`
	KeyName            string `json:"keyName,omitempty"`
	StorageAccountName string `json:"storageAccountName,omitempty"`
	ContainerName      string `json:"containerName,omitempty"`
}

VaultAzureConfig contains all the Vault configuration needed by Vault to be deployed in Azure

func (*VaultAzureConfig) DeepCopy

func (in *VaultAzureConfig) DeepCopy() *VaultAzureConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultAzureConfig.

func (*VaultAzureConfig) DeepCopyInto

func (in *VaultAzureConfig) DeepCopyInto(out *VaultAzureConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VaultConfig

type VaultConfig struct {
	// Name the name of the Vault if using Jenkins X managed Vault instance.
	// Cannot be used in conjunction with the URL attribute
	Name string `json:"name,omitempty"`

	Bucket         string `json:"bucket,omitempty" envconfig:"JX_REQUIREMENT_VAULT_BUCKET_NAME"`
	RecreateBucket bool   `json:"recreateBucket,omitempty"`

	Keyring string `json:"keyring,omitempty" envconfig:"JX_REQUIREMENT_VAULT_KEYRING_NAME"`
	Key     string `json:"key,omitempty" envconfig:"JX_REQUIREMENT_VAULT_KEY_NAME"`

	// DisableURLDiscovery allows us to optionally override the default lookup of the Vault URL, could be incluster service or external ingress
	DisableURLDiscovery bool `json:"disableURLDiscovery,omitempty"`

	// AWSConfig describes the AWS specific configuration needed for the Vault Operator.
	AWSConfig *VaultAWSConfig `json:"aws,omitempty"`

	// AzureConfig describes the Azure specific configuration needed for the Vault Operator.
	AzureConfig *VaultAzureConfig `json:"azure,omitempty"`

	// URL specifies the URL of an Vault instance to use for secret storage.
	// Needs to be specified together with the Service Account and namespace to use for connecting to Vault.
	// This cannot be used in conjunction with the Name attribute.
	URL string `json:"url,omitempty"`

	// ServiceAccount is the name of the Kubernetes service account allowed to authenticate against Vault.
	ServiceAccount string `json:"serviceAccount,omitempty" envconfig:"JX_REQUIREMENT_VAULT_SA_NAME"`

	// Namespace of the Kubernetes service account allowed to authenticate against Vault.
	Namespace string `json:"namespace,omitempty"`

	// SecretEngineMountPoint is the secret engine mount point to be used for writing data into the KV engine of Vault.
	// If not specified the 'secret' is used.
	SecretEngineMountPoint string `json:"secretEngineMountPoint,omitempty"`

	// KubernetesAuthPath is the auth path of used for this cluster
	// If not specified the 'kubernetes' is used.
	KubernetesAuthPath string `json:"kubernetesAuthPath,omitempty"`
}

VaultConfig contains Vault configuration for Boot

func (*VaultConfig) DeepCopy

func (in *VaultConfig) DeepCopy() *VaultConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultConfig.

func (*VaultConfig) DeepCopyInto

func (in *VaultConfig) DeepCopyInto(out *VaultConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebHookEngineType

type WebHookEngineType string

WebHookEngineType is the type of webhook processing implementation the team uses

const (
	// WebHookEngineLighthouse specifies that we use lighthouse for webhooks
	// see: https://github.com/jenkins-x/lighthouse
	WebHookEngineLighthouse WebHookEngineType = "Lighthouse"
)

type WebhookType

type WebhookType string

WebhookType is the type of a webhook strategy

const (
	// WebhookTypeLighthouse specifies that we use lighthouse for webhooks
	// see: https://github.com/jenkins-x/lighthouse
	WebhookTypeLighthouse WebhookType = "lighthouse"
)

Jump to

Keyboard shortcuts

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