Documentation
¶
Index ¶
- Variables
- func IsBuildDeleted(err error) bool
- func IsInvalidResourceJobAction(err error) bool
- func IsTargetDeleted(err error) bool
- func IsWorkspaceDeleted(err error) bool
- type ApiKeyDTO
- type BuildDTO
- type BuildFilter
- type CreateBuildDTO
- type CreatePrebuildDTO
- type CreateRunnerDTO
- type CreateRunnerResultDTO
- type CreateTargetConfigDTO
- type CreateTargetDTO
- type CreateWorkspaceDTO
- type CreateWorkspaceSourceDTO
- type CreateWorkspaceTemplateDTO
- type DownloadUrls
- type EnvironmentVariables
- type IApiKeyService
- type IBuildService
- type IEnvironmentVariableService
- type IGitProviderService
- type IJobService
- type IRunnerService
- type ITargetConfigService
- type ITargetService
- type IWorkspaceService
- type IWorkspaceTemplateService
- type PrebuildDTO
- type ProviderDTO
- type ProviderMetadata
- type RunnerDTO
- type TargetDTO
- type TargetRetrievalParams
- type UpdateJobStateDTO
- type UpdateTargetProviderMetadataDTO
- type WorkspaceDTO
- type WorkspaceRetrievalParams
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrTargetAlreadyExists = errors.New("target already exists") ErrInvalidTargetName = errors.New("name is not a valid alphanumeric string") ErrTargetDeleted = errors.New("target is deleted") ErrAgentlessTarget = errors.New("provider uses an agentless target") )
View Source
var ( ErrWorkspaceAlreadyExists = errors.New("workspace already exists") ErrWorkspaceDeleted = errors.New("workspace is deleted") ErrInvalidWorkspaceName = errors.New("workspace name is not valid. Only [a-zA-Z0-9-_.] are allowed") ErrInvalidWorkspaceTemplate = errors.New("workspace template is invalid") )
View Source
var (
ErrBuildDeleted = errors.New("build is deleted")
)
View Source
var (
ErrInvalidResourceJobAction = errors.New("invalid job action for resource")
)
View Source
var (
ErrRunnerAlreadyExists = errors.New("runner already exists")
)
Functions ¶
func IsBuildDeleted ¶
func IsTargetDeleted ¶
func IsWorkspaceDeleted ¶
Types ¶
type ApiKeyDTO ¶
type ApiKeyDTO struct {
Type models.ApiKeyType `json:"type" validate:"required"`
Name string `json:"name" validate:"required"`
} // @name ApiKeyDTO
type BuildDTO ¶
type BuildDTO struct {
models.Build
State models.ResourceState `json:"state" validate:"required"`
} // @name BuildDTO
type BuildFilter ¶
type BuildFilter struct {
StateNames *[]models.ResourceStateName
ShowDeleted bool
StoreFilter stores.BuildFilter
}
type CreateBuildDTO ¶
type CreateBuildDTO struct {
WorkspaceTemplateName string `json:"workspaceTemplateName" validate:"required"`
Branch string `json:"branch" validate:"required"`
PrebuildId *string `json:"prebuildId" validate:"optional"`
EnvVars map[string]string `json:"envVars" validate:"required"`
} // @name CreateBuildDTO
type CreatePrebuildDTO ¶
type CreatePrebuildDTO struct {
Id *string `json:"id" validate:"optional"`
Branch string `json:"branch" validate:"optional"`
CommitInterval *int `json:"commitInterval" validate:"optional"`
TriggerFiles []string `json:"triggerFiles" validate:"optional"`
Retention int `json:"retention" validate:"required"`
} // @name CreatePrebuildDTO
type CreateRunnerDTO ¶
type CreateRunnerResultDTO ¶
type CreateTargetConfigDTO ¶
type CreateTargetConfigDTO struct {
Name string `json:"name" validate:"required"`
ProviderInfo models.ProviderInfo `json:"providerInfo" validate:"required"`
Options string `json:"options" validate:"required"`
} // @name CreateTargetConfigDTO
type CreateTargetDTO ¶
type CreateWorkspaceDTO ¶
type CreateWorkspaceDTO struct {
Id string `json:"id" validate:"required"`
Name string `json:"name" validate:"required"`
Image *string `json:"image,omitempty" validate:"optional"`
User *string `json:"user,omitempty" validate:"optional"`
BuildConfig *models.BuildConfig `json:"buildConfig,omitempty" validate:"optional"`
Source CreateWorkspaceSourceDTO `json:"source" validate:"required"`
EnvVars map[string]string `json:"envVars" validate:"required"`
Labels map[string]string `json:"labels" validate:"required"`
TargetId string `json:"targetId" validate:"required"`
GitProviderConfigId *string `json:"gitProviderConfigId,omitempty" validate:"optional"`
} // @name CreateWorkspaceDTO
func (*CreateWorkspaceDTO) ToWorkspace ¶
func (c *CreateWorkspaceDTO) ToWorkspace() *models.Workspace
type CreateWorkspaceSourceDTO ¶
type CreateWorkspaceSourceDTO struct {
Repository *gitprovider.GitRepository `json:"repository" validate:"required"`
} // @name CreateWorkspaceSourceDTO
type CreateWorkspaceTemplateDTO ¶
type CreateWorkspaceTemplateDTO struct {
Name string `json:"name" validate:"required"`
Image *string `json:"image,omitempty" validate:"optional"`
User *string `json:"user,omitempty" validate:"optional"`
BuildConfig *models.BuildConfig `json:"buildConfig,omitempty" validate:"optional"`
RepositoryUrl string `json:"repositoryUrl" validate:"required"`
EnvVars map[string]string `json:"envVars" validate:"required"`
GitProviderConfigId *string `json:"gitProviderConfigId" validate:"optional"`
} // @name CreateWorkspaceTemplateDTO
type DownloadUrls ¶
type DownloadUrls map[os.OperatingSystem]string
type EnvironmentVariables ¶
func (EnvironmentVariables) FindContainerRegistry ¶
func (e EnvironmentVariables) FindContainerRegistry(server string) *models.ContainerRegistry
func (EnvironmentVariables) FindContainerRegistryByImageName ¶
func (e EnvironmentVariables) FindContainerRegistryByImageName(image string) *models.ContainerRegistry
type IApiKeyService ¶
type IApiKeyService interface {
ListClientKeys(ctx context.Context) ([]*ApiKeyDTO, error)
Create(ctx context.Context, keyType models.ApiKeyType, name string) (string, error)
Delete(ctx context.Context, name string) error
GetApiKeyType(ctx context.Context, apiKey string) (models.ApiKeyType, error)
GetApiKeyName(ctx context.Context, apiKey string) (string, error)
IsValidApiKey(ctx context.Context, apiKey string) bool
}
type IBuildService ¶
type IBuildService interface {
List(ctx context.Context, filter *BuildFilter) ([]*BuildDTO, error)
Find(ctx context.Context, filter *BuildFilter) (*BuildDTO, error)
Create(ctx context.Context, createBuildDTO CreateBuildDTO) (string, error)
Delete(ctx context.Context, filter *BuildFilter, force bool) []error
UpdateLastJob(ctx context.Context, buildId, jobId string) error
HandleSuccessfulRemoval(ctx context.Context, id string) error
GetBuildLogReader(ctx context.Context, buildId string) (io.Reader, error)
GetBuildLogWriter(ctx context.Context, buildId string) (io.WriteCloser, error)
}
type IGitProviderService ¶
type IGitProviderService interface {
ListConfigs(ctx context.Context) ([]*models.GitProviderConfig, error)
ListConfigsForUrl(ctx context.Context, url string) ([]*models.GitProviderConfig, error)
FindConfig(ctx context.Context, id string) (*models.GitProviderConfig, error)
SaveConfig(ctx context.Context, providerConfig *models.GitProviderConfig) error
DeleteConfig(ctx context.Context, id string) error
GetGitProvider(ctx context.Context, id string) (gitprovider.GitProvider, error)
GetGitProviderForUrl(ctx context.Context, url string) (gitprovider.GitProvider, string, error)
GetGitProviderForHttpRequest(ctx context.Context, req *http.Request) (gitprovider.GitProvider, error)
GetGitUser(ctx context.Context, gitProviderId string) (*gitprovider.GitUser, error)
GetNamespaces(ctx context.Context, gitProviderId string, options gitprovider.ListOptions) ([]*gitprovider.GitNamespace, error)
GetRepoBranches(ctx context.Context, gitProviderId string, namespaceId string, repositoryId string, options gitprovider.ListOptions) ([]*gitprovider.GitBranch, error)
GetRepoPRs(ctx context.Context, gitProviderId string, namespaceId string, repositoryId string, options gitprovider.ListOptions) ([]*gitprovider.GitPullRequest, error)
GetRepositories(ctx context.Context, gitProviderId string, namespaceId string, options gitprovider.ListOptions) ([]*gitprovider.GitRepository, error)
GetLastCommitSha(ctx context.Context, repo *gitprovider.GitRepository) (string, error)
RegisterPrebuildWebhook(ctx context.Context, gitProviderId string, repo *gitprovider.GitRepository, endpointUrl string) (string, error)
GetPrebuildWebhook(ctx context.Context, gitProviderId string, repo *gitprovider.GitRepository, endpointUrl string) (*string, error)
UnregisterPrebuildWebhook(ctx context.Context, gitProviderId string, repo *gitprovider.GitRepository, id string) error
}
type IJobService ¶
type IJobService interface {
List(ctx context.Context, filter *stores.JobFilter) ([]*models.Job, error)
Find(ctx context.Context, filter *stores.JobFilter) (*models.Job, error)
Create(ctx context.Context, job *models.Job) error
UpdateState(ctx context.Context, jobId string, updateJobStateDto UpdateJobStateDTO) error
Delete(ctx context.Context, job *models.Job) error
}
type IRunnerService ¶
type IRunnerService interface {
List(ctx context.Context) ([]*RunnerDTO, error)
Find(ctx context.Context, runnerId string) (*RunnerDTO, error)
Create(ctx context.Context, req CreateRunnerDTO) (*RunnerDTO, error)
Delete(ctx context.Context, runnerId string) error
UpdateMetadata(ctx context.Context, runnerId string, metadata *models.RunnerMetadata) error
UpdateJobState(ctx context.Context, jobId string, req UpdateJobStateDTO) error
ListRunnerJobs(ctx context.Context, runnerId string) ([]*models.Job, error)
ListProviders(ctx context.Context, runnerId *string) ([]models.ProviderInfo, error)
ListProvidersForInstall(ctx context.Context, serverRegistryUrl string) ([]ProviderDTO, error)
InstallProvider(ctx context.Context, runnerId, name, version, serverRegistryUrl string) error
UninstallProvider(ctx context.Context, runnerId string, name string) error
UpdateProvider(ctx context.Context, runnerId, name, version, serverRegistryUrl string) error
GetRunnerLogReader(ctx context.Context, runnerId string) (io.Reader, error)
GetRunnerLogWriter(ctx context.Context, runnerId string) (io.WriteCloser, error)
}
type ITargetConfigService ¶
type ITargetConfigService interface {
List(ctx context.Context) ([]*models.TargetConfig, error)
Map(ctx context.Context) (map[string]*models.TargetConfig, error)
Find(ctx context.Context, idOrName string) (*models.TargetConfig, error)
Create(ctx context.Context, targetConfig CreateTargetConfigDTO) (*models.TargetConfig, error)
Delete(ctx context.Context, targetConfigId string) error
}
type ITargetService ¶
type ITargetService interface {
List(ctx context.Context, filter *stores.TargetFilter, params TargetRetrievalParams) ([]TargetDTO, error)
Find(ctx context.Context, filter *stores.TargetFilter, params TargetRetrievalParams) (*TargetDTO, error)
Create(ctx context.Context, req CreateTargetDTO) (*models.Target, error)
Save(ctx context.Context, target *models.Target) error
Start(ctx context.Context, targetId string) error
Stop(ctx context.Context, targetId string) error
Restart(ctx context.Context, targetId string) error
SetDefault(ctx context.Context, targetId string) error
Delete(ctx context.Context, targetId string) error
ForceDelete(ctx context.Context, targetId string) error
UpdateMetadata(ctx context.Context, targetId string, metadata *models.TargetMetadata) (*models.TargetMetadata, error)
UpdateProviderMetadata(ctx context.Context, targetId, metadata string) error
UpdateLastJob(ctx context.Context, targetId, jobId string) error
HandleSuccessfulCreation(ctx context.Context, targetId string) error
GetTargetLogReader(ctx context.Context, targetId string) (io.Reader, error)
GetTargetLogWriter(ctx context.Context, targetId string) (io.WriteCloser, error)
}
type IWorkspaceService ¶
type IWorkspaceService interface {
List(ctx context.Context, params WorkspaceRetrievalParams) ([]WorkspaceDTO, error)
Find(ctx context.Context, workspaceId string, params WorkspaceRetrievalParams) (*WorkspaceDTO, error)
Create(ctx context.Context, req CreateWorkspaceDTO) (*WorkspaceDTO, error)
Start(ctx context.Context, workspaceId string) error
Stop(ctx context.Context, workspaceId string) error
Delete(ctx context.Context, workspaceId string) error
ForceDelete(ctx context.Context, workspaceId string) error
Restart(ctx context.Context, workspaceId string) error
UpdateMetadata(ctx context.Context, workspaceId string, metadata *models.WorkspaceMetadata) (*models.WorkspaceMetadata, error)
UpdateProviderMetadata(ctx context.Context, workspaceId, metadata string) error
UpdateLastJob(ctx context.Context, workspaceId, jobId string) error
UpdateLabels(ctx context.Context, workspaceId string, labels map[string]string) (*WorkspaceDTO, error)
GetWorkspaceLogReader(ctx context.Context, workspaceId string) (io.Reader, error)
GetWorkspaceLogWriter(ctx context.Context, workspaceId string) (io.WriteCloser, error)
}
type IWorkspaceTemplateService ¶
type IWorkspaceTemplateService interface {
List(ctx context.Context, filter *stores.WorkspaceTemplateFilter) ([]*models.WorkspaceTemplate, error)
Find(ctx context.Context, filter *stores.WorkspaceTemplateFilter) (*models.WorkspaceTemplate, error)
Save(ctx context.Context, workspaceTemplate *models.WorkspaceTemplate) error
SetDefault(ctx context.Context, workspaceTemplateName string) error
Delete(ctx context.Context, workspaceTemplateName string, force bool) []error
ListPrebuilds(ctx context.Context, workspaceTemplateFilter *stores.WorkspaceTemplateFilter, prebuildFilter *stores.PrebuildFilter) ([]*PrebuildDTO, error)
FindPrebuild(ctx context.Context, workspaceTemplateFilter *stores.WorkspaceTemplateFilter, prebuildFilter *stores.PrebuildFilter) (*PrebuildDTO, error)
SavePrebuild(ctx context.Context, workspaceTemplateName string, createPrebuildDto CreatePrebuildDTO) (*PrebuildDTO, error)
DeletePrebuild(ctx context.Context, workspaceTemplateName string, id string, force bool) []error
StartRetentionPoller(ctx context.Context) error
EnforceRetentionPolicy(ctx context.Context) error
ProcessGitEvent(ctx context.Context, gitEventData gitprovider.GitEventData) error
}
type PrebuildDTO ¶
type PrebuildDTO struct {
Id string `json:"id" validate:"required"`
WorkspaceTemplateName string `json:"workspaceTemplateName" validate:"required"`
Branch string `json:"branch" validate:"required"`
CommitInterval *int `json:"commitInterval" validate:"optional"`
TriggerFiles []string `json:"triggerFiles" validate:"optional"`
Retention int `json:"retention" validate:"required"`
} // @name PrebuildDTO
type ProviderDTO ¶
type ProviderMetadata ¶
type ProviderMetadata struct {
Name string `json:"name" validate:"required"`
Version string `json:"version" validate:"required"`
DownloadUrls DownloadUrls `json:"downloadUrls" validate:"required"`
}
type RunnerDTO ¶
type RunnerDTO struct {
models.Runner
State models.ResourceState `json:"state" validate:"required"`
} // @name RunnerDTO
type TargetDTO ¶
type TargetDTO struct {
models.Target
State models.ResourceState `json:"state" validate:"required"`
} // @name TargetDTO
type TargetRetrievalParams ¶
type TargetRetrievalParams struct {
ShowDeleted bool
}
type UpdateJobStateDTO ¶
type UpdateTargetProviderMetadataDTO ¶
type UpdateTargetProviderMetadataDTO struct {
Metadata string `json:"metadata" validate:"required"`
} // @name UpdateTargetProviderMetadataDTO
type WorkspaceDTO ¶
type WorkspaceDTO struct {
models.Workspace
State models.ResourceState `json:"state" validate:"required"`
} // @name WorkspaceDTO
Click to show internal directories.
Click to hide internal directories.