Use RemoteMirrors::CreateService in push mirror creation process
What does this MR do and why?
Contributes to #455515 (closed)
Problem
Currently, push mirror creation logic is duplicated and inconsistent
between API and UI. Moreover, we rely on Projects::UpdateService
to
make changes to push mirrors. It's error-prone and inconvenient to use
push mirrors.
Solution
- Extract common push mirror creation logic into
RemoteMirrors::CreateService
- Replace old code with calls to the new service
- Use feature flag to ensure that nothing breaks.
Roadmap
- Add create service for push mirrors (!149700 - merged) (adds a new service)
-
Use RemoteMirrors::CreateService in push mirror... (!149263 - merged)
👈
How to set up and validate locally
- Enable feature flag
use_remote_mirror_create_service
- Create a new push mirror
- Create a new pull mirror
- Delete push and pull mirror
- Everything should work without any problems
Numbered steps to set up and validate the change are strongly suggested.
Edited by Vasilii Iakliushin