--- - name: Install grafana via homebrew community.general.homebrew: name: grafana state: present - name: Create grafana provisioning directories ansible.builtin.file: path: "{{ item }}" state: directory mode: '0755' loop: - /opt/homebrew/etc/grafana/provisioning - /opt/homebrew/etc/grafana/provisioning/datasources - /opt/homebrew/etc/grafana/provisioning/dashboards - name: Configure grafana.ini ansible.builtin.template: src: grafana.ini.j2 dest: /opt/homebrew/etc/grafana/grafana.ini mode: '0644' notify: Restart grafana - name: Deploy grafana datasources config ansible.builtin.template: src: datasources.yaml.j2 dest: /opt/homebrew/etc/grafana/provisioning/datasources/datasources.yaml mode: '0644' notify: Restart grafana - name: Deploy grafana dashboards provider config ansible.builtin.template: src: dashboards.yaml.j2 dest: /opt/homebrew/etc/grafana/provisioning/dashboards/default.yaml mode: '0644' notify: Restart grafana - name: Deploy grafana dashboard JSON files ansible.builtin.copy: src: "dashboards/" dest: /opt/homebrew/etc/grafana/provisioning/dashboards/ mode: '0644' notify: Restart grafana - name: Ensure grafana service is started ansible.builtin.command: brew services start grafana register: grafana_brew_start changed_when: "'Successfully started' in grafana_brew_start.stdout" failed_when: false