custom readiness - #277
Draft
davidmdm wants to merge 3 commits into
Draft
Conversation
…er than 0 when comparing against resource generation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR adds in-cluster custom resource readiness definitions for yoke.
When yoke applies resources you can use the
--wait=durationflag to have yoke wait for the revision to be ready.In the ATC, the reconciler is requeued until all child resources are ready so that we can mark the Airway instance resource or generic flight resource as "Ready".
However yoke only knows about standard workloads and core resources: pods, replicasets, deployments, daemonsets, statefulsets, namespaces, customresourcedefintions, and so on.
If you're flight deploys a custom third party resource, yoke has no way of knowing what the ready condition is for that resource.
Therefore we are introducing configmaps to extend custom resource readiness.
These configmaps are identified by the label:
resource.yoke.cd/readiness in (lua,conditions).The
luareadiness configmap kind expects lua scripts as the data values with keys being the groupkind string.This allows you to write custom logic to define what readiness means for a given resource.
The
conditionsis a whitespace separated list of fields with the status conitions we require to be true for the resource to be considered Ready.ie: