--- - name: Create Grafana directory structure ansible.builtin.file: path: "{{ item }}" state: directory owner: 472 group: 472 mode: '0755' loop: - "{{ grafana_base_dir }}" - "{{ grafana_data_dir }}" - "{{ grafana_config_dir }}" - "{{ grafana_vm_data_dir }}" - "{{ grafana_vmagent_tmp_dir | dirname }}" # создаёт /mnt/grafana/vmagent - name: Copy vmagent config ansible.builtin.copy: src: vmagent.yaml dest: "{{ grafana_vmagent_config }}" owner: root group: root mode: '0644' - name: Deploy Grafana docker-compose.yml ansible.builtin.template: src: docker-compose.yml.j2 dest: "{{ grafana_base_dir }}/docker-compose.yml" owner: root group: root mode: '0644' - name: Start Grafana services ansible.builtin.shell: | cd "{{ grafana_base_dir }}" docker compose up -d args: executable: /bin/bash register: grafana_up changed_when: "'Started' in grafana_up.stdout or 'Recreated' in grafana_up.stdout" - name: Wait for services to start ansible.builtin.pause: seconds: 20 - name: Check Grafana container status ansible.builtin.shell: docker ps --filter name=grafana register: grafana_status changed_when: false - name: Show Grafana status ansible.builtin.debug: var: grafana_status.stdout_lines