Skip to main content

Work, WorkPlacement Status and Events

A Work represents the output of a workflow. Each Work is scheduled to one or more Destinations. Its progress is tracked through conditions.

A WorkPlacement ties part of a Work to a specific Destination. Its status shows whether the documents were written successfully.

Work Conditions

Works expose the following conditions:

  • ScheduleSucceeded – set to True once all WorkPlacements have been created. If Kratix cannot find matching Destinations this condition is False with reason UnscheduledWorkloadGroups.
  • Ready – set to True when every WorkPlacement has been scheduled successfully.

Example output from kubectl get work <name> -o yaml:

status:
conditions:
- lastTransitionTime: "2025-06-23T14:03:20Z"
message: All workplacements scheduled successfully
reason: AllWorkplacementsScheduled
status: "True"
type: ScheduleSucceeded
- lastTransitionTime: "2025-06-23T14:03:20Z"
message: Ready
reason: AllWorkplacementsScheduled
status: "True"
type: Ready

WorkPlacement Conditions

WorkPlacements expose the following conditions:

  • ScheduleSucceededTrue when the WorkPlacement has been scheduled to a matching Destination.
  • WriteSucceeded – indicates the documents were written to the State Store backing the Destination.
  • ReadyTrue when both ScheduleSucceeded and WriteSucceeded are true.

Example output from kubectl get workplacement <name> -o yaml:

status:
conditions:
- lastTransitionTime: "2025-06-23T14:03:20Z"
message: Scheduled to correct Destination
reason: ScheduledToDestination
status: "True"
type: ScheduleSucceeded
- lastTransitionTime: "2025-06-23T14:03:20Z"
message: Ready
reason: WorkloadsWrittenToTargetDestination
status: "True"
type: Ready
- lastTransitionTime: "2025-06-23T14:03:20Z"
message: ""
reason: WorkloadsWrittenToStateStore
status: "True"
type: WriteSucceeded

Events

Events on Works and WorkPlacements highlight scheduling progress and any issues writing to Destinations.

Run kubectl describe to inspect Works and Workplacements events:

kubectl describe work <name>
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning DestinationSelectorMismatch 4s (x2 over 5s) Scheduler Target destination no longer matches destinationSelectors for workloadGroups:

kubectl describe workplacement <name>
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal WorkloadsWrittenToStateStore 2m23s WorkPlacementController successfully written to Destination: worker-1 with versionID:...

Successful events will be of type Normal whereas errors will be published as Warning events.