stackaction

package
v0.40.0 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package stackaction contains the generated Go projection of StackKits' canonical CUE StackAction contract.

Authority

foundation/stack_action.cue owns wire fields, vocabularies, paths, and validation constraints. This package is generated output and must not be edited as an independent contract.

Non-authority

Callers own authentication, admission, orchestration, persistence, concurrency, and action execution. Importing this package does not grant action authority.

Side effects

Helpers in this package perform no I/O. Action handlers live in internal/api.

Persistence

This package has no persistence. Callers must durably record admitted operations before performing side effects.

Concurrency

Values contain mutable maps and slices and provide no locking. Callers must copy or synchronize values shared between goroutines.

Secrets

Public values contain only opaque, versioned, scope- and expiry-bound references. Raw SSH, enrollment, onboarding, and backup credentials are forbidden from this package and from action evidence.

Index

Constants

View Source
const (
	// GeneratorVersion identifies the deterministic contract generator.
	GeneratorVersion = "stackactiongen/v1"
	// SourceSHA256 binds this projection to the canonical CUE source bytes.
	SourceSHA256 = "35f462c7c3df7af5ecec66e91afe434fa31979a4c49a571d24e323b1f9a2795d"
	// WireVersion identifies the generated StackAction wire contract.
	WireVersion = "stackkit.stack-action/v1"
	// TargetStackKits identifies StackKits as the action target.
	TargetStackKits = "stackkits"
	// PathPrefix is the canonical internal StackAction transport prefix.
	PathPrefix = "/api/v1/internal/stack-actions"
	// ObservationVersion identifies the generated observation envelope.
	ObservationVersion = "stackkit.runtime-observation/v2"
	// ObservationVersionV1 is retained as a source-compatible alias.
	ObservationVersionV1 = ObservationVersion
	// PathStackKitRollout is the canonical path for the "stackkit_rollout" action.
	PathStackKitRollout = PathPrefix + "/stackkit-rollout"
	// PathStackKitVerify is the canonical path for the "verify_rollout" action.
	PathStackKitVerify = PathPrefix + "/stackkit-verify"
	// PathRestoreDrill is the canonical path for the "restore_drill" action.
	PathRestoreDrill = PathPrefix + "/restore-drill"
	// PathBackupRun is the canonical path for the "backup_run" action.
	PathBackupRun = PathPrefix + "/backup-run"
	// PathBackupStatus is the canonical path for the "backup_status" action.
	PathBackupStatus = PathPrefix + "/backup-status"
	// PathBackupRestore is the canonical path for the "backup_restore" action.
	PathBackupRestore = PathPrefix + "/backup-restore"
	// PathBackupWipe is the canonical path for the "backup_wipe" action.
	PathBackupWipe = PathPrefix + "/backup-wipe"
	// PathServiceStart is the canonical path for the "service_start" action.
	PathServiceStart = PathPrefix + "/service-start"
	// PathServiceStop is the canonical path for the "service_stop" action.
	PathServiceStop = PathPrefix + "/service-stop"
	// PathServiceRestart is the canonical path for the "service_restart" action.
	PathServiceRestart = PathPrefix + "/service-restart"
	// PathServiceLogs is the canonical path for the "service_logs" action.
	PathServiceLogs = PathPrefix + "/service-logs"
)

Variables

This section is empty.

Functions

func IsBackupAction

func IsBackupAction(action Action) bool

IsBackupAction reports whether the node-side backup engine owns the action.

func IsStackKitsAction

func IsStackKitsAction(action Action) bool

IsStackKitsAction reports whether StackKits owns the action.

Types

type Action

type Action string

Action is a closed StackAction wire vocabulary.

const (
	// ActionStackKitRollout represents the "stackkit_rollout" wire value.
	ActionStackKitRollout Action = "stackkit_rollout"
	// ActionVerifyRollout represents the "verify_rollout" wire value.
	ActionVerifyRollout Action = "verify_rollout"
	// ActionRestoreDrill represents the "restore_drill" wire value.
	ActionRestoreDrill Action = "restore_drill"
	// ActionBackupRun represents the "backup_run" wire value.
	ActionBackupRun Action = "backup_run"
	// ActionBackupStatus represents the "backup_status" wire value.
	ActionBackupStatus Action = "backup_status"
	// ActionBackupRestore represents the "backup_restore" wire value.
	ActionBackupRestore Action = "backup_restore"
	// ActionBackupWipe represents the "backup_wipe" wire value.
	ActionBackupWipe Action = "backup_wipe"
	// ActionServiceStart represents the "service_start" wire value.
	ActionServiceStart Action = "service_start"
	// ActionServiceStop represents the "service_stop" wire value.
	ActionServiceStop Action = "service_stop"
	// ActionServiceRestart represents the "service_restart" wire value.
	ActionServiceRestart Action = "service_restart"
	// ActionServiceLogs represents the "service_logs" wire value.
	ActionServiceLogs Action = "service_logs"
)

func NormalizeAction

func NormalizeAction(action string) Action

NormalizeAction canonicalizes a StackAction name.

type BackupRepoTarget

type BackupRepoTarget struct {
	// Type maps the "type" wire field.
	Type string `json:"type,omitempty"`
	// Endpoint maps the "endpoint" wire field.
	Endpoint string `json:"endpoint,omitempty"`
	// Bucket maps the "bucket" wire field.
	Bucket string `json:"bucket,omitempty"`
	// Region maps the "region" wire field.
	Region string `json:"region,omitempty"`
	// Prefix maps the "prefix" wire field.
	Prefix string `json:"prefix,omitempty"`
	// CredentialRef maps the "credential_ref" wire field.
	CredentialRef *ScopedReference `json:"credential_ref,omitempty"`
}

BackupRepoTarget is backup repository target with an opaque credential reference.

type BackupRequest

type BackupRequest struct {
	// Classes maps the "classes" wire field.
	Classes []string `json:"classes,omitempty"`
	// SnapshotID maps the "snapshot_id" wire field.
	SnapshotID string `json:"snapshot_id,omitempty"`
	// Repo maps the "repo" wire field.
	Repo *BackupRepoTarget `json:"repo,omitempty"`
	// Confirm maps the "confirm" wire field.
	Confirm string `json:"confirm,omitempty"`
}

BackupRequest is backup action parameters containing no credential material.

type BackupResult

type BackupResult struct {
	// Engine maps the "engine" wire field.
	Engine string `json:"engine,omitempty"`
	// Phase maps the "phase" wire field.
	Phase string `json:"phase,omitempty"`
	// Classes maps the "classes" wire field.
	Classes []string `json:"classes,omitempty"`
	// Snapshots maps the "snapshots" wire field.
	Snapshots []BackupSnapshot `json:"snapshots,omitempty"`
	// RepoSizeBytes maps the "repo_size_bytes" wire field.
	RepoSizeBytes int64 `json:"repo_size_bytes,omitempty"`
	// Wiped maps the "wiped" wire field.
	Wiped bool `json:"wiped,omitempty"`
}

BackupResult is backup engine state and snapshots.

type BackupSnapshot

type BackupSnapshot struct {
	// ID maps the "id" wire field.
	ID string `json:"id,omitempty"`
	// Source maps the "source" wire field.
	Source string `json:"source,omitempty"`
	// Classes maps the "classes" wire field.
	Classes []string `json:"classes,omitempty"`
	// StartedAt maps the "started_at" wire field.
	StartedAt string `json:"started_at,omitempty"`
	// FinishedAt maps the "finished_at" wire field.
	FinishedAt string `json:"finished_at,omitempty"`
	// TotalBytes maps the "total_bytes" wire field.
	TotalBytes int64 `json:"total_bytes,omitempty"`
}

BackupSnapshot is one observed backup snapshot.

type Check

type Check struct {
	// Name maps the "name" wire field.
	Name string `json:"name"`
	// Status maps the "status" wire field.
	Status CheckStatus `json:"status"`
	// Detail maps the "detail" wire field.
	Detail string `json:"detail,omitempty"`
}

Check is one named action check.

type CheckStatus

type CheckStatus string

CheckStatus is a closed StackAction wire vocabulary.

const (
	// CheckStatusOK represents the "ok" wire value.
	CheckStatusOK CheckStatus = "ok"
	// CheckStatusWarning represents the "warning" wire value.
	CheckStatusWarning CheckStatus = "warning"
	// CheckStatusMissing represents the "missing" wire value.
	CheckStatusMissing CheckStatus = "missing"
	// CheckStatusReference represents the "reference" wire value.
	CheckStatusReference CheckStatus = "reference"
	// CheckStatusSkipped represents the "skipped" wire value.
	CheckStatusSkipped CheckStatus = "skipped"
	// CheckStatusFailed represents the "failed" wire value.
	CheckStatusFailed CheckStatus = "failed"
)

type ContainerHealth

type ContainerHealth string

ContainerHealth is a closed StackAction wire vocabulary.

const (
	// ContainerHealthHealthy represents the "healthy" wire value.
	ContainerHealthHealthy ContainerHealth = "healthy"
	// ContainerHealthUnhealthy represents the "unhealthy" wire value.
	ContainerHealthUnhealthy ContainerHealth = "unhealthy"
	// ContainerHealthStarting represents the "starting" wire value.
	ContainerHealthStarting ContainerHealth = "starting"
	// ContainerHealthNone represents the "none" wire value.
	ContainerHealthNone ContainerHealth = "none"
	// ContainerHealthUnknown represents the "unknown" wire value.
	ContainerHealthUnknown ContainerHealth = "unknown"
)

type ContainerObservation

type ContainerObservation struct {
	// ID maps the "id" wire field.
	ID string `json:"id,omitempty"`
	// Name maps the "name" wire field.
	Name string `json:"name,omitempty"`
	// State maps the "state" wire field.
	State string `json:"state,omitempty"`
	// Running maps the "running" wire field.
	Running bool `json:"running"`
	// Health maps the "health" wire field.
	Health string `json:"health,omitempty"`
}

ContainerObservation is measured Docker container state.

type DeploymentRef

type DeploymentRef struct {
	// Platform maps the "platform" wire field.
	Platform string `json:"platform"`
	// AppName maps the "appName" wire field.
	AppName string `json:"appName"`
	// ExternalID maps the "externalId" wire field.
	ExternalID string `json:"externalId"`
	// DeploymentID maps the "deploymentId" wire field.
	DeploymentID string `json:"deploymentId,omitempty"`
	// ObservedStatus maps the "observedStatus" wire field.
	ObservedStatus string `json:"observedStatus,omitempty"`
	// ObservedAt maps the "observedAt" wire field.
	ObservedAt time.Time `json:"observedAt,omitempty"`
	// LastDeployed maps the "lastDeployed" wire field.
	LastDeployed time.Time `json:"lastDeployed,omitempty"`
}

DeploymentRef is selected-PaaS deployment reference.

type HTTPProbeObservation

type HTTPProbeObservation struct {
	// URL maps the "url" wire field.
	URL string `json:"url"`
	// Reached maps the "reached" wire field.
	Reached bool `json:"reached"`
	// StatusCode maps the "status_code" wire field.
	StatusCode int `json:"status_code,omitempty"`
	// FailureClass maps the "failure_class" wire field.
	FailureClass string `json:"failure_class,omitempty"`
}

HTTPProbeObservation is measured HTTP health probe.

type HostObservation

type HostObservation struct {
	// Host maps the "host" wire field.
	Host string `json:"host,omitempty"`
	// Reachable maps the "reachable" wire field.
	Reachable bool `json:"reachable"`
	// DockerReachable maps the "docker_reachable" wire field.
	DockerReachable bool `json:"docker_reachable"`
	// FailureClass maps the "failure_class" wire field.
	FailureClass string `json:"failure_class,omitempty"`
}

HostObservation is measured host and Docker reachability.

type IdentityOutputs

type IdentityOutputs struct {
	// Owner maps the "owner" wire field.
	Owner *OwnerIdentity `json:"owner,omitempty"`
	// Recovery maps the "recovery" wire field.
	Recovery *RecoveryOutput `json:"recovery,omitempty"`
}

IdentityOutputs is owner and recovery output projection.

type LiveObservation

type LiveObservation struct {
	// Version maps the "version" wire field.
	Version string `json:"version"`
	// ObservedAt maps the "observed_at" wire field.
	ObservedAt time.Time `json:"observed_at"`
	// Host maps the "host" wire field.
	Host HostObservation `json:"host"`
	// Platform maps the "platform" wire field.
	Platform *PlatformObservation `json:"platform,omitempty"`
	// Services maps the "services" wire field.
	Services []ServiceObservation `json:"services,omitempty"`
	// FailureClass maps the "failure_class" wire field.
	FailureClass string `json:"failure_class,omitempty"`
}

LiveObservation is versioned persistable live-runtime evidence.

type LoginGatewayOutput

type LoginGatewayOutput struct {
	// URL maps the "url" wire field.
	URL string `json:"url,omitempty"`
	// Label maps the "label" wire field.
	Label string `json:"label,omitempty"`
	// AdminURL maps the "admin_url" wire field.
	AdminURL string `json:"admin_url,omitempty"`
}

LoginGatewayOutput is login gateway endpoints.

type Mode

type Mode string

Mode is a closed StackAction wire vocabulary.

const (
	// ModeDryRun represents the "dry-run" wire value.
	ModeDryRun Mode = "dry-run"
	// ModeApply represents the "apply" wire value.
	ModeApply Mode = "apply"
)

type NodeBootstrap

type NodeBootstrap struct {
	// KomodoCoreAddress maps the "komodo_core_address" wire field.
	KomodoCoreAddress string `json:"komodo_core_address"`
	// OnboardingRef maps the "onboarding_ref" wire field.
	OnboardingRef *ScopedReference `json:"onboarding_ref"`
	// SSH maps the "ssh" wire field.
	SSH *SSHBootstrap `json:"ssh"`
}

NodeBootstrap is platform-specific supplemental-node bootstrap.

type NodePlatformTarget

type NodePlatformTarget struct {
	// ServerID maps the "server_id" wire field.
	ServerID string `json:"server_id,omitempty"`
	// DestinationUUID maps the "destination_uuid" wire field.
	DestinationUUID string `json:"destination_uuid,omitempty"`
	// EnvironmentID maps the "environment_id" wire field.
	EnvironmentID string `json:"environment_id,omitempty"`
	// ProjectUUID maps the "project_uuid" wire field.
	ProjectUUID string `json:"project_uuid,omitempty"`
	// EnvironmentUUID maps the "environment_uuid" wire field.
	EnvironmentUUID string `json:"environment_uuid,omitempty"`
}

NodePlatformTarget is observed platform placement identity; values are never synthesized.

type OverallOutcome

type OverallOutcome string

OverallOutcome is a closed StackAction wire vocabulary.

const (
	// OverallOutcomeApplied represents the "applied" wire value.
	OverallOutcomeApplied OverallOutcome = "applied"
	// OverallOutcomeCompletedDegraded represents the "completed_degraded" wire value.
	OverallOutcomeCompletedDegraded OverallOutcome = "completed_degraded"
	// OverallOutcomeFailed represents the "failed" wire value.
	OverallOutcomeFailed OverallOutcome = "failed"
	// OverallOutcomeBlocked represents the "blocked" wire value.
	OverallOutcomeBlocked OverallOutcome = "blocked"
)

type OwnerIdentity

type OwnerIdentity struct {
	// Username maps the "username" wire field.
	Username string `json:"username,omitempty"`
	// Email maps the "email" wire field.
	Email string `json:"email,omitempty"`
	// DisplayName maps the "display_name" wire field.
	DisplayName string `json:"display_name,omitempty"`
	// Subject maps the "subject" wire field.
	Subject string `json:"subject,omitempty"`
	// Provider maps the "provider" wire field.
	Provider string `json:"provider,omitempty"`
}

OwnerIdentity is configured owner identity.

type PlatformAppState

type PlatformAppState struct {
	// Name maps the "name" wire field.
	Name string `json:"name"`
	// Role maps the "role" wire field.
	Role string `json:"role,omitempty"`
	// Platform maps the "platform" wire field.
	Platform string `json:"platform"`
	// Management maps the "management" wire field.
	Management string `json:"management,omitempty"`
	// ExternalID maps the "externalId" wire field.
	ExternalID string `json:"externalId,omitempty"`
	// DeploymentID maps the "deploymentId" wire field.
	DeploymentID string `json:"deploymentId,omitempty"`
	// ObservedStatus maps the "observedStatus" wire field.
	ObservedStatus string `json:"observedStatus,omitempty"`
	// ObservedAt maps the "observedAt" wire field.
	ObservedAt time.Time `json:"observedAt,omitempty"`
	// ComposePath maps the "composePath" wire field.
	ComposePath string `json:"composePath,omitempty"`
	// SetupPolicy maps the "setupPolicy" wire field.
	SetupPolicy string `json:"setupPolicy,omitempty"`
	// SetupDrops maps the "setupDrops" wire field.
	SetupDrops []SetupDrop `json:"setupDrops,omitempty"`
	// LastDeployed maps the "lastDeployed" wire field.
	LastDeployed time.Time `json:"lastDeployed,omitempty"`
	// FailureStage maps the "failureStage" wire field.
	FailureStage string `json:"failureStage,omitempty"`
	// FailureMessage maps the "failureMessage" wire field.
	FailureMessage string `json:"failureMessage,omitempty"`
	// Retryable maps the "retryable" wire field.
	Retryable bool `json:"retryable,omitempty"`
}

PlatformAppState is artifact-ready selected-PaaS application state.

type PlatformManagement

type PlatformManagement string

PlatformManagement is a closed StackAction wire vocabulary.

const (
	// PlatformManagementManaged represents the "managed" wire value.
	PlatformManagementManaged PlatformManagement = "managed"
	// PlatformManagementHandoff represents the "handoff" wire value.
	PlatformManagementHandoff PlatformManagement = "handoff"
	// PlatformManagementUnmanaged represents the "unmanaged" wire value.
	PlatformManagementUnmanaged PlatformManagement = "unmanaged"
	// PlatformManagementFallback represents the "fallback" wire value.
	PlatformManagementFallback PlatformManagement = "fallback"
)

type PlatformNode

type PlatformNode struct {
	// Name maps the "name" wire field.
	Name string `json:"name"`
	// Role maps the "role" wire field.
	Role string `json:"role,omitempty"`
	// IP maps the "ip" wire field.
	IP string `json:"ip,omitempty"`
	// Host maps the "host" wire field.
	Host string `json:"host,omitempty"`
	// Services maps the "services" wire field.
	Services []string `json:"services,omitempty"`
	// Platform maps the "platform" wire field.
	Platform NodePlatformTarget `json:"platform,omitempty"`
	// Bootstrap maps the "bootstrap" wire field.
	Bootstrap *NodeBootstrap `json:"bootstrap,omitempty"`
}

PlatformNode is supplemental worker or storage node.

type PlatformObservation

type PlatformObservation struct {
	// Name maps the "name" wire field.
	Name string `json:"name,omitempty"`
	// Endpoint maps the "endpoint" wire field.
	Endpoint string `json:"endpoint,omitempty"`
	// ServerID maps the "server_id" wire field.
	ServerID string `json:"server_id,omitempty"`
	// ProjectUUID maps the "project_uuid" wire field.
	ProjectUUID string `json:"project_uuid,omitempty"`
	// EnvironmentUUID maps the "environment_uuid" wire field.
	EnvironmentUUID string `json:"environment_uuid,omitempty"`
	// DestinationUUID maps the "destination_uuid" wire field.
	DestinationUUID string `json:"destination_uuid,omitempty"`
}

PlatformObservation is observed selected-PaaS identity.

type RecoveryOutput

type RecoveryOutput struct {
	// BundleRef maps the "bundle_ref" wire field.
	BundleRef string `json:"bundle_ref,omitempty"`
	// SecretRef maps the "secret_ref" wire field.
	SecretRef string `json:"secret_ref,omitempty"`
	// MachineSecretRef maps the "machine_secret_ref" wire field.
	MachineSecretRef string `json:"machine_secret_ref,omitempty"`
	// PassphraseHashPresent maps the "passphrase_hash_present" wire field.
	PassphraseHashPresent bool `json:"passphrase_hash_present,omitempty"`
}

RecoveryOutput is opaque recovery references; no secret material.

type Request

type Request struct {
	// Action maps the "action" wire field.
	Action Action `json:"action"`
	// StackID maps the "stack_id" wire field.
	StackID string `json:"stack_id"`
	// StackName maps the "stack_name" wire field.
	StackName string `json:"stack_name,omitempty"`
	// StackKit maps the "stackkit" wire field.
	StackKit string `json:"stackkit,omitempty"`
	// Mode maps the "mode" wire field.
	Mode string `json:"mode,omitempty"`
	// TenantID maps the "tenant_id" wire field.
	TenantID string `json:"tenant_id,omitempty"`
	// OwnerID maps the "owner_id" wire field.
	OwnerID string `json:"owner_id,omitempty"`
	// TofuDir maps the "tofu_dir" wire field.
	TofuDir string `json:"tofu_dir,omitempty"`
	// UnifiedPath maps the "unified_path" wire field.
	UnifiedPath string `json:"unified_path,omitempty"`
	// OwnerSpecRef maps the "owner_spec_ref" wire field.
	OwnerSpecRef *ScopedReference `json:"owner_spec_ref,omitempty"`
	// RuntimeTarget maps the "runtime_target" wire field.
	RuntimeTarget *RuntimeTarget `json:"runtime_target,omitempty"`
	// PlatformNodes maps the "platform_nodes" wire field.
	PlatformNodes []PlatformNode `json:"platform_nodes,omitempty"`
	// TechStackEnrollment maps the "techstack_enrollment" wire field.
	TechStackEnrollment *TechStackEnrollment `json:"techstack_enrollment,omitempty"`
	// Backup maps the "backup" wire field.
	Backup *BackupRequest `json:"backup,omitempty"`
	// Service maps the "service" wire field.
	Service *ServiceActionRequest `json:"service,omitempty"`
}

Request is stackKits-owned action request.

type Response

type Response struct {
	// Status maps the "status" wire field.
	Status Status `json:"status"`
	// Action maps the "action" wire field.
	Action Action `json:"action"`
	// StackID maps the "stack_id" wire field.
	StackID string `json:"stack_id"`
	// StackName maps the "stack_name" wire field.
	StackName string `json:"stack_name,omitempty"`
	// StackKit maps the "stackkit" wire field.
	StackKit string `json:"stackkit,omitempty"`
	// TofuDir maps the "tofu_dir" wire field.
	TofuDir string `json:"tofu_dir,omitempty"`
	// UnifiedPath maps the "unified_path" wire field.
	UnifiedPath string `json:"unified_path,omitempty"`
	// Mode maps the "mode" wire field.
	Mode Mode `json:"mode"`
	// Checks maps the "checks" wire field.
	Checks []Check `json:"checks,omitempty"`
	// StackKitOutputs maps the "stackkit_outputs" wire field.
	StackKitOutputs *StackKitOutputs `json:"stackkit_outputs,omitempty"`
	// Observation maps the "observation" wire field.
	Observation *LiveObservation `json:"observation,omitempty"`
	// RuntimeMetrics maps the "runtime_metrics" wire field.
	RuntimeMetrics *RuntimeMetrics `json:"runtime_metrics,omitempty"`
	// PlatformRefs maps the "platform_refs" wire field.
	PlatformRefs []DeploymentRef `json:"platform_refs,omitempty"`
	// PlatformSystemApps maps the "platform_system_apps" wire field.
	PlatformSystemApps []PlatformAppState `json:"platform_system_apps,omitempty"`
	// PlatformApps maps the "platform_apps" wire field.
	PlatformApps []PlatformAppState `json:"platform_apps,omitempty"`
	// Backup maps the "backup" wire field.
	Backup *BackupResult `json:"backup,omitempty"`
	// Service maps the "service" wire field.
	Service *ServiceActionResult `json:"service,omitempty"`
	// Units maps the "units" wire field.
	Units []UnitOutcome `json:"units,omitempty"`
	// OverallOutcome maps the "overall_outcome" wire field.
	OverallOutcome OverallOutcome `json:"overall_outcome,omitempty"`
}

Response is stackKits-owned action response and evidence.

type RuntimeMetrics

type RuntimeMetrics struct {
	// CPUPercent maps the "cpu_percent" wire field.
	CPUPercent float64 `json:"cpu_percent"`
	// MemoryPercent maps the "memory_percent" wire field.
	MemoryPercent float64 `json:"memory_percent"`
	// DiskPercent maps the "disk_percent" wire field.
	DiskPercent float64 `json:"disk_percent"`
	// UptimeSeconds maps the "uptime_seconds" wire field.
	UptimeSeconds float64 `json:"uptime_seconds"`
	// UpdatedAt maps the "updated_at" wire field.
	UpdatedAt string `json:"updated_at,omitempty"`
}

RuntimeMetrics is measured host utilization.

type RuntimeTarget

type RuntimeTarget struct {
	// Host maps the "host" wire field.
	Host string `json:"host,omitempty"`
	// PublicIP maps the "public_ip" wire field.
	PublicIP string `json:"public_ip,omitempty"`
	// PrivateIP maps the "private_ip" wire field.
	PrivateIP string `json:"private_ip,omitempty"`
	// User maps the "user" wire field.
	User string `json:"user,omitempty"`
	// Port maps the "port" wire field.
	Port int `json:"port,omitempty"`
	// DockerHost maps the "docker_host" wire field.
	DockerHost string `json:"docker_host,omitempty"`
	// AccessProfileRef maps the "access_profile_ref" wire field.
	AccessProfileRef *ScopedReference `json:"access_profile_ref"`
}

RuntimeTarget is primary runtime host with an opaque access-profile reference.

type SSHBootstrap

type SSHBootstrap struct {
	// Host maps the "host" wire field.
	Host string `json:"host"`
	// User maps the "user" wire field.
	User string `json:"user,omitempty"`
	// Port maps the "port" wire field.
	Port int `json:"port,omitempty"`
	// AccessProfileRef maps the "access_profile_ref" wire field.
	AccessProfileRef *ScopedReference `json:"access_profile_ref"`
	// ProxyJump maps the "proxy_jump" wire field.
	ProxyJump string `json:"proxy_jump,omitempty"`
}

SSHBootstrap is supplemental-node SSH endpoint with an opaque access-profile reference.

type ScopedReference

type ScopedReference struct {
	// Ref maps the "ref" wire field.
	Ref string `json:"ref"`
	// Version maps the "version" wire field.
	Version string `json:"version"`
	// Scopes maps the "scopes" wire field.
	Scopes []string `json:"scopes"`
	// ExpiresAt maps the "expires_at" wire field.
	ExpiresAt time.Time `json:"expires_at"`
}

ScopedReference is opaque versioned reference whose scope and expiry are revalidated by internal custody.

type ServiceActionRequest

type ServiceActionRequest struct {
	// ServiceKey maps the "service_key" wire field.
	ServiceKey string `json:"service_key"`
	// ExpectedInventoryRevision maps the "expected_inventory_revision" wire field.
	ExpectedInventoryRevision int64 `json:"expected_inventory_revision,omitempty"`
	// OwnerApproved maps the "owner_approved" wire field.
	OwnerApproved bool `json:"owner_approved,omitempty"`
	// Tail maps the "tail" wire field.
	Tail int `json:"tail,omitempty"`
	// Cursor maps the "cursor" wire field.
	Cursor string `json:"cursor,omitempty"`
}

ServiceActionRequest is bounded service action parameters without caller-supplied runtime authority.

type ServiceActionResult

type ServiceActionResult struct {
	// ServiceKey maps the "service_key" wire field.
	ServiceKey string `json:"service_key"`
	// DesiredState maps the "desired_state" wire field.
	DesiredState string `json:"desired_state,omitempty"`
	// ObservedState maps the "observed_state" wire field.
	ObservedState string `json:"observed_state,omitempty"`
	// Revision maps the "revision" wire field.
	Revision int64 `json:"revision,omitempty"`
	// Checks maps the "checks" wire field.
	Checks []Check `json:"checks,omitempty"`
	// ReasonCode maps the "reason_code" wire field.
	ReasonCode string `json:"reason_code,omitempty"`
	// Retryable maps the "retryable" wire field.
	Retryable bool `json:"retryable,omitempty"`
	// EvidenceRef maps the "evidence_ref" wire field.
	EvidenceRef string `json:"evidence_ref,omitempty"`
	// LogEntries maps the "log_entries" wire field.
	LogEntries []ServiceLogEntry `json:"log_entries,omitempty"`
	// NextCursor maps the "next_cursor" wire field.
	NextCursor string `json:"next_cursor,omitempty"`
	// Truncated maps the "truncated" wire field.
	Truncated bool `json:"truncated,omitempty"`
}

ServiceActionResult is desired and observed service state plus protected evidence.

type ServiceHealthStatus

type ServiceHealthStatus string

ServiceHealthStatus is a closed StackAction wire vocabulary.

const (
	// ServiceHealthStarting represents the "starting" wire value.
	ServiceHealthStarting ServiceHealthStatus = "starting"
	// ServiceHealthHealthy represents the "healthy" wire value.
	ServiceHealthHealthy ServiceHealthStatus = "healthy"
	// ServiceHealthUnhealthy represents the "unhealthy" wire value.
	ServiceHealthUnhealthy ServiceHealthStatus = "unhealthy"
	// ServiceHealthUnknown represents the "unknown" wire value.
	ServiceHealthUnknown ServiceHealthStatus = "unknown"
)

type ServiceLogEntry

type ServiceLogEntry struct {
	// Timestamp maps the "timestamp" wire field.
	Timestamp time.Time `json:"timestamp"`
	// Message maps the "message" wire field.
	Message string `json:"message"`
}

ServiceLogEntry is one redacted bounded service log entry.

type ServiceObservation

type ServiceObservation struct {
	// Name maps the "name" wire field.
	Name string `json:"name"`
	// Status maps the "status" wire field.
	Status ServiceHealthStatus `json:"status"`
	// PlatformAppID maps the "platform_app_id" wire field.
	PlatformAppID string `json:"platform_app_id,omitempty"`
	// PlatformStatus maps the "platform_status" wire field.
	PlatformStatus string `json:"platform_status,omitempty"`
	// Containers maps the "containers" wire field.
	Containers []ContainerObservation `json:"containers,omitempty"`
	// HealthPath maps the "health_path" wire field.
	HealthPath string `json:"health_path,omitempty"`
	// Probe maps the "probe" wire field.
	Probe *HTTPProbeObservation `json:"probe,omitempty"`
	// FailureClass maps the "failure_class" wire field.
	FailureClass string `json:"failure_class,omitempty"`
}

ServiceObservation is measured service health and evidence.

type ServiceOutput

type ServiceOutput struct {
	// Name maps the "name" wire field.
	Name string `json:"name,omitempty"`
	// URL maps the "url" wire field.
	URL string `json:"url,omitempty"`
	// AdminURL maps the "admin_url" wire field.
	AdminURL string `json:"admin_url,omitempty"`
	// Metadata maps the "metadata" wire field.
	Metadata map[string]string `json:"metadata,omitempty"`
}

ServiceOutput is one exposed StackKit service.

type SetupDrop

type SetupDrop struct {
	// Name maps the "name" wire field.
	Name string `json:"name"`
	// Version maps the "version" wire field.
	Version string `json:"version,omitempty"`
	// Runner maps the "runner" wire field.
	Runner string `json:"runner,omitempty"`
	// Description maps the "description" wire field.
	Description string `json:"description,omitempty"`
	// RollbackNotes maps the "rollbackNotes" wire field.
	RollbackNotes []string `json:"rollbackNotes,omitempty"`
}

SetupDrop is secret-free first-run setup evidence.

type SetupPolicy

type SetupPolicy string

SetupPolicy is a closed StackAction wire vocabulary.

const (
	// SetupPolicyManual represents the "manual" wire value.
	SetupPolicyManual SetupPolicy = "manual"
	// SetupPolicyOnDemand represents the "on_demand" wire value.
	SetupPolicyOnDemand SetupPolicy = "on_demand"
	// SetupPolicyAutomatic represents the "automatic" wire value.
	SetupPolicyAutomatic SetupPolicy = "automatic"
)

type StackKitOutputs

type StackKitOutputs struct {
	// Identity maps the "identity" wire field.
	Identity *IdentityOutputs `json:"identity,omitempty"`
	// LoginGateway maps the "login_gateway" wire field.
	LoginGateway *LoginGatewayOutput `json:"login_gateway,omitempty"`
	// Recovery maps the "recovery" wire field.
	Recovery *RecoveryOutput `json:"recovery,omitempty"`
	// Services maps the "services" wire field.
	Services []ServiceOutput `json:"services,omitempty"`
	// Metadata maps the "metadata" wire field.
	Metadata map[string]string `json:"metadata,omitempty"`
}

StackKitOutputs is structured StackKit rollout outputs.

type Status

type Status string

Status is a closed StackAction wire vocabulary.

const (
	// StatusAccepted represents the "accepted" wire value.
	StatusAccepted Status = "accepted"
	// StatusReady represents the "ready" wire value.
	StatusReady Status = "ready"
	// StatusApplied represents the "applied" wire value.
	StatusApplied Status = "applied"
	// StatusVerified represents the "verified" wire value.
	StatusVerified Status = "verified"
	// StatusCompletedDegraded represents the "completed_degraded" wire value.
	StatusCompletedDegraded Status = "completed_degraded"
	// StatusSkipped represents the "skipped" wire value.
	StatusSkipped Status = "skipped"
	// StatusFailed represents the "failed" wire value.
	StatusFailed Status = "failed"
)

type SupplementalNodeRole

type SupplementalNodeRole string

SupplementalNodeRole is a closed StackAction wire vocabulary.

const (
	// SupplementalNodeRoleWorker represents the "worker" wire value.
	SupplementalNodeRoleWorker SupplementalNodeRole = "worker"
	// SupplementalNodeRoleStorage represents the "storage" wire value.
	SupplementalNodeRoleStorage SupplementalNodeRole = "storage"
)

type TechStackEnrollment

type TechStackEnrollment struct {
	// TenantID maps the "tenant_id" wire field.
	TenantID string `json:"tenant_id,omitempty"`
	// OwnerID maps the "owner_id" wire field.
	OwnerID string `json:"owner_id,omitempty"`
	// StackID maps the "stack_id" wire field.
	StackID string `json:"stack_id,omitempty"`
	// LeaseID maps the "lease_id" wire field.
	LeaseID string `json:"lease_id"`
	// ServerURL maps the "server_url" wire field.
	ServerURL string `json:"server_url"`
	// ServerID maps the "server_id" wire field.
	ServerID string `json:"server_id"`
	// RuntimeAgentID maps the "runtime_agent_id" wire field.
	RuntimeAgentID string `json:"runtime_agent_id"`
	// EnrollmentAccessRef maps the "enrollment_access_ref" wire field.
	EnrollmentAccessRef *ScopedReference `json:"enrollment_access_ref"`
	// HeartbeatURL maps the "heartbeat_url" wire field.
	HeartbeatURL string `json:"heartbeat_url,omitempty"`
	// InventoryURL maps the "inventory_url" wire field.
	InventoryURL string `json:"inventory_url,omitempty"`
	// ControlURLs maps the "control_urls" wire field.
	ControlURLs []string `json:"control_urls,omitempty"`
}

TechStackEnrollment is generation-bound managed runtime enrollment and callback channels.

type UnitCriticality

type UnitCriticality string

UnitCriticality is a closed StackAction wire vocabulary.

const (
	// UnitCriticalityCore represents the "core" wire value.
	UnitCriticalityCore UnitCriticality = "core"
	// UnitCriticalityPlatform represents the "platform" wire value.
	UnitCriticalityPlatform UnitCriticality = "platform"
	// UnitCriticalityWorkload represents the "workload" wire value.
	UnitCriticalityWorkload UnitCriticality = "workload"
	// UnitCriticalityAddon represents the "addon" wire value.
	UnitCriticalityAddon UnitCriticality = "addon"
)

type UnitOutcome

type UnitOutcome struct {
	// Ref maps the "ref" wire field.
	Ref string `json:"ref"`
	// Kind maps the "kind" wire field.
	Kind string `json:"kind"`
	// Outcome maps the "outcome" wire field.
	Outcome UnitOutcomeStatus `json:"outcome"`
	// Criticality maps the "criticality" wire field.
	Criticality UnitCriticality `json:"criticality"`
	// WorkloadRef maps the "workload_ref" wire field.
	WorkloadRef string `json:"workload_ref,omitempty"`
	// RequirementID maps the "requirement_id" wire field.
	RequirementID string `json:"requirement_id,omitempty"`
	// InstanceRef maps the "instance_ref" wire field.
	InstanceRef string `json:"instance_ref,omitempty"`
	// RuntimeOwnerRef maps the "runtime_owner_ref" wire field.
	RuntimeOwnerRef string `json:"runtime_owner_ref,omitempty"`
	// ModuleRef maps the "module_ref" wire field.
	ModuleRef string `json:"module_ref,omitempty"`
	// SiteRef maps the "site_ref" wire field.
	SiteRef string `json:"site_ref,omitempty"`
	// NodeRef maps the "node_ref" wire field.
	NodeRef string `json:"node_ref,omitempty"`
	// FailureClass maps the "failure_class" wire field.
	FailureClass string `json:"failure_class,omitempty"`
	// FailureCode maps the "failure_code" wire field.
	FailureCode string `json:"failure_code,omitempty"`
	// Retryable maps the "retryable" wire field.
	Retryable bool `json:"retryable,omitempty"`
	// Transient maps the "transient" wire field.
	Transient bool `json:"transient,omitempty"`
	// Message maps the "message" wire field.
	Message string `json:"message,omitempty"`
	// Remediation maps the "remediation" wire field.
	Remediation []string `json:"remediation,omitempty"`
}

UnitOutcome is one rollout unit and what actually happened to it.

type UnitOutcomeStatus

type UnitOutcomeStatus string

UnitOutcomeStatus is a closed StackAction wire vocabulary.

const (
	// UnitOutcomeApplied represents the "applied" wire value.
	UnitOutcomeApplied UnitOutcomeStatus = "applied"
	// UnitOutcomeDegraded represents the "degraded" wire value.
	UnitOutcomeDegraded UnitOutcomeStatus = "degraded"
	// UnitOutcomeFailed represents the "failed" wire value.
	UnitOutcomeFailed UnitOutcomeStatus = "failed"
	// UnitOutcomeSkipped represents the "skipped" wire value.
	UnitOutcomeSkipped UnitOutcomeStatus = "skipped"
	// UnitOutcomeUnverified represents the "unverified" wire value.
	UnitOutcomeUnverified UnitOutcomeStatus = "unverified"
)

Jump to

Keyboard shortcuts

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