Remove ansible role meta dependencies to fix duplicate execution #20

Merged
eblume merged 3 commits from fix-ansible-role-deduplication into main 2026-01-16 22:50:34 -08:00

3 commits

Author SHA1 Message Date
53a0bf5813 Fix macOS compatibility in kiwix torrent sync script
BSD head (macOS) doesn't support negative line counts like GNU head.
Use `sed '$d'` instead of `head -n -1` to remove the last line.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 22:36:28 -08:00
ce6c5b6b37 Refactor kiwix role to use shell scripts instead of ansible loops
Replace ansible loops for torrent syncing and ZIM symlinking with
standalone shell scripts that handle all items in a single pass:

- kiwix-sync-torrents.sh: Reads torrent URLs from file, adds missing
  ones to transmission in one execution
- kiwix-symlink-zims.sh: Symlinks all completed ZIM files from download
  directory to kiwix directory in one pass
- kiwix-torrents.txt: Generated list of torrent URLs from inventory

This reduces ansible output noise and improves execution speed by
avoiding per-item task invocations.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 22:19:46 -08:00
21e6b4f9e8 Remove ansible role meta dependencies to fix duplicate execution
Ansible's tag accumulation behavior prevents proper role deduplication
when using meta/main.yml dependencies. When a role is pulled in as a
dependency, the parent role's tags are added to the dependency's tags,
making them appear as different invocations to Ansible.

Role ordering is now controlled entirely by indri.yml playbook.

Also fixes incorrect roles path in CLAUDE.md (was playbooks/roles,
should be just roles).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 22:06:31 -08:00