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
hosts
file undermirrors
andgeo_mirrors
sections - Adjust terraform
tf-stage1/archlinux.tf
to include the IPv4 and IPv6 entries of the new server - Adjust terraform
tf-stage1/templates.tf
to include the IPv4 and IPv6 entries of the new server as aNS
record forgeo.mirror.pkgbuild.com
- Add a new files in
host_vars
host_vars/<fqdn>/misc
Containing all the information for the mirror itselfhost_vars/<fqdn>/vault_wireguard.yml
Containing 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/