Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add a
ServiceAvailable
condition to theServiceBinding
status.Logically, the behavior covered by the
ServiceAvailable
condition is asubset of the existing
Ready
condition. The behavior of theReady
condition is unchanged.
The status is
True
when the referenced Provisioned Service is resolvedand exposes a binding secret. The status is
False
if the ProvisionedService cannot be resolved, either because it does not exist, or is not
visible to the implementation. The status is
Unknown
when thereferenced Provisioned Service is resolved, but does not expose a
binding secret.
When managing the rollout of resources that include a service, binding
and workload it can be difficult today to observe each resource to know
when there is a problem that requires remediation.
required service is not available.
Ready
condition will beFalse
if the workload does not existThe above cases make it difficult for tools to observe the health of
either resource during the rollout, while the resource will eventually
settle on a healthy status, a circuit breaker could flip in the interim
that reverts the rollout. With a new
ServiceAvailable
condition we canstagger the rollout of the resource to upsert the service and binding,
wait for
ServiceAvailable
to becomeTrue
and then upsert theworkload.
Additionally, if the workload is immutable (like a Job), the creation of
the workload must be held until the service is known to exist. The
ServiceAvailable
condition becomingTrue
can signal that it's ok tocreate the workload. If the workload is created before the service is
available, the ServiceBinding won't be able to complete the binding.
Signed-off-by: Scott Andrews andrewssc@vmware.com