scylladb / scylla-manager

The Scylla Manager
https://manager.docs.scylladb.com/stable/
Other
53 stars 34 forks source link

Re-structure SM modules #4121

Open Michal-Leszczynski opened 1 week ago

Michal-Leszczynski commented 1 week ago

Right now we have 4 modules in our SM repo:

This module division is annoying to work with. For example, when extending task progress display in sctool, one must:

Which creates a lot of steps and is prone to conflicts when multiple people are working on SM sub-modules. Not to mention that forgetting to update dependencies might be easy to overlook and it could cause problems with releases.

Except for this module structure being annoying to work with, it also does not make much sense logically:

Proposed solution:

  1. Change swagger module to contain just SM swagger definitions and generated code
  2. Merge SM-agent swagger into SM core module
  3. Switch from maintaining Scylla swagger in our repo to importing it from Scylla golang swagger repo (created and used by the operator team)
  4. Merge managerclient module into SM core module - siren/cloud should be fine with that, as they just need the SM swagger generated files, which can be found in the SM swagger module - although it would require some small changes on their side (perhaps we can do it for them).
  5. Merge util module into SM core module

This would leave us with just 2 modules:

Michal-Leszczynski commented 1 week ago

@karol-kokoszka @VAveryanov8 I made some changes to the approach discussed during our meeting, but that's because I learned a little bit more about how swagger definitions are managed by the operator team. Please let me know if you are fine with this approach!

VAveryanov8 commented 1 week ago

Thanks for doing the extra mile! This approach looks good to me - especially separate repo for Scylla swagger definitions!