--- - name: add debian repository include_role: name: apt-repo/grafana - name: install apt packages apt: name: grafana state: present - name: configure grafana server loop: "{{ grafana_config_server | dict2items }}" loop_control: label: "{{ item.key }}" ini_file: path: /etc/grafana/grafana.ini section: server option: "{{ item.key }}" value: "{{ item.value | string }}" notify: restart grafana - name: configure grafana analytics loop: "{{ grafana_config_analytics | dict2items }}" loop_control: label: "{{ item.key }}" ini_file: path: /etc/grafana/grafana.ini section: analytics option: "{{ item.key }}" value: "{{ item.value | string }}" notify: restart grafana - name: configure grafana security loop: "{{ grafana_config_security | dict2items }}" loop_control: label: "{{ item.key }}" ini_file: path: /etc/grafana/grafana.ini section: security option: "{{ item.key }}" value: "{{ item.value | string }}" notify: restart grafana - name: configure grafana users loop: "{{ grafana_config_users | dict2items }}" loop_control: label: "{{ item.key }}" ini_file: path: /etc/grafana/grafana.ini section: users option: "{{ item.key }}" value: "{{ item.value | string }}" notify: restart grafana - name: install datasources copy: dest: "/etc/grafana/provisioning/datasources/ansible.yml" content: | apiVersion: 1 deleteDatasources: [] {{ {'datasources': grafana_datasources} | to_nice_yaml(indent=2) }} group: grafana mode: 0640 notify: restart grafana - name: install datasources copy: dest: "/etc/grafana/provisioning/dashboards/ansible.yml" content: | apiVersion: 1 providers: - name: ansible' folder: '' options: path: /var/lib/grafana/dashboards/ansible foldersFromFilesStructure: true group: grafana mode: 0644 notify: restart grafana - name: create directory for dashboards file: path: /var/lib/grafana/dashboards/ansible state: directory group: grafana mode: 0750 ## TODO: fix datasource selection - name: install loop: "{{ grafana_dashboards }}" copy: src: "dashboard-{{ item }}.json" dest: "/var/lib/grafana/dashboards/ansible/{{ item }}.json" - name: make sure grafan-server is enabled and started systemd: name: grafana-server state: started enabled: yes