r/blackbox-exporter: Rework to run as container
Instead of downloading the `blackbox_exporter` binary from GitHub and copying it to the managed node, the _blackbox-exporter_ role now installs _podman_ and configures a systemd container unit (Quadlet) to run it in a container. This simplifies the deployment considerably, and will make updating easier (just run the playbook with `-e blackbox_exporter_pull_image=true`).
This commit is contained in:
@@ -1,55 +1,4 @@
|
||||
- name: load installation variables
|
||||
include_vars: install.yml
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: load architecture variables
|
||||
include_vars: '{{ item }}'
|
||||
with_first_found:
|
||||
- '{{ ansible_architecture }}.yml'
|
||||
- arch-defaults.yml
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: ensure blackbox_exporter release archive is available
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
get_url:
|
||||
url: '{{ blackbox_xptr_tar_url }}'
|
||||
checksum: 'sha256:{{ blackbox_xptr_cksm_url }}'
|
||||
dest: '{{ playbook_dir }}/tmp/{{ blackbox_xptr_tar_name }}'
|
||||
tags:
|
||||
- download
|
||||
|
||||
- name: ensure blackbox_exporter archive is unpacked locally
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
unarchive:
|
||||
src: '{{ playbook_dir }}/tmp/{{ blackbox_xptr_tar_name }}'
|
||||
dest: '{{ playbook_dir }}/tmp/'
|
||||
remote_src: true
|
||||
creates: '{{ blackbox_xptr_extract_dir }}/blackbox_exporter'
|
||||
tags:
|
||||
- unarchive
|
||||
|
||||
- name: ensure blackbox_exporter is installed
|
||||
copy:
|
||||
src: '{{ blackbox_xptr_extract_dir }}/blackbox_exporter'
|
||||
dest: /usr/local/sbin/blackbox_exporter
|
||||
mode: u=rwx,go=rx
|
||||
diff: false
|
||||
notify:
|
||||
- restart blackbox_exporter
|
||||
|
||||
- name: ensure blackbox_exporter systemd unit is installed
|
||||
file:
|
||||
src: blackbox_exporter.service
|
||||
dest: /etc/systemd/system/blackbox_exporter.services
|
||||
mode: u=rw,go=r
|
||||
notify:
|
||||
- reload systemd
|
||||
- restart blackbox_exporter
|
||||
tags:
|
||||
- service
|
||||
- systemd
|
||||
|
||||
- name: ensure podman is installed
|
||||
package:
|
||||
name: podman
|
||||
state: present
|
||||
|
||||
Reference in New Issue
Block a user