410a915a8a
This paves the way for installing other roles into `roles/galaxy` using `ansible-galaxy`, similar to how it's done in: - https://github.com/spantaleev/gitea-docker-ansible-deploy - https://github.com/spantaleev/nextcloud-docker-ansible-deploy In the near future, we'll be removing a lot of the shared role code from here and using upstream roles for it. Some of the core `matrix-*` roles have already been extracted out into other reusable roles: - https://github.com/devture/com.devture.ansible.role.postgres - https://github.com/devture/com.devture.ansible.role.systemd_docker_base - https://github.com/devture/com.devture.ansible.role.timesync - https://github.com/devture/com.devture.ansible.role.vars_preserver - https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages - https://github.com/devture/com.devture.ansible.role.playbook_help We just need to migrate to those.
65 lines
5 KiB
YAML
65 lines
5 KiB
YAML
---
|
|
# matrix-prometheus-postgres-exporter is an Prometheus exporter for postgres metrics
|
|
# Project source code URL: https://github.com/prometheus-community/postgres_exporter
|
|
|
|
matrix_prometheus_postgres_exporter_enabled: false
|
|
|
|
matrix_prometheus_postgres_exporter_version: v0.11.1
|
|
matrix_prometheus_postgres_exporter_port: 9187
|
|
|
|
matrix_prometheus_postgres_exporter_docker_image: "quay.io/prometheuscommunity/postgres-exporter:{{ matrix_prometheus_postgres_exporter_version }}"
|
|
matrix_prometheus_postgres_exporter_docker_image_force_pull: "{{ matrix_prometheus_postgres_exporter_docker_image.endswith(':latest') }}"
|
|
|
|
# A list of extra arguments to pass to the container
|
|
matrix_prometheus_postgres_exporter_container_extra_arguments: ["-e PG_EXPORTER_AUTO_DISCOVER_DATABASES=true",
|
|
"-e PG_EXPORTER_WEB_LISTEN_ADDRESS=\":{{ matrix_prometheus_postgres_exporter_port }}\"",
|
|
"-e DATA_SOURCE_NAME=\"postgresql://{{ matrix_prometheus_postgres_exporter_database_username }}:{{ matrix_prometheus_postgres_exporter_database_password }}@{{ matrix_prometheus_postgres_exporter_database_hostname }}:5432/{{ matrix_prometheus_postgres_exporter_database_name }}?sslmode=disable\""]
|
|
|
|
# List of systemd services that matrix-prometheus-postgres-exporter.service depends on
|
|
matrix_prometheus_postgres_exporter_systemd_required_services_list: ['docker.service']
|
|
|
|
# List of systemd services that matrix-prometheus-postgres-exporter.service wants
|
|
matrix_prometheus_postgres_exporter_systemd_wanted_services_list: []
|
|
|
|
# details for connecting to the database
|
|
matrix_prometheus_postgres_exporter_database_username: 'matrix_prometheus_postgres_exporter'
|
|
matrix_prometheus_postgres_exporter_database_password: 'some-password'
|
|
matrix_prometheus_postgres_exporter_database_hostname: 'matrix-postgres'
|
|
matrix_prometheus_postgres_exporter_database_port: 5432
|
|
matrix_prometheus_postgres_exporter_database_name: 'matrix_prometheus_postgres_exporter'
|
|
|
|
# Controls whether postgres-exporter metrics should be proxied (exposed) on `matrix.DOMAIN/metrics/postgres-exporter`.
|
|
# This will only work take effect if `matrix_nginx_proxy_proxy_matrix_metrics_enabled: true`.
|
|
# See the `matrix-nginx-proxy` role for details about enabling `matrix_nginx_proxy_proxy_matrix_metrics_enabled`.
|
|
matrix_prometheus_postgres_exporter_metrics_proxying_enabled: false
|
|
|
|
# Controls whether the matrix-prometheus container exposes its HTTP port (tcp/9187 in the container).
|
|
#
|
|
# Takes an "<ip>:<port>" value (e.g. "127.0.0.1:9187"), just a port number or an empty string to not expose.
|
|
#
|
|
# You likely don't need to do this. See `matrix_prometheus_postgres_exporter_metrics_proxying_enabled`.
|
|
#
|
|
# Official recommendations are to run this container with `--net=host`,
|
|
# but we don't do that, since it:
|
|
# - likely exposes the metrics web server way too publicly (before applying https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1008)
|
|
# - or listens on a loopback interface only (--net=host and 127.0.0.1:9187), which is not reachable from another container (like `matrix-prometheus`)
|
|
#
|
|
# Using `--net=host` and binding to Docker's `matrix` bridge network may be a solution to both,
|
|
# but that's trickier to accomplish and won't necessarily work (hasn't been tested).
|
|
#
|
|
# Not using `--net=host` means that our network statistic reports are likely broken (inaccurate),
|
|
# because node-exporter can't see all interfaces, etc.
|
|
# For now, we'll live with that, until someone develops a better solution.
|
|
matrix_prometheus_postgres_exporter_container_http_host_bind_port: ''
|
|
|
|
# If you are supplying your own NGINX proxy but want to use the provided exporters you will have to supply an "<ip>:<port>" value for the containers to bind to on your host.
|
|
# If matrix_prometheus_postgres_exporter_container_http_host_bind_port is set to just a port number, this will default to "127.0.0.1:<port>"
|
|
# If matrix_prometheus_postgres_exporter_container_http_host_bind_port is set to an IP that is not 0.0.0.0 and a port, that "<ip>:<port>" value will be used
|
|
# Otherwise this value will be empty and you will have to manually configure your NGINX config file. (If you are using the config files generated by this playbook, you will have to edit matrix-domain.conf)
|
|
matrix_prometheus_postgres_exporter_matrix_nginx_proxy_not_enabled_proxy_pass_host: "{{ '127.0.0.1' + matrix_prometheus_postgres_exporter_container_http_host_bind_port_number_raw if not ':' in matrix_prometheus_postgres_exporter_container_http_host_bind_port else (matrix_prometheus_postgres_exporter_container_http_host_bind_port if matrix_prometheus_postgres_exporter_container_http_host_bind_port.split(':')[0] != '0.0.0.0' else '') }}"
|
|
|
|
# matrix_prometheus_postgres_exporter_dashboard_urls contains a list of URLs with Grafana dashboard definitions.
|
|
# If the Grafana role is enabled, these dashboards will be downloaded.
|
|
matrix_prometheus_postgres_exporter_dashboard_urls:
|
|
- "https://grafana.com/api/dashboards/9628/revisions/7/download"
|