85 lines
2.2 KiB
YAML
85 lines
2.2 KiB
YAML
---
|
|
- name: create {{ loki_group }} system group
|
|
group:
|
|
name: "{{ loki_group }}"
|
|
system: true
|
|
state: present
|
|
|
|
- name: create {{ loki_user }} system user
|
|
user:
|
|
name: "{{ loki_user }}"
|
|
system: true
|
|
shell: "/usr/sbin/nologin"
|
|
group: "{{ loki_group }}"
|
|
createhome: false
|
|
home: "{{ loki_storage_dir }}"
|
|
|
|
- name: create loki data directory
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: loki
|
|
group: loki
|
|
mode: 0755
|
|
with_items:
|
|
- "{{ loki_storage_dir }}"
|
|
- "{{ loki_storage_dir }}/index"
|
|
- "{{ loki_storage_dir }}/chunks"
|
|
when: ('loki' in loki_bins)
|
|
|
|
- name: create loki configuration directories
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: root
|
|
group: "{{ loki_group }}"
|
|
mode: 0770
|
|
with_items:
|
|
- "{{ loki_config_dir }}"
|
|
|
|
- block:
|
|
- name: download binaries to a temporary folder
|
|
become: false
|
|
get_url:
|
|
url: "https://github.com/grafana/loki/releases/download/v{{ loki_version }}/{{ item }}-linux-{{ go_arch }}.zip"
|
|
dest: "/tmp/{{ item }}-{{ loki_version }}-linux-{{ go_arch }}.zip"
|
|
checksum: "sha256:{{ __loki_bins_checksum[item] }}"
|
|
register: _download_archive
|
|
until: _download_archive is succeeded
|
|
retries: 5
|
|
delay: 2
|
|
loop: "{{ loki_bins }}"
|
|
check_mode: false
|
|
|
|
- name: unpack binaries
|
|
become: false
|
|
unarchive:
|
|
src: "/tmp/{{ item }}-{{ loki_version }}-linux-{{ go_arch }}.zip"
|
|
dest: "/tmp"
|
|
creates: "/tmp/{{ item }}-{{ loki_version }}-linux-{{ go_arch }}"
|
|
loop: "{{ loki_bins }}"
|
|
check_mode: false
|
|
|
|
- name: propagate official binaries
|
|
copy:
|
|
src: "/tmp/{{ item }}-linux-{{ go_arch }}"
|
|
dest: "/usr/local/bin/{{ item }}"
|
|
mode: 0755
|
|
owner: root
|
|
group: root
|
|
remote_src: true
|
|
loop: "{{ loki_bins }}"
|
|
notify:
|
|
- restart loki
|
|
|
|
- name: create systemd service unit
|
|
template:
|
|
src: "{{ item }}.service.j2"
|
|
dest: "/etc/systemd/system/{{ item }}.service"
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
notify: "restart {{ item }}"
|
|
loop: "{{ loki_bins }}"
|
|
when: item == 'loki' or item == 'promtail'
|