ansible-loki-role/tasks/preflight.yml

45 lines
1.6 KiB
YAML
Raw Normal View History

2020-04-19 22:28:06 +02:00
---
# - 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