Many of these ideas stem from the initial MiNiFi DISCUSS thread on 9 January 2016.
Goals
- To establish scoping for an initial agent model
Background and strategic fit
Terminology
Assumptions
- Design and Deploy mechanisms. How new flows/processing are introduced may vary
Requirements, Feature Requests, Design Considerations
# | Title | User Story | JIRA Issue(s) | Importance | Notes |
---|---|---|---|---|---|
1 | Support for/implementation in native formats | The JVM itself has a large footprint that can be prohibitive in some environments. While the JVM provides a great way to afford reuse of components developed and tested with considerable resources and establish necessary interface and architecture considerations with a known quantity. Other implementations should be possible through well defined interfaces, specifications, and libraries as possible. | |||
2 | Vetting/Verification of Provenance / Chain of Custody / Lineage information - Integrity & Non-repudiation | Due to the potential difference in trust model, there are other considerations for how we can both trust and potentially verify information provided by endpoint agents. | |||
3 | Docker Logging Drivers | Provide implementations that allow the collection and management of container information | |||
4 | Support common protocols and systems | As NiFi is flexible and adaptable to various formats, schemas, and protocols, similar provisions would be useful for users of the agent. Scoped to the types of data this model is a natural fit for brings certain best in class protocols to mind. Exemplary protocols provided in Notes. |
| ||
5 | Back-pressure over network boundaries | Much as there is backpressure within connections, it could be advantageous to apply this concept across network boundaries. | Reactive Socket: http://reactivesocket.io |
User interaction and design
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome |
---|---|