v1

package
v0.6.4 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2024 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the cicd v1 API group +kubebuilder:object:generate=true +groupName=cicd.tmax.io

Index

Constants

View Source
const (
	ApprovalConditionSentRequestMail = "SentRequestMail"
	ApprovalConditionSentResultMail  = "SentResultMail"
)

Condition keys for Approval

View Source
const (
	ApprovalAPIApprove = "approve"
	ApprovalAPIReject  = "reject"
)

Approval API kinds

View Source
const (
	CustomTaskGroup   = "cicd.tmax.io"
	CustomTaskVersion = "v1"
)

API group and version for the custom tasks

View Source
const (
	CustomTaskKindApproval = "ApprovalTask"

	CustomTaskApprovalParamKeyApprovers   = "approvers"
	CustomTaskApprovalParamKeyApproversCM = "approvers-config-map"
	CustomTaskApprovalParamKeyMessage     = "message"
	CustomTaskApprovalParamKeyBody        = "body"

	CustomTaskApprovalParamKeyIntegrationJob    = "integration-job"
	CustomTaskApprovalParamKeyIntegrationJobJob = "integration-job-job"
	CustomTaskApprovalParamKeySenderName        = "senderName"
	CustomTaskApprovalParamKeySenderEmail       = "senderEmail"
	CustomTaskApprovalParamKeyLink              = "link"

	CustomTaskApprovalApproversConfigMapKey = "approvers"
)

Approval custom tasks

View Source
const (
	CustomTaskKindEmail = "EmailTask"

	CustomTaskEmailParamKeyReceivers         = "receivers"
	CustomTaskEmailParamKeyTitle             = "title"
	CustomTaskEmailParamKeyContent           = "content"
	CustomTaskEmailParamKeyIsHTML            = "isHtml"
	CustomTaskEmailParamKeyIntegrationJobJob = CustomTaskApprovalParamKeyIntegrationJobJob
	CustomTaskEmailParamKeyIntegrationJob    = CustomTaskApprovalParamKeyIntegrationJob
)

Email custom tasks

View Source
const (
	CustomTaskKindSlack = "SlackTask"

	CustomTaskSlackParamKeyWebhook           = "webhook-url"
	CustomTaskSlackParamKeyMessage           = CustomTaskApprovalParamKeyMessage
	CustomTaskSlackParamKeyIntegrationJob    = CustomTaskApprovalParamKeyIntegrationJob
	CustomTaskSlackParamKeyIntegrationJobJob = CustomTaskApprovalParamKeyIntegrationJobJob
)

Slack custom tasks

View Source
const (
	CustomTaskKindWebHook                      = "WebhookTask"
	CustomTaskWebhookParamKeyURL               = "webhook-url"
	CustomTaskWebhookParamKeyBody              = CustomTaskApprovalParamKeyBody
	CustomTaskWebHookParamKeyIntegrationJobJob = CustomTaskApprovalParamKeyIntegrationJobJob
	CustomTaskWebHookParamKeyIntegrationJob    = CustomTaskApprovalParamKeyIntegrationJob
)

WebHook custom tasks

View Source
const (
	GithubDefaultAPIUrl = "https://api.github.com"
	GithubDefaultHost   = "https://github.com"

	GitlabDefaultAPIUrl = "https://gitlab.com"
	GitlabDefaultHost   = "https://gitlab.com"

	GiteaDefaultAPIUrl = "https://gitea.com"
	GiteaDefaultHost   = "https://gitea.com"
)

Default hosts for remote git servers

View Source
const (
	GitTypeGitHub = GitType("github")
	GitTypeGitLab = GitType("gitlab")
	GitTypeGitea  = GitType("gitea")
	GitTypeFake   = GitType("fake")
)

Git Types

View Source
const (
	IntegrationConfigConditionWebhookRegistered = "webhook-registered"
	IntegrationConfigConditionReady             = "ready"
)

Condition keys for IntegrationConfig

View Source
const (
	IntegrationConfigAPIRunPre     = "runpre"
	IntegrationConfigAPIRunPost    = "runpost"
	IntegrationConfigAPIWebhookURL = "webhookurl"
)

IntegrationConfig's API kinds

View Source
const (
	IntegrationJobStatePending   = IntegrationJobState("Pending")
	IntegrationJobStateRunning   = IntegrationJobState("Running")
	IntegrationJobStateCompleted = IntegrationJobState("Completed")
	IntegrationJobStateFailed    = IntegrationJobState("Failed")
)

IntegrationJob's states

View Source
const (
	// JobLabelPrefix is a prefix of every labels
	JobLabelPrefix = "cicd.tmax.io/"

	JobLabelConfig      = JobLabelPrefix + "integration-config"
	JobLabelType        = JobLabelPrefix + "integration-type"
	JobLabelID          = JobLabelPrefix + "integration-id"
	JobLabelRepository  = JobLabelPrefix + "repository"
	JobLabelPullRequest = JobLabelPrefix + "pull-request"

	RunLabelJob            = JobLabelPrefix + "integration-job"
	RunLabelJobID          = JobLabelPrefix + "integration-job-id"
	RunLabelRepository     = JobLabelRepository
	RunLabelPullRequest    = JobLabelPullRequest
	RunLabelPullRequestSha = JobLabelPrefix + "pull-request-sha"
	RunLabelSender         = JobLabelPrefix + "sender"
)

Labels for IntegrationJobs or PipelineRuns

View Source
const (
	// JobTypePreSubmit is a pre-submit type (pull-request or merge-request)
	JobTypePreSubmit = JobType("preSubmit")
	// JobTypePostSubmit is a post-submit type (push or tag-push)
	JobTypePostSubmit = JobType("postSubmit")
	// JobTypePeriodic is a periodic type
	JobTypePeriodic = JobType("periodic")
)
View Source
const (
	CommitStatusStateSuccess = CommitStatusState("success")
	CommitStatusStateFailure = CommitStatusState("failure")
	CommitStatusStateError   = CommitStatusState("error")
	CommitStatusStatePending = CommitStatusState("pending")
)

Job's commit state

View Source
const ApprovalKind = "approvals"

ApprovalKind is a kind string

View Source
const (
	IntegrationConfigConditionReasonNoGitToken = "noGitToken"
)

IntegrationConfigConditionReasonNoGitToken is a Reason key

View Source
const (
	IntegrationConfigKind = "integrationconfigs"
)

IntegrationConfigKind is kind string

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "cicd.tmax.io", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var CustomTaskAPIVersion = fmt.Sprintf("%s/%s", CustomTaskGroup, CustomTaskVersion)

CustomTaskAPIVersion is

Functions

func ConvertToTektonParamSpecs added in v0.5.1

func ConvertToTektonParamSpecs(params []ParameterDefine) []tektonv1beta1.ParamSpec

ConvertToTektonParamSpecs converts ParameterDefine array to tekton ParamSpec array

func ConvertToTektonParams added in v0.5.1

func ConvertToTektonParams(params []ParameterValue) []tektonv1beta1.Param

ConvertToTektonParams convert ParameterValue array to tekton Param array

func GetSecretName

func GetSecretName(configName string) string

GetSecretName returns the name of related secret

func GetServiceAccountName

func GetServiceAccountName(configName string) string

GetServiceAccountName returns the name of the related ServiceAccount

Types

type AddTektonTaskParam added in v0.6.3

type AddTektonTaskParam struct {
	JobName    string          `json:"jobName"`
	TektonTask []TektonTaskDef `json:"tektonTask"`
}

AddTektonTaskParam represents additional Tekton task parameters

func (*AddTektonTaskParam) DeepCopy added in v0.6.3

func (in *AddTektonTaskParam) DeepCopy() *AddTektonTaskParam

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

func (*AddTektonTaskParam) DeepCopyInto added in v0.6.3

func (in *AddTektonTaskParam) DeepCopyInto(out *AddTektonTaskParam)

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

type Approval

type Approval struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ApprovalSpec   `json:"spec"`
	Status ApprovalStatus `json:"status,omitempty"`
}

Approval is the Schema for the approvals API +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.result",description="Current status of Approval" +kubebuilder:printcolumn:name="Created",type="date",JSONPath=".metadata.creationTimestamp",description="Created time" +kubebuilder:printcolumn:name="Decided",type="date",JSONPath=".status.decisionTime",description="Decided time"

func (*Approval) DeepCopy

func (in *Approval) DeepCopy() *Approval

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

func (*Approval) DeepCopyInto

func (in *Approval) DeepCopyInto(out *Approval)

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

func (*Approval) DeepCopyObject

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

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

type ApprovalAPIReqBody added in v0.2.3

type ApprovalAPIReqBody struct {
	Reason string `json:"reason"`
}

ApprovalAPIReqBody is a body struct for Approval's api request +kubebuilder:object:generate=false

type ApprovalList

type ApprovalList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Approval `json:"items"`
}

ApprovalList contains a list of Approval

func (*ApprovalList) DeepCopy

func (in *ApprovalList) DeepCopy() *ApprovalList

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

func (*ApprovalList) DeepCopyInto

func (in *ApprovalList) DeepCopyInto(out *ApprovalList)

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

func (*ApprovalList) DeepCopyObject

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

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

type ApprovalResult

type ApprovalResult string

ApprovalResult is a result of the Approval

const (
	ApprovalResultAwaiting ApprovalResult = "Awaiting"
	ApprovalResultApproved ApprovalResult = "Approved"
	ApprovalResultRejected ApprovalResult = "Rejected"
	ApprovalResultError    ApprovalResult = "Error"
)

Results

type ApprovalSpec

type ApprovalSpec struct {
	// PodName represents the name of the pod to be approved to proceed
	// Deprecated: not used from HyperCloud5, only for the backward compatibility with HyperCloud4
	PodName string `json:"podName,omitempty"`

	// SkipSendMail describes whether or not to send mail for request/result for approvers
	SkipSendMail bool `json:"skipSendMail,omitempty"`

	// PipelineRun points the actual pipeline run object which created this Approval
	PipelineRun string `json:"pipelineRun,omitempty"`

	// IntegrationJob is a related IntegrationJob name (maybe a grand-parent of Approval)
	IntegrationJob string `json:"integrationJob,omitempty"`

	// JobName is a name of actual job in IntegrationJob
	JobName string `json:"jobName,omitempty"`

	// Message is a message from requester
	Message string `json:"message,omitempty"`

	// Sender is a requester (probably be pull-request author or pusher)
	Sender *ApprovalUser `json:"sender,omitempty"`

	// Link is a description link approvers may refer to
	Link string `json:"link,omitempty"`

	// Users are the list of the users who are requested to approve the Approval
	Users []ApprovalUser `json:"users"`
}

ApprovalSpec defines the desired state of Approval

func (*ApprovalSpec) DeepCopy

func (in *ApprovalSpec) DeepCopy() *ApprovalSpec

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

func (*ApprovalSpec) DeepCopyInto

func (in *ApprovalSpec) DeepCopyInto(out *ApprovalSpec)

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

type ApprovalStatus

type ApprovalStatus struct {
	// Decision result of Approval
	Result ApprovalResult `json:"result"`

	// Approver is a user who actually approved
	Approver string `json:"approver,omitempty"`

	// Decision message
	Reason string `json:"reason,omitempty"`

	// Decision time of Approval
	DecisionTime *metav1.Time `json:"decisionTime,omitempty"`

	// Conditions of Approval
	Conditions []metav1.Condition `json:"conditions"`
}

ApprovalStatus defines the observed state of Approval

func (*ApprovalStatus) DeepCopy

func (in *ApprovalStatus) DeepCopy() *ApprovalStatus

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

func (*ApprovalStatus) DeepCopyInto

func (in *ApprovalStatus) DeepCopyInto(out *ApprovalStatus)

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

func (*ApprovalStatus) GetDecisionTimeInZone

func (a *ApprovalStatus) GetDecisionTimeInZone(zone string) (*time.Time, error)

GetDecisionTimeInZone converts the time into the specific time zone

type ApprovalUser added in v0.5.0

type ApprovalUser struct {
	Name  string `json:"name"`
	Email string `json:"email,omitempty"`
}

ApprovalUser is a user

func (*ApprovalUser) DeepCopy added in v0.5.0

func (in *ApprovalUser) DeepCopy() *ApprovalUser

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

func (*ApprovalUser) DeepCopyInto added in v0.5.0

func (in *ApprovalUser) DeepCopyInto(out *ApprovalUser)

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

type CommitStatusState

type CommitStatusState string

CommitStatusState is a state of git commit status

type GitConfig

type GitConfig struct {
	// Type for git remote server
	// +kubebuilder:validation:Enum=github;gitlab;gitea
	Type GitType `json:"type"`

	// Repository name of git repository (in <org>/<repo> form, e.g., tmax-cloud/cicd-operator)
	// +kubebuilder:validation:Pattern=.+/.+
	Repository string `json:"repository"`

	// APIUrl for api server (e.g., https://api.github.com for github type),
	// for the case where the git repository is self-hosted (should contain specific protocol otherwise webhook server returns error)
	// Also, it should *NOT* contain repository path (e.g., tmax-cloud/cicd-operator)
	APIUrl string `json:"apiUrl,omitempty"`

	// Token is a token for accessing the remote git server. It can be empty, if you don't want to register a webhook
	// to the git server
	Token *GitToken `json:"token,omitempty"`
}

GitConfig is a git repository where the IntegrationConfig to be configured

func (*GitConfig) DeepCopy

func (in *GitConfig) DeepCopy() *GitConfig

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

func (*GitConfig) DeepCopyInto

func (in *GitConfig) DeepCopyInto(out *GitConfig)

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

func (*GitConfig) GetAPIUrl added in v0.1.4

func (config *GitConfig) GetAPIUrl() string

GetAPIUrl returns APIUrl for api server

func (*GitConfig) GetGitHost

func (config *GitConfig) GetGitHost() (string, error)

GetGitHost gets git host

type GitRef added in v0.2.3

type GitRef string

GitRef is a git reference type

func (GitRef) GetBranch added in v0.2.3

func (g GitRef) GetBranch() string

GetBranch extracts branch from ref

func (GitRef) GetTag added in v0.2.3

func (g GitRef) GetTag() string

GetTag extracts tag from ref

func (GitRef) String added in v0.2.3

func (g GitRef) String() string

type GitToken

type GitToken struct {
	// Value is un-encrypted plain string of git token, not recommended
	Value string `json:"value,omitempty"`

	// ValueFrom refers secret. Recommended
	ValueFrom *GitTokenFrom `json:"valueFrom,omitempty"`
}

GitToken is a token for accessing the remote git server

func (*GitToken) DeepCopy

func (in *GitToken) DeepCopy() *GitToken

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

func (*GitToken) DeepCopyInto

func (in *GitToken) DeepCopyInto(out *GitToken)

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

type GitTokenFrom

type GitTokenFrom struct {
	SecretKeyRef corev1.SecretKeySelector `json:"secretKeyRef"`
}

GitTokenFrom refers to the secret for the access token

func (*GitTokenFrom) DeepCopy

func (in *GitTokenFrom) DeepCopy() *GitTokenFrom

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

func (*GitTokenFrom) DeepCopyInto

func (in *GitTokenFrom) DeepCopyInto(out *GitTokenFrom)

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

type GitType

type GitType string

GitType is a type of remote git server

type IntegrationConfig

type IntegrationConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   IntegrationConfigSpec   `json:"spec"`
	Status IntegrationConfigStatus `json:"status,omitempty"`
}

IntegrationConfig is the Schema for the integrationconfigs API +kubebuilder:resource:shortName="ic" +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="ready")].status` +kubebuilder:printcolumn:name="WebhookRegistered",type=string,JSONPath=`.status.conditions[?(@.type=="webhook-registered")].status` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Creation time"

func (*IntegrationConfig) DeepCopy

func (in *IntegrationConfig) DeepCopy() *IntegrationConfig

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

func (*IntegrationConfig) DeepCopyInto

func (in *IntegrationConfig) DeepCopyInto(out *IntegrationConfig)

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

func (*IntegrationConfig) DeepCopyObject

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

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

func (*IntegrationConfig) GetDuration added in v0.5.1

func (i *IntegrationConfig) GetDuration() *metav1.Duration

GetDuration returns timeout duration. Default is TTL value

func (*IntegrationConfig) GetTLSConfig added in v0.5.2

func (i *IntegrationConfig) GetTLSConfig() *tls.Config

GetTLSConfig returns tls config from integration configs' tlsConfig

func (*IntegrationConfig) GetToken

func (i *IntegrationConfig) GetToken(c client.Client) (string, error)

GetToken fetches git access token from IntegrationConfig

func (*IntegrationConfig) GetWebhookServerAddress

func (i *IntegrationConfig) GetWebhookServerAddress() string

GetWebhookServerAddress returns Server address which webhook events will be received

type IntegrationConfigAPIReqRunPostBody added in v0.2.3

type IntegrationConfigAPIReqRunPostBody struct {
	Branch              string               `json:"branch"`
	AddTektonTaskParams []AddTektonTaskParam `json:"addTektonTaskParams,omitempty"`
}

IntegrationConfigAPIReqRunPostBody is a body struct for IntegrationConfig's api request +kubebuilder:object:generate=false

type IntegrationConfigAPIReqRunPreBody added in v0.2.3

type IntegrationConfigAPIReqRunPreBody struct {
	BaseBranch          string               `json:"base_branch"`
	HeadBranch          string               `json:"head_branch"`
	AddTektonTaskParams []AddTektonTaskParam `json:"addTektonTaskParams,omitempty"`
}

IntegrationConfigAPIReqRunPreBody is a body struct for IntegrationConfig's api request +kubebuilder:object:generate=false

type IntegrationConfigAPIReqWebhookURL added in v0.2.3

type IntegrationConfigAPIReqWebhookURL struct {
	URL    string `json:"url"`
	Secret string `json:"secret"`
}

IntegrationConfigAPIReqWebhookURL is a body struct for IntegrationConfig's api request +kubebuilder:object:generate=false

type IntegrationConfigJobs

type IntegrationConfigJobs struct {
	// PreSubmit jobs are for pull-request events
	PreSubmit Jobs `json:"preSubmit,omitempty"`

	// PostSubmit jobs are for push events (including tag events)
	PostSubmit Jobs `json:"postSubmit,omitempty"`

	// Periodic are Periodicjobs can be run periodically
	Periodic Periodics `json:"periodic,omitempty"`
}

IntegrationConfigJobs categorizes jobs into three types (pre-submit, post-submit and periodic jobs)

func (*IntegrationConfigJobs) DeepCopy

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

func (*IntegrationConfigJobs) DeepCopyInto

func (in *IntegrationConfigJobs) DeepCopyInto(out *IntegrationConfigJobs)

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

type IntegrationConfigList

type IntegrationConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []IntegrationConfig `json:"items"`
}

IntegrationConfigList contains a list of IntegrationConfig

func (*IntegrationConfigList) DeepCopy

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

func (*IntegrationConfigList) DeepCopyInto

func (in *IntegrationConfigList) DeepCopyInto(out *IntegrationConfigList)

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

func (*IntegrationConfigList) DeepCopyObject

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

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

type IntegrationConfigSpec

type IntegrationConfigSpec struct {
	// Git config for target repository
	Git GitConfig `json:"git"`

	// Secrets are the list of secret names which are included in service account
	Secrets []corev1.LocalObjectReference `json:"secrets,omitempty"`

	// Workspaces list
	Workspaces []tektonv1beta1.WorkspaceBinding `json:"workspaces,omitempty"`

	// Jobs specify the tasks to be executed
	Jobs IntegrationConfigJobs `json:"jobs"`

	// MergeConfig specifies how to automate the PR merge
	MergeConfig *MergeConfig `json:"mergeConfig,omitempty"`

	// PodTemplate for the TaskRun pods. Same as tekton's pod template. Refer to https://github.com/tektoncd/pipeline/blob/master/docs/podtemplates.md
	PodTemplate *pod.Template `json:"podTemplate,omitempty"`

	// RequestBodyLogging is a boolean, which determines whether to enable logging reqeustBody coming toward webhook
	RequestBodyLogging bool `json:"requestBodyLogging,omitempty"`

	// IJManageSpec defines variables to manage created integration jobs
	IJManageSpec IntegrationJobManageSpec `json:"ijManageSpec,omitempty"`

	// ParamConfig specifies parameter
	ParamConfig *ParameterConfig `json:"paramConfig,omitempty"`

	// TLSConfig set tls configurations
	TLSConfig *TLSConfig `json:"tlsConfig,omitempty"`

	// When is condition for running the job in global scope
	When *JobWhen `json:"when,omitempty"`

	// GolbalNotification sends notification when success/fail
	GolbalNotification *Notification `json:"globalNotification,omitempty"`
}

IntegrationConfigSpec defines the desired state of IntegrationConfig

func (*IntegrationConfigSpec) DeepCopy

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

func (*IntegrationConfigSpec) DeepCopyInto

func (in *IntegrationConfigSpec) DeepCopyInto(out *IntegrationConfigSpec)

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

type IntegrationConfigStatus

type IntegrationConfigStatus struct {
	// Conditions of IntegrationConfig
	Conditions []metav1.Condition `json:"conditions"`
	Secrets    string             `json:"secrets,omitempty"`
}

IntegrationConfigStatus defines the observed state of IntegrationConfig

func (*IntegrationConfigStatus) DeepCopy

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

func (*IntegrationConfigStatus) DeepCopyInto

func (in *IntegrationConfigStatus) DeepCopyInto(out *IntegrationConfigStatus)

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

type IntegrationJob

type IntegrationJob struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   IntegrationJobSpec   `json:"spec"`
	Status IntegrationJobStatus `json:"status,omitempty"`
}

IntegrationJob is the Schema for the integrationjobs API +kubebuilder:resource:shortName="ij" +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.state",description="Current status of IntegrationJob" +kubebuilder:printcolumn:name="StartTime",type="date",JSONPath=".status.startTime",description="Start time" +kubebuilder:printcolumn:name="CompletionTime",type="date",JSONPath=".status.completionTime",description="Completion time" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Creation time"

func (*IntegrationJob) DeepCopy

func (in *IntegrationJob) DeepCopy() *IntegrationJob

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

func (*IntegrationJob) DeepCopyInto

func (in *IntegrationJob) DeepCopyInto(out *IntegrationJob)

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

func (*IntegrationJob) DeepCopyObject

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

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

func (*IntegrationJob) GetReportServerAddress

func (i *IntegrationJob) GetReportServerAddress(jobName string) string

GetReportServerAddress returns Server address for reports (IntegrationJob details)

func (*IntegrationJob) IsCompleted added in v0.5.1

func (i *IntegrationJob) IsCompleted() bool

IsCompleted returns whether or not a job have been completed

type IntegrationJobConfigRef

type IntegrationJobConfigRef struct {
	Name string  `json:"name"`
	Type JobType `json:"type"`
}

IntegrationJobConfigRef refers to the IntegrationConfig

func (*IntegrationJobConfigRef) DeepCopy

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

func (*IntegrationJobConfigRef) DeepCopyInto

func (in *IntegrationJobConfigRef) DeepCopyInto(out *IntegrationJobConfigRef)

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

type IntegrationJobList

type IntegrationJobList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []IntegrationJob `json:"items"`
}

IntegrationJobList contains a list of IntegrationJob

func (*IntegrationJobList) DeepCopy

func (in *IntegrationJobList) DeepCopy() *IntegrationJobList

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

func (*IntegrationJobList) DeepCopyInto

func (in *IntegrationJobList) DeepCopyInto(out *IntegrationJobList)

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

func (*IntegrationJobList) DeepCopyObject

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

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

type IntegrationJobManageSpec added in v0.5.1

type IntegrationJobManageSpec struct {
	// Timeout for pending integration job gc
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

IntegrationJobManageSpec contains spec for ij managing

func (*IntegrationJobManageSpec) DeepCopy added in v0.5.1

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

func (*IntegrationJobManageSpec) DeepCopyInto added in v0.5.1

func (in *IntegrationJobManageSpec) DeepCopyInto(out *IntegrationJobManageSpec)

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

type IntegrationJobRefs

type IntegrationJobRefs struct {
	// Repository name of git repository (in <org>/<repo> form, e.g., tmax-cloud/cicd-operator)
	// +kubebuilder:validation:Pattern=.+/.+
	Repository string `json:"repository"`

	// Link is a full url of the repository
	Link string `json:"link"`

	// Sender is a git user who triggered the webhook
	Sender *IntegrationJobSender `json:"sender"`

	// Base is a base pointer for base commit for the pull request
	// If Pull is nil (i.e., is push event), Base works as Head
	Base IntegrationJobRefsBase `json:"base"`

	// Pulls are array for pull request head commit
	Pulls []IntegrationJobRefsPull `json:"pulls,omitempty"`
}

IntegrationJobRefs describes the git event

func (*IntegrationJobRefs) DeepCopy

func (in *IntegrationJobRefs) DeepCopy() *IntegrationJobRefs

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

func (*IntegrationJobRefs) DeepCopyInto

func (in *IntegrationJobRefs) DeepCopyInto(out *IntegrationJobRefs)

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

type IntegrationJobRefsBase

type IntegrationJobRefsBase struct {
	Ref  GitRef `json:"ref"`
	Link string `json:"link"`
	Sha  string `json:"sha"`
}

IntegrationJobRefsBase refers to the base commit

func (*IntegrationJobRefsBase) DeepCopy

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

func (*IntegrationJobRefsBase) DeepCopyInto

func (in *IntegrationJobRefsBase) DeepCopyInto(out *IntegrationJobRefsBase)

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

type IntegrationJobRefsPull

type IntegrationJobRefsPull struct {
	ID     int                          `json:"id"`
	Ref    GitRef                       `json:"ref"`
	Sha    string                       `json:"sha"`
	Link   string                       `json:"link"`
	Author IntegrationJobRefsPullAuthor `json:"author"`
}

IntegrationJobRefsPull refers to the pull request

func (*IntegrationJobRefsPull) DeepCopy

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

func (*IntegrationJobRefsPull) DeepCopyInto

func (in *IntegrationJobRefsPull) DeepCopyInto(out *IntegrationJobRefsPull)

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

type IntegrationJobRefsPullAuthor

type IntegrationJobRefsPullAuthor struct {
	Name string `json:"name"`
}

IntegrationJobRefsPullAuthor is an author of the pull request

func (*IntegrationJobRefsPullAuthor) DeepCopy

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

func (*IntegrationJobRefsPullAuthor) DeepCopyInto

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

type IntegrationJobSender added in v0.1.4

type IntegrationJobSender struct {
	Name  string `json:"name"`
	Email string `json:"email,omitempty"`
}

IntegrationJobSender is a git user who triggered the IntegrationJob

func (*IntegrationJobSender) DeepCopy added in v0.1.4

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

func (*IntegrationJobSender) DeepCopyInto added in v0.1.4

func (in *IntegrationJobSender) DeepCopyInto(out *IntegrationJobSender)

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

type IntegrationJobSpec

type IntegrationJobSpec struct {
	// ConfigRef refers to the corresponding IntegrationConfig
	ConfigRef IntegrationJobConfigRef `json:"configRef"`

	// ID is a unique random string for the IntegrationJob
	ID string `json:"id"`

	// Workspaces list
	Workspaces []tektonv1beta1.WorkspaceBinding `json:"workspaces,omitempty"`

	// Jobs are the tasks to be executed
	Jobs Jobs `json:"jobs"`

	// Refs
	Refs IntegrationJobRefs `json:"refs"`

	// PodTemplate for the TaskRun pods. Same as tekton's pod template
	PodTemplate *pod.Template `json:"podTemplate,omitempty"`

	// Timeout for pending status garbage collection
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// ParamConfig specifies parameter
	ParamConfig *ParameterConfig `json:"paramConfig,omitempty"`
}

IntegrationJobSpec defines the desired state of IntegrationJob

func (*IntegrationJobSpec) DeepCopy

func (in *IntegrationJobSpec) DeepCopy() *IntegrationJobSpec

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

func (*IntegrationJobSpec) DeepCopyInto

func (in *IntegrationJobSpec) DeepCopyInto(out *IntegrationJobSpec)

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

type IntegrationJobState

type IntegrationJobState string

IntegrationJobState is a state of the IntegrationJob

type IntegrationJobStatus

type IntegrationJobStatus struct {
	// State is a current state of the IntegrationJob
	State IntegrationJobState `json:"state"`

	// Message is a message for the IntegrationJob (normally an error string)
	Message string `json:"message,omitempty"`

	// StartTime is actual time the task started
	StartTime *metav1.Time `json:"startTime,omitempty"`

	// CompletionTime is a time when the job is completed
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`

	// Jobs are status list for each Job in the IntegrationJob
	Jobs []JobStatus `json:"jobs,omitempty"`
}

IntegrationJobStatus defines the observed state of IntegrationJob

func (*IntegrationJobStatus) DeepCopy

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

func (*IntegrationJobStatus) DeepCopyInto

func (in *IntegrationJobStatus) DeepCopyInto(out *IntegrationJobStatus)

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

func (*IntegrationJobStatus) SetDefaults

func (s *IntegrationJobStatus) SetDefaults()

SetDefaults sets default values for the status

type Job

type Job struct {
	corev1.Container `json:",inline"`

	// Script will override command of container
	Script string `json:"script,omitempty"`

	// SkipCheckout describes whether or not to checkout from git before
	SkipCheckout bool `json:"skipCheckout,omitempty"`

	// When is condition for running the job
	When *JobWhen `json:"when,omitempty"`

	// After configures which jobs should be executed before this job runs
	After []string `json:"after,omitempty"`

	// TektonTask is for referring local Tasks or the Tasks registered in tekton catalog github repo.
	TektonTask *TektonTask `json:"tektonTask,omitempty"`

	// Approval
	Approval *JobApproval `json:"approval,omitempty"`

	// NotificationMethods sends noti, not running the tasks
	NotificationMethods `json:",inline"`

	// Notification sends notification when success/fail
	Notification *Notification `json:"notification,omitempty"`

	// TektonWhen is for conditional execution. Input can be parameters or results
	TektonWhen tektonv1beta1.WhenExpressions `json:"tektonWhen,omitempty"`

	// Results emitted by task, which also can be used as TektonWhen input value.
	Results []tektonv1beta1.TaskResult `json:"results,omitempty"`
}

Job is a specification of the job to be executed for specific events Same level of task of tekton

func (*Job) DeepCopy

func (in *Job) DeepCopy() *Job

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

func (*Job) DeepCopyInto

func (in *Job) DeepCopyInto(out *Job)

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

type JobApproval

type JobApproval struct {
	// Approvers is a list of approvers
	Approvers []ApprovalUser `json:"approvers,omitempty"`

	// ApproversConfigMap is a configMap Name containing
	// approvers list should exist in configMap's 'approvers' key, as comma(,) separated list
	// e.g., admin-tmax.co.kr=sunghyun_kim3@tmax.co.kr,test-tmax.co.kr=kyunghoon_min@tmax.co.kr
	ApproversConfigMap *corev1.LocalObjectReference `json:"approversConfigMap,omitempty"`

	// RequestMessage is a message to be sent to approvers by email
	RequestMessage string `json:"requestMessage"`
}

JobApproval describes who can approve it

func (*JobApproval) DeepCopy

func (in *JobApproval) DeepCopy() *JobApproval

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

func (*JobApproval) DeepCopyInto

func (in *JobApproval) DeepCopyInto(out *JobApproval)

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

type JobStatus

type JobStatus struct {
	// Name is a job name
	Name string `json:"name"`

	// StartTime is a timestamp when the job is started
	StartTime *metav1.Time `json:"startTime,omitempty"`

	// CompletionTime is a timestamp when the job is started
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`

	// State is current state of this job
	// It is actually a conversion of tekton task run's Status.Conditions[0].Reason
	State CommitStatusState `json:"state"`

	// Message is current state description for this job
	// It is actually tekton task run's Status.Conditions[0].Message
	Message string `json:"message"`

	// PodName is a name of pod where the job is running
	PodName string `json:"podName,omitempty"`

	// Containers is status list for each step in the job
	Containers []tektonv1beta1.StepState `json:"containers,omitempty"`
}

JobStatus is a current status for each job

func (*JobStatus) DeepCopy

func (in *JobStatus) DeepCopy() *JobStatus

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

func (*JobStatus) DeepCopyInto

func (in *JobStatus) DeepCopyInto(out *JobStatus)

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

func (*JobStatus) Equals added in v0.1.4

func (j *JobStatus) Equals(i *JobStatus) bool

Equals checks if i is equal to j

type JobTaskRef

type JobTaskRef struct {
	// Local refers to local tasks/cluster tasks
	Local *tektonv1beta1.TaskRef `json:"local,omitempty"`

	// Catalog is a name of the task @ tekton catalog github repo. (e.g., s2i@0.2)
	// FYI: https://github.com/tektoncd/catalog
	Catalog string `json:"catalog,omitempty"`
}

JobTaskRef refers to the tekton task, both local and in catalog

func (*JobTaskRef) DeepCopy

func (in *JobTaskRef) DeepCopy() *JobTaskRef

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

func (*JobTaskRef) DeepCopyInto

func (in *JobTaskRef) DeepCopyInto(out *JobTaskRef)

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

type JobType

type JobType string

JobType is a type of Job

type JobWhen

type JobWhen struct {
	Branch     []string `json:"branch,omitempty"`
	SkipBranch []string `json:"skipBranch,omitempty"`

	Tag     []string `json:"tag,omitempty"`
	SkipTag []string `json:"skipTag,omitempty"`
}

JobWhen describes when the Job should be executed All fields should be regular expressions

func (*JobWhen) DeepCopy

func (in *JobWhen) DeepCopy() *JobWhen

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

func (*JobWhen) DeepCopyInto

func (in *JobWhen) DeepCopyInto(out *JobWhen)

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

type Jobs added in v0.2.0

type Jobs []Job

Jobs is an array of Job

func (Jobs) DeepCopy added in v0.2.0

func (in Jobs) DeepCopy() Jobs

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

func (Jobs) DeepCopyInto added in v0.2.0

func (in Jobs) DeepCopyInto(out *Jobs)

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

func (*Jobs) GetGraph added in v0.2.0

func (j *Jobs) GetGraph() (structs.Graph, error)

GetGraph creates job dependency graph

type MergeConfig added in v0.3.0

type MergeConfig struct {
	// Method is a merge method
	// +kubebuilder:validation:Enum=squash;merge
	Method git.MergeMethod `json:"method,omitempty"`

	// CommitTemplate is a message template for a merge commit.
	// The commit message is compiled as a go template using blocker.PullRequest object.
	CommitTemplate string `json:"commitTemplate,omitempty"`

	// Query is conditions for a open PR to be merged
	Query MergeQuery `json:"query"`
}

MergeConfig is a config struct of the merge automation feature

func (*MergeConfig) DeepCopy added in v0.3.0

func (in *MergeConfig) DeepCopy() *MergeConfig

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

func (*MergeConfig) DeepCopyInto added in v0.3.0

func (in *MergeConfig) DeepCopyInto(out *MergeConfig)

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

type MergeQuery added in v0.3.0

type MergeQuery struct {
	// Labels specify the required labels of PR to be merged
	Labels []string `json:"labels,omitempty"`

	// BlockLabels specify the required labels of PR to be blocked for merge
	BlockLabels []string `json:"blockLabels,omitempty"`

	// Authors specify the required authors of PR to be merged
	// Authors and SkipAuthors are mutually exclusive
	Authors []string `json:"authors,omitempty"`

	// SkipAuthors specify the required authors of PR to be blocked for merge
	// Authors and SkipAuthors are mutually exclusive
	SkipAuthors []string `json:"skipAuthors,omitempty"`

	// Branches specify the required base branches of PR to be merged
	// Branches and SkipBranches are mutually exclusive
	Branches []string `json:"branches,omitempty"`

	// SkipBranches specify the required base branches of PR to be blocked for merge
	// Branches and SkipBranches are mutually exclusive
	SkipBranches []string `json:"skipBranches,omitempty"`

	// Checks are checks needed to be passed for the PR to be merged.
	// Checks and OptionalChecks are mutually exclusive
	Checks []string `json:"checks,omitempty"`

	// OptionalChecks are checks that are not required.
	// Checks and OptionalChecks are mutually exclusive
	OptionalChecks []string `json:"optionalChecks,omitempty"`

	// ApproveRequired specifies whether to check github/gitlab's approval
	ApproveRequired bool `json:"approveRequired,omitempty"`
}

MergeQuery defines conditions for a open PR to be merged

func (*MergeQuery) DeepCopy added in v0.3.0

func (in *MergeQuery) DeepCopy() *MergeQuery

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

func (*MergeQuery) DeepCopyInto added in v0.3.0

func (in *MergeQuery) DeepCopyInto(out *MergeQuery)

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

type NotiEmail added in v0.2.0

type NotiEmail struct {
	// Receivers is a list of email receivers
	Receivers []string `json:"receivers,omitempty"`

	// Title of the email
	Title string `json:"title"`

	// Content of the email
	Content string `json:"content"`

	// IsHTML describes if it's html content. Default is false
	IsHTML bool `json:"isHtml,omitempty"`
}

NotiEmail sends email to receivers

func (*NotiEmail) DeepCopy added in v0.2.0

func (in *NotiEmail) DeepCopy() *NotiEmail

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

func (*NotiEmail) DeepCopyInto added in v0.2.0

func (in *NotiEmail) DeepCopyInto(out *NotiEmail)

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

type NotiSlack added in v0.2.0

type NotiSlack struct {
	// URL is a webhook url of a slack app. Refer to https://api.slack.com/messaging/webhooks
	URL string `json:"url"`

	// Message is a message sent to the webhook. It should be a Markdown format.
	// You can use $INTEGRATION_JOB_NAME and $JOB_NAME variable for IntegrationJob's name and the job's name respectively.
	Message string `json:"message"`
}

NotiSlack sends slack to the webhook

func (*NotiSlack) DeepCopy added in v0.2.0

func (in *NotiSlack) DeepCopy() *NotiSlack

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

func (*NotiSlack) DeepCopyInto added in v0.2.0

func (in *NotiSlack) DeepCopyInto(out *NotiSlack)

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

type NotiWebhook added in v0.5.4

type NotiWebhook struct {
	// URL is a webhook url.
	URL string `json:"url"`
	// Body of the ReqeustBody
	Body string `json:"body"`
}

NotiWebhook sends reqeust to the webhook

func (*NotiWebhook) DeepCopy added in v0.5.4

func (in *NotiWebhook) DeepCopy() *NotiWebhook

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

func (*NotiWebhook) DeepCopyInto added in v0.5.4

func (in *NotiWebhook) DeepCopyInto(out *NotiWebhook)

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

type Notification added in v0.2.0

type Notification struct {
	// OnSuccess notifies when the job is succeeded
	OnSuccess *NotificationMethods `json:"onSuccess,omitempty"`

	// OnFailure notifies when the job is failed
	OnFailure *NotificationMethods `json:"onFailure,omitempty"`
}

Notification specifies notification

func (*Notification) DeepCopy added in v0.2.0

func (in *Notification) DeepCopy() *Notification

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

func (*Notification) DeepCopyInto added in v0.2.0

func (in *Notification) DeepCopyInto(out *Notification)

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

type NotificationMethods added in v0.2.0

type NotificationMethods struct {
	// Email sends email
	Email *NotiEmail `json:"email,omitempty"`

	// Slack sends slack
	Slack *NotiSlack `json:"slack,omitempty"`

	// Webhook sends HTTP reqeust
	Webhook *NotiWebhook `json:"webhook,omitempty"`
}

NotificationMethods specifies notification methods

func (*NotificationMethods) DeepCopy added in v0.2.0

func (in *NotificationMethods) DeepCopy() *NotificationMethods

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

func (*NotificationMethods) DeepCopyInto added in v0.2.0

func (in *NotificationMethods) DeepCopyInto(out *NotificationMethods)

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

type ParameterConfig added in v0.5.1

type ParameterConfig struct {
	// ParamDefine is used to define parameter's spec
	ParamDefine []ParameterDefine `json:"paramDefine,omitempty"`
	// ParamValue can specify values of parameters
	ParamValue []ParameterValue `json:"paramValue,omitempty"`
}

ParameterConfig for parameters

func (*ParameterConfig) DeepCopy added in v0.5.1

func (in *ParameterConfig) DeepCopy() *ParameterConfig

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

func (*ParameterConfig) DeepCopyInto added in v0.5.1

func (in *ParameterConfig) DeepCopyInto(out *ParameterConfig)

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

type ParameterDefine added in v0.5.1

type ParameterDefine struct {
	Name         string   `json:"name"`
	DefaultStr   string   `json:"defaultStr,omitempty"`
	DefaultArray []string `json:"defaultArray,omitempty"`
	Description  string   `json:"description,omitempty"`
}

ParameterDefine defines a parameter's name, description & default values

func (*ParameterDefine) DeepCopy added in v0.5.1

func (in *ParameterDefine) DeepCopy() *ParameterDefine

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

func (*ParameterDefine) DeepCopyInto added in v0.5.1

func (in *ParameterDefine) DeepCopyInto(out *ParameterDefine)

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

type ParameterValue added in v0.5.1

type ParameterValue struct {
	Name      string   `json:"name"`
	StringVal string   `json:"stringVal,omitempty"`
	ArrayVal  []string `json:"arrayVal,omitempty"`
}

ParameterValue defines values of parameter

func (*ParameterValue) DeepCopy added in v0.5.1

func (in *ParameterValue) DeepCopy() *ParameterValue

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

func (*ParameterValue) DeepCopyInto added in v0.5.1

func (in *ParameterValue) DeepCopyInto(out *ParameterValue)

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

type Periodic added in v0.5.1

type Periodic struct {
	Job `json:",inline"`

	// Cron representation of job trigger time
	Cron string `json:"cron,omitempty"`
}

Periodic runs on a time-basis, unrelated to git changes.

func (*Periodic) DeepCopy added in v0.5.1

func (in *Periodic) DeepCopy() *Periodic

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

func (*Periodic) DeepCopyInto added in v0.5.1

func (in *Periodic) DeepCopyInto(out *Periodic)

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

type Periodics added in v0.5.1

type Periodics []Periodic

Periodics is an array of PeriodicJob

func (Periodics) DeepCopy added in v0.5.1

func (in Periodics) DeepCopy() Periodics

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

func (Periodics) DeepCopyInto added in v0.5.1

func (in Periodics) DeepCopyInto(out *Periodics)

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

type TLSConfig added in v0.5.2

type TLSConfig struct {
	// InsecureSkipVerify is flag for accepting any certificate presented by the server and any host name in that certificate.
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
}

TLSConfig is parameters for tls connection

func (*TLSConfig) DeepCopy added in v0.5.2

func (in *TLSConfig) DeepCopy() *TLSConfig

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

func (*TLSConfig) DeepCopyInto added in v0.5.2

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

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

type TektonTask

type TektonTask struct {
	// TaskRef refers to the existing Task in local cluster or to the tekton catalog github repo.
	TaskRef JobTaskRef `json:"taskRef"`

	// Params are input params for the task
	Params []ParameterValue `json:"params,omitempty"`

	// Resources are input/output resources for the task
	Resources *tektonv1beta1.TaskRunResources `json:"resources,omitempty"`

	// Workspaces are workspaces for the task
	Workspaces []tektonv1beta1.WorkspacePipelineTaskBinding `json:"workspaces,omitempty"`
}

TektonTask refers to an existing tekton task, rather than using job's script or command

func (*TektonTask) DeepCopy

func (in *TektonTask) DeepCopy() *TektonTask

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

func (*TektonTask) DeepCopyInto

func (in *TektonTask) DeepCopyInto(out *TektonTask)

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

type TektonTaskDef added in v0.6.3

type TektonTaskDef struct {
	Name      string `json:"name"`
	StringVal string `json:"stringVal"`
}

TektonTaskDef represents a definition for a Tekton task

func (*TektonTaskDef) DeepCopy added in v0.6.3

func (in *TektonTaskDef) DeepCopy() *TektonTaskDef

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

func (*TektonTaskDef) DeepCopyInto added in v0.6.3

func (in *TektonTaskDef) DeepCopyInto(out *TektonTaskDef)

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

Jump to

Keyboard shortcuts

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