blumeops/docs/reference/services/devpi.md
Erich Blume 8498dbb559 docs: refresh devpi reference card and scrub stale references
- docs/reference/services/devpi.md: rewrite for the new launchd
  layout (no more namespace/PVC/ArgoCD/image/ExternalSecret) and
  link to the new how-to.
- docs/reference/infrastructure/tailscale.md: drop tag:devpi from
  the per-service Ingress tag list.
- docs/reference/storage/backups.md: clarify the devpi-cache row
  to call out the new on-indri path.
- docs/how-to/operations/rebuild-minikube-cluster.md: trim the
  "Devpi cold cache after rebuild" section — devpi is no longer in
  minikube — keep a brief note for the still-possible cold-cache
  race after fresh devpi init.
- docs/how-to/operations/devpi-on-indri.md: correct the Backup
  section — server-dir is NOT in borgmatic_source_directories.
- pulumi/tailscale: remove now-dead tag:devpi ACL rule, tagOwner,
  and __main__.py comment. Will need `pulumi up` to apply.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 13:30:06 -07:00

1.7 KiB

title modified last-reviewed tags
Devpi 2026-04-29 2026-04-29
service
python

devpi (PyPI Proxy)

PyPI caching proxy and private package index. Runs natively on indri as a LaunchAgent (not in-cluster). See devpi-on-indri for deploy and operations.

Quick Reference

Property Value
URL https://pypi.ops.eblu.me
Listen 127.0.0.1:3141 (loopback only; reached via Caddy)
Service LaunchAgent mcquack.eblume.devpi on indri
Server-dir /Users/erichblume/devpi/server-dir/
Runtime uv-managed venv at /Users/erichblume/devpi/venv/
Ansible role ansible/roles/devpi/
Versions Pinned in ansible/roles/devpi/defaults/main.yml (devpi_server_version, devpi_web_version)

Indices

Index Purpose
root/pypi PyPI mirror/cache (auto-created by devpi-init)
eblume/dev Private packages (inherits from root/pypi)

Credentials

Root password stored in 1Password (blumeops vault, item devpi, field root password). Fetched via op read in the ansible/playbooks/indri.yml pre_tasks and passed to the role on first init.

Backup

The server-dir is not backed up. The PyPI cache (+files/) is re-fetchable from upstream on first request. The local eblume/dev index metadata is small but also not critical to retain — packages can be republished from source. If retention becomes important, add /Users/erichblume/devpi/server-dir/ to borgmatic_source_directories.