A .thoth.yaml configuration file supports overlays, which allows e.g. different configurations for thoth adviser (different runtimes, different recommendation types). However, the managers configuration section is common to all the overlays.
I would like to be able to have different Kebechet manager configurations in different overlays, so I can choose to e.g. get the benefits of thoth advice in one overlay but just use the pipenv-based update manager for another.
The fact that there is a single manager configuration for the whole repo means that enabling a certain manager is an "all or nothing" configuration option. If I have 10 overlays and 1 of them can not work with thoth-advise manager, then I can not use thoth-advise in the other 9 overlays either.
High-level Goals
To be able to configure different managers / options per overlay.
Proposal description
Some options to implement this:
If .thoth.yaml has an overlays_dir configured, then the managers configuration section contains one entry per overlay. This approach would be consistent with how thoth / thamos configuration looks like, but it might introduce too much redundancy
Allow individual overlays to override the global configuration, by having the same configuration structure as now but adding the possibility to introduce overlay-specific overrides
Add allow and disallow to each manager's configuration options, where the user can specify which repos each manager is (dis)allowed to act on.
Alternatives
Keep it as is. It works, but it is less flexible.
Additional context
Acceptance Criteria
[ ] the .thoth.yaml configuration file has some way to specify different manager configurations for different overlays
[ ] it is possible to enable and disable different managers in different overlays
Problem statement
A
.thoth.yaml
configuration file supports overlays, which allows e.g. different configurations for thoth adviser (different runtimes, different recommendation types). However, themanagers
configuration section is common to all the overlays.I would like to be able to have different Kebechet manager configurations in different overlays, so I can choose to e.g. get the benefits of thoth advice in one overlay but just use the pipenv-based update manager for another.
The fact that there is a single manager configuration for the whole repo means that enabling a certain manager is an "all or nothing" configuration option. If I have 10 overlays and 1 of them can not work with
thoth-advise
manager, then I can not usethoth-advise
in the other 9 overlays either.High-level Goals
To be able to configure different managers / options per overlay.
Proposal description
Some options to implement this:
.thoth.yaml
has anoverlays_dir
configured, then themanagers
configuration section contains one entry per overlay. This approach would be consistent with how thoth / thamos configuration looks like, but it might introduce too much redundancyallow
anddisallow
to each manager's configuration options, where the user can specify which repos each manager is (dis)allowed to act on.Alternatives
Keep it as is. It works, but it is less flexible.
Additional context
Acceptance Criteria
.thoth.yaml
configuration file has some way to specify different manager configurations for different overlays