Documentation
¶
Overview ¶
Package stackaction contains the deterministic Go projection of the StackKits-owned StackAction CUE contract.
The generated Go file, contract IR, OpenAPI projection, and generation manifest are copied byte-for-byte from one verified StackKits generation bundle. This module owns the published Go type identity but does not own the source schema, lifecycle behavior, action execution, or evidence production. Changes start in the canonical StackKits CUE source and generator; do not hand-edit stackaction_gen.go or its adjacent generated artifacts.
Index ¶
- Constants
- func IsBackupAction(action Action) bool
- func IsStackKitsAction(action Action) bool
- type Action
- type BackupRepoTarget
- type BackupRequest
- type BackupResult
- type BackupSnapshot
- type Check
- type CheckStatus
- type ContainerHealth
- type ContainerObservation
- type DeploymentRef
- type HTTPProbeObservation
- type HostObservation
- type IdentityOutputs
- type LiveObservation
- type LoginGatewayOutput
- type Mode
- type NodeBootstrap
- type NodePlatformTarget
- type OverallOutcome
- type OwnerIdentity
- type PlatformAppState
- type PlatformManagement
- type PlatformNode
- type PlatformObservation
- type RecoveryOutput
- type Request
- type Response
- type RuntimeMetrics
- type RuntimeTarget
- type SSHBootstrap
- type ScopedReference
- type ServiceActionRequest
- type ServiceActionResult
- type ServiceHealthStatus
- type ServiceLogEntry
- type ServiceObservation
- type ServiceOutput
- type SetupDrop
- type SetupPolicy
- type StackKitOutputs
- type Status
- type SupplementalNodeRole
- type TechStackEnrollment
- type UnitCriticality
- type UnitOutcome
- type UnitOutcomeStatus
Constants ¶
const ( // GeneratorVersion identifies the deterministic contract generator. GeneratorVersion = "stackactiongen/v1" // SourceSHA256 binds this projection to the canonical CUE source bytes. SourceSHA256 = "590d0803a54d4c89035fa38d90690b39838ff0d0f895b76c4f7e6006db29d863" // 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 ¶
IsBackupAction reports whether the node-side backup engine owns the action.
func IsStackKitsAction ¶
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 ¶
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 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"`
// HostKey maps the "host_key" wire field.
HostKey string `json:"host_key,omitempty"`
// HostKeyFirstContact maps the "host_key_first_contact" wire field.
HostKeyFirstContact bool `json:"host_key_first_contact,omitempty"`
}
RuntimeTarget is primary runtime host with an opaque access-profile reference and its expected SSH host key; absent host_key fails closed unless host_key_first_contact is set.
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"`
// HostKey maps the "host_key" wire field.
HostKey string `json:"host_key,omitempty"`
// HostKeyFirstContact maps the "host_key_first_contact" wire field.
HostKeyFirstContact bool `json:"host_key_first_contact,omitempty"`
// 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 and its expected SSH host key; absent host_key fails closed unless host_key_first_contact is set.
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" )