Hi,
I’m asking for opinions and preferences.
There is no right or wrong.
Scenario:
I have a tool (server component, api only, no gui) that has a config file and no per-user adjustable things. The admin can change things, of course.
Now the tool gets plugins, where to configure them?
- All in one config file with plugins having a section for their things,
- plugins get their own config file.
- the main config points to a storage (database) with config options for everything, a kind of variant of 1.
- something else/better
Hoping for a civil discussion ;)
Cheers
Grumpy
A complicated plugin ecosystem (e.g. Jenkins) makes for a terrible use experience. It’s annoying to configure a bunch of config files. Managing dependencies can be a complete nightmare. these problems also complicate your ci/cd.
So I’ll offer a slightly different answer. I prefer a single file instead of splitting up the config. And I’ll use OpenTelemetry as an excellent example of why. the plugins are compiled right into the app binary. This offers a ton of advantages, including a great reason to merge all of your app configs in a single file.
This really only works well if you have a good app though.