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

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

  • Comments

    • lrupp
      about 11 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
      about 11 years ago by darix | Reply

      Ported to rails 4!

    • lrupp
      about 11 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
      about 11 years ago by lrupp | Reply

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

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

    Fix RSpec tests in order to replace the ruby-ldap rubygem in OBS by enavarro_suse

    Description

    _"LDAP mode is not official s...


    Recipes catalog and calculator in Rails 8 by gfilippetti

    [comment]: # (Please use the project descriptio...


    Recipes catalog and calculator in Rails 8 by gfilippetti

    [comment]: # (Please use the project descriptio...


    ClusterOps - Easily install and manage your personal kubernetes cluster by andreabenini

    Description

    ClusterOps is a Kubernetes ...


    SUSE AI Meets the Game Board by moio

    Use [tabletopgames.ai](https://tabletopgames.ai...


    Team Hedgehogs' Data Observability Dashboard by gsamardzhiev

    Description

    This project aims to develop a ...


    Ansible for add-on management by lmanfredi

    Description

    Machines can contains various...


    Run local LLMs with Ollama and explore possible integrations with Uyuni by PSuarezHernandez

    Description

    Using Ollama you can easily run...


    Create object oriented API for perl's YAML::XS module by tinita

    Description

    [YAML::XS](https://metacpan.o...