Draft: Various framework features to allow declarative workflow definition
What does this MR do?
This MR contains major features of the revised framework to enable declarative workflow definition.
Features
Use error interface for outcome of reconcile loop
All possible outcomes of the reconcile loop, including requeue, are
presented as error
. The Expand
function helps with the translation
of the error into the values that Reconcile
function returns.
Introduce RuntimeContext
RuntimeContext
replaces usage of context.Context
. It still
implements the same interface and is associated to an existing
context, but as a struct
its fields are easier to access.
The NewRuntimeContext
function strictly checks the required
fields and compensates for missing optional fields.
Author's Checklist
For anything in this list which will not be completed, please provide a reason in the MR discussion.
Required
-
Ensure a release milestone is set. -
MR title and description are up to date, accurate, and descriptive. -
MR targeting the appropriate branch. -
MR has a green pipeline on GitLab.com. -
When ready for review, MR is labeled workflowready for review per the MR workflow.
Expected
-
Test plan indicating conditions for success has been posted and passes. -
Documentation is created or updated. -
Tests are added.
Related issues
Related to #66 (closed)
Edited by Hossein Pursultani