Documentation
¶
Index ¶
- Constants
- type BrokerClient
- type BrokerEnvironmentVariable
- type CreateTaskParams
- type EnvironmentVariable
- type Runner
- func (c *Runner) Cancel(ctx core.ExecutionContext) error
- func (c *Runner) Cleanup(ctx core.SetupContext) error
- func (c *Runner) Color() string
- func (c *Runner) Configuration() []configuration.Field
- func (c *Runner) Description() string
- func (c *Runner) Documentation() string
- func (c *Runner) ExampleOutput() map[string]any
- func (c *Runner) Execute(ctx core.ExecutionContext) error
- func (c *Runner) HandleHook(ctx core.ActionHookContext) error
- func (c *Runner) HandleWebhook(ctx core.WebhookRequestContext) (int, *core.WebhookResponseBody, error)
- func (c *Runner) Hooks() []core.Hook
- func (c *Runner) Icon() string
- func (c *Runner) Label() string
- func (c *Runner) Name() string
- func (c *Runner) OutputChannels(configuration any) []core.OutputChannel
- func (c *Runner) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)
- func (c *Runner) Setup(ctx core.SetupContext) error
- type Spec
- type Task
- type TaskLogSink
Constants ¶
View Source
const ( EnvironmentValueSourceLiteral = "literal" EnvironmentValueSourceSecret = "secret" )
View Source
const ( ExecutionMetadataBrokerTaskID = "runner_broker_task_id" ExecutionMetadataTaskLog = "runner_task_log" )
View Source
const ( PassedOutputChannel = "passed" FailedOutputChannel = "failed" RunnerFinishedEventType = "runner.finished" )
View Source
const ( ExecutionModeHost = "host" ExecutionModeDocker = "docker" // DockerImagePresetCustom selects the free-text docker_image field instead of a quick-pick ref. DockerImagePresetCustom = "custom" )
Execution modes accepted by the task broker / fleet manager (lowercase JSON).
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BrokerClient ¶
type BrokerClient struct {
// contains filtered or unexported fields
}
func NewBrokerClient ¶
func NewBrokerClient(httpClient core.HTTPContext) (*BrokerClient, error)
func (*BrokerClient) CreateTask ¶
func (b *BrokerClient) CreateTask(p CreateTaskParams) (string, error)
func (*BrokerClient) FetchTaskStatus ¶
func (b *BrokerClient) FetchTaskStatus(taskID string) (*Task, error)
func (*BrokerClient) ProcessWebhook ¶
func (b *BrokerClient) ProcessWebhook(body []byte) (*Task, error)
type BrokerEnvironmentVariable ¶
BrokerEnvironmentVariable is forwarded to the task broker as JSON.
type CreateTaskParams ¶
type CreateTaskParams struct {
Commands []string
WebhookURL string
Environment []BrokerEnvironmentVariable
ExecutionMode string
DockerImage string
TimeoutSeconds int // 0 = omit (broker / fleet default)
}
CreateTaskParams is forwarded to the task broker POST /v1/tasks.
type EnvironmentVariable ¶
type EnvironmentVariable struct {
Name string `json:"name" mapstructure:"name"`
ValueSource string `json:"valueSource" mapstructure:"valueSource"`
Value *string `json:"value,omitempty" mapstructure:"value"`
Secret configuration.SecretKeyRef `json:"secret,omitempty" mapstructure:"secret"`
}
EnvironmentVariable is one row in the Runner "Environment variables" list.
type Runner ¶
type Runner struct{}
func (*Runner) Configuration ¶
func (c *Runner) Configuration() []configuration.Field
func (*Runner) Description ¶
func (*Runner) Documentation ¶
func (*Runner) ExampleOutput ¶
func (*Runner) HandleHook ¶
func (c *Runner) HandleHook(ctx core.ActionHookContext) error
func (*Runner) HandleWebhook ¶
func (c *Runner) HandleWebhook(ctx core.WebhookRequestContext) (int, *core.WebhookResponseBody, error)
func (*Runner) OutputChannels ¶
func (c *Runner) OutputChannels(configuration any) []core.OutputChannel
func (*Runner) ProcessQueueItem ¶
type Spec ¶
type Spec struct {
Commands string `mapstructure:"commands"`
Environment []EnvironmentVariable `mapstructure:"environment"`
ExecutionMode string `mapstructure:"execution_mode"`
DockerImagePreset string `mapstructure:"docker_image_preset"`
DockerImage string `mapstructure:"docker_image"`
ExecutionTimeoutSeconds int `mapstructure:"execution_timeout_seconds"` // 0 = omit (broker default)
}
Spec is persisted Runner node configuration.
type Task ¶
type Task struct {
TaskID string `json:"task_id"`
Status string `json:"status"`
ExitCode *int `json:"exit_code,omitempty"`
Output string `json:"output,omitempty"`
Error string `json:"error,omitempty"`
Result json.RawMessage `json:"result,omitempty"`
TaskLog *TaskLogSink `json:"task_log,omitempty"`
CloudWatchLogGroup string `json:"cloudwatch_log_group,omitempty"`
CloudWatchLogStream string `json:"cloudwatch_log_stream,omitempty"`
}
Task is the broker task payload (GET /v1/tasks/:id and webhook body).
func (*Task) IsInTerminalState ¶
type TaskLogSink ¶
type TaskLogSink struct {
Type string `json:"type"`
CloudWatch *struct {
LogGroupName string `json:"log_group_name"`
LogStreamName string `json:"log_stream_name"`
Region string `json:"region,omitempty"`
} `json:"cloudwatch,omitempty"`
}
TaskLogSink matches the task-broker / fleet-manager JSON shape for CloudWatch-backed live logs.
Click to show internal directories.
Click to hide internal directories.