aboutsummaryrefslogtreecommitdiff
path: root/tasks
diff options
context:
space:
mode:
authorMitch Riedstra <mitch@riedstra.us>2020-11-13 17:47:31 -0500
committerMitch Riedstra <mitch@riedstra.us>2020-11-13 17:47:31 -0500
commit01cda8792213340fdedcd364dedb2a73564d27f2 (patch)
tree54af9ac384b043b52a9dd752e9a41cbbe68d1a82 /tasks
parent3d157fef24360238f39c44529f1b2ec3b70e411b (diff)
downloadprometheus-01cda8792213340fdedcd364dedb2a73564d27f2.tar.gz
prometheus-01cda8792213340fdedcd364dedb2a73564d27f2.tar.xz
Remove systemd support. Add alertmanager. Remove old template
Diffstat (limited to 'tasks')
-rw-r--r--tasks/alertmanager.yml59
-rw-r--r--tasks/main.yml51
-rw-r--r--tasks/runit.yml17
-rw-r--r--tasks/systemd.yml9
4 files changed, 99 insertions, 37 deletions
diff --git a/tasks/alertmanager.yml b/tasks/alertmanager.yml
new file mode 100644
index 0000000..4c9e4d3
--- /dev/null
+++ b/tasks/alertmanager.yml
@@ -0,0 +1,59 @@
+---
+- name: Download Alertmanager
+ get_url:
+ url: "{{alertmanager_url}}"
+ dest: "{{prometheus_home_dir}}/alertmanager-{{alertmanager_version}}.tgz"
+ mode: '0600'
+ owner: "{{prometheus_user}}"
+ checksum: '{{alertmanager_checksum_alg}}:{{alertmanager_checksum}}'
+- set_fact: "alertmanager_extract_dir=alertmanager-{{alertmanager_version}}.{{prometheus_os}}-{{prometheus_architecture}}"
+- name: Extract Alertmanager
+ shell: |
+ #!/bin/sh
+ set -e
+ if ! [ -e "{{prometheus_home_dir}}/{{alertmanager_extract_dir}}" ] ; then
+ su - '{{prometheus_user}}' -c 'tar xzf alertmanager-{{alertmanager_version}}.tgz'
+ exit 50
+ fi
+ register: res
+ changed_when: res is defined and res.rc == 50
+ ignore_errors: true
+ notify: Restart alertmanager
+- name: Link alertmanager directroy
+ file:
+ state: link
+ src: '{{alertmanager_extract_dir}}'
+ dest: '{{prometheus_home_dir}}/alertmanager'
+ force: yes
+- name: Create Data directory
+ file:
+ state: directory
+ dest: "{{alertmanager_data_dir}}"
+ mode: '0700'
+ owner: "{{prometheus_user}}"
+- name: Write alertmanager configuration file
+ copy:
+ content: '{{alertmanager_conf | to_nice_yaml}}'
+ dest: '{{prometheus_home_dir}}/conf/alertmanager.yml'
+ owner: '{{prometheus_user}}'
+ mode: '0600'
+ notify: Restart alertmanager
+ tags:
+ - configuration
+- name: Create Runit Directory
+ file:
+ state: directory
+ dest: /etc/sv/alertmanager
+ owner: root
+ mode: '0755'
+- name: Write runit service
+ template:
+ src: alertmanager.runit
+ dest: /etc/sv/alertmanager/run
+ owner: root
+ mode: '0755'
+- name: Enable Runit service
+ file:
+ state: link
+ src: /etc/sv/alertmanager
+ dest: /var/service/alertmanager
diff --git a/tasks/main.yml b/tasks/main.yml
index cb2645a..19ca131 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -22,15 +22,21 @@
dest: "{{prometheus_home_dir}}/prometheus-{{prometheus_version}}.tgz"
mode: '0600'
owner: "{{prometheus_user}}"
- checksum: 'sha256:{{prometheus_checksum}}'
+ checksum: 'sha256:{{prometheus_checksum}}'
# 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: |
+ #!/bin/sh
+ set -e
if ! [ -e "{{prometheus_home_dir}}/{{prometheus_extract_dir}}" ] ; then
su - '{{prometheus_user}}' -c 'tar xzf prometheus-{{prometheus_version}}.tgz'
+ exit 50
fi
- changed_when: false
+ register: res
+ changed_when: res is defined and res.rc == 50
+ ignore_errors: true
+ notify: Restart Prometheus
- name: Link prometheus directory
file:
state: link
@@ -45,15 +51,38 @@
force: yes
loop:
- prometheus.yml
-- name: Write prometheus template
- template:
- src: '{{prometheus_template_source}}'
+- name: Write prometheus configuration file
+ copy:
+ content: '{{prometheus_config | to_nice_yaml}}'
dest: '{{prometheus_home_dir}}/conf/prometheus.yml'
owner: '{{prometheus_user}}'
mode: '0600'
-- name: Run Runit Specific tasks
- include_tasks: systemd.yml
- when: ansible_facts['distribution'].lower() == "ubuntu" or ansible_facts['distribution'].lower() == "centos"
-- name: Run Runit Specific tasks
- include_tasks: runit.yml
- when: ansible_facts['distribution'].lower() == "void" or ansible_facts['distribution'].lower() == "alpine"
+ notify: Restart prometheus
+ tags:
+ - configuration
+- name: Create Runit Directory
+ file:
+ state: directory
+ dest: /etc/sv/prometheus
+ owner: root
+ mode: '0755'
+- name: Write runit service
+ template:
+ src: prometheus.runit
+ dest: /etc/sv/prometheus/run
+ owner: root
+ mode: '0755'
+- name: Enable Runit service
+ file:
+ state: link
+ src: /etc/sv/prometheus
+ dest: /var/service/prometheus
+- name: Include Aertmanager tasks
+ include_tasks:
+ file: alertmanager.yml
+ apply:
+ tags:
+ - alertmanager
+ tags:
+ - alertmanager
+ when: alertmanager
diff --git a/tasks/runit.yml b/tasks/runit.yml
deleted file mode 100644
index d8bf8d4..0000000
--- a/tasks/runit.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-- name: Create Runit Directory
- file:
- state: directory
- dest: /etc/sv/prometheus
- owner: root
- mode: '0755'
-- name: Write runit service
- template:
- src: prometheus/runit/run
- dest: /etc/sv/prometheus/run
- owner: root
- mode: '0755'
-- name: Enable Runit service
- file:
- state: link
- src: /etc/sv/prometheus
- dest: /var/service/prometheus
diff --git a/tasks/systemd.yml b/tasks/systemd.yml
deleted file mode 100644
index 031f036..0000000
--- a/tasks/systemd.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-- name: Write Systemd Unit
- template:
- src: prometheus/systemd.unit
- dest: /etc/systemd/system/prometheus.service
-- name: 'Enable Prometheus [Systemd]'
- systemd:
- enabled: yes
- daemon_reload: yes
- name: prometheus