controlplanejob

package
v0.19.1049 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2026 License: AGPL-3.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const TaskQueue = "control-plane-builds"

Variables

This section is empty.

Functions

func AwaitExecuteControlPlaneJob

func AwaitExecuteControlPlaneJob(ctx workflow.Context, req *ExecuteRequest, opts ...*workflow.ChildWorkflowOptions) error

func AwaitFinalize

func AwaitFinalize(ctx workflow.Context, req *FinalizeRequest) error

func AwaitRunJob

func AwaitRunJob(ctx workflow.Context, req *RunJobRequest) error

func NewWorker

func NewWorker(c tclient.Client, cfg WorkerConfig, activities ...any) worker.Worker

NewWorker creates a worker that polls the control-plane build task queue on the given namespace client and registers the provided activities.

The ExecuteControlPlaneJob workflow runs as a child of its caller, so it inherits the caller's namespace and its RunJob activity is pinned to the control-plane build task queue in that same namespace (see workflow.go). Every namespace that starts control-plane build child workflows (components for component builds, apps for sandbox builds) must therefore run one of these workers, otherwise RunJob is scheduled on a task queue with no poller and the build hangs silently until its execution timeout.

Types

type Activities

type Activities struct {
	// contains filtered or unexported fields
}

func NewActivities

func NewActivities(params ActivityParams) *Activities

func (*Activities) CreateJobExecutionOutputs

func (a *Activities) CreateJobExecutionOutputs(ctx context.Context, jobID, executionID string, req *models.ServiceCreateRunnerJobExecutionOutputsRequest) (*models.AppRunnerJobExecutionOutputs, error)

func (*Activities) CreateJobExecutionResult

func (a *Activities) CreateJobExecutionResult(ctx context.Context, jobID, executionID string, req *models.ServiceCreateRunnerJobExecutionResultRequest) (*models.AppRunnerJobExecutionResult, error)

func (*Activities) EnsureExecution

func (*Activities) Finalize

func (a *Activities) Finalize(ctx context.Context, req *FinalizeRequest) error

func (*Activities) GetJobPlanJSON

func (a *Activities) GetJobPlanJSON(ctx context.Context, jobID string) (string, error)

func (*Activities) RunJob

func (a *Activities) RunJob(ctx context.Context, req *RunJobRequest) error

func (*Activities) UpdateJobExecution

func (a *Activities) UpdateJobExecution(ctx context.Context, jobID, executionID string, req *models.ServiceUpdateRunnerJobExecutionRequest) (*models.AppRunnerJobExecution, error)

func (*Activities) WriteControlPlaneLogs

func (a *Activities) WriteControlPlaneLogs(ctx context.Context, logStreamID string, records []runnercontrolplane.OTELLogRecord) error

func (*Activities) WriteControlPlaneTraces

func (a *Activities) WriteControlPlaneTraces(ctx context.Context, runnerID string, records []runnercontrolplane.OTELTraceRecord) error

type ActivityParams

type ActivityParams struct {
	fx.In

	DB   *gorm.DB `name:"psql"`
	CHDB *gorm.DB `name:"ch"`
	Cfg  *internal.Config
	L    *zap.Logger
}

type EnsureExecutionRequest

type EnsureExecutionRequest struct {
	JobID string `json:"job_id" validate:"required"`
}

type EnsureExecutionResponse

type EnsureExecutionResponse struct {
	ExecutionID         string        `json:"execution_id"`
	JobExecutionTimeout time.Duration `json:"job_execution_timeout"`
}

type ExecuteRequest

type ExecuteRequest struct {
	JobID string `json:"job_id" validate:"required"`
}

type FinalizeOutcome

type FinalizeOutcome struct {
	Success bool   `json:"success"`
	Error   string `json:"error,omitempty"`
}

type FinalizeRequest

type FinalizeRequest struct {
	JobID       string          `json:"job_id" validate:"required"`
	ExecutionID string          `json:"execution_id" validate:"required"`
	Outcome     FinalizeOutcome `json:"outcome"`
}

type RunJobRequest

type RunJobRequest struct {
	JobID       string `json:"job_id" validate:"required"`
	ExecutionID string `json:"execution_id" validate:"required"`
}

type WorkerConfig

type WorkerConfig struct {
	MaxConcurrentActivityExecutionSize int
	MaxConcurrentActivityTaskPollers   int
	Interceptors                       []interceptor.WorkerInterceptor
	WorkflowPanicPolicy                worker.WorkflowPanicPolicy
}

WorkerConfig configures a control-plane build worker.

type Workflows

type Workflows struct{}

func NewWorkflows

func NewWorkflows() *Workflows

func (*Workflows) ExecuteControlPlaneJob

func (w *Workflows) ExecuteControlPlaneJob(ctx workflow.Context, req *ExecuteRequest) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL