Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add core agent business logic (#705)
## Summary This PR adds core business logic for the new tink agent component. The agent will replace the tink worker and can therefore be considered a re-write. Re-writing the worker has allowed us to remove unsupported functionality such as multi-worker workflows that were implemented in the previous Tinkerbell versions as 'tasks'. The core business logic leverages a transport to retrieve workflows. It communicates workflow progression via events. It runs workflows serially rejecting requests to run concurrently with an explicit `event.WorkflowRejected` event. It assumes enforcement of state machines will be performed by the server component it interacts with. Finally, the logging around the agent has been significantly improved to reflect exactly what's happening as it transitions between actions. ## Relevant designs/PRs * [v1alpha2 API](https://github.com/tinkerbell/roadmap/blob/main/design/20230222_tinkerbell_crd_refactor.md) * [Failure reason and message handling](https://github.com/tinkerbell/roadmap/blob/main/design/20230313_action_failure_reason_communication.md) * [Tink agent PoC](#680) ## Future work Separate PRs will introduce container runtime and transport implementations. See the Tink agent PoC for a reference.
- Loading branch information