awesome-flow / flow

Flow is a Golang framework for building complex configurable message relays
MIT License
18 stars 4 forks source link

[WIP] Flow Config Framework 2.0 #43 #49

Closed osdrv closed 5 years ago

osdrv commented 5 years ago

This PR promotes a new branch of changes dedicated to one of the core components of Flow: the config. We introduce the concept of a Repository: a config source provider communication hub. It decides what provider serves a specific config key based on Provider weights, looks up for type Mappers assigned for every specific key and does it recursively. Mappers are powered by low-level Converter logic, which are flexibly combinable in conversion Chains. This all gives us an ultimate flexibility in serving the config data and treating all config sources as 1st class citizens.