-
-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace MirrorBrain by MirrorCache or Mirrorbits #239
Comments
This is becoming more important with one of our mirror (https://mirror.accum.se/mirror/kiwix.org/) hosting our files on multiple servers (it's a mirror frontend itself) making use of redirections which are not supported by mirrorbrain. I don't know if that's supported in mirrorcache though but I know mb is not worth it. In the mean time, I've duplicated the mirror entry so we point independently to the two offloaders I've seen files in. This wastes a lot of requests in scanMirror step but at least we can use the mirror… |
See https://github.com/etix/mirrorbits as well |
I had tested MirrorCache a long time ago and without remembering the details it was really too short on the features. Mirrorbits seems more mature and deserve probably to give a try. Here are the features we like or rely on:
@benoit74 @rgaudin Do you see other features which are important to us? Now what needs to be decided is when and how we will proceed to move forward with this POC with Mirrorbits. |
I have very little experience on this part of the stack. One thing we struggle with currently is the scans of mirrors to refresh individual assets status. Currently this process has to be made one mirror at a time, it is not possible to run in parallel (at least we failed). The new solution must be able to run this scan in parallel, otherwise it is not scalable. As the number of mirrors grows, the time to scan all of them grows as well and our refresh period if getting bigger and bigger. Currently the refresh period is getting pretty high, more than 2 hours at least: https://kiwixorg.grafana.net/d/bb0f0990-04c5-4314-8afc-6185ac49c668/mirrorbrain?orgId=1&from=1695625815425&to=1696230615425 |
We've decided that @benoit74 will assess mirrorbits in regard to our needs. What we want to know is:
|
This is my comparison chart so far. ❌ Not Supported, bad thing
I'm really not convinced by those two solutions. I would probably prefer to stay with MirrorBrain for now until we find a better solution. If we are forced to choose one now, I will try MirrorCache for:
Effort to implement MirrorCache given all missing features is however probably significant (1 month?). I have too limited experience of Bittorrent / Magnet links to say something very pertinent on that point. But since it is written in Perl, we probably need to hire an external developer to do our stuff. |
Thank you ; very useful 👍 In this case, we're probably better off keeping mirrorbrain until we're forced out. Main concern is security obviously. Our data is not completely safe as we mount the downloads folder in More concerning would be the possibility of altering mirrorbrain's response to inject redirections to our users. Should we close this ticket for now? |
Couple notes:
|
I did not noticed the last issue regarding the fact that jbkempf is maintaining mirrorbits live, it is indeed quite an important information. |
We should gather the problems/challenges we have with mb to be able to complete comparaison. |
❌ Not Supported, bad thing
|
Just updated with Mirrobrain column + fixes to Mirrobits details + new line regarding HTML home page |
As discussed with @benoit74 my opinion is to continue with MB until we're forced out. In that case, should the environnement be the same, I support patching mirrorbits to add metalink support and hashes on same paths (both very easy). As for BT, it's relatively easy as well but whether it would be integrated upstream is another question. |
OK, then I guess this ticket is implemented (at least for the short term), we will need to fork Mirrorbrain to fix the most urgent stuff. |
I think we can just patch a couple things in our image without adding the burden of a fork. This guy's patch is a line in a perl script |
@benoit74 FWIW and while etix/mirrorbits#138 is in progress, we're using mirrorbits on Jenkins Infrastructure, with our own docker image and helm chart, that might interest you: |
Thanks a lot @lemeurherve for the pointers |
@kelson42 please take another look |
And have a look especially at etix/mirrorbits#138 and etix/mirrorbits#179 which shows that maintenance of mirrorbits is "getting better" |
Mirrorbrain is deprecated and there is a replacement http://www.mirrorcache.org/. We should probably migrate our architecture
The text was updated successfully, but these errors were encountered: