--- - hosts: all gather_facts: no become: true become_user: root become_method: sudo vars: remote_dir: /opt/sensusagent local_bin_dir: "{{ LOCAL_BIN_DIR | default('./bin/agent') }}" tasks: - name: Create remote dir ansible.builtin.file: path: "{{ remote_dir }}" state: directory mode: '0755' - name: Copy agent binary (linux) ansible.builtin.copy: src: "{{ local_bin_dir }}/agent" dest: "{{ remote_dir }}/agent" mode: '0755' - name: Copy config ansible.builtin.copy: src: "{{ local_bin_dir }}/config.yaml" dest: "{{ remote_dir }}/config.yaml" mode: '0644' - name: Copy collectors directory ansible.builtin.copy: src: "{{ local_bin_dir }}/collectors/" dest: "{{ remote_dir }}/collectors/" mode: '0755' directory_mode: '0755' - name: Ensure collectors executable recursively ansible.builtin.file: path: "{{ remote_dir }}/collectors" recurse: yes mode: '0755' - name: Install systemd unit ansible.builtin.copy: src: runner/sensusagent.service dest: /etc/systemd/system/sensusagent.service mode: '0644' - name: Reload systemd ansible.builtin.command: systemctl daemon-reload - name: Enable and start service ansible.builtin.systemd: name: sensusagent state: started enabled: true