--- - name: Assert usage of systemd as an init system assert: that: ansible_service_mgr == 'systemd' msg: "This module only works with systemd" - block: - name: Get latest release uri: url: "https://api.github.com/repos/grafana/loki/releases/latest" method: GET return_content: true status_code: 200 body_format: json validate_certs: false user: "{{ lookup('env', 'GH_USER') | default(omit) }}" password: "{{ lookup('env', 'GH_TOKEN') | default(omit) }}" no_log: "{{ not lookup('env', 'ANSIBLE_DEBUG') | bool }}" register: _latest_release until: _latest_release.status == 200 retries: 5 - name: Set loki version to {{ _latest_release.json.tag_name[1:] }} set_fact: loki_version: "{{ _latest_release.json.tag_name[1:] }}" when: - loki_version == "latest" - loki_binary_local_dir | length == 0 - block: - name: Get checksum list set_fact: __loki_checksums: "{{ lookup('url', 'https://github.com/grafana/loki/releases/download/v' + loki_version + '/SHA256SUMS', wantlist=True) | list }}" run_once: true - name: Get checksum for bins set_fact: __loki_bins_checksum: "{{ __loki_bins_checksum | default({}) | combine({item[1]: item[0].split()[0]}) }}" loop: "{{ lookup('nested', __loki_checksums, loki_bins, wantlist=True) }}" when: - "(item[1] + '-linux-' + go_arch + '.zip') in item[0].split()[1]" delegate_to: localhost when: - loki_binary_local_dir | length == 0 - name: Install unzip apt: name: unzip update_cache: true