fix(semaphore/collections): run ansible-galaxy inside container via podman exec

Binary lives inside the container at /opt/semaphore/apps/ansible/<ver>/venv/bin/.
Use podman exec to run the install, writing to /home/semaphore/.ansible/collections
which is bind-mounted from the host-side directory.
This commit is contained in:
Hermes Agent service account
2026-06-07 16:45:42 -05:00
parent fc0e39b9c7
commit 6912f5c55d

View File

@@ -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: