--- - name: Debug - Show Grafana version debug: msg: "Устанавливаем Grafana версии {{ grafana_version }}" tags: grafana - name: Install minimal dependencies apt: name: - curl - adduser - libfontconfig1 - tar - gzip - procps state: present update_cache: yes tags: grafana - name: Create Grafana user and group user: name: grafana system: yes shell: /bin/false home: /usr/share/grafana comment: "Grafana Server" tags: grafana - name: Create Grafana data/log/config directories file: path: "{{ item }}" state: directory owner: grafana group: grafana mode: '0755' loop: - /var/lib/grafana - /var/log/grafana - /etc/grafana tags: grafana - name: Download Grafana from official site get_url: url: "https://dl.grafana.com/oss/release/grafana-{{ grafana_version }}.linux-amd64.tar.gz" dest: "/tmp/grafana-{{ grafana_version }}.linux-amd64.tar.gz" timeout: 300 validate_certs: no tags: grafana - name: Show download info debug: msg: "Grafana скачан: /tmp/grafana-{{ grafana_version }}.linux-amd64.tar.gz" tags: grafana - name: Extract Grafana archive unarchive: src: "/tmp/grafana-{{ grafana_version }}.linux-amd64.tar.gz" dest: "/usr/share/" remote_src: yes owner: grafana group: grafana creates: "/usr/share/grafana-{{ grafana_version }}" tags: grafana - name: Remove existing /usr/share/grafana if it exists (cleanup) file: path: /usr/share/grafana state: absent tags: grafana - name: Create symlink from extracted version file: src: "/usr/share/grafana-{{ grafana_version }}" dest: "/usr/share/grafana" state: link owner: grafana group: grafana tags: grafana - name: Create binary symlinks file: src: "/usr/share/grafana/bin/{{ item }}" dest: "/usr/local/bin/{{ item }}" state: link owner: root group: root loop: - grafana-server - grafana-cli tags: grafana - name: Create Grafana configuration directory file: path: /etc/grafana state: directory owner: grafana group: grafana mode: '0755' tags: grafana - name: Configure Grafana template: src: grafana.ini.j2 dest: /etc/grafana/grafana.ini owner: grafana group: grafana mode: '0644' notify: restart grafana tags: grafana - name: Install systemd service template: src: grafana.service.j2 dest: /etc/systemd/system/grafana.service owner: root group: root mode: '0644' notify: restart grafana tags: grafana - name: Reload systemd systemd: daemon_reload: yes tags: grafana - name: Enable and start Grafana service systemd: name: grafana enabled: yes state: started daemon_reload: yes tags: grafana - name: Wait and verify Grafana is fully operational include_tasks: wait_and_verify.yml tags: grafana - name: Clean up temporary files file: path: "/tmp/grafana-{{ grafana_version }}.linux-amd64.tar.gz" state: absent tags: grafana