diff --git a/galaxy.yml b/galaxy.yml index 6e37e4b02..801c4dbbc 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -1,7 +1,7 @@ --- namespace: prometheus name: prometheus -version: 0.29.0 +version: 0.28.0+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..532d11b5d 100644 --- a/roles/_common/tasks/install.yml +++ b/roles/_common/tasks/install.yml @@ -81,7 +81,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 +91,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 +107,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] @@ -153,8 +160,9 @@ group: root 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 40dab04a0..461ee6c9c 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: @@ -81,7 +81,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 a2133f8e7..78e23897b 100644 --- a/roles/alertmanager/defaults/main.yml +++ b/roles/alertmanager/defaults/main.yml @@ -2,6 +2,7 @@ alertmanager_version: 0.31.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 @@ -145,3 +146,6 @@ alertmanager_local_cache_path: "/tmp/alertmanager-{{ ansible_facts['system'] | l alertmanager_system_user: alertmanager alertmanager_system_group: "{{ alertmanager_system_user }}" + +# Set to true for install-only runs +alertmanager_skip_configure: false diff --git a/roles/alertmanager/tasks/main.yml b/roles/alertmanager/tasks/main.yml index dcee64acb..4d181ec4a 100644 --- a/roles/alertmanager/tasks/main.yml +++ b/roles/alertmanager/tasks/main.yml @@ -18,11 +18,13 @@ _common_binaries: "{{ _alertmanager_binaries }}" _common_binary_install_dir: "{{ alertmanager_binary_install_dir }}" _common_binary_url: "{{ alertmanager_binary_url }}" + _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 +45,7 @@ - name: Configure ansible.builtin.include_tasks: file: configure.yml + when: not alertmanager_skip_configure tags: - alertmanager - configure @@ -57,6 +60,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 8c8639153..e65df40ab 100644 --- a/roles/apache_exporter/defaults/main.yml +++ b/roles/apache_exporter/defaults/main.yml @@ -2,6 +2,7 @@ apache_exporter_version: 1.0.12 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" diff --git a/roles/apache_exporter/tasks/main.yml b/roles/apache_exporter/tasks/main.yml index c03cfb1cc..961dd434e 100644 --- a/roles/apache_exporter/tasks/main.yml +++ b/roles/apache_exporter/tasks/main.yml @@ -20,6 +20,7 @@ _common_binaries: "{{ _apache_exporter_binaries }}" _common_binary_install_dir: "{{ apache_exporter_binary_install_dir }}" _common_binary_url: "{{ apache_exporter_binary_url }}" + _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..cd33d07f8 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" diff --git a/roles/bind_exporter/tasks/main.yml b/roles/bind_exporter/tasks/main.yml index 655ba4b35..33fe59c03 100644 --- a/roles/bind_exporter/tasks/main.yml +++ b/roles/bind_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _bind_exporter_binaries }}" _common_binary_install_dir: "{{ bind_exporter_binary_install_dir }}" _common_binary_url: "{{ bind_exporter_binary_url }}" + _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..34fe19407 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" diff --git a/roles/blackbox_exporter/tasks/main.yml b/roles/blackbox_exporter/tasks/main.yml index 47bcc23fb..242115ac9 100644 --- a/roles/blackbox_exporter/tasks/main.yml +++ b/roles/blackbox_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _blackbox_exporter_binaries }}" _common_binary_install_dir: "{{ blackbox_exporter_binary_install_dir }}" _common_binary_url: "{{ blackbox_exporter_binary_url }}" + _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/chrony_exporter/defaults/main.yml b/roles/chrony_exporter/defaults/main.yml index e1708bf9a..156fc0deb 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" diff --git a/roles/chrony_exporter/tasks/main.yml b/roles/chrony_exporter/tasks/main.yml index 1bb4bfc6f..184de540c 100644 --- a/roles/chrony_exporter/tasks/main.yml +++ b/roles/chrony_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _chrony_exporter_binaries }}" _common_binary_install_dir: "{{ chrony_exporter_binary_install_dir }}" _common_binary_url: "{{ chrony_exporter_binary_url }}" + _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..b2a556f8b 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" diff --git a/roles/consul_exporter/tasks/main.yml b/roles/consul_exporter/tasks/main.yml index 5c3284231..f12128fa1 100644 --- a/roles/consul_exporter/tasks/main.yml +++ b/roles/consul_exporter/tasks/main.yml @@ -20,6 +20,7 @@ _common_binaries: "{{ _consul_exporter_binaries }}" _common_binary_install_dir: "{{ consul_exporter_binary_install_dir }}" _common_binary_url: "{{ consul_exporter_binary_url }}" + _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..012f5e42e 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" diff --git a/roles/fail2ban_exporter/tasks/main.yml b/roles/fail2ban_exporter/tasks/main.yml index 8cb3ba9d2..950c47798 100644 --- a/roles/fail2ban_exporter/tasks/main.yml +++ b/roles/fail2ban_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _fail2ban_exporter_binaries }}" _common_binary_install_dir: "{{ fail2ban_exporter_binary_install_dir }}" _common_binary_url: "{{ fail2ban_exporter_binary_url }}" + _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 143561868..c59f643d5 100644 --- a/roles/influxdb_exporter/defaults/main.yml +++ b/roles/influxdb_exporter/defaults/main.yml @@ -2,6 +2,7 @@ influxdb_exporter_version: 0.12.0 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" diff --git a/roles/influxdb_exporter/tasks/main.yml b/roles/influxdb_exporter/tasks/main.yml index 24b909b1d..434f13dc7 100644 --- a/roles/influxdb_exporter/tasks/main.yml +++ b/roles/influxdb_exporter/tasks/main.yml @@ -20,6 +20,7 @@ _common_binaries: "{{ _influxdb_exporter_binaries }}" _common_binary_install_dir: "{{ influxdb_exporter_binary_install_dir }}" _common_binary_url: "{{ influxdb_exporter_binary_url }}" + _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..3f72ce9c6 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: diff --git a/roles/ipmi_exporter/tasks/main.yml b/roles/ipmi_exporter/tasks/main.yml index 37316fee4..1f1fe7777 100644 --- a/roles/ipmi_exporter/tasks/main.yml +++ b/roles/ipmi_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _ipmi_exporter_binaries }}" _common_binary_install_dir: "{{ ipmi_exporter_binary_install_dir }}" _common_binary_url: "{{ ipmi_exporter_binary_url }}" + _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 f2d8efef3..d02e522da 100644 --- a/roles/memcached_exporter/defaults/main.yml +++ b/roles/memcached_exporter/defaults/main.yml @@ -2,6 +2,7 @@ memcached_exporter_version: 0.15.5 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: "" diff --git a/roles/memcached_exporter/tasks/main.yml b/roles/memcached_exporter/tasks/main.yml index cffed6dd5..354531d2e 100644 --- a/roles/memcached_exporter/tasks/main.yml +++ b/roles/memcached_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _memcached_exporter_binaries }}" _common_binary_install_dir: "{{ memcached_exporter_binary_install_dir }}" _common_binary_url: "{{ memcached_exporter_binary_url }}" + _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 ccdbbc68d..3e6859164 100644 --- a/roles/mongodb_exporter/defaults/main.yml +++ b/roles/mongodb_exporter/defaults/main.yml @@ -2,6 +2,7 @@ mongodb_exporter_version: 0.49.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" diff --git a/roles/mongodb_exporter/tasks/main.yml b/roles/mongodb_exporter/tasks/main.yml index 01f2d2415..e48738147 100644 --- a/roles/mongodb_exporter/tasks/main.yml +++ b/roles/mongodb_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _mongodb_exporter_binaries }}" _common_binary_install_dir: "{{ mongodb_exporter_binary_install_dir }}" _common_binary_url: "{{ mongodb_exporter_binary_url }}" + _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..d8e8a76ef 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" diff --git a/roles/mysqld_exporter/tasks/main.yml b/roles/mysqld_exporter/tasks/main.yml index 3ddf42962..a47d9da24 100644 --- a/roles/mysqld_exporter/tasks/main.yml +++ b/roles/mysqld_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _mysqld_exporter_binaries }}" _common_binary_install_dir: "{{ mysqld_exporter_binary_install_dir }}" _common_binary_url: "{{ mysqld_exporter_binary_url }}" + _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..92df0f81f 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 diff --git a/roles/nginx_exporter/tasks/main.yml b/roles/nginx_exporter/tasks/main.yml index 8027088e3..45f1abe66 100644 --- a/roles/nginx_exporter/tasks/main.yml +++ b/roles/nginx_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _nginx_exporter_binaries }}" _common_binary_install_dir: "{{ nginx_exporter_binary_install_dir }}" _common_binary_url: "{{ nginx_exporter_binary_url }}" + _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 22135a13b..a7005c181 100644 --- a/roles/node_exporter/defaults/main.yml +++ b/roles/node_exporter/defaults/main.yml @@ -2,6 +2,7 @@ node_exporter_version: 1.10.2 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 diff --git a/roles/node_exporter/tasks/main.yml b/roles/node_exporter/tasks/main.yml index a5373c415..3fac668fe 100644 --- a/roles/node_exporter/tasks/main.yml +++ b/roles/node_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _node_exporter_binaries }}" _common_binary_install_dir: "{{ node_exporter_binary_install_dir }}" _common_binary_url: "{{ node_exporter_binary_url }}" + _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 b653113fb..843976cc0 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.4.1 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" diff --git a/roles/nvidia_gpu_exporter/tasks/main.yml b/roles/nvidia_gpu_exporter/tasks/main.yml index a9a0c5941..6a6476eb6 100644 --- a/roles/nvidia_gpu_exporter/tasks/main.yml +++ b/roles/nvidia_gpu_exporter/tasks/main.yml @@ -20,6 +20,7 @@ _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_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 90382833f..ef2554641 100644 --- a/roles/postgres_exporter/defaults/main.yml +++ b/roles/postgres_exporter/defaults/main.yml @@ -2,6 +2,7 @@ postgres_exporter_version: 0.19.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" diff --git a/roles/postgres_exporter/tasks/main.yml b/roles/postgres_exporter/tasks/main.yml index e47ceef78..e63661b7c 100644 --- a/roles/postgres_exporter/tasks/main.yml +++ b/roles/postgres_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _postgres_exporter_binaries }}" _common_binary_install_dir: "{{ postgres_exporter_binary_install_dir }}" _common_binary_url: "{{ postgres_exporter_binary_url }}" + _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..625a9b24e 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 }}" diff --git a/roles/process_exporter/tasks/main.yml b/roles/process_exporter/tasks/main.yml index 5d5941ced..e01b8177f 100644 --- a/roles/process_exporter/tasks/main.yml +++ b/roles/process_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _process_exporter_binaries }}" _common_binary_install_dir: "{{ process_exporter_binary_install_dir }}" _common_binary_url: "{{ process_exporter_binary_url }}" + _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 3ff97e7e9..dff78481c 100644 --- a/roles/prometheus/defaults/main.yml +++ b/roles/prometheus/defaults/main.yml @@ -2,6 +2,7 @@ prometheus_version: 3.10.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,6 @@ 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 diff --git a/roles/prometheus/tasks/main.yml b/roles/prometheus/tasks/main.yml index aeb29eb7f..08aa6e0b2 100644 --- a/roles/prometheus/tasks/main.yml +++ b/roles/prometheus/tasks/main.yml @@ -11,16 +11,19 @@ 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_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 +40,7 @@ - name: Configure ansible.builtin.include_tasks: file: configure.yml + when: not prometheus_skip_configure tags: - prometheus_configure @@ -49,6 +53,7 @@ enabled: true when: - not ansible_check_mode + - not prometheus_skip_configure tags: - prometheus_run @@ -58,3 +63,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 3e32c05a6..78ac8aafd 100644 --- a/roles/pushgateway/defaults/main.yml +++ b/roles/pushgateway/defaults/main.yml @@ -2,6 +2,7 @@ pushgateway_version: 1.11.2 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" diff --git a/roles/pushgateway/tasks/main.yml b/roles/pushgateway/tasks/main.yml index 81492563b..3b1131432 100644 --- a/roles/pushgateway/tasks/main.yml +++ b/roles/pushgateway/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _pushgateway_binaries }}" _common_binary_install_dir: "{{ pushgateway_binary_install_dir }}" _common_binary_url: "{{ pushgateway_binary_url }}" + _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 6b2b039eb..197f4e0af 100644 --- a/roles/redis_exporter/defaults/main.yml +++ b/roles/redis_exporter/defaults/main.yml @@ -2,6 +2,7 @@ redis_exporter_version: 1.82.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 diff --git a/roles/redis_exporter/tasks/main.yml b/roles/redis_exporter/tasks/main.yml index 03636e18a..f1995ee3d 100644 --- a/roles/redis_exporter/tasks/main.yml +++ b/roles/redis_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _redis_exporter_binaries }}" _common_binary_install_dir: "{{ redis_exporter_binary_install_dir }}" _common_binary_url: "{{ redis_exporter_binary_url }}" + _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..93a61d24b 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" diff --git a/roles/smartctl_exporter/tasks/main.yml b/roles/smartctl_exporter/tasks/main.yml index 0ad65983c..0eba64e29 100644 --- a/roles/smartctl_exporter/tasks/main.yml +++ b/roles/smartctl_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _smartctl_exporter_binaries }}" _common_binary_install_dir: "{{ smartctl_exporter_binary_install_dir }}" _common_binary_url: "{{ smartctl_exporter_binary_url }}" + _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 7dff7e3f9..c7bacb074 100644 --- a/roles/smokeping_prober/defaults/main.yml +++ b/roles/smokeping_prober/defaults/main.yml @@ -2,6 +2,7 @@ smokeping_prober_version: 0.11.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" diff --git a/roles/smokeping_prober/tasks/main.yml b/roles/smokeping_prober/tasks/main.yml index 6f8a0da18..9f35bd1ef 100644 --- a/roles/smokeping_prober/tasks/main.yml +++ b/roles/smokeping_prober/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _smokeping_prober_binaries }}" _common_binary_install_dir: "{{ smokeping_prober_binary_install_dir }}" _common_binary_url: "{{ smokeping_prober_binary_url }}" + _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..e9c29fa48 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 diff --git a/roles/snmp_exporter/tasks/main.yml b/roles/snmp_exporter/tasks/main.yml index 70d275643..37c507d7f 100644 --- a/roles/snmp_exporter/tasks/main.yml +++ b/roles/snmp_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _snmp_exporter_binaries }}" _common_binary_install_dir: "{{ snmp_exporter_binary_install_dir }}" _common_binary_url: "{{ snmp_exporter_binary_url }}" + _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..6eea88223 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" diff --git a/roles/systemd_exporter/tasks/main.yml b/roles/systemd_exporter/tasks/main.yml index 12f37f254..af96df2b6 100644 --- a/roles/systemd_exporter/tasks/main.yml +++ b/roles/systemd_exporter/tasks/main.yml @@ -16,6 +16,7 @@ _common_binaries: "{{ _systemd_exporter_binaries }}" _common_binary_install_dir: "{{ systemd_exporter_binary_install_dir }}" _common_binary_url: "{{ systemd_exporter_binary_url }}" + _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 }}"