62 lines
2.3 KiB
YAML
62 lines
2.3 KiB
YAML
---
|
|
- block:
|
|
- name: Create the user under prometheus will run
|
|
user: name={{ prometheus_user }} home={{ prometheus_home }} createhome=no shell=/usr/sbin/nologin system=yes
|
|
|
|
- name: Create the prometheus server base and conf directories
|
|
file: dest={{ item }} state=directory owner=root group=root
|
|
with_items:
|
|
- '{{ prometheus_home }}'
|
|
- '{{ prometheus_confdir }}'
|
|
- '{{ prometheus_dist_dir }}'
|
|
|
|
- name: Create the prometheus directory structure
|
|
file: dest={{ prometheus_home }}/{{ item }} state=directory owner={{ prometheus_user }} group={{ prometheus_user }}
|
|
with_items:
|
|
- data
|
|
- logs
|
|
|
|
- name: Download prometheus
|
|
get_url: url={{ prometheus_download_url }} dest=/srv/
|
|
|
|
- name: Unarchive the prometheus distribution
|
|
unarchive: src=/srv/{{ prometheus_file }} dest={{ prometheus_dist_dir }} remote_src=yes
|
|
args:
|
|
creates: '{{ prometheus_dist_dir }}/{{ prometheus_dir }}/prometheus'
|
|
notify: Restart prometheus
|
|
|
|
- name: Install the prometheus configuration
|
|
template: src=prometheus.yml.j2 dest={{ prometheus_confdir }}/prometheus.yml force=no
|
|
notify: Reload prometheus
|
|
|
|
- name: Install the prometheus defaults
|
|
template: src=prometheus.default.j2 dest=/etc/default/prometheus mode=0644 owner=root group=root
|
|
|
|
- name: Install the prometheus upstart script
|
|
copy: src=prometheus.upstart dest=/etc/init/prometheus.conf mode=0644 owner=root group=root
|
|
when: ansible_service_mgr != 'systemd'
|
|
|
|
- name: Install the prometheus server systemd unit
|
|
template: src=prometheus.systemd dest=/etc/systemd/system/prometheus.service mode=0644 owner=root group=root
|
|
when: ansible_service_mgr == 'systemd'
|
|
notify: systemd reload
|
|
|
|
- name: Ensure that prometheus is started and enabled
|
|
service: name=prometheus state=started enabled=yes
|
|
|
|
tags: prometheus
|
|
when: prometheus_install
|
|
|
|
- block:
|
|
- name: Ensure that prometheus is stopped and disabled
|
|
service: name=prometheus state=stopped enabled=no
|
|
|
|
- name: Remove the prometheus init script
|
|
file: dest=/etc/init/prometheus.conf state=absent
|
|
|
|
- name: Remove all the prometheus files
|
|
file: dest={{ prometheus_home }} state=absent
|
|
|
|
tags: prometheus
|
|
when: not prometheus_install
|