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 GetConfigDir() (string, error)
func IsBuildNotFound ¶
func IsBuildNotFound(err error) bool
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 BuildOutcome struct {
Outcome string `json:"outcome"`
ContainerId string `json:"containerId"`
RemoteUser string `json:"remoteUser"`
RemoteWorkspaceFolder string `json:"remoteWorkspaceFolder"`
}
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) RunBuildProcess ¶ added in v0.25.0
func (r *BuildRunner) RunBuildProcess(build *Build, wg *sync.WaitGroup)
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 Config struct {
Id string `json:"id" validate:"required"`
Interval string `json:"interval" validate:"required"`
TelemetryEnabled bool `json:"telemetryEnabled" validate:"required"`
} // @name BuildRunnerConfig
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
type DevcontainerBuilder ¶
type DevcontainerBuilder struct {
*Builder
// contains filtered or unexported fields
}
type IBuilder ¶
type IBuilder interface {
Build(build Build) (string, string, error)
CleanUp() error
Publish(build Build) error
SaveBuild(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.