Skip to main content

TaskActionStatus

This class defines the observed state of a TaskAction. It includes fields for tracking the serialized node status, plugin state and its version, plugin phase and its version, and the number of attempts. Additionally, it records system failures, cache status, and a history of phase transitions, along with any structured error states.

Attributes

AttributeTypeDescription
StateJSONstringStateJSON is the JSON serialized NodeStatus that was last sent to the State Service
PluginState[]bytePluginState is the Gob-encoded plugin state from the last reconciliation round.
PluginStateVersionuint8PluginStateVersion tracks the version of the plugin state schema for compatibility.
PluginPhasestringPluginPhase is a human-readable representation of the plugin's current phase.
PluginPhaseVersionuint32PluginPhaseVersion is the version of the current plugin phase.
Attemptsuint32Attempts is the latest observed action attempt number, starting from 1.
SystemFailuresuint32SystemFailures counts system-level failures observed during reconciliation — either Go errors returned from Plugin.Handle (e.g. transient k8s API errors, admission webhook denials) or plugin transitions reporting a system-retryable failure (e.g. resource deleted externally). When it exceeds the configured maximum, the TaskAction is converted to a permanent failure.
CacheStatuscore.CatalogCacheStatusCacheStatus is the latest observed cache lookup result for this action.
Conditions[]metav1.Conditionconditions represent the current state of the TaskAction resource. Each condition has a unique type and reflects the status of a specific aspect of the resource. Standard condition types include: - "Available": the resource is fully functional - "Progressing": the resource is being created or updated - "Degraded": the resource failed to reach or maintain its desired state The status of each condition is one of True, False, or Unknown.
PhaseHistory[]PhaseTransitionPhaseHistory is an append-only log of phase transitions. Unlike conditions (which are updated in-place by type), this preserves the full timeline: Queued → Initializing → Executing → Succeeded/Failed, each with a timestamp.
ErrorState*ErrorStateErrorState is the structured error from the last failed/aborted attempt. Populated when the plugin returns a core.ExecutionError; preserves the Code field that ActionEvent.ErrorInfo cannot carry.