diff --git a/roles/node_exporter/README.md b/roles/node_exporter/README.md index 90fa5a5..1c9852f 100644 --- a/roles/node_exporter/README.md +++ b/roles/node_exporter/README.md @@ -24,6 +24,8 @@ All variables which can be overridden are stored in [defaults/main.yml](defaults | -------------- | ------------- | -----------------------------------| | `node_exporter_version` | 1.1.2 | Node exporter package version. Also accepts latest as parameter. | | `node_exporter_binary_local_dir` | "" | Enables the use of local packages instead of those distributed on github. The parameter may be set to a directory where the `node_exporter` binary is stored on the host where ansible is run. This overrides the `node_exporter_version` parameter | +| `node_exporter_binary_url` | `https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.linux-{{ go_arch }}.tar.gz` | URL of the node exporter binaries .tar.gz file | +| `node_exporter_checksums_url` | `https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/sha256sums.txt` | URL of the node exporter checksums file | | `node_exporter_web_listen_address` | "0.0.0.0:9100" | Address on which node exporter will listen | | `node_exporter_web_telemetry_path` | "/metrics" | Path under which to expose metrics | | `node_exporter_enabled_collectors` | ```["systemd",{textfile: {directory: "{{node_exporter_textfile_dir}}"}}]``` | List of dicts defining additionally enabled collectors and their configuration. It adds collectors to [those enabled by default](https://github.com/prometheus/node_exporter#enabled-by-default). | diff --git a/roles/node_exporter/defaults/main.yml b/roles/node_exporter/defaults/main.yml index 0f8e6d9..938bd80 100644 --- a/roles/node_exporter/defaults/main.yml +++ b/roles/node_exporter/defaults/main.yml @@ -1,6 +1,10 @@ --- node_exporter_version: 1.1.2 node_exporter_binary_local_dir: "" +node_exporter_binary_url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/\ + node_exporter-{{ node_exporter_version }}.linux-{{ go_arch }}.tar.gz" +node_exporter_checksums_url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/sha256sums.txt" + node_exporter_web_listen_address: "0.0.0.0:9100" node_exporter_web_telemetry_path: "/metrics" diff --git a/roles/node_exporter/tasks/install.yml b/roles/node_exporter/tasks/install.yml index 3e34552..f011ecd 100644 --- a/roles/node_exporter/tasks/install.yml +++ b/roles/node_exporter/tasks/install.yml @@ -24,8 +24,7 @@ - name: Download node_exporter binary to local folder become: false ansible.builtin.get_url: - url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/\ - node_exporter-{{ node_exporter_version }}.linux-{{ go_arch }}.tar.gz" + url: "{{ node_exporter_binary_url }}" dest: "/tmp/node_exporter-{{ node_exporter_version }}.linux-{{ go_arch }}.tar.gz" checksum: "sha256:{{ __node_exporter_checksum }}" mode: '0644' diff --git a/roles/node_exporter/tasks/preflight.yml b/roles/node_exporter/tasks/preflight.yml index 34ef629..5a2993e 100644 --- a/roles/node_exporter/tasks/preflight.yml +++ b/roles/node_exporter/tasks/preflight.yml @@ -86,8 +86,7 @@ block: - name: Get checksum list from github ansible.builtin.set_fact: - __node_exporter_checksums: "{{ lookup('url', 'https://github.com/prometheus/node_exporter/releases/download/v' + node_exporter_version + - '/sha256sums.txt', wantlist=True) | list }}" + __node_exporter_checksums: "{{ lookup('url', node_exporter_checksums_url, wantlist=True) | list }}" run_once: true until: __node_exporter_checksums is search('linux-' + go_arch + '.tar.gz') retries: 10