Documentation
¶
Index ¶
- Constants
- func InsertWorkspaceResource(ctx context.Context, db database.Store, jobID uuid.UUID, ...) error
- func MutateTags(userID uuid.UUID, tags map[string]string) map[string]string
- type Server
- func (server *Server) AcquireJob(ctx context.Context, _ *proto.Empty) (*proto.AcquiredJob, error)
- func (server *Server) CommitQuota(ctx context.Context, request *proto.CommitQuotaRequest) (*proto.CommitQuotaResponse, error)
- func (server *Server) CompleteJob(ctx context.Context, completed *proto.CompletedJob) (*proto.Empty, error)
- func (server *Server) FailJob(ctx context.Context, failJob *proto.FailedJob) (*proto.Empty, error)
- func (server *Server) UpdateJob(ctx context.Context, request *proto.UpdateJobRequest) (*proto.UpdateJobResponse, error)
- type TemplateVersionDryRunJob
- type TemplateVersionImportJob
- type WorkspaceProvisionJob
Constants ¶
View Source
const ( TagScope = "scope" TagOwner = "owner" ScopeUser = "user" ScopeOrganization = "organization" )
Variables ¶
This section is empty.
Functions ¶
func InsertWorkspaceResource ¶
func MutateTags ¶
MutateTags adjusts the "owner" tag dependent on the "scope". If the scope is "user", the "owner" is changed to the user ID. This is for user-scoped provisioner daemons, where users should own their own operations.
Types ¶
type Server ¶
type Server struct {
AccessURL *url.URL
ID uuid.UUID
Logger slog.Logger
Provisioners []database.ProvisionerType
GitAuthConfigs []*gitauth.Config
Tags json.RawMessage
Database database.Store
Pubsub pubsub.Pubsub
Telemetry telemetry.Reporter
Tracer trace.Tracer
QuotaCommitter *atomic.Pointer[proto.QuotaCommitter]
Auditor *atomic.Pointer[audit.Auditor]
TemplateScheduleStore *atomic.Pointer[schedule.TemplateScheduleStore]
UserQuietHoursScheduleStore *atomic.Pointer[schedule.UserQuietHoursScheduleStore]
DeploymentValues *codersdk.DeploymentValues
AcquireJobDebounce time.Duration
OIDCConfig httpmw.OAuth2Config
TimeNowFn func() time.Time
}
func (*Server) AcquireJob ¶
AcquireJob queries the database to lock a job.
func (*Server) CommitQuota ¶
func (server *Server) CommitQuota(ctx context.Context, request *proto.CommitQuotaRequest) (*proto.CommitQuotaResponse, error)
func (*Server) CompleteJob ¶
func (server *Server) CompleteJob(ctx context.Context, completed *proto.CompletedJob) (*proto.Empty, error)
CompleteJob is triggered by a provision daemon to mark a provisioner job as completed.
func (*Server) UpdateJob ¶
func (server *Server) UpdateJob(ctx context.Context, request *proto.UpdateJobRequest) (*proto.UpdateJobResponse, error)
type TemplateVersionDryRunJob ¶
type TemplateVersionDryRunJob struct {
TemplateVersionID uuid.UUID `json:"template_version_id"`
WorkspaceName string `json:"workspace_name"`
RichParameterValues []database.WorkspaceBuildParameter `json:"rich_parameter_values"`
}
TemplateVersionDryRunJob is the payload for the "template_version_dry_run" job type.
type TemplateVersionImportJob ¶
type TemplateVersionImportJob struct {
TemplateVersionID uuid.UUID `json:"template_version_id"`
UserVariableValues []codersdk.VariableValue `json:"user_variable_values"`
}
Click to show internal directories.
Click to hide internal directories.