Add devpi PyPI caching proxy role for indri #9

Merged
eblume merged 3 commits from feature/devpi-pypi-proxy into main 2026-01-15 08:31:10 -08:00

3 commits

Author SHA1 Message Date
0653ca8601 Move metrics scripts to ~/bin instead of /opt/homebrew/bin
User scripts belong in the user's bin directory, not in homebrew's bin.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 08:22:18 -08:00
fa6a9d89b7 Add devpi metrics collection and Grafana dashboard
- Create devpi_metrics ansible role that collects metrics from devpi's
  +status endpoint and writes them in Prometheus textfile format
- Add Grafana dashboard for devpi with panels for status, cache hit/miss
  rates, search index queue, and cache sizes
- Use jq for robust JSON parsing of the devpi status response

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 08:18:22 -08:00
f72e0f57b6 Add devpi PyPI caching proxy role for indri
Set up devpi-server as a transparent PyPI caching proxy on indri,
accessible via Tailscale at pypi.tail8d86e.ts.net.

- Add ansible role with LaunchAgent (KeepAlive service via mise x)
- Add health checks to indri-services-check script
- Configure to listen on port 3141, data stored in ~/devpi

Note: Manual setup required on indri before provisioning:
1. Add devpi packages to ~/.config/mise/config.toml
2. Run mise install && mise x -- devpi-init --serverdir ~/devpi
3. Set up Tailscale service after ansible provisioning

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 06:56:42 -08:00