Promise Status and Events
Kratix follows the Kubernetes convention of using status and events to convey important information about a Promise. Promise Status describes what general condition the Promise is in and surfaces any error that has occurred.
Conditions
A Promise exposes the following list of conditions:
RequirementsFulfilled– Kratix has installed any required Promises declared by the Promise.ConfigureWorkflowCompleted– all configure workflow pipelines executed successfully.WorksSucceeded– all Works created for the Promise has completed.Available– Promise is ready to accept Resource requests.Reconciled– Promise has been successfully reconciled; set to true when all the above conditions are all true.
Example Promise conditions from kubectl get promise <name> -o yaml:
status:
conditions:
- lastTransitionTime: "2025-06-23T14:02:27Z"
message: Requirements fulfilled
reason: RequirementsInstalled
status: "True"
type: RequirementsFulfilled
- lastTransitionTime: "2025-06-23T14:07:23Z"
message: Pipelines completed
reason: PipelinesExecutedSuccessfully
status: "True"
type: ConfigureWorkflowCompleted
- lastTransitionTime: "2025-06-23T14:02:40Z"
message: All works associated with this promise are ready
reason: WorksSucceeded
status: "True"
type: WorksSucceeded
- lastTransitionTime: "2025-06-23T14:07:26Z"
message: Ready to fulfil resource requests
reason: PromiseAvailable
status: "True"
type: Available
- lastTransitionTime: "2025-06-23T14:07:26Z"
message: Reconciled
reason: Reconciled
status: "True"
type: Reconciled
Inspect the current Promise status at any time with:
kubectl describe promise <name>
Common Promise Status Fields
kratix.apiVersion– Shows the API version that this Promise is serving requests at.kratix.kind– Shows the Kind that this Promise is serving.kratix.lastAvailableTime– When this Promise becomes available.kratix.status– Whether the Promise is ready to accept Resource requests; can be set to 'Available' or 'Unavailable'.kratix.message- Message set by Promise configure workflow.workflows- The number of Resource configure workflow pipelinesworkflowsSucceeded- The number of Resource configure workflow pipelines that have completed successfullyworkflowsFailed- The number of Resource configure workflow pipelines that have failedmessage- Message set by Promise configure workflow.
status:
kratix:
apiVersion: marketplace.kratix.io/v1alpha1
kind: redis
lastAvailableTime: "2026-03-06T16:02:26Z"
status: Available
version: v0.1.0
message: Configuration updated
Pipeline Execution Status Fields
Kratix executes Configure Workflow pipelines in order and records the state of each pipeline under status.kratix.workflows.pipelines.
For example, if a Promise has three configure pipelines and the third pipeline is currently running, the status could look like:
status:
kratix:
workflows:
lastSuccessfulConfigureWorkflowTime: "2026-03-16T11:52:06Z"
pipelines:
- name: pipeline0
phase: Succeeded
lastTransitionTime: "2026-03-16T11:53:04Z"
- name: pipeline1
phase: Succeeded
lastTransitionTime: "2026-03-16T11:53:05Z"
- name: pipeline2
phase: Running
lastTransitionTime: "2026-03-16T11:53:57Z"
Each pipeline can be in one of these phases: Pending, Running, Succeeded, or Failed.
lastTransitionTime is updated whenever the pipeline phase changes. If a pipeline enters the Failed phase, Kratix stops executing the remaining pipelines in that workflow. When a new configure reconciliation starts, Kratix resets all pipeline phases to Pending before running the workflow again.
For more detail about a failed pipeline, inspect the events on the Promise and the logs of the failed pipeline Job.
Events
Events record important moments in the Promise lifecycle such as when requirements are installed, if the configure pipeline is running and when the Promise becomes available.
They can be viewed by running:
kubectl describe promise <name>
Example Promise events:
kubectl describe promise <name>
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal PipelineStarted 7m53s PromiseController Configure Pipeline started: promise-configure
Normal Available 7m43s (x2 over 7m43s) PromiseController Promise is available
Normal WorksSucceeded 7m43s PromiseController All works associated with this promise are ready
Normal ReconcileSucceeded 7m43s PromiseController Successfully reconciled
Normal ConfigureWorkflowCompleted 7m38s (x2 over 7m43s) PromiseController All workflows completed
Successful events will be of type Normal whereas errors will be published as Warning events.
These events are useful for understanding the progression of the Promise and troubleshooting failures.
