Events
Every reason CAPTF’s manager and runner record as a Kubernetes Event (kubectl get events or kubectl describe), its type, which object kind it is emitted on, and what it means. See Observability for how to watch them.
Manager events
Emitted by the manager’s reconcilers through the events.k8s.io/v1 recorder, at most once per transition or occurrence.
| Reason | Type | Emitted on | Meaning |
|---|---|---|---|
CapacityResolved | Normal | TerraformMachineTemplate | A TerraformMachineTemplate’s capacity or nodeInfo changed from its image labels. |
ConditionChanged | Normal or Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | Any other owned condition changed status or reason; Normal into its good or an informational state, Warning into its bad state. |
ControlPlaneEndpointSet | Normal | TerraformCluster | A TerraformCluster’s spec.controlPlaneEndpoint was written from the module output. |
DeletionStarted | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | The first reconcile with a deletionTimestamp. |
Destroyed | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | The destroy succeeded and cleanup ran. |
DestructivePlanApprovalConsumed | Normal | TerraformCluster | The approved destructive apply succeeded and its approval annotation was removed. |
DestructivePlanBlocked | Warning | TerraformCluster | A TerraformCluster apply stopped before a plan that deletes or replaces resources; once per blocked Job, in place of JobFailed. |
DigestPinned | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | An image digest was recorded on the durable inputs Secret, or re-pinned after an apply of a mutable kind. |
DigestUnknown | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | No digest could be pinned, or an operation runs the spec reference for lack of one. |
DriftDetected | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | A drift check found a difference. |
DriftRemediationStarted | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | An apply remediating drift started. |
DriftResolved | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | DriftDetected went from True to False. |
FailureDomainsChanged | Normal | TerraformCluster | A TerraformCluster’s status.failureDomains changed. |
FinalizerRemoved | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | The finalizer was removed; the object goes. |
ForceUnlocked | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | A stale state lock was force-unlocked. |
IdentityNotAllowed | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | The identity does not allow the namespace. |
IdentitySecretFound | Normal | TerraformClusterIdentity | A TerraformClusterIdentity’s credentials Secret appeared. |
IdentitySecretNotFound | Warning | TerraformClusterIdentity | A TerraformClusterIdentity’s credentials Secret went missing. |
ImageInspectFailed | Warning | TerraformMachineTemplate | The registry could not be read for capacity. |
InputsChanged | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | The inputs hash differs from the state’s and an apply of the new inputs starts. |
InstanceHealthy | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | InfrastructureHealthy became True. |
InstanceUnhealthy | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | InfrastructureHealthy became False for an unhealthy, degraded, stopped or terminated instance. |
JobCreated | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | A Job was started (op, attempt, image, why). |
JobDeadlineExceeded | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | A Job hit activeDeadlineSeconds. |
JobFailed | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | A Job failed, or an apply or destroy could not start (ApplyJobSucceeded False without a Job). |
JobInterrupted | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | A Job was stopped from outside (a drain, eviction or deletion); it is retried without backoff. |
JobSucceeded | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | An apply, destroy, refresh or drift Job succeeded. |
MirrorCreated | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | The credential mirror of the namespace was created on behalf of this object. |
MirrorRemoved | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | The credential mirror of the namespace was deleted on behalf of this object. |
OutputsInvalid | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | The module’s outputs broke the contract. |
Paused | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | The Paused condition changed to True; reconciliation stops starting Jobs. |
PlanApplied | Normal | TerraformCluster | The approved plan was applied and its approval annotation removed. |
PlanApproved | Normal | TerraformCluster | The apply of an approved plan started. |
PlanChanged | Warning | TerraformCluster | An approved apply planned other changes and stopped before applying them; once per such Job. |
PlanReady | Normal | TerraformCluster | A plan Job planned a TerraformCluster’s change under applyPolicy Manual (counts, plan hash, the approve command); once per plan Job. |
ProviderIDSet | Normal | TerraformMachine, TerraformMachinePool | A TerraformMachine’s or TerraformMachinePool’s spec.providerID was written (a pool’s may change). |
Provisioned | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | Provisioned latched true. |
RemediationRequested | Warning | TerraformMachine | The owner Machine was annotated with cluster.x-k8s.io/remediate-machine. |
RemediationWithdrawn | Normal | TerraformMachine | The instance read Healthy again and the annotation CAPTF set was removed from the owner Machine. |
ReplicasWrittenBack | Normal | TerraformMachinePool | An autoscaled pool’s observed replicas output was patched onto MachinePool.spec.replicas (“X → Y”). |
Resumed | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | The Paused condition changed to False after being True; reconciliation resumes. |
StateAdopted | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | The state written by a successful apply was adopted with its new inputs hash. |
StateBackedUp | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | A new state serial was copied into a backup (once per backup). |
StateLocked | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | The state lock is held by something else (StateReadable False/StateLocked). |
StateLost | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | A provisioned object’s state is gone or carries no inputs hash (StateReadable False/StateLost). |
StateRestoreFailed | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | A restore Job failed; it is not retried for the same serial. |
StateRestored | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | A restore Job pushed a backup into the backend and the captf.io/restore-state annotation was removed. |
StateUnreadable | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | The state could not be read. |
StuckJobDeleted | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | A Job that could never start (its per-run Secret is missing) was deleted to be started again. |
WaitingForClusterOperation | Normal | TerraformMachine, TerraformMachinePool | A machine’s apply or destroy waits for its TerraformCluster’s apply or destroy. |
WaitingForMachineOperations | Normal | TerraformCluster | A TerraformCluster’s apply or destroy waits for its machines’ applies and destroys in flight. |
WaitingForRunLease | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | An operation waits because another live Job holds the object’s run lease. |
Runner events
Emitted only when the manager runs with --runner-events (its default is true): each Job’s runner posts its own progress as Events on the object the Job is for, related to the Job itself. Emission is best effort and never fails or slows the run.
| Reason | Type | Emitted on | Meaning |
|---|---|---|---|
PlanSummary | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | A plan the runner parsed (drift, or a guarded cluster apply): counts only. |
ResourcesChanged | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | What an apply or destroy step changed, from the runtime’s summary line: counts only. |
RunFinished | Normal or Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | The run ended (result, total duration). |
RunStarted | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | The runtime is ready and the first step is about to run (op, image reference, runtime version). |
StepFailed | Warning | TerraformCluster, TerraformMachine, TerraformMachinePool | A runtime step failed; the note carries the runner’s curated failure summary, never raw stderr. |
StepStarted | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | A runtime step started. |
StepSucceeded | Normal | TerraformCluster, TerraformMachine, TerraformMachinePool | A runtime step finished successfully. |