diff --git a/content/master/managed-resources/managed-resources.md b/content/master/managed-resources/managed-resources.md index 279b160f9..d56bea7a1 100644 --- a/content/master/managed-resources/managed-resources.md +++ b/content/master/managed-resources/managed-resources.md @@ -764,17 +764,71 @@ deletes the managed resource object. ## Conditions -Crossplane has a standard set of `Conditions` for a managed -resource. View the `Conditions` of a managed resource with -`kubectl describe ` + +A managed resource has three status conditions: Synced, Ready and UpToDate. + +View the `Conditions` of a managed resource with `kubectl describe `. + +Crossplane Providers manage the conditions for their managed resources. {{}} Providers may define their own custom `Conditions`. {{}} + +### Synced Condition + +The Provider sets the Synced status condition to True when it's able to +successfully reconcile the managed resource. If Crossplane can't reconcile the +managed resource it reports an error in the Synced condition. + + +#### ReconcilePaused + +`Reason: ReconcilePaused` indicates the managed resource has a [Pause](#paused) +annotation + +```yaml {copy-lines="none"} +Conditions: + Type: Synced + Status: False + Reason: ReconcilePaused +``` + + +#### ReconcileError + +`Reason: ReconcileError` indicates Crossplane encountered an error while +reconciling the managed resource. The `Message:` value of the `Condition` helps +identify the Crossplane error. +```yaml {copy-lines="none"} +Conditions: + Type: Synced + Status: False + Reason: ReconcileError +``` + + +#### ReconcileSuccess + +`Reason: ReconcileSuccess` indicates the Provider created and is monitoring the +managed resource. + +```yaml {copy-lines="none"} +Conditions: + Type: Synced + Status: True + Reason: ReconcileSuccess +``` + +### Ready Condition + +The Provider sets the Ready status condition to True when it +determines that the managed resource is available. If a managed resource isn't ready +the Crossplane Provider reports it in the Ready condition. -### Available +#### Available `Reason: Available` indicates the Provider created the managed resource and it's ready for use. @@ -784,7 +838,7 @@ Conditions: Status: True Reason: Available ``` -### Creating +#### Creating `Reason: Creating` indicates the Provider is attempting to create the managed resource. @@ -796,7 +850,7 @@ Conditions: Reason: Creating ``` -### Deleting +#### Deleting `Reason: Deleting` indicates the Provider is attempting to delete the managed resource. @@ -807,58 +861,99 @@ Conditions: Reason: Deleting ``` +#### Unavailable +`Reason: Unavailable` indicates Crossplane expects the managed resource to be +available, but the Provider reports the resource is unhealthy. + +```yaml {copy-lines="none"} +Conditions: + Type: Ready + Status: False + Reason: Unavailable +``` -### ReconcilePaused +### UpToDate Condition + +The Provider sets the `UpToDate` status condition to True when the observed resource configuration +matches the configuration specified in the managed resource. +If there are differences between the specified configuration and the observed +configuration the Provider reports them in the UpToDate condition. + + +#### ReconcilePaused `Reason: ReconcilePaused` indicates the managed resource has a [Pause](#paused) annotation ```yaml {copy-lines="none"} Conditions: - Type: Synced - Status: False + Type: UpToDate + Status: Unknown Reason: ReconcilePaused ``` -### ReconcileError +#### UpdateRequested -`Reason: ReconcileError` indicates Crossplane encountered an error while -reconciling the managed resource. The `Message:` value of the `Condition` helps -identify the Crossplane error. +`Reason: UpdateRequested` indicates the provider detected a difference between the +specified configuration and the observed configuration and requested an update to resolve +the delta. The result of the update is still pending, which can happen if the update operation +is asynchronous. The `Message:` value of the `Condition` displays +any difference information available to the Provider. ```yaml {copy-lines="none"} Conditions: - Type: Synced + Type: UpToDate Status: False - Reason: ReconcileError + Reason: UpdateRestricted ``` -### ReconcileSuccess +#### UpdateRestricted -`Reason: ReconcileSuccess` indicates the Provider created and is monitoring the -managed resource. +`Reason: UpdateRestricted` indicates the provider detected a difference between the +specified configuration and the observed configuration but the `Update` operation is +not permitted by the `managementPolicies` defined for the managed resource. +The `Message:` value of the `Condition` displays any difference information available to the Provider. ```yaml {copy-lines="none"} Conditions: - Type: Synced - Status: True - Reason: ReconcileSuccess + Type: UpToDate + Status: False + Reason: UpdateRequested ``` -### Unavailable -`Reason: Unavailable` indicates Crossplane expects the managed resource to be -available, but the Provider reports the resource is unhealthy. + +#### UpdateFailed + +`Reason: UpdateFailed` indicates the provider detected a difference between the +specified configuration and the observed configuration. The Provider requested an update of +the resource to resolve the delta and the update operation failed. The `Message:` value of the `Condition` displays +any difference information available to the Provider and the error information. ```yaml {copy-lines="none"} Conditions: - Type: Ready + Type: UpToDate Status: False - Reason: Unavailable + Reason: UpdateFailed ``` -### Unknown + +#### ObserveMatched + +`Reason: ObserveMatched` indicates the observed configuration matches the +configuration specified by the managed resource. + +```yaml {copy-lines="none"} +Conditions: + Type: UpToDate + Status: True + Reason: ObserveMatched +``` + + +### Unknown Condition + `Reason: Unknown` indicates the Provider has an unexpected error with the managed resource. The `conditions.message` provides more information on what went wrong. diff --git a/utils/vale/styles/Crossplane/crossplane-words.txt b/utils/vale/styles/Crossplane/crossplane-words.txt index 78f986b47..24a425cce 100644 --- a/utils/vale/styles/Crossplane/crossplane-words.txt +++ b/utils/vale/styles/Crossplane/crossplane-words.txt @@ -101,6 +101,7 @@ TrimSuffix TTR UnhealthyPackageRevision UnknownPackageRevisionHealth +UpToDate ValidPipeline WatchOperation WatchOperations