apache / streampipes

Apache StreamPipes - A self-service (Industrial) IoT toolbox to enable non-technical users to connect, analyze and explore IoT data streams.
https://streampipes.apache.org
Apache License 2.0
555 stars 172 forks source link

refactor: abstract data explorer modules from Influx-related code #2803

Closed bossenti closed 2 weeks ago

bossenti commented 2 weeks ago

Purpose

This PR continues the work of #2795 and abstracts the data explorer code from Influx-specific implementations. The idea is that whenever we want to interact with our data explorer storage we do not point to storage-specific implementations but use the DataExplorerDispatcher instead. The DataExplorerDispatcher gives aces to an an instance of DataExplorerManager which is tied to the underlying storage dependent on the configuration of StreamPipes. Therefore, this PR introduces the environment variable SP_TS_STORAGE which determines the storage to be used and defaults to influxDB. As for now, Influx is the only storage supported but this allows us to better separate our codebase and to integrate other time series storages as well.

Remarks

PR introduces (a) breaking change(s): yes

PR introduces (a) deprecation(s): no

Breaking Changes

This PR strongly moves files between different modules and therefore import paths might change, especially with respect to the module streampipes-data-explorer-influx. This PR does not have any affect on the behavior or any feature of StreamPipes.