Docs/Mirrors: Difference between revisions

no edit summary
No edit summary
No edit summary
=== Hardware ===
Mirrors is a standalone [https://www.dell.com/en-us/shop/povw/poweredge-r730xd/1000 Dell R730xd] server (3.5" drive bay variant)
 
Currently iDrac is non-functional, this should be investigated.
 
=== Operating System ===
You can view the nginx configuration in <code>/usr/local/etc/nginx/nginx.conf</code> to view and change settings. This file is no longer managed by salt, and can be edited by hand.
 
=== Core tasks ===
At its core, a mirror server performs two functions:
 
# Synchronizing the content from upstream mirrors to itself
# Hosting that downloaded content for end-users and other downstream mirrors to pull from
 
On our mirrors, this is accomplished with archvsync+cron to synchronize content with upstream, and vsftpd+rsyncd+nginx to handle hosting the content.
 
==== Pulling from upstream ====
 
===== ftpsync =====
The ftpsync utility from the archvsync project is what we use to synchronize content on upstream servers to Mirrors.
 
When we rebuild mirrors, we should either install it via pkg (if available) or <code>git pull</code> it anew, and place it in <code>/opt/archvsync/</code>
 
===== cron =====
<code>cron</code> calls <code>ftpsync</code> to run at certain times.
 
Keep in mind this is when syncing starts, it may take a moment before it's fully up-to-date with upstream.
 
==== Serving to downstream ====
<code>vsftpd</code> is the ftp daemon running on port <code>21</code>, and allows all recursive content inside <code>/lug</code> to be downloaded by anonymous users.