--- - name: Ensure metrics directory exists ansible.builtin.file: path: "{{ devpi_metrics_dir }}" state: directory mode: '0755' - name: Ensure log directory exists ansible.builtin.file: path: "{{ devpi_metrics_log_dir }}" state: directory mode: '0755' - name: Deploy devpi-metrics script ansible.builtin.template: src: devpi-metrics.sh.j2 dest: "{{ devpi_metrics_script }}" mode: '0755' - name: Deploy devpi-metrics LaunchAgent plist ansible.builtin.template: src: devpi-metrics.plist.j2 dest: ~/Library/LaunchAgents/mcquack.eblume.devpi-metrics.plist mode: '0644' notify: Reload devpi-metrics - name: Check if devpi-metrics LaunchAgent is loaded ansible.builtin.command: launchctl list mcquack.eblume.devpi-metrics register: devpi_metrics_launchctl_check changed_when: false failed_when: false - name: Load devpi-metrics LaunchAgent if not loaded ansible.builtin.command: launchctl load ~/Library/LaunchAgents/mcquack.eblume.devpi-metrics.plist when: devpi_metrics_launchctl_check.rc != 0 changed_when: true failed_when: false