Documentation ¶
Index ¶
- Constants
- func NewWorkspaceTemplateService(config WorkspaceTemplateServiceConfig) services.IWorkspaceTemplateService
- type WorkspaceTemplateService
- func (s *WorkspaceTemplateService) Delete(ctx context.Context, workspaceTemplateName string, force bool) []error
- func (s *WorkspaceTemplateService) DeletePrebuild(ctx context.Context, workspaceTemplateName string, id string, force bool) []error
- func (s *WorkspaceTemplateService) EnforceRetentionPolicy(ctx context.Context) error
- func (s *WorkspaceTemplateService) Find(ctx context.Context, filter *stores.WorkspaceTemplateFilter) (*models.WorkspaceTemplate, error)
- func (s *WorkspaceTemplateService) FindPrebuild(ctx context.Context, workspaceTemplateFilter *stores.WorkspaceTemplateFilter, ...) (*services.PrebuildDTO, error)
- func (s *WorkspaceTemplateService) List(ctx context.Context, filter *stores.WorkspaceTemplateFilter) ([]*models.WorkspaceTemplate, error)
- func (s *WorkspaceTemplateService) ListPrebuilds(ctx context.Context, workspaceTemplateFilter *stores.WorkspaceTemplateFilter, ...) ([]*services.PrebuildDTO, error)
- func (s *WorkspaceTemplateService) ProcessGitEvent(ctx context.Context, data gitprovider.GitEventData) error
- func (s *WorkspaceTemplateService) Save(ctx context.Context, workspaceTemplate *models.WorkspaceTemplate) error
- func (s *WorkspaceTemplateService) SavePrebuild(ctx context.Context, workspaceTemplateName string, ...) (*services.PrebuildDTO, error)
- func (s *WorkspaceTemplateService) SetDefault(ctx context.Context, workspaceTemplateName string) error
- func (s *WorkspaceTemplateService) StartRetentionPoller(ctx context.Context) error
- type WorkspaceTemplateServiceConfig
Constants ¶
View Source
const DEFAULT_RETENTION_POLL_INTERVAL = "*/1 * * * * *"
TODO: add lock when running interval func 1 second interval
Variables ¶
This section is empty.
Functions ¶
func NewWorkspaceTemplateService ¶
func NewWorkspaceTemplateService(config WorkspaceTemplateServiceConfig) services.IWorkspaceTemplateService
Types ¶
type WorkspaceTemplateService ¶
type WorkspaceTemplateService struct {
// contains filtered or unexported fields
}
func (*WorkspaceTemplateService) DeletePrebuild ¶
func (*WorkspaceTemplateService) EnforceRetentionPolicy ¶
func (s *WorkspaceTemplateService) EnforceRetentionPolicy(ctx context.Context) error
Marks the [retention] oldest published builds for deletion for each prebuild
func (*WorkspaceTemplateService) Find ¶
func (s *WorkspaceTemplateService) Find(ctx context.Context, filter *stores.WorkspaceTemplateFilter) (*models.WorkspaceTemplate, error)
func (*WorkspaceTemplateService) FindPrebuild ¶
func (s *WorkspaceTemplateService) FindPrebuild(ctx context.Context, workspaceTemplateFilter *stores.WorkspaceTemplateFilter, prebuildFilter *stores.PrebuildFilter) (*services.PrebuildDTO, error)
func (*WorkspaceTemplateService) List ¶
func (s *WorkspaceTemplateService) List(ctx context.Context, filter *stores.WorkspaceTemplateFilter) ([]*models.WorkspaceTemplate, error)
func (*WorkspaceTemplateService) ListPrebuilds ¶
func (s *WorkspaceTemplateService) ListPrebuilds(ctx context.Context, workspaceTemplateFilter *stores.WorkspaceTemplateFilter, prebuildFilter *stores.PrebuildFilter) ([]*services.PrebuildDTO, error)
func (*WorkspaceTemplateService) ProcessGitEvent ¶
func (s *WorkspaceTemplateService) ProcessGitEvent(ctx context.Context, data gitprovider.GitEventData) error
TODO: revise build trigger strategy We should discuss if the function should throw if the build can not be created or move on to the next one
func (*WorkspaceTemplateService) Save ¶
func (s *WorkspaceTemplateService) Save(ctx context.Context, workspaceTemplate *models.WorkspaceTemplate) error
func (*WorkspaceTemplateService) SavePrebuild ¶
func (s *WorkspaceTemplateService) SavePrebuild(ctx context.Context, workspaceTemplateName string, createPrebuildDto services.CreatePrebuildDTO) (*services.PrebuildDTO, error)
func (*WorkspaceTemplateService) SetDefault ¶
func (s *WorkspaceTemplateService) SetDefault(ctx context.Context, workspaceTemplateName string) error
func (*WorkspaceTemplateService) StartRetentionPoller ¶
func (s *WorkspaceTemplateService) StartRetentionPoller(ctx context.Context) error
type WorkspaceTemplateServiceConfig ¶
type WorkspaceTemplateServiceConfig struct { PrebuildWebhookEndpoint string ConfigStore stores.WorkspaceTemplateStore FindNewestBuild func(ctx context.Context, prebuildId string) (*services.BuildDTO, error) ListSuccessfulBuilds func(ctx context.Context) ([]*services.BuildDTO, error) CreateBuild func(ctx context.Context, wt *models.WorkspaceTemplate, repo *gitprovider.GitRepository, prebuildId string) error DeleteBuilds func(ctx context.Context, id, prebuildId *string, force bool) []error GetRepositoryContext func(ctx context.Context, url string) (repo *gitprovider.GitRepository, gitProviderId string, err error) FindPrebuildWebhook func(ctx context.Context, gitProviderId string, repo *gitprovider.GitRepository, endpointUrl string) (*string, error) UnregisterPrebuildWebhook func(ctx context.Context, gitProviderId string, repo *gitprovider.GitRepository, id string) error RegisterPrebuildWebhook func(ctx context.Context, gitProviderId string, repo *gitprovider.GitRepository, endpointUrl string) (string, error) GetCommitsRange func(ctx context.Context, repo *gitprovider.GitRepository, initialSha string, currentSha string) (int, error) TrackTelemetryEvent func(event telemetry.Event, clientId string) error }
Click to show internal directories.
Click to hide internal directories.