Team, I have drafted NIP-38 [1] proposing that we make pluggable the two parts of the framework that are hardcoded to write local files: the dataflow (flow.json.gz) and the flow-change history (the audit store under nifi.database.directory).
For the dataflow, this adds a FlowPersistenceProvider extension point; VersionedDataflow moves into nifi-framework-api so the provider API can be typed, and saveFlow takes a FlowPersistenceContext so we can later add things like a change description without breaking providers. For the audit history, the existing AuditService interface moves into nifi-framework-api and becomes selectable, defaulting to today's EntityStoreAuditService. The intent is for the default behavior to remain unchanged. However, this would provide appropriate abstractions for concepts that are now hard-coded, with rather minimal surface area / updates. Thanks -Mark [1] https://issues.apache.org/jira/browse/NIP-38
