diff --git a/galaxy.yml b/galaxy.yml index 5a0bca1be..d3e83bae5 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -1,7 +1,7 @@ --- namespace: prometheus name: prometheus -version: 0.30.1 +version: 0.30.1+stackhpc.1 readme: README.md authors: - "Ben Kochie (https://github.com/SuperQ)" diff --git a/roles/_common/tasks/install.yml b/roles/_common/tasks/install.yml index c2c4c19fb..25320d922 100644 --- a/roles/_common/tasks/install.yml +++ b/roles/_common/tasks/install.yml @@ -8,6 +8,14 @@ tags: - always +- name: "Validate Download host is localhost or remote host" + ansible.builtin.assert: + that: + - "_common_download_host in ('localhost', inventory_hostname)" + fail_msg: "Error: _common_download_host != localhost only works in single host plays (no way to copy from an arbitrary host to another)." + tags: + - always + - name: "Gather system user and group facts" ansible.builtin.getent: database: "{{ item }}" @@ -54,7 +62,7 @@ - download - "{{ ansible_parent_role_names | first | regex_replace(ansible_collection_name ~ '.', '') }}_download" become: false - delegate_to: localhost + delegate_to: "{{ _common_download_host }}" block: - name: "Create localhost binary cache path" ansible.builtin.file: @@ -81,7 +89,7 @@ - name: "Verify checksum of {{ __common_binary_basename }}" run_once: true check_mode: false - when: (_common_checksums_url | length > 0) + when: (_common_checksum | length > 0) or (_common_checksums_url | length > 0) block: - name: "Fetch checksum list for {{ __common_binary_basename }}" ansible.builtin.uri: @@ -91,12 +99,14 @@ return_content: true status_code: [200, 203, 204, 206, 300, 301, 302, 303, 304, 307, 308] follow_redirects: all + when: (_common_checksum | length == 0) register: __common_binary_checksums_raw - name: "Parse checksum list for {{ __common_binary_basename }}" ansible.builtin.set_fact: __common_binary_checksums: "{{ dict(__common_binary_checksums_raw.content.splitlines() | map('regex_findall', '^([a-fA-F0-9]+)\\s+(.+)$') | map('flatten') | map('reverse')) }}" + when: (_common_checksum | length == 0) - name: "Calculate checksum of {{ __common_binary_basename }}" ansible.builtin.stat: @@ -105,6 +115,11 @@ get_checksum: true register: __common_binary_checksum + - name: "Use provided checksum" + ansible.builtin.set_fact: + __common_binary_checksums: "{{ { __common_binary_basename: _common_checksum } }}" + when: (_common_checksum | length > 0) + - name: "Verify correct checksum of {{ __common_binary_basename }}" ansible.builtin.assert: that: __common_binary_checksum.stat.checksum == __common_binary_checksums[__common_binary_basename] @@ -118,6 +133,7 @@ mode: 0755 list_files: true extra_opts: "{{ _common_binary_unarchive_opts | default(omit, true) }}" + remote_src: "{{ inventory_hostname == _common_download_host }}" check_mode: false throttle: 1 # see prometheus-community/ansible#457 when: __common_binary_basename is search('\.zip$|\.tar\.gz$') @@ -151,10 +167,12 @@ mode: 0755 owner: root group: root + remote_src: "{{ inventory_hostname == _common_download_host }}" loop: "{{ _common_binaries }}" become: true - notify: - - "{{ ansible_parent_role_names | first }} : Restart {{ _common_service_name }}" + # Avoid notifying the Restart SERVICE handler when SERVICE_skip_configure has been set because the systemd service doesn't exist + notify: >- + {{ _common_skip_configure | default(False) | ternary([], [(ansible_parent_role_names | first) ~ " : Restart " ~ _common_service_name]) | list }} tags: - "{{ ansible_parent_role_names | first | regex_replace(ansible_collection_name ~ '.', '') }}" - install diff --git a/roles/_common/tasks/preflight.yml b/roles/_common/tasks/preflight.yml index cb3284a13..f346d3368 100644 --- a/roles/_common/tasks/preflight.yml +++ b/roles/_common/tasks/preflight.yml @@ -11,7 +11,7 @@ - name: "Check for deprecated skip_install variable" ansible.builtin.assert: that: - - __common_parent_role_short_name ~ '_skip_install' not in vars + - (__common_parent_role_short_name == "prometheus") or (__common_parent_role_short_name ~ '_skip_install' not in vars) fail_msg: "The variable {{ __common_parent_role_short_name ~ '_skip_install' }} is deprecated. Please use `--skip-tags {{ __common_parent_role_short_name }}_install` instead to skip the installation." tags: @@ -82,7 +82,7 @@ - >- [_common_web_listen_address] | flatten | - reject('match', '.+:\\d+$') | + reject('match', '.*:\\d+$') | list | length == 0 when: (_common_web_listen_address | length > 0) diff --git a/roles/_common/templates/web_config.yml.j2 b/roles/_common/templates/web_config.yml.j2 index af495e509..c8ea7eb53 100644 --- a/roles/_common/templates/web_config.yml.j2 +++ b/roles/_common/templates/web_config.yml.j2 @@ -13,6 +13,10 @@ http_server_config: {% if _common_basic_auth_users | length > 0 %} basic_auth_users: {% for k, v in _common_basic_auth_users.items() %} + {% if v is mapping %} + {{ k }}: {{ v.hashed | mandatory(msg='Give basic_auth_users in format {"USERNAME": "PASSWORD IN CLEARTEXT"} or {"USERNAME: {"hashed": "PASSWORD ALREADY HASHED"}}') }} + {% else %} {{ k }}: {{ v | string | password_hash('bcrypt', ('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' | shuffle(seed=inventory_hostname) | join)[:22], rounds=9) }} + {% endif %} {% endfor %} {% endif %} diff --git a/roles/alertmanager/defaults/main.yml b/roles/alertmanager/defaults/main.yml index 26de8f668..19e50a96b 100644 --- a/roles/alertmanager/defaults/main.yml +++ b/roles/alertmanager/defaults/main.yml @@ -2,6 +2,7 @@ alertmanager_version: 0.33.1 alertmanager_binary_url: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/\ alertmanager-{{ alertmanager_version }}.{{ ansible_facts['system'] | lower }}-{{ _alertmanager_go_ansible_arch }}.tar.gz" +alertmanager_checksum: "" alertmanager_checksums_url: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/sha256sums.txt" alertmanager_config_dir: /etc/alertmanager @@ -147,3 +148,9 @@ alertmanager_system_user: alertmanager alertmanager_system_group: "{{ alertmanager_system_user }}" alertmanager_mask_diff: false + +# Set to true for install-only runs +alertmanager_skip_configure: false + +# Another host than localhost only works in single-host plays +alertmanager_download_host: localhost diff --git a/roles/alertmanager/tasks/main.yml b/roles/alertmanager/tasks/main.yml index dcee64acb..f81b40e4a 100644 --- a/roles/alertmanager/tasks/main.yml +++ b/roles/alertmanager/tasks/main.yml @@ -18,11 +18,14 @@ _common_binaries: "{{ _alertmanager_binaries }}" _common_binary_install_dir: "{{ alertmanager_binary_install_dir }}" _common_binary_url: "{{ alertmanager_binary_url }}" + _common_download_host: "{{ alertmanager_download_host }}" + _common_checksum: "{{ alertmanager_checksum }}" _common_checksums_url: "{{ alertmanager_checksums_url }}" _common_system_group: "{{ alertmanager_system_group }}" _common_system_user: "{{ alertmanager_system_user }}" _common_config_dir: "{{ alertmanager_config_dir }}" _common_binary_unarchive_opts: ['--strip-components=1'] + _common_skip_configure: "{{ alertmanager_skip_configure }}" tags: - alertmanager - install @@ -43,6 +46,7 @@ - name: Configure ansible.builtin.include_tasks: file: configure.yml + when: not alertmanager_skip_configure tags: - alertmanager - configure @@ -57,6 +61,7 @@ state: started when: - not ansible_check_mode + - not alertmanager_skip_configure tags: - alertmanager - run diff --git a/roles/apache_exporter/defaults/main.yml b/roles/apache_exporter/defaults/main.yml index 883dda821..77f743c5d 100644 --- a/roles/apache_exporter/defaults/main.yml +++ b/roles/apache_exporter/defaults/main.yml @@ -2,6 +2,7 @@ apache_exporter_version: 1.1.1 apache_exporter_binary_url: "https://github.com/{{ _apache_exporter_repo }}/releases/download/v{{ apache_exporter_version }}/\ apache_exporter-{{ apache_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _apache_exporter_go_ansible_arch }}.tar.gz" +apache_exporter_checksum: "" apache_exporter_checksums_url: "https://github.com/{{ _apache_exporter_repo }}/releases/download/v{{ apache_exporter_version }}/sha256sums.txt" apache_exporter_web_listen_address: "0.0.0.0:9117" @@ -22,3 +23,6 @@ apache_exporter_config_dir: "/etc/apache_exporter" # Local path to stash the archive and its extraction apache_exporter_local_cache_path: "/tmp/apache_exporter-{{ ansible_facts['system'] | lower }}-{{ _apache_exporter_go_ansible_arch }}/{{ apache_exporter_version }}" + +# Another host than localhost only works in single-host plays +apache_exporter_download_host: localhost diff --git a/roles/apache_exporter/tasks/main.yml b/roles/apache_exporter/tasks/main.yml index c03cfb1cc..af3006461 100644 --- a/roles/apache_exporter/tasks/main.yml +++ b/roles/apache_exporter/tasks/main.yml @@ -20,6 +20,8 @@ _common_binaries: "{{ _apache_exporter_binaries }}" _common_binary_install_dir: "{{ apache_exporter_binary_install_dir }}" _common_binary_url: "{{ apache_exporter_binary_url }}" + _common_download_host: "{{ apache_exporter_download_host }}" + _common_checksum: "{{ apache_exporter_checksum }}" _common_checksums_url: "{{ apache_exporter_checksums_url }}" _common_system_group: "{{ apache_exporter_system_group }}" _common_system_user: "{{ apache_exporter_system_user }}" diff --git a/roles/bind_exporter/defaults/main.yml b/roles/bind_exporter/defaults/main.yml index 2e98d4665..2a65f4c09 100644 --- a/roles/bind_exporter/defaults/main.yml +++ b/roles/bind_exporter/defaults/main.yml @@ -2,6 +2,7 @@ bind_exporter_version: 0.8.0 bind_exporter_binary_url: "https://github.com/{{ _bind_exporter_repo }}/releases/download/v{{ bind_exporter_version }}/\ bind_exporter-{{ bind_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _bind_exporter_go_ansible_arch }}.tar.gz" +bind_exporter_checksum: "" bind_exporter_checksums_url: "https://github.com/{{ _bind_exporter_repo }}/releases/download/v{{ bind_exporter_version }}/sha256sums.txt" bind_exporter_web_listen_address: "0.0.0.0:9119" @@ -24,3 +25,6 @@ bind_exporter_binary_install_dir: "/usr/local/bin" bind_exporter_config_dir: "/etc/bind_exporter" bind_exporter_local_cache_path: "/tmp/bind_exporter-{{ ansible_facts['system'] | lower }}-{{ _bind_exporter_go_ansible_arch }}/{{ bind_exporter_version }}" + +# Another host than localhost only works in single-host plays +bind_exporter_download_host: localhost diff --git a/roles/bind_exporter/tasks/main.yml b/roles/bind_exporter/tasks/main.yml index 655ba4b35..cab75508b 100644 --- a/roles/bind_exporter/tasks/main.yml +++ b/roles/bind_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _bind_exporter_binaries }}" _common_binary_install_dir: "{{ bind_exporter_binary_install_dir }}" _common_binary_url: "{{ bind_exporter_binary_url }}" + _common_download_host: "{{ bind_exporter_download_host }}" + _common_checksum: "{{ bind_exporter_checksum }}" _common_checksums_url: "{{ bind_exporter_checksums_url }}" _common_system_group: "{{ bind_exporter_system_group }}" _common_system_user: "{{ bind_exporter_system_user }}" diff --git a/roles/blackbox_exporter/defaults/main.yml b/roles/blackbox_exporter/defaults/main.yml index bd2f0b20b..9af59ab6c 100644 --- a/roles/blackbox_exporter/defaults/main.yml +++ b/roles/blackbox_exporter/defaults/main.yml @@ -2,6 +2,7 @@ blackbox_exporter_version: 0.28.0 blackbox_exporter_binary_url: "https://github.com/{{ _blackbox_exporter_repo }}/releases/download/v{{ blackbox_exporter_version }}/\ blackbox_exporter-{{ blackbox_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _blackbox_exporter_go_ansible_arch }}.tar.gz" +blackbox_exporter_checksum: "" blackbox_exporter_checksums_url: "https://github.com/{{ _blackbox_exporter_repo }}/releases/download/v{{ blackbox_exporter_version }}/sha256sums.txt" blackbox_exporter_web_listen_address: "0.0.0.0:9115" @@ -76,3 +77,6 @@ blackbox_exporter_local_cache_path: "/tmp/blackbox_exporter-{{ ansible_facts['sy {{ blackbox_exporter_version }}" blackbox_exporter_binary_install_dir: "/usr/local/bin" + +# Another host than localhost only works in single-host plays +blackbox_exporter_download_host: localhost diff --git a/roles/blackbox_exporter/tasks/main.yml b/roles/blackbox_exporter/tasks/main.yml index 47bcc23fb..6f681fc79 100644 --- a/roles/blackbox_exporter/tasks/main.yml +++ b/roles/blackbox_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _blackbox_exporter_binaries }}" _common_binary_install_dir: "{{ blackbox_exporter_binary_install_dir }}" _common_binary_url: "{{ blackbox_exporter_binary_url }}" + _common_download_host: "{{ blackbox_exporter_download_host }}" + _common_checksum: "{{ blackbox_exporter_checksum }}" _common_checksums_url: "{{ blackbox_exporter_checksums_url }}" _common_system_group: "{{ blackbox_exporter_system_group }}" _common_system_user: "{{ blackbox_exporter_system_user }}" diff --git a/roles/cadvisor/defaults/main.yml b/roles/cadvisor/defaults/main.yml index ae8052557..a5a52d353 100644 --- a/roles/cadvisor/defaults/main.yml +++ b/roles/cadvisor/defaults/main.yml @@ -27,3 +27,6 @@ cadvisor_binary_install_dir: "/usr/local/bin" # cadvisor_housekeeping_interval: 10s cadvisor_max_housekeeping_interval: 15s + +# Another host than localhost only works in single-host plays +cadvisor_download_host: localhost diff --git a/roles/cadvisor/tasks/main.yml b/roles/cadvisor/tasks/main.yml index 3d544a555..0bb2381a7 100644 --- a/roles/cadvisor/tasks/main.yml +++ b/roles/cadvisor/tasks/main.yml @@ -17,6 +17,7 @@ _common_binaries: "{{ _cadvisor_binaries }}" _common_binary_install_dir: "{{ cadvisor_binary_install_dir }}" _common_binary_url: "{{ cadvisor_binary_url }}" + _common_download_host: "{{ cadvisor_download_host }}" _common_system_group: "{{ cadvisor_system_group }}" _common_system_user: "{{ cadvisor_system_user }}" _common_config_dir: "{{ cadvisor_config_dir }}" diff --git a/roles/chrony_exporter/defaults/main.yml b/roles/chrony_exporter/defaults/main.yml index e1708bf9a..90ed2cccd 100644 --- a/roles/chrony_exporter/defaults/main.yml +++ b/roles/chrony_exporter/defaults/main.yml @@ -2,6 +2,7 @@ chrony_exporter_version: 0.13.3 chrony_exporter_binary_url: "https://github.com/{{ _chrony_exporter_repo }}/releases/download/v{{ chrony_exporter_version }}/\ chrony_exporter-{{ chrony_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _chrony_exporter_go_ansible_arch }}.tar.gz" +chrony_exporter_checksum: "" chrony_exporter_checksums_url: "https://github.com/{{ _chrony_exporter_repo }}/releases/download/v{{ chrony_exporter_version }}/sha256sums.txt" chrony_exporter_web_listen_address: "0.0.0.0:9123" @@ -28,3 +29,6 @@ chrony_exporter_local_cache_path: "/tmp/chrony_exporter-{{ ansible_facts['system chrony_exporter_binary_install_dir: "/usr/local/bin" chrony_exporter_config_dir: "/etc/chrony_exporter" + +# Another host than localhost only works in single-host plays +chrony_exporter_download_host: localhost diff --git a/roles/chrony_exporter/tasks/main.yml b/roles/chrony_exporter/tasks/main.yml index 1bb4bfc6f..4f6bc1b50 100644 --- a/roles/chrony_exporter/tasks/main.yml +++ b/roles/chrony_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _chrony_exporter_binaries }}" _common_binary_install_dir: "{{ chrony_exporter_binary_install_dir }}" _common_binary_url: "{{ chrony_exporter_binary_url }}" + _common_download_host: "{{ chrony_exporter_download_host }}" + _common_checksum: "{{ chrony_exporter_checksum }}" _common_checksums_url: "{{ chrony_exporter_checksums_url }}" _common_system_group: "{{ chrony_exporter_system_group }}" _common_system_user: "{{ chrony_exporter_system_user }}" diff --git a/roles/consul_exporter/defaults/main.yml b/roles/consul_exporter/defaults/main.yml index 736adfb9d..0ac3e8db4 100644 --- a/roles/consul_exporter/defaults/main.yml +++ b/roles/consul_exporter/defaults/main.yml @@ -2,6 +2,7 @@ consul_exporter_version: 0.13.0 consul_exporter_binary_url: "https://github.com/{{ _consul_exporter_repo }}/releases/download/v{{ consul_exporter_version }}/\ consul_exporter-{{ consul_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _consul_exporter_go_ansible_arch }}.tar.gz" +consul_exporter_checksum: "" consul_exporter_checksums_url: "https://github.com/{{ _consul_exporter_repo }}/releases/download/v{{ consul_exporter_version }}/sha256sums.txt" consul_exporter_web_listen_address: "0.0.0.0:9107" @@ -36,3 +37,6 @@ consul_exporter_local_cache_path: "/tmp/consul_exporter-{{ ansible_facts['system consul_exporter_binary_install_dir: "/usr/local/bin" consul_exporter_config_dir: "/etc/consul_exporter" + +# Another host than localhost only works in single-host plays +consul_exporter_download_host: localhost diff --git a/roles/consul_exporter/tasks/main.yml b/roles/consul_exporter/tasks/main.yml index 5c3284231..f7f51c270 100644 --- a/roles/consul_exporter/tasks/main.yml +++ b/roles/consul_exporter/tasks/main.yml @@ -20,6 +20,8 @@ _common_binaries: "{{ _consul_exporter_binaries }}" _common_binary_install_dir: "{{ consul_exporter_binary_install_dir }}" _common_binary_url: "{{ consul_exporter_binary_url }}" + _common_download_host: "{{ consul_exporter_download_host }}" + _common_checksum: "{{ consul_exporter_checksum }}" _common_checksums_url: "{{ consul_exporter_checksums_url }}" _common_system_group: "{{ consul_exporter_system_group }}" _common_system_user: "{{ consul_exporter_system_user }}" diff --git a/roles/fail2ban_exporter/defaults/main.yml b/roles/fail2ban_exporter/defaults/main.yml index 4fc901010..187b14dbc 100644 --- a/roles/fail2ban_exporter/defaults/main.yml +++ b/roles/fail2ban_exporter/defaults/main.yml @@ -2,6 +2,7 @@ fail2ban_exporter_version: 0.10.3 fail2ban_exporter_binary_url: "https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/releases/v{{ fail2ban_exporter_version }}/downloads/\ fail2ban_exporter_{{ fail2ban_exporter_version }}_{{ ansible_facts['system'] | lower }}_{{ _fail2ban_exporter_go_ansible_arch }}.tar.gz" +fail2ban_exporter_checksum: "" fail2ban_exporter_checksums_url: "https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/releases/v{{ fail2ban_exporter_version }}/downloads/\ fail2ban_exporter_{{ fail2ban_exporter_version }}_checksums.txt" @@ -17,3 +18,6 @@ fail2ban_exporter_system_group: "{{ fail2ban_exporter_system_user }}" # Local path to stash the archive and its extraction fail2ban_exporter_local_cache_path: "/tmp/fail2ban_exporter-{{ ansible_facts['system'] | lower }}-{{ _fail2ban_exporter_go_ansible_arch }}/\ {{ fail2ban_exporter_version }}" + +# Another host than localhost only works in single-host plays +fail2ban_exporter_download_host: localhost diff --git a/roles/fail2ban_exporter/tasks/main.yml b/roles/fail2ban_exporter/tasks/main.yml index 8cb3ba9d2..634181342 100644 --- a/roles/fail2ban_exporter/tasks/main.yml +++ b/roles/fail2ban_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _fail2ban_exporter_binaries }}" _common_binary_install_dir: "{{ fail2ban_exporter_binary_install_dir }}" _common_binary_url: "{{ fail2ban_exporter_binary_url }}" + _common_download_host: "{{ fail2ban_exporter_download_host }}" + _common_checksum: "{{ fail2ban_exporter_checksum }}" _common_checksums_url: "{{ fail2ban_exporter_checksums_url }}" _common_system_group: "{{ fail2ban_exporter_system_group }}" _common_system_user: "{{ fail2ban_exporter_system_user }}" diff --git a/roles/influxdb_exporter/defaults/main.yml b/roles/influxdb_exporter/defaults/main.yml index 87f1fa33f..b00945e44 100644 --- a/roles/influxdb_exporter/defaults/main.yml +++ b/roles/influxdb_exporter/defaults/main.yml @@ -2,6 +2,7 @@ influxdb_exporter_version: 0.12.1 influxdb_exporter_binary_url: "https://github.com/{{ _influxdb_exporter_repo }}/releases/download/v{{ influxdb_exporter_version }}/\ influxdb_exporter-{{ influxdb_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _influxdb_exporter_go_ansible_arch }}.tar.gz" +influxdb_exporter_checksum: "" influxdb_exporter_checksums_url: "https://github.com/{{ _influxdb_exporter_repo }}/releases/download/v{{ influxdb_exporter_version }}/sha256sums.txt" influxdb_exporter_web_listen_address: "0.0.0.0:9122" @@ -20,3 +21,6 @@ influxdb_exporter_system_user: "{{ influxdb_exporter_system_group }}" influxdb_exporter_config_dir: "/etc/influxdb_exporter" # Local path to stash the archive and its extraction influxdb_exporter_local_cache_path: "/tmp/influxdb_exporter-{{ ansible_facts['system'] | lower }}-{{ _influxdb_exporter_go_ansible_arch }}/{{ influxdb_exporter_version }}" + +# Another host than localhost only works in single-host plays +influxdb_exporter_download_host: localhost diff --git a/roles/influxdb_exporter/tasks/main.yml b/roles/influxdb_exporter/tasks/main.yml index 24b909b1d..8e832b0f0 100644 --- a/roles/influxdb_exporter/tasks/main.yml +++ b/roles/influxdb_exporter/tasks/main.yml @@ -20,6 +20,8 @@ _common_binaries: "{{ _influxdb_exporter_binaries }}" _common_binary_install_dir: "{{ influxdb_exporter_binary_install_dir }}" _common_binary_url: "{{ influxdb_exporter_binary_url }}" + _common_download_host: "{{ influxdb_exporter_download_host }}" + _common_checksum: "{{ influxdb_exporter_checksum }}" _common_checksums_url: "{{ influxdb_exporter_checksums_url }}" _common_system_group: "{{ influxdb_exporter_system_group }}" _common_system_user: "{{ influxdb_exporter_system_user }}" diff --git a/roles/ipmi_exporter/defaults/main.yml b/roles/ipmi_exporter/defaults/main.yml index 6c550381b..1ef0b5a03 100644 --- a/roles/ipmi_exporter/defaults/main.yml +++ b/roles/ipmi_exporter/defaults/main.yml @@ -2,6 +2,7 @@ ipmi_exporter_version: 1.10.1 ipmi_exporter_binary_url: "https://github.com/{{ _ipmi_exporter_repo }}/releases/download/v{{ ipmi_exporter_version }}/\ ipmi_exporter-{{ ipmi_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _ipmi_exporter_go_ansible_arch }}.tar.gz" +ipmi_exporter_checksum: "" ipmi_exporter_checksums_url: "https://github.com/{{ _ipmi_exporter_repo }}/releases/download/v{{ ipmi_exporter_version }}/sha256sums.txt" ipmi_exporter_modules: @@ -30,3 +31,6 @@ ipmi_exporter_config_dir: /etc/ipmi_exporter # Local path to stash and extract the archive ipmi_exporter_local_cache_path: "/tmp/ipmi_exporter-{{ ansible_facts['system'] | lower }}-{{ _ipmi_exporter_go_ansible_arch }}/{{ ipmi_exporter_version }}" + +# Another host than localhost only works in single-host plays +ipmi_exporter_download_host: localhost diff --git a/roles/ipmi_exporter/tasks/main.yml b/roles/ipmi_exporter/tasks/main.yml index 37316fee4..33e81fd06 100644 --- a/roles/ipmi_exporter/tasks/main.yml +++ b/roles/ipmi_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _ipmi_exporter_binaries }}" _common_binary_install_dir: "{{ ipmi_exporter_binary_install_dir }}" _common_binary_url: "{{ ipmi_exporter_binary_url }}" + _common_download_host: "{{ ipmi_exporter_download_host }}" + _common_checksum: "{{ ipmi_exporter_checksum }}" _common_checksums_url: "{{ ipmi_exporter_checksums_url }}" _common_system_group: "{{ ipmi_exporter_system_group }}" _common_system_user: "{{ ipmi_exporter_system_user }}" diff --git a/roles/memcached_exporter/defaults/main.yml b/roles/memcached_exporter/defaults/main.yml index 8b863e3f0..409f12aa3 100644 --- a/roles/memcached_exporter/defaults/main.yml +++ b/roles/memcached_exporter/defaults/main.yml @@ -2,6 +2,7 @@ memcached_exporter_version: 0.16.0 memcached_exporter_binary_url: "https://github.com/{{ _memcached_exporter_repo }}/releases/download/v{{ memcached_exporter_version }}/\ memcached_exporter-{{ memcached_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _memcached_exporter_go_ansible_arch }}.tar.gz" +memcached_exporter_checksum: "" memcached_exporter_checksums_url: "https://github.com/{{ _memcached_exporter_repo }}/releases/download/v{{ memcached_exporter_version }}/sha256sums.txt" memcached_exporter_memcached_pid_file: "" @@ -26,3 +27,6 @@ memcached_exporter_system_group: "{{ memcached_exporter_system_user }}" memcached_exporter_local_cache_path: "/tmp/memcached_exporter-{{ ansible_facts['system'] | lower }}-{{ _memcached_exporter_go_ansible_arch }}/\ {{ memcached_exporter_version }}" memcached_exporter_config_dir: "/etc/memcached_exporter" + +# Another host than localhost only works in single-host plays +memcached_exporter_download_host: localhost diff --git a/roles/memcached_exporter/tasks/main.yml b/roles/memcached_exporter/tasks/main.yml index cffed6dd5..424a15693 100644 --- a/roles/memcached_exporter/tasks/main.yml +++ b/roles/memcached_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _memcached_exporter_binaries }}" _common_binary_install_dir: "{{ memcached_exporter_binary_install_dir }}" _common_binary_url: "{{ memcached_exporter_binary_url }}" + _common_download_host: "{{ memcached_exporter_download_host }}" + _common_checksum: "{{ memcached_exporter_checksum }}" _common_checksums_url: "{{ memcached_exporter_checksums_url }}" _common_system_group: "{{ memcached_exporter_system_group }}" _common_system_user: "{{ memcached_exporter_system_user }}" diff --git a/roles/mongodb_exporter/defaults/main.yml b/roles/mongodb_exporter/defaults/main.yml index fca187d0a..a47a87bc0 100644 --- a/roles/mongodb_exporter/defaults/main.yml +++ b/roles/mongodb_exporter/defaults/main.yml @@ -2,6 +2,7 @@ mongodb_exporter_version: 0.51.0 mongodb_exporter_binary_url: "https://github.com/{{ _mongodb_exporter_repo }}/releases/download/v{{ mongodb_exporter_version }}/\ mongodb_exporter-{{ mongodb_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _mongodb_exporter_go_ansible_arch }}.tar.gz" +mongodb_exporter_checksum: "" mongodb_exporter_checksums_url: "https://github.com/{{ _mongodb_exporter_repo }}/releases/download/v{{ mongodb_exporter_version }}/\ mongodb_exporter_{{ mongodb_exporter_version }}_checksums.txt" @@ -35,3 +36,6 @@ mongodb_exporter_config_dir: "/etc/mongodb_exporter" # Local path to stash the archive and its extraction mongodb_exporter_local_cache_path: "/tmp/mongodb_exporter-{{ ansible_facts['system'] | lower }}-{{ _mongodb_exporter_go_ansible_arch }}/{{ mongodb_exporter_version }}" + +# Another host than localhost only works in single-host plays +mongodb_exporter_download_host: localhost diff --git a/roles/mongodb_exporter/tasks/main.yml b/roles/mongodb_exporter/tasks/main.yml index 01f2d2415..c2f4da444 100644 --- a/roles/mongodb_exporter/tasks/main.yml +++ b/roles/mongodb_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _mongodb_exporter_binaries }}" _common_binary_install_dir: "{{ mongodb_exporter_binary_install_dir }}" _common_binary_url: "{{ mongodb_exporter_binary_url }}" + _common_download_host: "{{ mongodb_exporter_download_host }}" + _common_checksum: "{{ mongodb_exporter_checksum }}" _common_checksums_url: "{{ mongodb_exporter_checksums_url }}" _common_system_group: "{{ mongodb_exporter_system_group }}" _common_system_user: "{{ mongodb_exporter_system_user }}" diff --git a/roles/mysqld_exporter/defaults/main.yml b/roles/mysqld_exporter/defaults/main.yml index 6d1aca6aa..2b905f5e0 100644 --- a/roles/mysqld_exporter/defaults/main.yml +++ b/roles/mysqld_exporter/defaults/main.yml @@ -2,6 +2,7 @@ mysqld_exporter_version: 0.19.0 mysqld_exporter_binary_url: "https://github.com/{{ _mysqld_exporter_repo }}/releases/download/v{{ mysqld_exporter_version }}/\ mysqld_exporter-{{ mysqld_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _mysqld_exporter_go_ansible_arch }}.tar.gz" +mysqld_exporter_checksum: "" mysqld_exporter_checksums_url: "https://github.com/{{ _mysqld_exporter_repo }}/releases/download/v{{ mysqld_exporter_version }}/sha256sums.txt" mysqld_exporter_web_listen_address: "0.0.0.0:9104" @@ -35,3 +36,6 @@ mysqld_exporter_system_user: "{{ mysqld_exporter_system_group }}" # Local path to stash the archive and its extraction mysqld_exporter_local_cache_path: "/tmp/mysqld_exporter-{{ ansible_facts['system'] | lower }}-{{ _mysqld_exporter_go_ansible_arch }}/{{ mysqld_exporter_version }}" + +# Another host than localhost only works in single-host plays +mysqld_exporter_download_host: localhost diff --git a/roles/mysqld_exporter/tasks/main.yml b/roles/mysqld_exporter/tasks/main.yml index 3ddf42962..a8d161be6 100644 --- a/roles/mysqld_exporter/tasks/main.yml +++ b/roles/mysqld_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _mysqld_exporter_binaries }}" _common_binary_install_dir: "{{ mysqld_exporter_binary_install_dir }}" _common_binary_url: "{{ mysqld_exporter_binary_url }}" + _common_download_host: "{{ mysqld_exporter_download_host }}" + _common_checksum: "{{ mysqld_exporter_checksum }}" _common_checksums_url: "{{ mysqld_exporter_checksums_url }}" _common_system_group: "{{ mysqld_exporter_system_group }}" _common_system_user: "{{ mysqld_exporter_system_user }}" diff --git a/roles/nginx_exporter/defaults/main.yml b/roles/nginx_exporter/defaults/main.yml index 105917a3a..d763f43f8 100644 --- a/roles/nginx_exporter/defaults/main.yml +++ b/roles/nginx_exporter/defaults/main.yml @@ -2,6 +2,7 @@ nginx_exporter_version: 1.4.1 nginx_exporter_binary_url: "https://github.com/{{ _nginx_exporter_repo }}/releases/download/v{{ nginx_exporter_version }}/\ nginx-prometheus-exporter_{{ nginx_exporter_version }}_{{ ansible_facts['system'] | lower }}_{{ _nginx_exporter_go_ansible_arch }}.tar.gz" +nginx_exporter_checksum: "" nginx_exporter_checksums_url: "https://github.com/{{ _nginx_exporter_repo }}/releases/download/v{{ nginx_exporter_version }}/\ nginx-prometheus-exporter_{{ nginx_exporter_version }}_checksums.txt" nginx_exporter_plus: false @@ -26,3 +27,6 @@ nginx_exporter_config_dir: "/etc/nginx_exporter" # Local path to stash the archive and its extraction nginx_exporter_local_cache_path: "/tmp/nginx_exporter-{{ ansible_facts['system'] | lower }}-{{ _nginx_exporter_go_ansible_arch }}/{{ nginx_exporter_version }}" + +# Another host than localhost only works in single-host plays +nginx_exporter_download_host: localhost diff --git a/roles/nginx_exporter/tasks/main.yml b/roles/nginx_exporter/tasks/main.yml index 8027088e3..2f1d9c840 100644 --- a/roles/nginx_exporter/tasks/main.yml +++ b/roles/nginx_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _nginx_exporter_binaries }}" _common_binary_install_dir: "{{ nginx_exporter_binary_install_dir }}" _common_binary_url: "{{ nginx_exporter_binary_url }}" + _common_download_host: "{{ nginx_exporter_download_host }}" + _common_checksum: "{{ nginx_exporter_checksum }}" _common_checksums_url: "{{ nginx_exporter_checksums_url }}" _common_system_group: "{{ nginx_exporter_system_group }}" _common_system_user: "{{ nginx_exporter_system_user }}" diff --git a/roles/node_exporter/defaults/main.yml b/roles/node_exporter/defaults/main.yml index 33585e60e..2690e1488 100644 --- a/roles/node_exporter/defaults/main.yml +++ b/roles/node_exporter/defaults/main.yml @@ -2,6 +2,7 @@ node_exporter_version: 1.11.1 node_exporter_binary_url: "https://github.com/{{ _node_exporter_repo }}/releases/download/v{{ node_exporter_version }}/\ node_exporter-{{ node_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _node_exporter_go_ansible_arch }}.tar.gz" +node_exporter_checksum: "" node_exporter_checksums_url: "https://github.com/{{ _node_exporter_repo }}/releases/download/v{{ node_exporter_version }}/sha256sums.txt" node_exporter_web_disable_exporter_metrics: false @@ -36,3 +37,6 @@ node_exporter_system_user: "{{ node_exporter_system_group }}" node_exporter_config_dir: "/etc/node_exporter" # Local path to stash the archive and its extraction node_exporter_local_cache_path: "/tmp/node_exporter-{{ ansible_facts['system'] | lower }}-{{ _node_exporter_go_ansible_arch }}/{{ node_exporter_version }}" + +# Another host than localhost only works in single-host plays +node_exporter_download_host: localhost diff --git a/roles/node_exporter/tasks/main.yml b/roles/node_exporter/tasks/main.yml index a5373c415..18d0bc4ac 100644 --- a/roles/node_exporter/tasks/main.yml +++ b/roles/node_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _node_exporter_binaries }}" _common_binary_install_dir: "{{ node_exporter_binary_install_dir }}" _common_binary_url: "{{ node_exporter_binary_url }}" + _common_download_host: "{{ node_exporter_download_host }}" + _common_checksum: "{{ node_exporter_checksum }}" _common_checksums_url: "{{ node_exporter_checksums_url }}" _common_system_group: "{{ node_exporter_system_group }}" _common_system_user: "{{ node_exporter_system_user }}" diff --git a/roles/nvidia_gpu_exporter/defaults/main.yml b/roles/nvidia_gpu_exporter/defaults/main.yml index f191a1c90..b1dd049d8 100644 --- a/roles/nvidia_gpu_exporter/defaults/main.yml +++ b/roles/nvidia_gpu_exporter/defaults/main.yml @@ -2,6 +2,7 @@ nvidia_gpu_exporter_version: 1.10.0 nvidia_gpu_exporter_binary_url: "https://github.com/{{ _nvidia_gpu_exporter_repo }}/releases/download/v{{ nvidia_gpu_exporter_version }}/\ nvidia_gpu_exporter_{{ nvidia_gpu_exporter_version }}_{{ ansible_facts['system'] | lower }}_{{ _nvidia_gpu_exporter_go_ansible_arch }}.tar.gz" +nvidia_gpu_exporter_checksum: "" nvidia_gpu_exporter_checksums_url: "https://github.com/{{ _nvidia_gpu_exporter_repo }}/releases/download/v{{ nvidia_gpu_exporter_version }}/checksums.txt" nvidia_gpu_exporter_web_listen_address: "0.0.0.0:9835" @@ -14,3 +15,6 @@ nvidia_gpu_exporter_system_user: "{{ nvidia_gpu_exporter_system_group }}" nvidia_gpu_exporter_config_dir: "/etc/nvidia_gpu_exporter" # Local path to stash the archive and its extraction nvidia_gpu_exporter_local_cache_path: "/tmp/nvidia_gpu_exporter-{{ ansible_facts['system'] | lower }}-{{ _nvidia_gpu_exporter_go_ansible_arch }}/{{ nvidia_gpu_exporter_version }}" + +# Another host than localhost only works in single-host plays +nvidia_gpu_exporter_download_host: localhost diff --git a/roles/nvidia_gpu_exporter/tasks/main.yml b/roles/nvidia_gpu_exporter/tasks/main.yml index a9a0c5941..dc701f939 100644 --- a/roles/nvidia_gpu_exporter/tasks/main.yml +++ b/roles/nvidia_gpu_exporter/tasks/main.yml @@ -20,6 +20,8 @@ _common_binaries: "{{ _nvidia_gpu_exporter_binaries }}" _common_binary_install_dir: "{{ nvidia_gpu_exporter_binary_install_dir }}" _common_binary_url: "{{ nvidia_gpu_exporter_binary_url }}" + _common_download_host: "{{ nvidia_gpu_exporter_download_host }}" + _common_checksum: "{{ nvidia_gpu_exporter_checksum }}" _common_checksums_url: "{{ nvidia_gpu_exporter_checksums_url }}" _common_system_group: "{{ nvidia_gpu_exporter_system_group }}" _common_system_user: "{{ nvidia_gpu_exporter_system_user }}" diff --git a/roles/postgres_exporter/defaults/main.yml b/roles/postgres_exporter/defaults/main.yml index 5fb3fde52..4a21a67e7 100644 --- a/roles/postgres_exporter/defaults/main.yml +++ b/roles/postgres_exporter/defaults/main.yml @@ -2,6 +2,7 @@ postgres_exporter_version: 0.20.1 postgres_exporter_binary_url: "https://github.com/{{ _postgres_exporter_repo }}/releases/download/v{{ postgres_exporter_version }}/\ postgres_exporter-{{ postgres_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _postgres_exporter_go_ansible_arch }}.tar.gz" +postgres_exporter_checksum: "" postgres_exporter_checksums_url: "https://github.com/{{ _postgres_exporter_repo }}/releases/download/v{{ postgres_exporter_version }}/sha256sums.txt" postgres_exporter_web_listen_address: "0.0.0.0:9187" @@ -32,3 +33,6 @@ postgres_exporter_system_user: "{{ postgres_exporter_system_group }}" # Local path to stash the archive and its extraction postgres_exporter_local_cache_path: "/tmp/postgres_exporter-{{ ansible_facts['system'] | lower }}-{{ _postgres_exporter_go_ansible_arch }}/{{ postgres_exporter_version }}" + +# Another host than localhost only works in single-host plays +postgres_exporter_download_host: localhost diff --git a/roles/postgres_exporter/tasks/main.yml b/roles/postgres_exporter/tasks/main.yml index e47ceef78..781a65ee6 100644 --- a/roles/postgres_exporter/tasks/main.yml +++ b/roles/postgres_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _postgres_exporter_binaries }}" _common_binary_install_dir: "{{ postgres_exporter_binary_install_dir }}" _common_binary_url: "{{ postgres_exporter_binary_url }}" + _common_download_host: "{{ postgres_exporter_download_host }}" + _common_checksum: "{{ postgres_exporter_checksum }}" _common_checksums_url: "{{ postgres_exporter_checksums_url }}" _common_system_group: "{{ postgres_exporter_system_group }}" _common_system_user: "{{ postgres_exporter_system_user }}" diff --git a/roles/process_exporter/defaults/main.yml b/roles/process_exporter/defaults/main.yml index 9734e4f7a..0dd27ec70 100644 --- a/roles/process_exporter/defaults/main.yml +++ b/roles/process_exporter/defaults/main.yml @@ -2,6 +2,7 @@ process_exporter_version: 0.8.7 process_exporter_binary_url: "https://github.com/{{ _process_exporter_repo }}/releases/download/v{{ process_exporter_version }}/\ process-exporter-{{ process_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _process_exporter_go_ansible_arch }}.tar.gz" +process_exporter_checksum: "" process_exporter_checksums_url: "https://github.com/{{ _process_exporter_repo }}/releases/download/v{{ process_exporter_version }}/checksums.txt" process_exporter_local_cache_path: "/tmp/process_exporter-{{ ansible_facts['system'] | lower }}-{{ _process_exporter_go_ansible_arch }}/{{ process_exporter_version }}" @@ -31,3 +32,6 @@ process_exporter_binary_install_dir: "/usr/local/bin" process_exporter_system_group: "process-exp" process_exporter_system_user: "{{ process_exporter_system_group }}" process_exporter_config_dir: "/etc/process_exporter" + +# Another host than localhost only works in single-host plays +process_exporter_download_host: localhost diff --git a/roles/process_exporter/tasks/main.yml b/roles/process_exporter/tasks/main.yml index 5d5941ced..d2f93af1b 100644 --- a/roles/process_exporter/tasks/main.yml +++ b/roles/process_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _process_exporter_binaries }}" _common_binary_install_dir: "{{ process_exporter_binary_install_dir }}" _common_binary_url: "{{ process_exporter_binary_url }}" + _common_download_host: "{{ process_exporter_download_host }}" + _common_checksum: "{{ process_exporter_checksum }}" _common_checksums_url: "{{ process_exporter_checksums_url }}" _common_system_group: "{{ process_exporter_system_group }}" _common_system_user: "{{ process_exporter_system_user }}" diff --git a/roles/prometheus/defaults/main.yml b/roles/prometheus/defaults/main.yml index 8d31598fc..c32cb8459 100644 --- a/roles/prometheus/defaults/main.yml +++ b/roles/prometheus/defaults/main.yml @@ -2,6 +2,7 @@ prometheus_version: 3.13.0 prometheus_binary_url: "https://github.com/{{ _prometheus_repo }}/releases/download/v{{ prometheus_version }}/\ prometheus-{{ prometheus_version }}.{{ ansible_facts['system'] | lower }}-{{ _prometheus_go_ansible_arch }}.tar.gz" +prometheus_checksum: "" prometheus_checksums_url: "https://github.com/{{ _prometheus_repo }}/releases/download/v{{ prometheus_version }}/sha256sums.txt" prometheus_binary_install_dir: /usr/local/bin @@ -238,3 +239,9 @@ prometheus_stop_timeout: '600s' # Local path to stash the archive and its extraction prometheus_local_cache_path: "/tmp/prometheus-{{ ansible_facts['system'] | lower }}-{{ _prometheus_go_ansible_arch }}/{{ prometheus_version }}" + +# Set to true for install-only runs +prometheus_skip_configure: false + +# Another host than localhost only works in single-host plays +prometheus_download_host: localhost diff --git a/roles/prometheus/tasks/main.yml b/roles/prometheus/tasks/main.yml index aeb29eb7f..bd48d3d00 100644 --- a/roles/prometheus/tasks/main.yml +++ b/roles/prometheus/tasks/main.yml @@ -11,16 +11,20 @@ ansible.builtin.include_role: name: prometheus.prometheus._common tasks_from: install.yml + when: not (prometheus_skip_install | default(False)) vars: _common_local_cache_path: "{{ prometheus_local_cache_path }}" _common_binaries: "{{ _prometheus_binaries }}" _common_binary_install_dir: "{{ prometheus_binary_install_dir }}" _common_binary_url: "{{ prometheus_binary_url }}" + _common_download_host: "{{ prometheus_download_host }}" + _common_checksum: "{{ prometheus_checksum }}" _common_checksums_url: "{{ prometheus_checksums_url }}" _common_system_group: "{{ prometheus_system_group }}" _common_system_user: "{{ prometheus_system_user }}" _common_config_dir: "{{ prometheus_config_dir }}" _common_binary_unarchive_opts: ['--strip-components=1'] + _common_skip_configure: "{{ prometheus_skip_configure }}" tags: - prometheus_install @@ -37,6 +41,7 @@ - name: Configure ansible.builtin.include_tasks: file: configure.yml + when: not prometheus_skip_configure tags: - prometheus_configure @@ -49,6 +54,7 @@ enabled: true when: - not ansible_check_mode + - not prometheus_skip_configure tags: - prometheus_run @@ -58,3 +64,4 @@ until: "__service_status.ansible_facts.services['prometheus.service'].state == 'running'" retries: 10 delay: 5 + when: not prometheus_skip_configure diff --git a/roles/pushgateway/defaults/main.yml b/roles/pushgateway/defaults/main.yml index dfe20facb..d61e28824 100644 --- a/roles/pushgateway/defaults/main.yml +++ b/roles/pushgateway/defaults/main.yml @@ -2,6 +2,7 @@ pushgateway_version: 1.11.3 pushgateway_binary_url: "https://github.com/{{ _pushgateway_repo }}/releases/download/v{{ pushgateway_version }}/\ pushgateway-{{ pushgateway_version }}.{{ ansible_facts['system'] | lower }}-{{ _pushgateway_go_ansible_arch }}.tar.gz" +pushgateway_checksum: "" pushgateway_checksums_url: "https://github.com/{{ _pushgateway_repo }}/releases/download/v{{ pushgateway_version }}/sha256sums.txt" pushgateway_web_listen_address: "0.0.0.0:9091" @@ -28,3 +29,6 @@ pushgateway_config_dir: "/etc/pushgateway" # Local path to stash the archive and its extraction pushgateway_local_cache_path: "/tmp/pushgateway-{{ ansible_facts['system'] | lower }}-{{ _pushgateway_go_ansible_arch }}/{{ pushgateway_version }}" + +# Another host than localhost only works in single-host plays +pushgateway_download_host: localhost diff --git a/roles/pushgateway/tasks/main.yml b/roles/pushgateway/tasks/main.yml index 81492563b..cc9acdaf5 100644 --- a/roles/pushgateway/tasks/main.yml +++ b/roles/pushgateway/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _pushgateway_binaries }}" _common_binary_install_dir: "{{ pushgateway_binary_install_dir }}" _common_binary_url: "{{ pushgateway_binary_url }}" + _common_download_host: "{{ pushgateway_download_host }}" + _common_checksum: "{{ pushgateway_checksum }}" _common_checksums_url: "{{ pushgateway_checksums_url }}" _common_system_group: "{{ pushgateway_system_group }}" _common_system_user: "{{ pushgateway_system_user }}" diff --git a/roles/redis_exporter/defaults/main.yml b/roles/redis_exporter/defaults/main.yml index 290a77687..7d47b989b 100644 --- a/roles/redis_exporter/defaults/main.yml +++ b/roles/redis_exporter/defaults/main.yml @@ -2,6 +2,7 @@ redis_exporter_version: 1.86.0 redis_exporter_binary_url: "https://github.com/{{ _redis_exporter_repo }}/releases/download/v{{ redis_exporter_version }}/\ redis_exporter-v{{ redis_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _redis_exporter_go_ansible_arch }}.tar.gz" +redis_exporter_checksum: "" redis_exporter_checksums_url: "https://github.com/{{ _redis_exporter_repo }}/releases/download/v{{ redis_exporter_version }}/sha256sums.txt" # https://github.com/oliver006/redis_exporter?tab=readme-ov-file#command-line-flags @@ -51,3 +52,6 @@ redis_exporter_config_dir: "/etc/redis_exporter" # Local path to stash the archive and its extraction redis_exporter_local_cache_path: "/tmp/redis_exporter-{{ ansible_facts['system'] | lower }}-{{ _redis_exporter_go_ansible_arch }}/{{ redis_exporter_version }}" + +# Another host than localhost only works in single-host plays +redis_exporter_download_host: localhost diff --git a/roles/redis_exporter/tasks/main.yml b/roles/redis_exporter/tasks/main.yml index 03636e18a..822fadc1e 100644 --- a/roles/redis_exporter/tasks/main.yml +++ b/roles/redis_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _redis_exporter_binaries }}" _common_binary_install_dir: "{{ redis_exporter_binary_install_dir }}" _common_binary_url: "{{ redis_exporter_binary_url }}" + _common_download_host: "{{ redis_exporter_download_host }}" + _common_checksum: "{{ redis_exporter_checksum }}" _common_checksums_url: "{{ redis_exporter_checksums_url }}" _common_system_group: "{{ redis_exporter_system_group }}" _common_system_user: "{{ redis_exporter_system_user }}" diff --git a/roles/smartctl_exporter/defaults/main.yml b/roles/smartctl_exporter/defaults/main.yml index 49899f017..dcdf08238 100644 --- a/roles/smartctl_exporter/defaults/main.yml +++ b/roles/smartctl_exporter/defaults/main.yml @@ -2,6 +2,7 @@ smartctl_exporter_version: 0.14.0 smartctl_exporter_binary_url: "https://github.com/{{ _smartctl_exporter_repo }}/releases/download/v{{ smartctl_exporter_version }}/\ smartctl_exporter-{{ smartctl_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _smartctl_exporter_go_ansible_arch }}.tar.gz" +smartctl_exporter_checksum: "" smartctl_exporter_checksums_url: "https://github.com/{{ _smartctl_exporter_repo }}/releases/download/v{{ smartctl_exporter_version }}/sha256sums.txt" smartctl_exporter_smartctl_path: "/usr/sbin/smartctl" @@ -30,3 +31,6 @@ smartctl_exporter_config_dir: "/etc/smartctl_exporter" # Local path to stash the archive and its extraction smartctl_exporter_local_cache_path: "/tmp/smartctl_exporter-{{ ansible_facts['system'] | lower }}-{{ _smartctl_exporter_go_ansible_arch }}/{{ smartctl_exporter_version }}" + +# Another host than localhost only works in single-host plays +smartctl_exporter_download_host: localhost diff --git a/roles/smartctl_exporter/tasks/main.yml b/roles/smartctl_exporter/tasks/main.yml index 0ad65983c..bf746698f 100644 --- a/roles/smartctl_exporter/tasks/main.yml +++ b/roles/smartctl_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _smartctl_exporter_binaries }}" _common_binary_install_dir: "{{ smartctl_exporter_binary_install_dir }}" _common_binary_url: "{{ smartctl_exporter_binary_url }}" + _common_download_host: "{{ smartctl_exporter_download_host }}" + _common_checksum: "{{ smartctl_exporter_checksum }}" _common_checksums_url: "{{ smartctl_exporter_checksums_url }}" _common_system_group: "{{ smartctl_exporter_system_group }}" _common_system_user: "{{ smartctl_exporter_system_user }}" diff --git a/roles/smokeping_prober/defaults/main.yml b/roles/smokeping_prober/defaults/main.yml index cdbef80e7..57d9c564e 100644 --- a/roles/smokeping_prober/defaults/main.yml +++ b/roles/smokeping_prober/defaults/main.yml @@ -2,6 +2,7 @@ smokeping_prober_version: 0.12.0 smokeping_prober_binary_url: "https://github.com/{{ _smokeping_prober_repo }}/releases/download/v{{ smokeping_prober_version }}/\ smokeping_prober-{{ smokeping_prober_version }}.{{ ansible_facts['system'] | lower }}-{{ _smokeping_prober_go_ansible_arch }}.tar.gz" +smokeping_prober_checksum: "" smokeping_prober_checksums_url: "https://github.com/{{ _smokeping_prober_repo }}/releases/download/v{{ smokeping_prober_version }}/sha256sums.txt" smokeping_prober_web_listen_address: "0.0.0.0:9374" @@ -33,3 +34,6 @@ smokeping_prober_system_user: "{{ smokeping_prober_system_group }}" # Local path to stash the archive and its extraction smokeping_prober_local_cache_path: "/tmp/smokeping_prober-{{ ansible_facts['system'] | lower }}-{{ _smokeping_prober_go_ansible_arch }}/{{ smokeping_prober_version }}" + +# Another host than localhost only works in single-host plays +smokeping_prober_download_host: localhost diff --git a/roles/smokeping_prober/tasks/main.yml b/roles/smokeping_prober/tasks/main.yml index 6f8a0da18..75bed59d2 100644 --- a/roles/smokeping_prober/tasks/main.yml +++ b/roles/smokeping_prober/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _smokeping_prober_binaries }}" _common_binary_install_dir: "{{ smokeping_prober_binary_install_dir }}" _common_binary_url: "{{ smokeping_prober_binary_url }}" + _common_download_host: "{{ smokeping_prober_download_host }}" + _common_checksum: "{{ smokeping_prober_checksum }}" _common_checksums_url: "{{ smokeping_prober_checksums_url }}" _common_system_group: "{{ smokeping_prober_system_group }}" _common_system_user: "{{ smokeping_prober_system_user }}" diff --git a/roles/snmp_exporter/defaults/main.yml b/roles/snmp_exporter/defaults/main.yml index 1b76f49cd..8f984b69a 100644 --- a/roles/snmp_exporter/defaults/main.yml +++ b/roles/snmp_exporter/defaults/main.yml @@ -2,6 +2,7 @@ snmp_exporter_version: 0.30.1 snmp_exporter_binary_url: "https://github.com/{{ _snmp_exporter_repo }}/releases/download/v{{ snmp_exporter_version }}/\ snmp_exporter-{{ snmp_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _snmp_exporter_go_ansible_arch }}.tar.gz" +snmp_exporter_checksum: "" snmp_exporter_checksums_url: "https://github.com/{{ _snmp_exporter_repo }}/releases/download/v{{ snmp_exporter_version }}/sha256sums.txt" snmp_exporter_web_listen_address: "0.0.0.0:9116" snmp_exporter_log_level: info @@ -16,3 +17,6 @@ snmp_exporter_config_dir: "/etc/snmp_exporter" snmp_exporter_local_cache_path: "/tmp/snmp_exporter-{{ ansible_facts['system'] | lower }}-{{ _snmp_exporter_go_ansible_arch }}/{{ snmp_exporter_version }}" snmp_exporter_system_user: snmp-exp snmp_exporter_system_group: "{{ snmp_exporter_system_user }}" + +# Another host than localhost only works in single-host plays +snmp_exporter_download_host: localhost diff --git a/roles/snmp_exporter/tasks/main.yml b/roles/snmp_exporter/tasks/main.yml index 70d275643..fb7b0bab6 100644 --- a/roles/snmp_exporter/tasks/main.yml +++ b/roles/snmp_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _snmp_exporter_binaries }}" _common_binary_install_dir: "{{ snmp_exporter_binary_install_dir }}" _common_binary_url: "{{ snmp_exporter_binary_url }}" + _common_download_host: "{{ snmp_exporter_download_host }}" + _common_checksum: "{{ snmp_exporter_checksum }}" _common_checksums_url: "{{ snmp_exporter_checksums_url }}" _common_system_group: "{{ snmp_exporter_system_group }}" _common_system_user: "{{ snmp_exporter_system_user }}" diff --git a/roles/systemd_exporter/defaults/main.yml b/roles/systemd_exporter/defaults/main.yml index d3cdc9017..280be5cbc 100644 --- a/roles/systemd_exporter/defaults/main.yml +++ b/roles/systemd_exporter/defaults/main.yml @@ -2,6 +2,7 @@ systemd_exporter_version: 0.7.0 systemd_exporter_binary_url: "https://github.com/{{ _systemd_exporter_repo }}/releases/download/v{{ systemd_exporter_version }}/\ systemd_exporter-{{ systemd_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _systemd_exporter_go_ansible_arch }}.tar.gz" +systemd_exporter_checksum: "" systemd_exporter_checksums_url: "https://github.com/{{ _systemd_exporter_repo }}/releases/download/v{{ systemd_exporter_version }}/sha256sums.txt" systemd_exporter_web_listen_address: "0.0.0.0:9558" @@ -23,3 +24,6 @@ systemd_exporter_log_level: info # Local path to stash the archive and its extraction systemd_exporter_local_cache_path: "/tmp/systemd_exporter-{{ ansible_facts['system'] | lower }}-{{ _systemd_exporter_go_ansible_arch }}/{{ systemd_exporter_version }}" + +# Another host than localhost only works in single-host plays +systemd_exporter_download_host: localhost diff --git a/roles/systemd_exporter/tasks/main.yml b/roles/systemd_exporter/tasks/main.yml index 12f37f254..d61259f60 100644 --- a/roles/systemd_exporter/tasks/main.yml +++ b/roles/systemd_exporter/tasks/main.yml @@ -16,6 +16,8 @@ _common_binaries: "{{ _systemd_exporter_binaries }}" _common_binary_install_dir: "{{ systemd_exporter_binary_install_dir }}" _common_binary_url: "{{ systemd_exporter_binary_url }}" + _common_download_host: "{{ systemd_exporter_download_host }}" + _common_checksum: "{{ systemd_exporter_checksum }}" _common_checksums_url: "{{ systemd_exporter_checksums_url }}" _common_system_group: "{{ systemd_exporter_system_group }}" _common_system_user: "{{ systemd_exporter_system_user }}"