This topic tells you about the concept of resumptions in Tanzu Supply Chain. For reference information about resumptions, see Component API.
CautionTanzu Supply Chain is currently in beta and is not intended for production use. It is intended only for evaluation purposes for the next generation Supply Chain. For the current Supply Chain solution, see the Supply Chain Choreographer documentation.
Resumptions are an important part of the Tanzu Supply Chain Component
resource.
The Component
resource deals with the configuration to pass to resumptions and pipelines, or the pipeline to run when the Component
stage is reached in the supply chain. Resumptions are focused on the reasons to run again.
Resumptions are executed on a timer that is specified in the resumptions
array of the component. When resumptions trigger they execute a Tekton TaskRun
to detect new values. These are common for detecting changes to source repositories, image repositories, and new versions of binaries.
If a run reaches a stage with a resumption, the system generates a resumptionKey
based on the value of the parameters that are passed to the resumption. If a resumption has already been executed with the same parameters, the result of that resumption is used. This allows hundreds or thousands of workloads to reuse the same common inputs from resumptions without needing to run another resumption.
After the last completion of a resumption TaskRun
, resumptions wait for the period specified in resumptions[].trigger.runAfter
before running it again.
When a result for a resumption changes, all the WorkloadRun
resources with the same resumptionKey
are cloned and then truncated back to the stage of the resumption. Progress starts from there. This is the mechanism for resumptions triggering a new WorkloadRun
.