hashgraph / hashgraph/guardian
Distributed workflows for Guardian policy chain
- Dominant language
- TypeScript
- Stars
- 146
- Forks
- 186
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 126
Description
### Problem description
#2075 introduced the capability of linking independently executed policies (or modules) into a chain, the execution of each link in such chains can be automatically triggered by the previous link via publishing a document of the type which has been configured to be the 'source' for the link. This allows for the creation of the distributed policy chains, where 'execution' can be passed from one Guardian instance to another via publishing the corresponding artefacts.
However practical execution of most real-world Policies requires more powerful coordination features such as requests (approvals etc), events, and notifications which exists within a single policy instance but cannot be visible externally.
### Requirements
- Revamp the implementation of Guardian workflow coordination features to 'externalise' them such that from the point of view of individual users (defined in the policy) it would not matter whether the policy chain in its entirety is run on a single instance or across multiple instances
- Adapt, if necessary, policy definition language to make it compatible with the distributed view of policy execution
- Make sure Tools, Modules etc are compatible with distributed policy chains
### Definition of done
- The implemented functionality is capable of delivering on requirements specified above
- Corresponding documentation set is created
- Some of the policies packaged with Guardian are implemented as policy chains with instructions on how they could be combined into a distributed workflow
### Acceptance criteria
Real-world policies can be implemented/deployed as chains across multiple guardian instances and operated by users conveniently as if these were executed on the same instance.
Contributor guide
Assessment
This issue has not been assessed yet.