Files
infrastructure/docs/geomirrors.md
Christian Heusel 2e666c1bee Remove references to the europe mirror
Since the mirror had unreliable network in the recent times we decided
to reboot it at the danger of it going away like the america and asia
boxes. As it did not come back after the reboot it's now time to say
goodbye.

Signed-off-by: Christian Heusel <christian@heusel.eu>
2025-12-20 19:15:24 +01:00

2.7 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://berlin.mirror.pkgbuild.com/ Berlin (Germany)
https://frankfurt.mirror.pkgbuild.com/ Frankfurt (Germany)
https://johannesburg.mirror.pkgbuild.com/ Johannesburg (South Africa)
https://london.mirror.pkgbuild.com/ London (United Kingdom)
https://losangeles.mirror.pkgbuild.com/ Los Angeles (United States)
https://singapore.mirror.pkgbuild.com/ Singapore
https://taipei.mirror.pkgbuild.com/ Taipei (Taiwan)
https://umea.mirror.pkgbuild.com/ Umea (Sweden)

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 under mirrors and geo_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 a NS record for geo.mirror.pkgbuild.com
  • Add a new files in host_vars
    • host_vars/<fqdn>/misc Containing all the information for the mirror itself
    • host_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
repos.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/