Documentation ¶
Index ¶
- Constants
- Variables
- func GetConfigDir() (string, error)
- func IsBuildNotFound(err error) bool
- func Save(c Config) error
- type Build
- type BuildFilter
- type BuildOutcome
- type BuildRunner
- type BuildRunnerInstanceConfig
- type BuildState
- type Builder
- type BuilderFactory
- type BuilderFactoryConfig
- type Config
- type CronScheduler
- type DevcontainerBuilder
- type IBuilder
- type IBuilderFactory
- type Store
Constants ¶
View Source
const DEFAULT_POLLER_INTERVAL = "0 */5 * * * *"
Variables ¶
View Source
var (
ErrBuildNotFound = errors.New("build not found")
)
Functions ¶
func GetConfigDir ¶ added in v0.25.0
func IsBuildNotFound ¶
Types ¶
type Build ¶ added in v0.25.0
type Build struct { Id string `json:"id" validate:"required"` Hash string `json:"hash" validate:"required"` State BuildState `json:"state" validate:"required"` Project project.Project `json:"project" validate:"required"` User string `json:"user" validate:"required"` Image string `json:"image" validate:"required"` } // @name Build
type BuildFilter ¶ added in v0.25.0
type BuildFilter struct {
State *BuildState
}
type BuildOutcome ¶
type BuildRunner ¶ added in v0.25.0
type BuildRunner struct { Id string // contains filtered or unexported fields }
func NewBuildRunner ¶ added in v0.25.0
func NewBuildRunner(config BuildRunnerInstanceConfig) *BuildRunner
func (*BuildRunner) Run ¶ added in v0.25.0
func (r *BuildRunner) Run()
func (*BuildRunner) RunBuildProcess ¶ added in v0.25.0
func (r *BuildRunner) RunBuildProcess(build *Build, wg *sync.WaitGroup)
func (*BuildRunner) Start ¶ added in v0.25.0
func (r *BuildRunner) Start() error
func (*BuildRunner) Stop ¶ added in v0.25.0
func (r *BuildRunner) Stop()
type BuildRunnerInstanceConfig ¶ added in v0.25.0
type BuildRunnerInstanceConfig struct { Interval string Scheduler scheduler.IScheduler BuildRunnerId string BuildStore Store BuilderFactory IBuilderFactory LoggerFactory logs.LoggerFactory TelemetryEnabled bool TelemetryService telemetry.TelemetryService }
type BuildState ¶ added in v0.25.0
type BuildState string
const ( BuildStatePending BuildState = "pending" BuildStateRunning BuildState = "running" BuildStateError BuildState = "error" BuildStateSuccess BuildState = "success" BuildStatePublished BuildState = "published" )
type BuilderFactory ¶
type BuilderFactory struct {
// contains filtered or unexported fields
}
func (*BuilderFactory) CheckExistingBuild ¶
func (f *BuilderFactory) CheckExistingBuild(p project.Project) (*Build, error)
type BuilderFactoryConfig ¶
type BuilderFactoryConfig struct { Image string ContainerRegistryService containerregistries.IContainerRegistryService ContainerRegistryServer string BuildStore Store BuildImageNamespace string // Namespace to be used when tagging and pushing the build image LoggerFactory logs.LoggerFactory DefaultProjectImage string DefaultProjectUser string BasePath string }
type Config ¶ added in v0.25.0
type CronScheduler ¶ added in v0.25.0
type CronScheduler struct {
// contains filtered or unexported fields
}
CronScheduler is a wrapper around the cron library. It implements the IScheduler interface. It is used to schedule tasks at specific intervals. Wrapping the cron library is necessary to enable proper mocking while testing dependent code.
func NewCronScheduler ¶ added in v0.25.0
func NewCronScheduler() *CronScheduler
func (*CronScheduler) AddFunc ¶ added in v0.25.0
func (s *CronScheduler) AddFunc(interval string, cmd func()) error
func (*CronScheduler) Start ¶ added in v0.25.0
func (s *CronScheduler) Start()
func (*CronScheduler) Stop ¶ added in v0.25.0
func (s *CronScheduler) Stop()
type DevcontainerBuilder ¶
type DevcontainerBuilder struct { *Builder // contains filtered or unexported fields }
func (*DevcontainerBuilder) Build ¶
func (b *DevcontainerBuilder) Build(build Build) (string, string, error)
func (*DevcontainerBuilder) CleanUp ¶
func (b *DevcontainerBuilder) CleanUp() error
func (*DevcontainerBuilder) Publish ¶
func (b *DevcontainerBuilder) Publish(build Build) error
type IBuilderFactory ¶
type IBuilderFactory interface { Create(build Build) (IBuilder, error) CheckExistingBuild(p project.Project) (*Build, error) }
func NewBuilderFactory ¶
func NewBuilderFactory(config BuilderFactoryConfig) IBuilderFactory
Source Files ¶
Click to show internal directories.
Click to hide internal directories.