-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Specification
There should be status indicators for TaskManager tasks related to the Discovery domain.
This command should provide feedback on the progress of discovery tasks of gestalts, and what gestalts have been recently discovered.
Ideally there should also be a way to cancel some of these tasks.
Discovery events
Discovery is already evented since it's async-init decorated. But we need to updated to have it's usual domain specific events along with discovery related events. We need an event for the following. More events may be added if any seem relevant.
- Vertex queued
- Vertex Processed
- Vertex failed to process
- Vertex culled from future processing due to failing to process for too long
~audit discovery command~
NOTE: this section is being split out to a new issue/PR that addresses the audit domain generally.
We need to add the audit domain and the audit discovery command. It will function similar to connection auditing where we provide an endless stream of the above events.
Part of the seeking will include a start point and an end point. Both of these are optional and can be set in the past or the future. When outputting events, it will stream the history from the start timestamp to the end timestamp. If the endpoint is in the past then the command will yield the history till that point and then end. If the start point or end point is into the future then the command will wait until the end point or cancellation to end. Future events will be yielded as they happen.
We want to add some degree of filtering to the events that are yielded. We could allow filtering for a specific or collection of nodes/identities. But also possibly filter on a vertex's parent or gestalt. If filtering is added then we'd need to work out how to specify filters as CLI options and how they interact.`
identities discover command
This command needs to be modified to provide feedback. Normally this command is non-blocking where it just adds a vertex to the queue and returns. But we need to add a --blocking flag or some flag that indicates feedback. When enabled this command will output events related to the vertex it queued and it's children vertices. Then command will end when all child vertices are processed. It could also be cancelled the normal way by aborting the command.
When events are printed out, they should be consistent between the two commands.
Additional context
Tasks
- 1. Add relevant discovery events to be emitted by the discovery domain.
-
- ~Implement
audit discoverycommand.(Name TBD)~ - Being addressed in a new PR for theauditdomain
- ~Implement
- 3. Implement feedback for
identities discovercommand. Command will default to non-blocking with no feedback unless flagged for blocking.