Make --tags=setup-prometheus not break, relying on matrix-base facts

This commit is contained in:
Slavi Pantaleev 2021-01-31 18:17:57 +02:00
parent df3dd1c824
commit 85a260daaf
4 changed files with 20 additions and 3 deletions

View File

@ -23,7 +23,6 @@
docker_network:
name: "{{ matrix_docker_network }}"
driver: bridge
register: matrix_docker_network_info
- name: Ensure matrix-remove-all script created
template:

View File

@ -26,6 +26,9 @@ matrix_prometheus_systemd_wanted_services_list: []
# Takes an "<ip>:<port>" or "<port>" value (e.g. "127.0.0.1:9090"), or empty string to not expose.
matrix_prometheus_container_http_host_bind_port: ''
# Target addresses for the "node" scraper configuration.
# Unless you define this as a non-empty list, it gets populated at runtime with the IP address of `matrix-prometheus-node-exporter` and port 9100.
matrix_prometheus_endpoint_node_targets: []
# Default prometheus configuration template which covers the generic use case.
# You can customize it by controlling the various variables inside it.

View File

@ -25,6 +25,21 @@
- "{{ matrix_prometheus_data_path }}"
when: matrix_prometheus_enabled|bool
- block:
# Well, this actually creates the network if it doesn't exist, but..
# The network should have been created by `matrix-base` already.
# We don't rely on that other call and its result, because it runs
# on `--tags=setup-all`, but will get skipped during `--tags=setup-prometheus`.
- name: Fetch Matrix Docker network details
docker_network:
name: "{{ matrix_docker_network }}"
driver: bridge
register: matrix_docker_network_info
- set_fact:
matrix_prometheus_endpoint_node_targets: ["{{ matrix_docker_network_info.network.IPAM.Config[0].Gateway }}:9100"]
when: "matrix_prometheus_enabled|bool and matrix_prometheus_node_exporter_enabled|bool and matrix_prometheus_endpoint_node_targets|length == 0"
- name: Ensure prometheus.yml installed
copy:
content: "{{ matrix_prometheus_configuration|to_nice_yaml }}"

View File

@ -36,5 +36,5 @@ scrape_configs:
{% if matrix_prometheus_node_exporter_enabled %}
- job_name: node
static_configs:
- targets: ['{{ matrix_docker_network_info.network.IPAM.Config[0].Gateway }}:9100']
- targets: {{ matrix_prometheus_endpoint_node_targets|to_json }}
{% endif %}