-
Notifications
You must be signed in to change notification settings - Fork 60
/
install.yml
104 lines (93 loc) 路 2.65 KB
/
install.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
---
- name: Ensure unzip package is available
package:
name: unzip
state: present
update_cache: True
- name: Create promtail group
group:
name: "{{ promtail_system_group }}"
state: present
system: True
when: promtail_system_group != "root"
- name: Create the promtail user
user:
name: "{{ promtail_system_user }}"
group: "{{ promtail_system_group }}"
groups: "{{ promtail_user_additional_groups }}"
append: True
shell: /usr/sbin/nologin
system: True
createhome: False
home: /
when: promtail_system_user != "root"
- name: Ensure /usr/local/bin exists
file:
path: /usr/local/bin
state: directory
mode: 0755
- name: Create config directories
file:
path: "{{ item }}"
state: directory
owner: root
group: "{{ promtail_system_group }}"
mode: 0770
loop:
- "{{ promtail_config_dir }}"
- "{{ promtail_config_file_sd_dir }}"
- "{{ promtail_positions_directory }}"
- name: Create application dirs
file:
path: "{{ item }}"
state: directory
owner: "{{ promtail_system_user }}"
group: "{{ promtail_system_group }}"
mode: 0755
with_items:
- "{{ promtail_install_dir }}"
- "{{ promtail_install_dir }}/{{ promtail_version }}"
- name: Check promtail binary
stat:
path: "{{ promtail_install_dir }}/{{ promtail_version }}/promtail-linux-{{ go_arch }}"
register: promtail_binary
- name: Download promtail binaries
get_url:
url: "{{ promtail_dist_url }}"
dest: "{{ promtail_tmp_dir }}/{{ promtail_version }}_promtail-linux-{{ go_arch }}.zip"
force: True
checksum: "sha256:{{ __promtail_checksum }}"
when: not promtail_binary.stat.exists
- name: Unpack promtail binaries
ignore_errors: "{{ ansible_check_mode }}"
unarchive:
src: "{{ promtail_tmp_dir }}/{{ promtail_version }}_promtail-linux-{{ go_arch }}.zip"
dest: "{{ promtail_install_dir }}/{{ promtail_version }}"
creates: "{{ promtail_install_dir }}/{{ promtail_version }}/promtail-linux-{{ go_arch }}"
mode: 0755
remote_src: True
- name: Create symlink to latest version
notify:
- Restart promtail
ignore_errors: "{{ ansible_check_mode }}"
file:
state: link
src: "{{ promtail_install_dir }}/{{ promtail_version }}/promtail-linux-{{ go_arch }}"
dest: /usr/local/bin/promtail
mode: 0755
- name: Write config
notify:
- Restart promtail
template:
src: config.j2
dest: "{{ promtail_config_file }}"
owner: root
group: "{{ promtail_system_group }}"
mode: 0644
- name: Create systemd service unit
notify:
- Restart promtail
template:
src: service.j2
dest: /etc/systemd/system/promtail.service
mode: 0644