blumeops/ansible/roles/devpi/tasks/main.yml
Erich Blume 596eedfbd0 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-14 22:20:51 -08:00

28 lines
923 B
YAML

---
# Note: devpi is installed via mise (pipx), not managed here.
# Required packages: devpi-server, devpi-web, devpi-client
# Initialization must be done manually: mise x -- devpi-init --serverdir {{ devpi_serverdir }}
- name: Ensure devpi data directory exists
ansible.builtin.file:
path: "{{ devpi_serverdir }}"
state: directory
mode: '0755'
- name: Deploy devpi LaunchAgent plist
ansible.builtin.template:
src: devpi.plist.j2
dest: ~/Library/LaunchAgents/mcquack.eblume.devpi.plist
mode: '0644'
notify: reload devpi
- name: Check if devpi LaunchAgent is loaded
ansible.builtin.command: launchctl list mcquack.eblume.devpi
register: launchctl_check
changed_when: false
failed_when: false
- name: Load devpi LaunchAgent if not loaded
ansible.builtin.command: launchctl load ~/Library/LaunchAgents/mcquack.eblume.devpi.plist
when: launchctl_check.rc != 0
failed_when: false