Documentation ¶
Index ¶
- Constants
- Variables
- func NewNotificationsBus(listener *pq.Listener, conn Conn) *notificationsBus
- func NewPipelineDBFactory(sqldbConnection Conn, bus *notificationsBus, lockFactory lock.LockFactory) *pipelineDBFactory
- type BasicAuth
- type Build
- type BuildInput
- type BuildOutput
- type BuildPreparation
- type BuildPreparationStatus
- type ConfigVersion
- type Conn
- type Container
- type ContainerIdentifier
- type ContainerMetadata
- type ContainerStage
- type ContainerType
- type DB
- type Dashboard
- type DashboardJob
- type EventSource
- type FirstLoggedBuildIDDecreasedError
- type GenericOAuth
- type GitHubAuth
- type GitHubTeam
- type Job
- type MetadataField
- type MissingInputReasons
- type NotificationsBus
- type Notifier
- type Page
- type Pagination
- type Pipe
- type Pipeline
- type PipelineDB
- type PipelineDBFactory
- type PipelinePausedState
- type PipelinesDB
- type Resource
- type ResourceCacheIdentifier
- type ResourceNotFoundError
- type ResourceTypeNotFoundError
- type SQLDB
- func (db *SQLDB) AcquireContainerCreatingLock(logger lager.Logger, containerID int) (lock.Lock, bool, error)
- func (db *SQLDB) AcquireVolumeCreatingLock(logger lager.Logger, volumeID int) (lock.Lock, bool, error)
- func (db *SQLDB) CreateContainerToBeRemoved(container Container, maxLifetime time.Duration, volumeHandles []string) (SavedContainer, error)
- func (db *SQLDB) CreateDefaultTeamIfNotExists() error
- func (db *SQLDB) CreatePipe(pipeGUID string, url string, teamName string) error
- func (db *SQLDB) CreateTeam(team Team) (SavedTeam, error)
- func (db *SQLDB) DeleteBuildEventsByBuildIDs(buildIDs []int) error
- func (db *SQLDB) DeleteContainer(handle string) error
- func (db *SQLDB) DeleteTeamByName(teamName string) error
- func (db *SQLDB) FindContainerByIdentifier(id ContainerIdentifier) (SavedContainer, bool, error)
- func (db *SQLDB) FindJobContainersFromUnsuccessfulBuilds() ([]SavedContainer, error)
- func (db *SQLDB) FindJobIDForBuild(buildID int) (int, bool, error)
- func (db *SQLDB) FindLatestSuccessfulBuildsPerJob() (map[int]int, error)
- func (db *SQLDB) GetAllPipelines() ([]SavedPipeline, error)
- func (db *SQLDB) GetAllPublicPipelines() ([]SavedPipeline, error)
- func (db *SQLDB) GetAllStartedBuilds() ([]Build, error)
- func (db *SQLDB) GetBuildByID(buildID int) (Build, bool, error)
- func (db *SQLDB) GetContainer(handle string) (SavedContainer, bool, error)
- func (db *SQLDB) GetPipe(pipeGUID string) (Pipe, error)
- func (db *SQLDB) GetPipelineByID(pipelineID int) (SavedPipeline, error)
- func (db *SQLDB) GetPublicBuilds(page Page) ([]Build, Pagination, error)
- func (db *SQLDB) GetTaskLock(logger lager.Logger, taskName string) (lock.Lock, bool, error)
- func (db *SQLDB) GetTeams() ([]SavedTeam, error)
- func (db *SQLDB) GetWorker(name string) (SavedWorker, bool, error)
- func (db *SQLDB) ReapContainer(handle string) error
- func (db *SQLDB) ReapExpiredWorkers() error
- func (db *SQLDB) ReapVolume(handle string) error
- func (db *SQLDB) SaveWorker(info WorkerInfo, ttl time.Duration) (SavedWorker, error)
- func (db *SQLDB) UpdateContainerTTLToBeRemoved(container Container, maxLifetime time.Duration) (SavedContainer, error)
- func (db *SQLDB) Workers() ([]SavedWorker, error)
- type SavedContainer
- type SavedJob
- type SavedPipeline
- type SavedResource
- type SavedResourceType
- type SavedTeam
- type SavedVersionedResource
- type SavedVersionedResources
- type SavedWorker
- type Status
- type Team
- type TeamDB
- type TeamDBFactory
- type Tx
- type UAAAuth
- type Version
- type VersionedResource
- type WorkerInfo
Constants ¶
View Source
const ( NoVerionsSatisfiedPassedConstraints string = "no versions satisfy passed constraints" NoVersionsAvailable string = "no versions available" )
View Source
const ( ContainerStageCheck = "check" ContainerStageGet = "get" ContainerStageRun = "run" )
Variables ¶
View Source
var ErrBuildEventStreamClosed = errors.New("build event stream closed")
View Source
var ErrConfigComparisonFailed = errors.New("comparison with existing config failed during save")
View Source
var ErrEndOfBuildEventStream = errors.New("end of build event stream")
View Source
var ErrInvalidIdentifier = errors.New("invalid container identifier")
View Source
var ErrMultipleContainersFound = errors.New("multiple containers found for given identifier")
Functions ¶
func NewNotificationsBus ¶
func NewPipelineDBFactory ¶
func NewPipelineDBFactory( sqldbConnection Conn, bus *notificationsBus, lockFactory lock.LockFactory, ) *pipelineDBFactory
Types ¶
type BasicAuth ¶
type BasicAuth struct { BasicAuthUsername string `json:"basic_auth_username"` BasicAuthPassword string `json:"basic_auth_password"` }
func (*BasicAuth) EncryptedJSON ¶
type Build ¶
type Build interface { ID() int Name() string JobName() string PipelineName() string TeamName() string TeamID() int Engine() string EngineMetadata() string Status() Status StartTime() time.Time EndTime() time.Time ReapTime() time.Time IsOneOff() bool IsScheduled() bool IsRunning() bool IsManuallyTriggered() bool Reload() (bool, error) Events(from uint) (EventSource, error) SaveEvent(event atc.Event) error GetVersionedResources() (SavedVersionedResources, error) GetResources() ([]BuildInput, []BuildOutput, error) Start(string, string) (bool, error) Finish(status Status) error MarkAsFailed(cause error) error Abort() error AbortNotifier() (Notifier, error) AcquireTrackingLock(logger lager.Logger, interval time.Duration) (lock.Lock, bool, error) GetPreparation() (BuildPreparation, bool, error) SaveEngineMetadata(engineMetadata string) error SaveInput(input BuildInput) (SavedVersionedResource, error) SaveOutput(vr VersionedResource, explicit bool) (SavedVersionedResource, error) SaveImageResourceVersion(planID atc.PlanID, identifier ResourceCacheIdentifier) error GetImageResourceCacheIdentifiers() ([]ResourceCacheIdentifier, error) GetConfig() (atc.Config, ConfigVersion, error) GetPipeline() (SavedPipeline, error) }
type BuildInput ¶
type BuildInput struct { Name string VersionedResource FirstOccurrence bool }
type BuildOutput ¶
type BuildOutput struct {
VersionedResource
}
type BuildPreparation ¶
type BuildPreparation struct { BuildID int PausedPipeline BuildPreparationStatus PausedJob BuildPreparationStatus MaxRunningBuilds BuildPreparationStatus Inputs map[string]BuildPreparationStatus InputsSatisfied BuildPreparationStatus MissingInputReasons MissingInputReasons }
type BuildPreparationStatus ¶
type BuildPreparationStatus string
const ( BuildPreparationStatusUnknown BuildPreparationStatus = "unknown" BuildPreparationStatusBlocking BuildPreparationStatus = "blocking" BuildPreparationStatusNotBlocking BuildPreparationStatus = "not_blocking" )
type ConfigVersion ¶
type ConfigVersion int
ConfigVersion is a sequence identifier used for compare-and-swap
type Conn ¶
type Conn interface { Begin() (Tx, error) Close() error Driver() driver.Driver Exec(query string, args ...interface{}) (sql.Result, error) Ping() error Prepare(query string) (*sql.Stmt, error) Query(query string, args ...interface{}) (*sql.Rows, error) QueryRow(query string, args ...interface{}) *sql.Row SetMaxIdleConns(n int) SetMaxOpenConns(n int) }
type Container ¶
type Container struct { ContainerIdentifier ContainerMetadata }
type ContainerIdentifier ¶
type ContainerIdentifier struct { // if it's a resource check container ResourceID int ResourceTypeID int ResourceTypeVersion atc.Version CheckType string CheckSource atc.Source // if it's a step container BuildID int PlanID atc.PlanID // for the check + get stages of a container with a resource backed image ImageResourceType string ImageResourceSource atc.Source Stage ContainerStage }
type ContainerMetadata ¶
type ContainerStage ¶
type ContainerStage string
ContainerStage is used to distinguish between the 3 potential containers in use by a step, as we'll need to run a 'check' and 'get' for the image used by the container, which themselves correspond to containers.
type ContainerType ¶
type ContainerType string
const ( ContainerTypeCheck ContainerType = "check" ContainerTypeGet ContainerType = "get" ContainerTypePut ContainerType = "put" ContainerTypeTask ContainerType = "task" )
func ContainerTypeFromString ¶
func ContainerTypeFromString(containerType string) (ContainerType, error)
func (ContainerType) String ¶
func (containerType ContainerType) String() string
type DB ¶
type DB interface { GetTeams() ([]SavedTeam, error) CreateTeam(team Team) (SavedTeam, error) CreateDefaultTeamIfNotExists() error DeleteTeamByName(teamName string) error GetAllStartedBuilds() ([]Build, error) GetPublicBuilds(page Page) ([]Build, Pagination, error) FindJobIDForBuild(buildID int) (int, bool, error) CreatePipe(pipeGUID string, url string, teamName string) error GetPipe(pipeGUID string) (Pipe, error) GetTaskLock(logger lager.Logger, taskName string) (lock.Lock, bool, error) DeleteBuildEventsByBuildIDs(buildIDs []int) error Workers() ([]SavedWorker, error) // auto-expires workers based on ttl GetWorker(workerName string) (SavedWorker, bool, error) SaveWorker(WorkerInfo, time.Duration) (SavedWorker, error) GetContainer(string) (SavedContainer, bool, error) CreateContainerToBeRemoved(container Container, maxLifetime time.Duration, volumeHandles []string) (SavedContainer, error) FindContainerByIdentifier(ContainerIdentifier) (SavedContainer, bool, error) FindLatestSuccessfulBuildsPerJob() (map[int]int, error) FindJobContainersFromUnsuccessfulBuilds() ([]SavedContainer, error) ReapContainer(handle string) error DeleteContainer(string) error ReapVolume(string) error }
type Dashboard ¶
type Dashboard []DashboardJob
type DashboardJob ¶
type FirstLoggedBuildIDDecreasedError ¶
func (FirstLoggedBuildIDDecreasedError) Error ¶
func (e FirstLoggedBuildIDDecreasedError) Error() string
type GenericOAuth ¶
type GenericOAuth struct { AuthURL string `json:"auth_url"` AuthURLParams map[string]string `json:"auth_url_params"` TokenURL string `json:"token_url"` ClientID string `json:"client_id"` ClientSecret string `json:"client_secret"` DisplayName string `json:"display_name"` Scope string `json:"scope"` }
type GitHubAuth ¶
type GitHubAuth struct { ClientID string `json:"client_id"` ClientSecret string `json:"client_secret"` Organizations []string `json:"organizations"` Teams []GitHubTeam `json:"teams"` Users []string `json:"users"` AuthURL string `json:"auth_url"` TokenURL string `json:"token_url"` APIURL string `json:"api_url"` }
type GitHubTeam ¶
type MetadataField ¶
type MissingInputReasons ¶
func (MissingInputReasons) RegisterNoVersions ¶
func (mir MissingInputReasons) RegisterNoVersions(inputName string)
func (MissingInputReasons) RegisterPassedConstraint ¶
func (mir MissingInputReasons) RegisterPassedConstraint(inputName string)
func (MissingInputReasons) RegisterPinnedVersionUnavailable ¶
func (mir MissingInputReasons) RegisterPinnedVersionUnavailable(inputName string, version string)
type NotificationsBus ¶
type Pagination ¶
type PipelineDB ¶
type PipelineDB interface { Pipeline() SavedPipeline GetPipelineName() string GetPipelineID() int ScopedName(string) string TeamID() int Config() atc.Config ConfigVersion() ConfigVersion Reload() (bool, error) Pause() error Unpause() error IsPaused() (bool, error) IsPublic() bool UpdateName(string) error Destroy() error AcquireSchedulingLock(lager.Logger, time.Duration) (lock.Lock, bool, error) GetResource(resourceName string) (SavedResource, bool, error) GetResources() ([]SavedResource, bool, error) GetResourceType(resourceTypeName string) (SavedResourceType, bool, error) GetResourceVersions(resourceName string, page Page) ([]SavedVersionedResource, Pagination, bool, error) PauseResource(resourceName string) error UnpauseResource(resourceName string) error SaveResourceVersions(atc.ResourceConfig, []atc.Version) error SaveResourceTypeVersion(atc.ResourceType, atc.Version) error GetLatestVersionedResource(resourceName string) (SavedVersionedResource, bool, error) GetLatestEnabledVersionedResource(resourceName string) (SavedVersionedResource, bool, error) EnableVersionedResource(versionedResourceID int) error DisableVersionedResource(versionedResourceID int) error SetResourceCheckError(resource SavedResource, err error) error AcquireResourceTypeCheckingLock(logger lager.Logger, resourceType SavedResourceType, length time.Duration, immediate bool) (lock.Lock, bool, error) GetJobs() ([]SavedJob, error) GetJob(job string) (SavedJob, bool, error) PauseJob(job string) error UnpauseJob(job string) error SetMaxInFlightReached(string, bool) error UpdateFirstLoggedBuildID(job string, newFirstLoggedBuildID int) error GetJobFinishedAndNextBuild(job string) (Build, Build, error) GetJobBuilds(job string, page Page) ([]Build, Pagination, error) GetAllJobBuilds(job string) ([]Build, error) GetJobBuild(job string, build string) (Build, bool, error) CreateJobBuild(job string) (Build, error) EnsurePendingBuildExists(jobName string) error GetPendingBuildsForJob(jobName string) ([]Build, error) GetAllPendingBuilds() (map[string][]Build, error) UseInputsForBuild(buildID int, inputs []BuildInput) error LoadVersionsDB() (*algorithm.VersionsDB, error) GetVersionedResourceByVersion(atcVersion atc.Version, resourceName string) (SavedVersionedResource, bool, error) SaveIndependentInputMapping(inputMapping algorithm.InputMapping, jobName string) error GetIndependentBuildInputs(jobName string) ([]BuildInput, error) SaveNextInputMapping(inputMapping algorithm.InputMapping, jobName string) error GetNextBuildInputs(jobName string) ([]BuildInput, bool, error) DeleteNextInputMapping(jobName string) error GetRunningBuildsBySerialGroup(jobName string, serialGroups []string) ([]Build, error) GetNextPendingBuildBySerialGroup(jobName string, serialGroups []string) (Build, bool, error) UpdateBuildToScheduled(buildID int) (bool, error) SaveInput(buildID int, input BuildInput) (SavedVersionedResource, error) SaveOutput(buildID int, vr VersionedResource, explicit bool) (SavedVersionedResource, error) GetBuildsWithVersionAsInput(versionedResourceID int) ([]Build, error) GetBuildsWithVersionAsOutput(versionedResourceID int) ([]Build, error) GetDashboard() (Dashboard, atc.GroupConfigs, error) Expose() error Hide() error }
type PipelineDBFactory ¶
type PipelineDBFactory interface {
Build(pipeline SavedPipeline) PipelineDB
}
type PipelinePausedState ¶
type PipelinePausedState string
const ( PipelinePaused PipelinePausedState = "paused" PipelineUnpaused PipelinePausedState = "unpaused" PipelineNoChange PipelinePausedState = "nochange" )
func (PipelinePausedState) Bool ¶
func (state PipelinePausedState) Bool() *bool
type PipelinesDB ¶
type PipelinesDB interface {
GetAllPublicPipelines() ([]SavedPipeline, error)
}
type ResourceCacheIdentifier ¶
type ResourceNotFoundError ¶
type ResourceNotFoundError struct {
Name string
}
func (ResourceNotFoundError) Error ¶
func (e ResourceNotFoundError) Error() string
type ResourceTypeNotFoundError ¶
type ResourceTypeNotFoundError struct {
Name string
}
func (ResourceTypeNotFoundError) Error ¶
func (e ResourceTypeNotFoundError) Error() string
type SQLDB ¶
type SQLDB struct {
// contains filtered or unexported fields
}
func NewSQL ¶
func NewSQL( sqldbConnection Conn, bus *notificationsBus, lockFactory lock.LockFactory, ) *SQLDB
func (*SQLDB) AcquireContainerCreatingLock ¶
func (*SQLDB) AcquireVolumeCreatingLock ¶
func (*SQLDB) CreateContainerToBeRemoved ¶
func (*SQLDB) CreateDefaultTeamIfNotExists ¶
func (*SQLDB) CreatePipe ¶
func (*SQLDB) DeleteBuildEventsByBuildIDs ¶
func (*SQLDB) DeleteContainer ¶
func (*SQLDB) DeleteTeamByName ¶
func (*SQLDB) FindContainerByIdentifier ¶
func (db *SQLDB) FindContainerByIdentifier(id ContainerIdentifier) (SavedContainer, bool, error)
func (*SQLDB) FindJobContainersFromUnsuccessfulBuilds ¶
func (db *SQLDB) FindJobContainersFromUnsuccessfulBuilds() ([]SavedContainer, error)
func (*SQLDB) FindJobIDForBuild ¶
func (*SQLDB) FindLatestSuccessfulBuildsPerJob ¶
func (*SQLDB) GetAllPipelines ¶
func (db *SQLDB) GetAllPipelines() ([]SavedPipeline, error)
func (*SQLDB) GetAllPublicPipelines ¶
func (db *SQLDB) GetAllPublicPipelines() ([]SavedPipeline, error)
func (*SQLDB) GetAllStartedBuilds ¶
func (*SQLDB) GetContainer ¶
func (db *SQLDB) GetContainer(handle string) (SavedContainer, bool, error)
func (*SQLDB) GetPipelineByID ¶
func (db *SQLDB) GetPipelineByID(pipelineID int) (SavedPipeline, error)
func (*SQLDB) GetPublicBuilds ¶
func (db *SQLDB) GetPublicBuilds(page Page) ([]Build, Pagination, error)
func (*SQLDB) GetTaskLock ¶
func (*SQLDB) ReapContainer ¶
func (*SQLDB) ReapExpiredWorkers ¶
func (*SQLDB) ReapVolume ¶
func (*SQLDB) SaveWorker ¶
func (db *SQLDB) SaveWorker(info WorkerInfo, ttl time.Duration) (SavedWorker, error)
func (*SQLDB) UpdateContainerTTLToBeRemoved ¶
func (*SQLDB) Workers ¶
func (db *SQLDB) Workers() ([]SavedWorker, error)
type SavedContainer ¶
type SavedPipeline ¶
type SavedResource ¶
type SavedResource struct { ID int CheckError error Paused bool PipelineName string Config atc.ResourceConfig Resource }
func (SavedResource) FailingToCheck ¶
func (r SavedResource) FailingToCheck() bool
type SavedResourceType ¶
type SavedVersionedResource ¶
type SavedVersionedResources ¶
type SavedVersionedResources []SavedVersionedResource
type SavedWorker ¶
type SavedWorker struct { WorkerInfo TeamName string ExpiresIn time.Duration }
type Team ¶
type Team struct { Name string Admin bool BasicAuth *BasicAuth `json:"basic_auth"` GitHubAuth *GitHubAuth `json:"github_auth"` UAAAuth *UAAAuth `json:"uaa_auth"` GenericOAuth *GenericOAuth `json:"genericoauth_auth"` }
func (Team) IsAuthConfigured ¶
type TeamDB ¶
type TeamDB interface { GetPipelines() ([]SavedPipeline, error) GetPublicPipelines() ([]SavedPipeline, error) GetPrivateAndAllPublicPipelines() ([]SavedPipeline, error) GetPipelineByName(pipelineName string) (SavedPipeline, bool, error) OrderPipelines([]string) error GetTeam() (SavedTeam, bool, error) UpdateBasicAuth(basicAuth *BasicAuth) (SavedTeam, error) UpdateGitHubAuth(gitHubAuth *GitHubAuth) (SavedTeam, error) UpdateUAAAuth(uaaAuth *UAAAuth) (SavedTeam, error) UpdateGenericOAuth(genericOAuth *GenericOAuth) (SavedTeam, error) GetConfig(pipelineName string) (atc.Config, atc.RawConfig, ConfigVersion, error) SaveConfigToBeDeprecated(string, atc.Config, ConfigVersion, PipelinePausedState) (SavedPipeline, bool, error) CreateOneOffBuild() (Build, error) GetPrivateAndPublicBuilds(page Page) ([]Build, Pagination, error) Workers() ([]SavedWorker, error) GetContainer(handle string) (SavedContainer, bool, error) FindContainersByDescriptors(id Container) ([]SavedContainer, error) }
type TeamDBFactory ¶
func NewTeamDBFactory ¶
func NewTeamDBFactory(conn Conn, bus *notificationsBus, lockFactory lock.LockFactory) TeamDBFactory
type VersionedResource ¶
type VersionedResource struct { Resource string Type string Version Version Metadata []MetadataField PipelineID int }
Source Files ¶
- build.go
- build_factory.go
- build_preparation.go
- container.go
- db.go
- db_log.go
- errors.go
- job.go
- pagination.go
- pipe.go
- pipeline.go
- pipeline_db.go
- pipeline_db_factory.go
- resource.go
- sqldb.go
- sqldb_builds.go
- sqldb_bus.go
- sqldb_containers.go
- sqldb_eventsource.go
- sqldb_locks.go
- sqldb_pipelines.go
- sqldb_pipes.go
- sqldb_teams.go
- sqldb_volumes.go
- sqldb_workers.go
- team.go
- team_db.go
- team_db_containers.go
- team_db_factory.go
- volume.go
Directories ¶
Path | Synopsis |
---|---|
This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter
|
This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter |
lockfakes
This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter
|
This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter |
migrationsfakes
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
Click to show internal directories.
Click to hide internal directories.