Changes

Mirror Server

1,797 bytes added, 11:17, 21 August 2014
== Requirements ==
 
* Hosts all the files required to build a package (<code>GENTOO_MIRRORS=mirror.example.com/public/gentoo/distfiles</code>)
** Acts as a caching mirror for already downloaded packages from an official mirror, example caching mirror URL https://mirror.example.com/mirror
** Serves fetch-restricted files (<code>dev-java/oracle-jdk-bin</code> for example), to authorized clients
* Files are served via HTTPS
* Distinguishes between three groups of files
** '''public''': Files which are available to all clients (theoretically even to the entire internet, added to clients via GENTOO_MIRRORS)
** '''site-local''': Files which are only available to authenticated clients belonging to the same infrastructure (for example those which would put us into [http://www.bettercallsaul.com/ legal troubles] if available to the public, used by clients via a ''local'' entry in <code>/etc/portage/mirrors</code>)
*** A subdirectory named after a site will be created below <code>site-local</code>, for example <code>site-local/example-site</code>.
** '''stack-local''': Files which are only available to authenticated clients belonging to the same infrastructure and the software stack group (private files of a specific customer, used by clients via a ''local'' entry in <code>/etc/portage/mirrors</code>)
*** A subdirectory per stack will be created below <code>stack-local</code>, for example <code>stack-local/secret-stack</code>.
* Provides an easy way to let an administrator manually upload new files, for example via WebDAV-CGI, SFTP or a similar mechanism.
* Possibility to authenticate clients either via HTTP basic auth or client certificates.
* Old or no longer supported files will be removed automatically
* Can be implemented on the [[#Build_host_requirements|build host]]
 
 
== Directory structure ==
Bureaucrat, administrator
425
edits