sc-machine icon indicating copy to clipboard operation
sc-machine copied to clipboard

Config file overhaul

Open FallenChromium opened this issue 3 years ago • 2 comments

Is your feature request related to a problem? Please describe. Currently configuring components of OSTIS is clunky and most of this configuration happens inside sc-machine. Some parameters are a legacy of previous versions. Config file makes other components FS-dependent on sc-machine. Partially this is solved by #43, but we should look into improving it further in such areas as:

  1. Clarity and readability
  2. Extensibility (for future modules or implementations)
  3. Unification (unified config parser for both C++ code and Python modules/scripts)
  4. Standardisation

Describe the solution you'd like Most of the discussion about the config file happened upon reviewing #43. Some notable points:

  1. currently naming of the variables is not unified and is not intuitive
  2. It's not clear which parameters are required and which are optional. In case they're optional, it's not clear what's the default
  3. There is no clear separation between configuration of each component. The file should either be unified and used across all instances\parts of the OSTIS-based system (then it would make sense to split the configuration into common parts which are used across most components, such as network/storage/caching/authentication, and then also split it into configuration of optional components, think [sc-inference] section or something like this).

Describe alternatives you've considered

  1. We could split the configuration on a per-component basis for more independence between them, but it may become harder to set up a complex system like that. I would not like to do it the way ostis-web-platform did before #43 appeared.
  2. We could also leave the old config format if you consider the problems described above non-critical, but we would still have to unify the parser, create some kind of standard and stick to it in the future.

FallenChromium avatar May 17 '22 18:05 FallenChromium

I fully agree with you. Let's discuss a structure of the config file (what attributes it should consist of) and perhaps a work of the parser. It seems to me that it is also worth paying attention to what should be in the config file, and what can be taken out, for example, in CMakeLists.txt.

NikitaZotov avatar May 26 '22 07:05 NikitaZotov

This problem will be solved when we can write configs in .scs files

NikitaZotov avatar Jun 17 '23 15:06 NikitaZotov