api

package
v1.0.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// MaxTaskFiles is the maximum number of files accepted on create-task.
	MaxTaskFiles = 64
	// MaxTaskFileBytes is the maximum size of a single file's content.
	MaxTaskFileBytes = 1 << 20 // 1 MiB
	// MaxTaskFilesTotalBytes is the maximum combined content size.
	MaxTaskFilesTotalBytes = 4 << 20 // 4 MiB
	// DefaultTaskFileMode is used when TaskFile.Mode is empty.
	DefaultTaskFileMode = 0o644
)
View Source
const (
	DefaultExecutionTimeoutSeconds       = 3600
	DefaultLogChunkBytes           int64 = 64 * 1024
	DefaultLogFlushMinimumMS       int64 = 2500
	DefaultLogFlushMaximumMS       int64 = 5000
	LogUploadMaxChunkMultiplier    int64 = 2

	LogUploadActionContinue = "continue"
	LogUploadActionStop     = "stop"

	HeaderLogUploadAction     = "X-SuperPlane-Log-Action"
	HeaderLogTargetChunkBytes = "X-SuperPlane-Log-Target-Chunk-Bytes"
	HeaderLogFlushMinimumMS   = "X-SuperPlane-Log-Flush-Minimum-Ms"
	HeaderLogFlushMaximumMS   = "X-SuperPlane-Log-Flush-Maximum-Ms"
)

Variables

This section is empty.

Functions

func NormalizeCommandLines

func NormalizeCommandLines(commands []string) []string

func ParseTaskFileMode

func ParseTaskFileMode(raw string) (uint32, string)

ParseTaskFileMode parses an optional octal unix file mode. Empty input yields DefaultTaskFileMode.

func RunModeForTask

func RunModeForTask(task *TaskPayload) models.RunMode

func ValidateEnvironment

func ValidateEnvironment(environment []EnvironmentVariable) string

func ValidateFiles

func ValidateFiles(files []TaskFile) string

ValidateFiles returns a non-empty error message when task files are invalid.

Types

type EnvironmentVariable

type EnvironmentVariable = models.EnvironmentVariable

type LogUploadPolicy

type LogUploadPolicy struct {
	TargetChunkBytes      int64 `json:"target_chunk_bytes"`
	PartialFlushMinimumMS int64 `json:"partial_flush_interval_min_ms"`
	PartialFlushMaximumMS int64 `json:"partial_flush_interval_max_ms"`
}

func DefaultLogUploadPolicy

func DefaultLogUploadPolicy() LogUploadPolicy

func NormalizeLogUploadPolicy

func NormalizeLogUploadPolicy(policy *LogUploadPolicy) LogUploadPolicy

func (LogUploadPolicy) MaxUploadBytes

func (p LogUploadPolicy) MaxUploadBytes() int64

type TaskFile

type TaskFile = models.TaskFile

TaskFile is one file attached to a create-task / claim payload.

func CloneFiles

func CloneFiles(files []TaskFile) []TaskFile

CloneFiles returns a detached copy of task files.

func NormalizeFiles

func NormalizeFiles(files []TaskFile) []TaskFile

NormalizeFiles returns a copy with cleaned relative paths; drops empty path entries.

type TaskPayload

type TaskPayload struct {
	ID                      string                `json:"id"`
	RunMode                 string                `json:"run_mode,omitempty"`
	Script                  string                `json:"script,omitempty"`
	MessageChain            json.RawMessage       `json:"message_chain,omitempty"`
	Command                 []string              `json:"command,omitempty"`
	Commands                models.CommandList    `json:"commands,omitempty"`
	SetupCommands           []string              `json:"setup_commands,omitempty"`
	Environment             []EnvironmentVariable `json:"environment,omitempty"`
	Files                   []TaskFile            `json:"files,omitempty"`
	ExecutionMode           string                `json:"execution_mode"`
	DockerImage             string                `json:"docker_image,omitempty"`
	ExecutionTimeoutSeconds *int                  `json:"execution_timeout_seconds,omitempty"`
	WebhookPayloadSizeLimit int                   `json:"webhook_payload_size_limit,omitempty"`
	LogUploadPolicy         *LogUploadPolicy      `json:"log_upload_policy,omitempty"`
}

TaskPayload is the encrypted task specification delivered through the v1 runner WebSocket.

Jump to

Keyboard shortcuts

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