Mirror definition - Proposal for new mirror administration routines and mirror requirements
Compare changes
rfcs/0029-mirror-definition.rst
0 → 100644
+ 144
− 0
This RFC aims to rectify these things by defining a new method of registering, updating, maintaining and decommissioning mirrors via `GitLab`_. Its main focus is on a proposed TOML format per mirror definition, which then gets consumed in various steps to produce a single source of truth for mirrors. A benefit from moving to `GitLab`_ is that Arch Linux can move away from publicly revealing the mirror administrator's e-mail address while retaining the ability to contact mirror administrators via `GitLab`_. As `GitLab`_ contact information can be used instead. Thus complying with regulatory demands.
Existing Arch Linux mirror metadata in the archweb will be transformed and migrated to the `Gitlab`_ repository by the Arch Linux mirror-list administrators. Mirror owners will be able to create a `GitLab`_ account where they will be able to open issues and create merge requests to alter their published mirror information. The option to mail support related tasks with mirrors will remain.
Expected outcome is that none of the changes outlined in this RFC will be noticed by end users or by the services provided under archlinux.org. However, some of the changes in this RFC will be noticeable by the Arch Linux mirror-list administrators as well as the mirror administrators themselves during this process, most notably the creation of a `GitLab`_ account will take some coordination as well as setting up tooling to manage the new mirror spec and database synchronization.
A `mirror specification`_ has been created and is hereby proposed as the new standard going forward for new mirror submissions, updating the published mirror information as well as decommissioning mirrors. The specification is a living entity, but is versioned and should aim to be backwards compatible while no such restriction is enforced at this time.
The specification aims to define what a mirror is, and must be in a machine readable format as well as being easy for humans to read. TOML is proposed as an alternative to JSON for individual mirror entries as it supports comments as well as fulfill both requirements of being human and machine readable.
Specific mirror specification versions will become deprecated followed by a discontinuation as new versions are created. Each new version aims to be backwards compatible, but is not a requirement. Wherever possible, new mirror specification versions will - if possible - automatically migrate old mirror entries to newer versions
Each individual mirror entry in TOML format might then be combined into a single source of truth in other formats, such as JSON. This single source of truth can then be used by Arch Linux back-ends and services. This RFC proposes JSON as the chosen format for the single source of truth *(combined mirror entries)* it's an adopted standard by many libraries and languages, and the initial format of said JSON file is proposed to follow the format of `MirrorZ`_ v1.7 or higher.
Having to create a `GitLab`_ account might come across as demanding when compared to communicating via the traditional way of e-mail. However this also helps Arch Linux commit and ensure privacy concerns, better organization of mirrors and tasks around it. And thus Arch Linux commits to improving privacy and reliability in terms of communication between Arch Linux mirror-list administrators and the mirror administrators.