mirror of
https://gitlab.archlinux.org/archlinux/infrastructure.git
synced 2026-09-11 03:10:21 +02:00
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>
15 lines
335 B
Django/Jinja
15 lines
335 B
Django/Jinja
[Unit]
|
|
Description=Zoekt code search web server
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User={{ codesearch_user }}
|
|
Group={{ codesearch_group }}
|
|
ExecStart=/usr/local/bin/zoekt-webserver -index {{ codesearch_index_dir }} -listen :{{ codesearch_zoekt_web_port }}
|
|
Restart=on-failure
|
|
RestartSec=10
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|