Mirroring service

  • Server: {master,webapps2}.gnome.org kindly hosted by Red Hat

  • URL: download.gnome.org

  • Software used: MirrorBrain

  • Puppet module: mirrorbrain

The mirroring service is where people can download the latest releases of GNOME software, it's currently managed through MirrorBrain and it's available at https://download.gnome.org.

How it works

When a maintainer makes a software release, they prepare their tarball, SCP it to master.gnome.org, and then SSH in to master.gnome.org to properly make use of the /usr/local/bin/ftpadmin script. This script creates checksums and installs everything in the appropriate place under /ftp/pub/GNOME, and runs the /usr/local/bin/signal-ftp-sync script, which triggers the update of the main GNOME mirror located in Sweden and kindly hosted by the Academic Computer Club of the UmeƄ University.

From there the other mirrors around the world are kept in sync (usually once a day) and updated with the latest software introduced. MirrorBrain is then responsible to handle the whole infrastructure behind our mirroring service making sure hashes, download links and other information are properly generated.

New mirrors

Are you interested in mirroring GNOME's code? This should be for you :-)

Applying to become a mirror

Open a new issue providing the template requested information. We will assess the request and respond with the rsync password.

Notes for normal rsync mirrors

Please configure your mirror to rsync 2-3 times a day. An example rsync command might look like this:

rsync -vrlpt --delete-after --password-file $HOME/bin/rsync_password mirror@master.gnome.org::gnomeftp /ftp/pub/mirror/ftp.gnome.org/pub/gnome

When you have successfully rsynced your mirror and are live, report back with the HTTP and/or FTP URLs of your mirror. We will spot-check the URLs provided and add them to our mirror database. (also make sure to add the relevant email on the private FTP Mirror mailing list on postfix)

Notes for push-updated mirrors

This works much the same as the normal rsync mirror, except that the rsync is triggered by a signal from the master FTP server, rather than just 2-3 times a day.

First, set up a pseudo-user, say gftpsync. Then, send the username of the pseudo-user to support@gnome.org and request a copy of our combobox:/home/admin/secret/gnomeftp/id_rsa.pub file. They will add your user/hostname to the bottom of the /usr/local/bin/signal-ftp-sync.sh script. You will add gnomeftp's public key to your server's ~gftpsync/.ssh/authorized_keys file.

You also need to tell your SSH daemon to force the user to run your local rsync script (instead of running the 'sleep 1' that our side requests!). To do this, add a command= before gnomeftp's key in authorized_keys. It might look something like this:

command="/usr/local/bin/trigger-gnomeftp-rsync" ssh-rsa AAAAB3Nz......ipThwtEc= gnomeftp@master.gnome.org

Now, whenever someone runs ftpadmin install on the GNOME master server to make a new release, your server should re-sync with the master within seconds/minutes. Job done.

Sysadmin/Mirrors (last edited 2018-12-03 12:56:37 by AndreaVeri)