A web frontend for the mirrors in the mirrorbrain database to allow the mirror admins to manage their entries themself.
You might know MirrorBrain already: our download redirector and Torrent/Metalink generator used u.a. on download.opensuse.org. It's really a great tool that plays a hidden key role inside the openSUSE infrastructure.
But while the amount of openSUSE mirrors is increasing over the time (currently we have >180 mirrors in our database!), the amount of main administrators for the database itself is not increasing as well.
It happens, that mirrors want to limit the traffic for a specific time (means for us: decreasing the score of this specific mirror) or changing their setup (means for us: adapting the URLs for FTP, HTTP, rsync or the operator Name and Url - or even the Name and Email of the mirror admin). Not thinking about the work for adding new mirrors or removing old ones. Sometimes it might also be enough to disable a mirror for a short time - and re-enable it after the maintenance work is done. All this is currently done manually on request via mail to admin@opensuse.org or mirror@opensuse.org
But as most of the stuff above only affects single mirrors that are already maintained by people who should know what they are doing, why not allowing them to do the requested steps on their own?
Maybe they can even trigger a "rescan" of their mirror once it is added - or something has changed/fixed?
Wouldn't this be cool?
We guess: yes!
Looking for hackers with the skills:
This project is part of:
Hack Week 10 Hack Week 11
Activity
Comments
-
over 9 years ago by lrupp | Reply
- Initial code is now at https://github.com/openSUSE/mirrorpinky - thanks to Darix for the new project!
- Communication with upstream via mailing list looks currently broken (no mail delivery, no error messages) - working on this topic in parallel
-
-
over 9 years ago by lrupp | Reply
Big progress today: Big progress today: * mirrors are listed like on mirrors.opensuse.org but with additional filters (distribution, region and markers), which makes it easier for customers to find "their" mirror * each mirror belongs at least to one admin-group * users in such a group can edit the mirror data * the entered data is validated * the page to register a new mirror is prepared
TO DO: * finish the backend parts to create a new mirror (getting Geo-based UP information, incl. ASN data and prefixes from entered data and more validation) * log all changes * do we need a "go back" button? * add delete button for mirrors * add additional tools like a search engine, "scan now" button, ... * clean-up css and html templates * write a script to create groups and users from current data and assign them to the right servers
So there is still a lot to do, but important basics are there now and we might be able to have something to present real soon!
-
-
over 9 years ago by lrupp | Reply
Done:
- creating and deleting a mirror works now (thanks to darix!)
- enhanced the web page layout, to have more space for the important data
- merged rails4 branch with master => we will not "ship" a rails3 version any more
- providing a small Google map for the Geo Location of a server
ToDo:
- write a script to create groups and users from current data and assign them to the right servers
- add additional tools like a search engine, "scan now" button, ...
- log all changes * do we need a "go back" button?
- allow users to search for a specific server
- add additional field for "rsync from" addresses, so admins can add the origin IP addresses their servers use to sync from stage.opensuse.org
Similar Projects
Port the Minion job queue to TypeScript by kraih
Project Description
As part of the [mojo....
Learn PostgreSQL advanced features by okurz
Motivation
The PostgreSQL database implement...
Simple time scale for active record models by digitaltomm
[comment]: # (Please use the project descriptio...
Uyuni test suite improvements by dgedon
Project Description
Uyuni is the upstream...
Improve error handling of the '/search' API endpoints of OBS by enavarro_suse
Project Description
Improve error handlin...
Simple time scale for active record models by digitaltomm
[comment]: # (Please use the project descriptio...
One of couple of Python projects (update M2Crypto) by mcepl
There are couple of projects I work on, which n...
Linux Immersive Learning System (LILS) by dgarcia
[comment]: # (Please use the project descriptio...
zypper plugin for discovering reverse dependencies by bzoltan1
Often when we test maintenance updates or when ...
Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil
Join the Gitter channel! [https://gitter.im/uy...
Give some love to spec-cleaner by kstreitova
Project Description
spec-cleaner is an open...
OSSelot collaboration on legal reviews of community packages by lkocman
[comment]: # (Please use the project descriptio...
Proof of Concept for a Perl binding to libfyaml by tinita
Project Description
Similar to [YAML::Lib...
Run autoupdate-perl in CI by tinita
Project Description
Currently [autpupdate...
Port the Minion job queue to TypeScript by kraih
Project Description
As part of the [mojo....
Implement text based OCR in openQA by clanig
Project Description
Currently openQA requir...