45 lines
1.6 KiB
YAML
45 lines
1.6 KiB
YAML
|
---
|
||
|
# - 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 {{ item[1] }} in {{ go_arch }} architecture"
|
||
|
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
|