From 6912f5c55d30cf8d12efb8ce5d6eaf450a2848e2 Mon Sep 17 00:00:00 2001 From: Hermes Agent service account Date: Sun, 7 Jun 2026 16:45:42 -0500 Subject: [PATCH] fix(semaphore/collections): run ansible-galaxy inside container via podman exec Binary lives inside the container at /opt/semaphore/apps/ansible//venv/bin/. Use podman exec to run the install, writing to /home/semaphore/.ansible/collections which is bind-mounted from the host-side directory. --- ansible/roles/semaphore/tasks/collections.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ansible/roles/semaphore/tasks/collections.yml b/ansible/roles/semaphore/tasks/collections.yml index 2d7ee29..80bc023 100644 --- a/ansible/roles/semaphore/tasks/collections.yml +++ b/ansible/roles/semaphore/tasks/collections.yml @@ -17,19 +17,20 @@ group: root mode: "0755" -- name: Find ansible-galaxy binary on host +- name: Find ansible-galaxy binary inside Semaphore container ansible.builtin.shell: - cmd: "find /opt/semaphore/apps/ansible -name ansible-galaxy -type f | sort -V | tail -1" + cmd: "podman exec {{ semaphore_container_name }} find /opt/semaphore/apps/ansible -name ansible-galaxy -type f | sort -V | tail -1" register: ansible_galaxy_bin changed_when: false failed_when: ansible_galaxy_bin.stdout == "" - name: Install Ansible collections into host collections directory - ansible.builtin.command: + ansible.builtin.shell: cmd: > + podman exec {{ semaphore_container_name }} {{ ansible_galaxy_bin.stdout }} collection install {{ item.name }}{% if item.version is defined %}:{{ item.version }}{% endif %} - -p {{ semaphore_collections_dir }} + -p /home/semaphore/.ansible/collections --force loop: "{{ semaphore_ansible_collections }}" loop_control: