Files
infrastructure/docs/servers.md
Leonidas SpyropoulosandLeonidas Spyropoulos a37df93f21 feat(codesearch): implement zoekt-based code search role
Add complete codesearch role with zoekt implementation. Zoekt provides
disk-based sharded indexing that avoids OOM issues on 8GB systems,
with per-package .zoekt shard files and automatic discovery.

- Implement fetch-sources script that clones archlinux/packaging/state
  to determine current package list and versions, then downloads
  PKGBUILDs and upstream sources from GitLab with parallel job support
  and idempotent re-runs
- Add zoekt-webserver systemd service for search frontend
- Add zoekt-index service/timer for incremental index generation
- Configure nginx reverse proxy to port 6070 with TLS
- Set up firewall rules for HTTP/HTTPS and monitoring access

Architecture:
- codesearch-extract.timer: Daily fetch trigger
- codesearch-extract.service: Runs fetch-sources to download sources
- codesearch-index.timer: Runs every 5 minutes after extraction
- codesearch-index.service: Builds zoekt shards
- codesearch-webserver.service: Serves search UI from disk shards

Fixes: infrastructure#808

Signed-off-by: Leonidas Spyropoulos <artafinde@archlinux.org>
2026-05-26 14:40:32 +01:00

4.4 KiB

Servers

Table of contents

[[TOC]]

archive.archlinux.org

Services

  • archive (archive.archlinux.org)

lists.archlinux.org

Services

  • mailman

archlinux.org

Services

  • archweb (Arch's site)

aur.archlinux.org

Services

  • aurweb

bastion.archlinux.org

Services

  • SSH bastion/jump host for accessing resources which need static incoming IP. The server has a floating IPv4 assigned in Hetzner - see vault_umea. Once a tunnel is setup using ssh -D1080 root@bastion.archlinux.org see FoxyProxy Docs on how to setup for required domain.

bbs.archlinux.org

Services

  • bbs

phrik.archlinux.org

Services

  • phrik (irc bot) users in the phrik group defined in the hosts vars and re-used the archusers role. Users in the phrik group are allowed to restar the irc bot.

state.archlinux.org

Services

  • postgres server for terraform state

quassel.archlinux.org

Services

  • quassel core

matrix.archlinux.org

Services

  • Matrix homeserver (Synapse)
  • Matrix ↔ IRC bridge

homedir.archlinux.org

Services

  • ~/user/ webhost

accounts.archlinux.org

This server is special. It runs keycloak and is central to our unified Arch Linux account management world. It has an Ansible playbook for the keycloak service but that only installs the package and starts it but it's configured via a secondary Terraform file only for keycloak keycloak.tf. The reason for doing it this way is that Terraform support for Keycloak is much superior and it's declarative too which is great for making sure that no old config remains in the case of config changes.

So to set up this server from scratch, run:

  • cd tf-stage1
  • terraform apply
  • cd ../tf-stage2
  • terraform import keycloak_realm.master master
  • terraform apply

Services

  • keycloak

mirror.pkgbuild.com

Services

reproducible.archlinux.org

Rebuilderd docs

Services

  • Runs a master rebuilderd instance with these workers:
    • repro4.pkgbuild.com (Proxmox VM with 16vCores and 192G RAM - 2 workers)

secure-runner1.archlinux.org

Services

  • GitLab runner

runner2.archlinux.org

Services

  • GitLab runner

mail.archlinux.org

Services

  • postfix (mail server)
  • rspamd
  • dovecot (imap)

monitoring.archlinux.org

Prometheus, Loki and Grafana server which collects performance/metrics and logs from our services and runs alertmanager.

Services

mumble.archlinux.org

Services

  • Mumble

dashboards.archlinux.org

Prometheus, and Grafana server which receives selected performance/metrics from monitoring.archlinux.org and make them public accessible.

Services

redirect.archlinux.org

Services

  • Redirects (nginx redirects)
  • Authoritative DNS server (PowerDNS) for ACME DNS challenges
  • ping

repos.archlinux.org

Services

  • repos/sync (repos.archlinux.org)
  • sources (sources.archlinux.org)

security.archlinux.org

Services

  • security tracker

wiki.archlinux.org

Services

  • archwiki

md.archlinux.org

Online collborative markdwown editor for Arch Linux Staff.

Services

Archive Mirrors

The Arch Linux Archive is mirrored to the following dedicated servers to help aid global availability.

Servers

gitlab.archlinux.org

Services

  • GitLab

bumpbuddy.archlinux.org

Services

buildbtw.archlinux.org

Services

  • buildbtw production

buildbtw.archlinux.builders

Services

  • buildbtw staging

buildbtw.archlinux.review

Services

  • buildbtw review apps

codesearch.archlinux.org

Services

  • zoekt code search over Arch Linux package sources

finance.archlinux.org

Services

  • finance dashboards