blob: 10648a0164f3728b74fcc083e41780b0916792a1 (
plain) (
blame)
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
|
- name: Setup Prometheus User
user:
name: "{{prometheus_user}}"
home: "{{prometheus_home_dir}}"
state: present
- set_fact: "prometheus_extract_dir=prometheus-{{prometheus_version}}.{{prometheus_os}}-{{prometheus_architecture}}"
- name: Create configuration directory
file:
state: directory
dest: "{{prometheus_home_dir}}/conf"
mode: '0700'
owner: "{{prometheus_user}}"
- name: Create Data directory
file:
state: directory
dest: "{{prometheus_data_dir}}"
mode: '0700'
owner: "{{prometheus_user}}"
- name: Download Prometheus
get_url:
url: "{{prometheus_url}}"
dest: "{{prometheus_home_dir}}/prometheus-{{prometheus_version}}.tgz"
mode: '0600'
owner: "{{prometheus_user}}"
# There's a bug in become_user that doesn't set permissions on the temp directory
# which is asinine when my user has sudo persmissions.
- name: Extract Prometheus
shell: |
if ! [ -e "{{prometheus_home_dir}}/{{prometheus_extract_dir}}" ] ; then
sudo su - '{{prometheus_user}}' -c 'tar xzf prometheus-{{prometheus_version}}.tgz'
fi
changed_when: false
- name: Link prometheus directory
file:
state: link
src: '{{prometheus_extract_dir}}'
dest: '{{prometheus_home_dir}}/prometheus'
force: yes
- name: Link configuration files
file:
state: link
src: '../conf/{{item}}'
dest: '{{prometheus_home_dir}}/prometheus/{{item}}'
force: yes
loop:
- prometheus.yml
- name: Write prometheus template
template:
src: prometheus/prometheus.yml
dest: '{{prometheus_home_dir}}/conf/prometheus.yml'
owner: '{{prometheus_user}}'
mode: '0600'
- name: Write Systemd Unite
template:
src: prometheus/systemd.unit
dest: /etc/systemd/system/prometheus.service
when: ansible_facts['distribution'].lower() == "ubuntu"
- name: 'Enable Prometheus [Ubuntu]'
systemd:
enabled: yes
daemon_reload: yes
name: prometheus
when: ansible_facts['distribution'].lower() == "ubuntu"
- name: Create Runit Directory
file:
state: directory
dest: /etc/sv.local/prometheus
owner: root
group: adm
mode: '0755'
when: ansible_facts['distribution'].lower() == "void"
- name: Write runit service
template:
src: prometheus/runit/run
dest: /etc/sv.local/prometheus/run
owner: root
group: adm
mode: '0755'
when: ansible_facts['distribution'].lower() == "void"
- name: Enable Runit service
file:
state: link
src: /etc/sv.local/prometheus
dest: /var/service/prometheus
when: ansible_facts['distribution'].lower() == "void"
|