mirror of
https://gitlab.archlinux.org/archlinux/infrastructure.git
synced 2025-01-18 08:06:16 +01:00
It failed to reboot during the last upgrade procedure. Upon logging into the Equinix Metal console, we discovered that we lack access to all 4 of the servers sponsored by Equinix Metal. They are under the CNCF account, and it's not possible to transfer them to our organization. Equinix Metal is being sunset, and the remaining 3 servers will also go away on June 30th 2026. We can keep them until then, or until they fail to boot like seoul.mirror.pkgbuild.com.
2.5 KiB
2.5 KiB
Geo mirrors
DevOps team maintain a geo mirror across the world. The Geo mirror is public facing on geo.mirror.pkgbuild.com domain and it will resolve the closest to the location of the requester mirror.
Locations
| Mirror | Location |
|---|---|
| https://sydney.mirror.pkgbuild.com/ | Australia |
| https://europe.mirror.pkgbuild.com/ | Czechia |
| https://asia.mirror.pkgbuild.com/ | Hong Kong |
| https://london.mirror.pkgbuild.com/ | United Kingdom |
| https://america.mirror.pkgbuild.com/ | United States |
Logical split
The continent mirrors america, asia and europe contain the archive mirrors as well as repository mirrors. The city mirrors have just the repositories hosted.
Requirements
- Host with Arch Linux installed
- root access provided
- Enough storage to host repos / debugrepos (at least)
- Bandwidth (depends on location)
Adding a new mirror box
- Add new entries in
hostsfile undermirrorsandgeo_mirrorssections - Adjust terraform
tf-stage1/archlinux.tfto include the IPv4 and IPv6 entries of the new server - Adjust terraform
tf-stage1/templates.tfto include the IPv4 and IPv6 entries of the new server as aNSrecord forgeo.mirror.pkgbuild.com - Add a new files in
host_varshost_vars/<fqdn>/miscContaining all the information for the mirror itselfhost_vars/<fqdn>/vault_wireguard.ymlContaining the wireguard private key in encrypted vault
Ansible Playbooks execution
| Playbook | Roles | Reason | Hosts (limits) | Comments |
|---|---|---|---|---|
| install_arch | All | Install Arch | Optional if you can | |
| mirrors.yml | All | Setup mirror | <fqdn> |
|
| redirect.archlinux.org.yml | dyn_dns | Make TXT records | ||
| gemini.archlinux.org.yml | dbscripts | Allow debug repo syncing | ||
| mirrors.yml | geo_dns | Add new domain to DNS | All other mirrors from geo.mirror | |
| monitoring.archlinux.org.yml | wireguard,prometheus | Allow loki and prometheus to fetch data | ||
| archlinux.org.yml | postgres,wireguard | Allow wireguard IP to connect for Mirror check | Optional see Check Location below |
Add mirror in geo.mirror.pkgbuild.com
Add mirror IP and FQDN in archweb admin https://archlinux.org/admin/mirrors/mirror/ under the geo.mirror.pkgbuild.com entry.
Check Location (optional)
If you want the server to check for ping and stats create an entry in: https://archlinux.org/admin/mirrors/checklocation/