1
1
mirror of https://gitlab.archlinux.org/archlinux/infrastructure.git synced 2025-01-18 08:06:16 +01:00
infrastructure/docs/geomirrors.md
Evangelos Foutras c7e6f23e50
Remove seoul.mirror.pkgbuild.com dedicated server
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.
2024-11-17 20:59:47 +02:00

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 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
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/