nflow
nflow copied to clipboard
Persist/expose nFlow executor version and configuration
Problem
The nFlow version and configuration (properties) are currently not visible and need to be deduced from runtime environment specific configuration. It might be unclear which configuration is effective, if the runtime platform hides deployment details.
Even if the current configuration can be reliably deduced, troubleshooting historical issues may be challenging without knowing which nFlow version and configuration which the executor ran.
Related to nFlow version, Explorer has currently no way of knowing what to expect (e.g. which REST API operations it supports) from the nFlow executor that generated the response. Explorer might no longer even support a very old nFlow REST API.
Solution
Add and persist the following DB columns from nflow-engine.
-
nflow_executor.nflow_version
(varchar): nFlow version of the executor -
nflow_executor.configuration
(json): JSON structure generated from system properties
The included properties could be e.g. configured using include- and exclude-properties (regular expressions). By default include could have regular expression ^nflow.*
and exclude .*password.*
.
Expose the new nflow_executor columns from /v1/workflow-executor
REST endpoint. Add the nFlow version as a response header to every endpoint so that Explorer knows which nFlow version generated the response.
Visualize the new nflow_executor columns in Explorer executors-tab. Probably useful to enable browser in-memory free text search feature from mui-datatables
-component.