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:

postgresql ruby rails mirrorbrain python perl css html5

This project is part of:

Hack Week 10 Hack Week 11

Activity

  • over 8 years ago: abodry joined this project.
  • over 9 years ago: lrupp added keyword "css" to this project.
  • over 9 years ago: lrupp added keyword "html5" to this project.
  • over 9 years ago: lrupp added keyword "perl" to this project.
  • over 9 years ago: lrupp added keyword "python" to this project.
  • over 9 years ago: lrupp added keyword "mirrorbrain" to this project.
  • over 9 years ago: lrupp added keyword "rails" to this project.
  • over 9 years ago: lrupp added keyword "postgresql" to this project.
  • over 9 years ago: lrupp added keyword "ruby" to this project.
  • over 9 years ago: lrupp liked this project.
  • over 9 years ago: lrupp joined this project.
  • over 9 years ago: tampakrap liked this project.
  • over 9 years ago: jnweiger left this project.
  • over 9 years ago: jnweiger joined this project.
  • over 9 years ago: jnweiger left this project.
  • over 9 years ago: jnweiger joined this project.
  • over 9 years ago: jnweiger liked this project.
  • over 9 years ago: darix started this project.
  • over 9 years ago: hennevogel left this project.
  • over 9 years ago: hennevogel started this project.
  • over 9 years ago: hennevogel left this project.
  • over 9 years ago: hennevogel started this project.
  • over 9 years ago: darix originated this project.

  • Comments

    • lrupp
      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

    • darix
      over 9 years ago by darix | Reply

      Ported to rails 4!

    • lrupp
      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!

    • lrupp
      over 9 years ago by lrupp | Reply

      adding additional fields for public comments and IP addresses for the scanner is also an interesting point...

    • lrupp
      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...