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
- 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 = "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 ¶
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"`
}
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" )