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>
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.orgsee 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-stage1terraform applycd ../tf-stage2terraform import keycloak_realm.master masterterraform apply
Services
- keycloak
mirror.pkgbuild.com
Services
- Regular mirror, that also serves as a backend for the Fastly CDN mirror.
reproducible.archlinux.org
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
- Alertmanager
- Grafana and docs/grafana.md
- Prometheus
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
- Grafana and docs/grafana.md
- Prometheus
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