Jigdo Member
How to create a jigdo member to be added to the main Fedora Unity round-robin jigdo source.
Hosting Re-Spins
Most Fedora Unity spins will need to be hosted in the long run as the updates tree is a moving target. We have decided to have a round-robin based mirror network to provide the template data and any remaining data that can not be found on the public mirrors.
Apache
You will need to configure apache to respond to jigdo.fedoraunity.org. This information assumes you run name based virtual hosts. To make that clear we have included the NameVirtualHost directive, which only needs to be declared once. This also assumes you will be hosting data in /var/www/jigdo.Make sure to adjust to your server settings and preferences.
Please note, it is a requirement to log access data to our spread node.NameVirtualHost *:80
<VirtualHost *:80>
ServerName jigdo.fedoraunity.org
DocumentRoot /var/www/jigdo
ErrorLog logs/jigdo-error_log
CustomLog "|/var/www/jigdo/unity/client.pl -g jigdo" combined
<Directory /var/www/jigdo>
Options -Indexes
</Directory>
RewriteEngine On
RewriteRule ^/$ http://spins.fedoraunity.org/ [R,L]
</VirtualHost>
DNS
You will also need to request the IP address of your server to be added to the jigdo.fedoraunity.org entry. Please ask in #fedora-unity or contact usData Layout
The whole point of using round-robin will be to allow any client to contact any member and get the same results. This means the data layout needs to be consistent. Please keep the following layout.
/var/www/jigdo . |-- data | |-- 20080501 | | |-- some.rpm | | |-- some-other.rpm | |-- (...) | `-- (...) | |-- templates | |-- 20080501 | | |-- iso1.template | | |-- iso2.template | |-- (...) | `-- (...) | `-- unity
Getting the Data
To make things very easy, we have setup a rsync source. Run the following command to populate your mirror to match the swarm:
rsync -aHvz --delete rsync://spinner.fedoraunity.org/jigdo/ /var/www/jigdo/
Automating Fetching Data
To keep things in sync, please automate fetching the data. Add a crontab entry for the user you would like to sync as:
Note: Switch to your preferred user and then crontab -e
0 */1 * * * rsync -aHvz --delete rsync://spinner.fedoraunity.org/jigdo/ /var/www/jigdo/ > /tmp/rsync.log 2>&1; if [ $? -gt 0 ]; then cat /tmp/rsync.log | mail -s "rsync errors" root; fi
Please adjust the 0 (this is the minute within the hour the sync will start) as it will help randomize fetching. Thanks.

