instance-status/tasks/main.yml

56 lines
1.6 KiB
YAML
Raw Normal View History

2017-12-25 01:04:41 +00:00
---
- name: Install required packages
apt:
name: "{{ item }}"
with_items: '{{ instance_status_apt_required }}'
- name: Set up checks file for ELB Instance Status
template:
src: templates/checks.yml
dest: /etc/elb-instance-status.yml
register: instance_status_config
- name: Get current elb-instance-status version
shell: "/usr/local/bin/elb-instance-status --version || true"
check_mode: no
register: instance_status_version_cmd
2017-12-25 01:04:41 +00:00
- name: Download elb-instance-status release
get_url:
url: 'https://github.com/Luzifer/elb-instance-status/releases/download/{{ instance_status_version }}/elb-instance-status_linux_amd64'
2017-12-25 01:04:41 +00:00
dest: /usr/local/bin/elb-instance-status
mode: 0755
when: instance_status_version not in instance_status_version_cmd.stdout
register: instance_status_binary
2017-12-25 01:04:41 +00:00
- name: Install system.d service
copy:
content: |
[Unit]
Description=Machine health checking service
After=network-online.target
Requires=network-online.target
[Service]
TimeoutStartSec=0
TimeoutStopSec=0
Restart=on-failure
RestartSec=30
SyslogIdentifier=elb-instance-status
ExecStart=/usr/local/bin/elb-instance-status \
--listen=:9001
[Install]
WantedBy=multi-user.target
dest: /etc/systemd/system/elb-instance-status.service
register: instance_status_service
- name: Ensure elb-instance-status is restarted on changes
systemd:
daemon_reload: yes
name: elb-instance-status
state: restarted
enabled: yes
when: instance_status_config.changed or instance_status_binary.changed or instance_status_service.changed