Documentation ¶
Index ¶
- Constants
- func MarshalChangeGroupsUpdateToken(t *ChangeGroupsUpdateToken) (string, error)
- type BaseStep
- type ChangeGroupsRevisions
- type ChangeGroupsUpdateToken
- type Container
- type DockerRegistryAuth
- type DockerRegistryAuthType
- type Executor
- type ExecutorTask
- type ExecutorTaskPhase
- type ExecutorTaskStatus
- type ExecutorTaskStepStatus
- type RestoreCacheStep
- type RestoreWorkspaceStep
- type Run
- type RunBundle
- type RunConfig
- type RunConfigTask
- type RunConfigTaskDepend
- type RunConfigTaskDependCondition
- type RunCounter
- type RunEvent
- type RunPhase
- type RunResult
- type RunStep
- type RunTask
- type RunTaskFetchPhase
- type RunTaskStatus
- type RunTaskStep
- type Runtime
- type RuntimeType
- type SaveCacheStep
- type SaveContent
- type SaveToWorkspaceStep
- type SortOrder
- type Step
- type Steps
- type WorkspaceOperation
Constants ¶
View Source
const (
RunGenericSetupErrorName = "Setup Error"
)
Variables ¶
This section is empty.
Functions ¶
func MarshalChangeGroupsUpdateToken ¶
func MarshalChangeGroupsUpdateToken(t *ChangeGroupsUpdateToken) (string, error)
Types ¶
type ChangeGroupsRevisions ¶
type ChangeGroupsUpdateToken ¶
type ChangeGroupsUpdateToken struct { CurRevision int64 `json:"cur_revision"` ChangeGroupsRevisions ChangeGroupsRevisions `json:"change_groups_revisions"` }
func UnmarshalChangeGroupsUpdateToken ¶
func UnmarshalChangeGroupsUpdateToken(s string) (*ChangeGroupsUpdateToken, error)
type DockerRegistryAuth ¶
type DockerRegistryAuth struct { Type DockerRegistryAuthType `json:"type"` // basic auth Username string `json:"username"` Password string `json:"password"` // encoded auth string Auth string `json:"auth"` }
type DockerRegistryAuthType ¶
type DockerRegistryAuthType string
const ( DockerRegistryAuthTypeBasic DockerRegistryAuthType = "basic" DockerRegistryAuthTypeEncodedAuth DockerRegistryAuthType = "encodedauth" )
type Executor ¶
type Executor struct { // ID is the Executor unique id ID string `json:"id,omitempty"` ListenURL string `json:"listenURL,omitempty"` Archs []types.Arch `json:"archs,omitempty"` Labels map[string]string `json:"labels,omitempty"` AllowPrivilegedContainers bool `json:"allow_privileged_containers,omitempty"` ActiveTasksLimit int `json:"active_tasks_limit,omitempty"` ActiveTasks int `json:"active_tasks,omitempty"` // Dynamic represents an executor that can be automatically removed since it's // part of a group of executors managing the same resources (i.e. a k8s // namespace managed by multiple executors that will automatically clean pods // owned of an old executor) Dynamic bool `json:"dynamic,omitempty"` // ExecutorGroup is the executor group which this executor belongs ExecutorGroup string `json:"executor_group,omitempty"` // SiblingExecutors are all the executors in the ExecutorGroup SiblingsExecutors []string `json:"siblings_executors,omitempty"` LastStatusUpdateTime time.Time `json:"last_status_update_time,omitempty"` // internal values not saved Revision int64 `json:"-"` }
type ExecutorTask ¶
type ExecutorTask struct { Revision int64 `json:"revision,omitempty"` ID string `json:"id,omitempty"` RunID string `json:"run_id,omitempty"` TaskName string `json:"task_name,omitempty"` Arch types.Arch `json:"arch,omitempty"` Containers []*Container `json:"containers,omitempty"` Environment map[string]string `json:"environment,omitempty"` WorkingDir string `json:"working_dir,omitempty"` Shell string `json:"shell,omitempty"` User string `json:"user,omitempty"` Privileged bool `json:"privileged"` DockerRegistriesAuth map[string]DockerRegistryAuth `json:"docker_registries_auth"` Steps Steps `json:"steps,omitempty"` Status ExecutorTaskStatus `json:"status,omitempty"` SetupError string `fail_reason:"setup_error,omitempty"` FailError string `fail_reason:"fail_error,omitempty"` WorkspaceOperations []WorkspaceOperation `json:"workspace_operations,omitempty"` // Cache prefix to use when asking for a cache key. To isolate caches between // groups (projects) CachePrefix string `json:"cache_prefix,omitempty"` // Stop is used to signal from the scheduler when the task must be stopped Stop bool `json:"stop,omitempty"` }
type ExecutorTaskPhase ¶
type ExecutorTaskPhase string
const ( ExecutorTaskPhaseNotStarted ExecutorTaskPhase = "notstarted" ExecutorTaskPhaseCancelled ExecutorTaskPhase = "cancelled" ExecutorTaskPhaseRunning ExecutorTaskPhase = "running" ExecutorTaskPhaseStopped ExecutorTaskPhase = "stopped" ExecutorTaskPhaseSuccess ExecutorTaskPhase = "success" ExecutorTaskPhaseFailed ExecutorTaskPhase = "failed" )
func (ExecutorTaskPhase) IsFinished ¶
func (s ExecutorTaskPhase) IsFinished() bool
type ExecutorTaskStatus ¶
type ExecutorTaskStatus struct { ExecutorID string `json:"executor_id,omitempty"` Phase ExecutorTaskPhase `json:"phase,omitempty"` SetupStep ExecutorTaskStepStatus `json:"setup_step,omitempty"` Steps []*ExecutorTaskStepStatus `json:"steps,omitempty"` StartTime *time.Time `json:"start_time,omitempty"` EndTime *time.Time `json:"end_time,omitempty"` }
type ExecutorTaskStepStatus ¶
type RestoreCacheStep ¶
type RestoreWorkspaceStep ¶
type Run ¶
type Run struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` Counter uint64 `json:"counter,omitempty"` // Group is the run group of the run. Every run is assigned to a specific group // The format is /$grouptypes/groupname(/$grouptype/groupname ...) // i.e. /project/$projectid/branch/$branchname // /project/$projectid/pr/$prid Group string `json:"group,omitempty"` // Annotations contain custom run annotations Annotations map[string]string `json:"annotations,omitempty"` // Phase represent the current run status. A run could be running but already // marked as failed due to some tasks failed. The run will be marked as finished // only then all the executor tasks are known to be really ended. This permits // "at most once" running runs per branch/project (useful for example to avoid // multiple concurrent "deploy" tasks that may cause issues) Phase RunPhase `json:"phase,omitempty"` // Result of a Run. Result RunResult `json:"result,omitempty"` // Stop is used to signal from the scheduler when the run must be stopped Stop bool `json:"stop,omitempty"` Tasks map[string]*RunTask `json:"tasks,omitempty"` EnqueueTime *time.Time `json:"enqueue_time,omitempty"` StartTime *time.Time `json:"start_time,omitempty"` EndTime *time.Time `json:"end_time,omitempty"` Archived bool `json:"archived,omitempty"` // internal values not saved Revision int64 `json:"-"` }
Run is the run status of a RUN. Until the run is not finished it'll live in etcd. So we should keep it smaller to avoid using too much space
func (*Run) CanRestartFromFailedTasks ¶
CanRestartFromFailedTasks reports if the run can be restarted from failed tasks
func (*Run) CanRestartFromScratch ¶
CanRestartFromScratch reports if the run can be restarted from scratch
func (*Run) ChangePhase ¶
func (*Run) TasksWaitingApproval ¶
type RunConfig ¶
type RunConfig struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` // Group is the run group of the run. Every run is assigned to a specific group // The format is /$grouptypes/groupname(/$grouptype/groupname ...) // i.e. /project/$projectid/branch/$branchname // /project/$projectid/pr/$prid Group string `json:"group,omitempty"` // A list of setup errors when the run is in phase setuperror SetupErrors []string `json:"setup_errors,omitempty"` // Annotations contain custom run annotations // Note: Annotations are currently both saved in a Run and in RunConfig to // easily return them without loading RunConfig from the lts Annotations map[string]string `json:"annotations,omitempty"` // StaticEnvironment contains all environment variables that won't change when // generating a new run (like COMMIT_SHA, BRANCH, REPOSITORY_URL etc...) StaticEnvironment map[string]string `json:"static_environment,omitempty"` // Environment contains all environment variables that are different between // runs recreations (like secrets that may change or user provided enviroment // specific to this run) Environment map[string]string `json:"environment,omitempty"` Tasks map[string]*RunConfigTask `json:"tasks,omitempty"` // CacheGroup is the cache group where the run caches belongs CacheGroup string `json:"cache_group,omitempty"` }
RunConfig is the run configuration. It contains everything that isn't a state (that is contained in a Run) and that may use a lot of space. It lives in the storage. There is a RunConfig for every Run.
type RunConfigTask ¶
type RunConfigTask struct { Level int `json:"level,omitempty"` ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` Depends map[string]*RunConfigTaskDepend `json:"depends"` Runtime *Runtime `json:"runtime,omitempty"` Environment map[string]string `json:"environment,omitempty"` WorkingDir string `json:"working_dir,omitempty"` Shell string `json:"shell,omitempty"` User string `json:"user,omitempty"` Steps Steps `json:"steps,omitempty"` IgnoreFailure bool `json:"ignore_failure,omitempty"` NeedsApproval bool `json:"needs_approval,omitempty"` Skip bool `json:"skip,omitempty"` DockerRegistriesAuth map[string]DockerRegistryAuth `json:"docker_registries_auth"` }
func (*RunConfigTask) DeepCopy ¶
func (rct *RunConfigTask) DeepCopy() *RunConfigTask
type RunConfigTaskDepend ¶
type RunConfigTaskDepend struct { TaskID string `json:"task_id,omitempty"` Conditions []RunConfigTaskDependCondition `json:"conditions,omitempty"` }
type RunConfigTaskDependCondition ¶
type RunConfigTaskDependCondition string
const ( RunConfigTaskDependConditionOnSuccess RunConfigTaskDependCondition = "on_success" RunConfigTaskDependConditionOnFailure RunConfigTaskDependCondition = "on_failure" RunConfigTaskDependConditionOnSkipped RunConfigTaskDependCondition = "on_skipped" )
type RunCounter ¶
type RunTask ¶
type RunTask struct { ID string `json:"id,omitempty"` // Status is the current known RunTask status reported by the executor. So // sometime it won't be the real status since there may be some already running // executor tasks not yet reported back. // So don't rely to know if a runtask is really not running but also check that // there're no executor tasks scheduled Status RunTaskStatus `json:"status,omitempty"` // Annotations contain custom task annotations // these are opaque to the runservice and used for multiple pourposes. For // example to stores task approval metadata. Annotations map[string]string `json:"annotations,omitempty"` Skip bool `json:"skip,omitempty"` WaitingApproval bool `json:"waiting_approval,omitempty"` Approved bool `json:"approved,omitempty"` SetupStep RunTaskStep `json:"setup_step,omitempty"` Steps []*RunTaskStep `json:"steps,omitempty"` // steps numbers of workspace archives, WorkspaceArchives []int `json:"workspace_archives,omitempty"` WorkspaceArchivesPhase []RunTaskFetchPhase `json:"workspace_archives_phase,omitempty"` StartTime *time.Time `json:"start_time,omitempty"` EndTime *time.Time `json:"end_time,omitempty"` }
func (*RunTask) ArchivesFetchFinished ¶
func (*RunTask) LogsFetchFinished ¶
type RunTaskFetchPhase ¶
type RunTaskFetchPhase string
const ( RunTaskFetchPhaseNotStarted RunTaskFetchPhase = "notstarted" RunTaskFetchPhaseFinished RunTaskFetchPhase = "finished" )
type RunTaskStatus ¶
type RunTaskStatus string
const ( RunTaskStatusNotStarted RunTaskStatus = "notstarted" RunTaskStatusSkipped RunTaskStatus = "skipped" RunTaskStatusCancelled RunTaskStatus = "cancelled" RunTaskStatusRunning RunTaskStatus = "running" RunTaskStatusStopped RunTaskStatus = "stopped" RunTaskStatusSuccess RunTaskStatus = "success" RunTaskStatusFailed RunTaskStatus = "failed" )
func (RunTaskStatus) IsFinished ¶
func (s RunTaskStatus) IsFinished() bool
type RunTaskStep ¶
type RunTaskStep struct { Phase ExecutorTaskPhase `json:"phase,omitempty"` // one logphase for every task step LogPhase RunTaskFetchPhase `json:"log_phase,omitempty"` StartTime *time.Time `json:"start_time,omitempty"` EndTime *time.Time `json:"end_time,omitempty"` }
type Runtime ¶
type Runtime struct { Type RuntimeType `json:"type,omitempty"` Arch types.Arch `json:"arch,omitempty"` Containers []*Container `json:"containers,omitempty"` }
type SaveCacheStep ¶
type SaveCacheStep struct { BaseStep Key string `json:"key,omitempty"` Contents []SaveContent `json:"contents,omitempty"` }
type SaveContent ¶
type SaveToWorkspaceStep ¶
type SaveToWorkspaceStep struct { BaseStep Contents []SaveContent `json:"contents,omitempty"` }
type WorkspaceOperation ¶
Click to show internal directories.
Click to hide internal directories.