The bridge lost its metrics endpoint when it was rewritten on top of bridgev2, so the playbook was publishing a Traefik route which could only ever yield an HTTP 502. Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/5487pull/5494/head
| @@ -2083,9 +2083,6 @@ matrix_bridge_mautrix_telegram_container_labels_traefik_docker_network: "{{ matr | |||||
| matrix_bridge_mautrix_telegram_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" | matrix_bridge_mautrix_telegram_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" | ||||
| matrix_bridge_mautrix_telegram_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" | matrix_bridge_mautrix_telegram_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" | ||||
| matrix_bridge_mautrix_telegram_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}" | |||||
| matrix_bridge_mautrix_telegram_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}" | |||||
| matrix_bridge_mautrix_telegram_appservice_token: "{{ (matrix_homeserver_generic_secret_key + ':telegr.as.token') | hash('sha512') | to_uuid }}" | matrix_bridge_mautrix_telegram_appservice_token: "{{ (matrix_homeserver_generic_secret_key + ':telegr.as.token') | hash('sha512') | to_uuid }}" | ||||
| matrix_bridge_mautrix_telegram_homeserver_domain: "{{ matrix_domain }}" | matrix_bridge_mautrix_telegram_homeserver_domain: "{{ matrix_domain }}" | ||||
| @@ -2105,12 +2102,6 @@ matrix_bridge_mautrix_telegram_double_puppet_secrets_auto: |- | |||||
| else {} | else {} | ||||
| }} | }} | ||||
| matrix_bridge_mautrix_telegram_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}" | |||||
| matrix_bridge_mautrix_telegram_metrics_proxying_enabled: "{{ matrix_bridge_mautrix_telegram_metrics_enabled and matrix_metrics_exposure_enabled }}" | |||||
| matrix_bridge_mautrix_telegram_metrics_proxying_hostname: "{{ matrix_metrics_exposure_hostname }}" | |||||
| matrix_bridge_mautrix_telegram_metrics_proxying_path_prefix: "{{ matrix_metrics_exposure_path_prefix }}/mautrix-telegram" | |||||
| matrix_bridge_mautrix_telegram_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" | matrix_bridge_mautrix_telegram_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" | ||||
| matrix_bridge_mautrix_telegram_exposure_enabled: "{{ matrix_bridges_exposure_enabled }}" | matrix_bridge_mautrix_telegram_exposure_enabled: "{{ matrix_bridges_exposure_enabled }}" | ||||
| matrix_bridge_mautrix_telegram_exposure_hostname: "{{ matrix_bridges_exposure_hostname }}" | matrix_bridge_mautrix_telegram_exposure_hostname: "{{ matrix_bridges_exposure_hostname }}" | ||||
| @@ -77,17 +77,6 @@ matrix_bridge_mautrix_telegram_container_labels_traefik_docker_network: "{{ matr | |||||
| matrix_bridge_mautrix_telegram_container_labels_traefik_entrypoints: web-secure | matrix_bridge_mautrix_telegram_container_labels_traefik_entrypoints: web-secure | ||||
| matrix_bridge_mautrix_telegram_container_labels_traefik_tls_certResolver: default # noqa var-naming | matrix_bridge_mautrix_telegram_container_labels_traefik_tls_certResolver: default # noqa var-naming | ||||
| # Controls whether labels will be added that expose mautrix-telegram's metrics | |||||
| matrix_bridge_mautrix_telegram_container_labels_metrics_enabled: "{{ matrix_bridge_mautrix_telegram_metrics_enabled and matrix_bridge_mautrix_telegram_metrics_proxying_enabled }}" | |||||
| matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_rule: "Host(`{{ matrix_bridge_mautrix_telegram_metrics_proxying_hostname }}`) && PathPrefix(`{{ matrix_bridge_mautrix_telegram_metrics_proxying_path_prefix }}`)" | |||||
| matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_priority: 0 | |||||
| matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_entrypoints: "{{ matrix_bridge_mautrix_telegram_container_labels_traefik_entrypoints }}" | |||||
| matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_tls: "{{ matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_entrypoints != 'web' }}" | |||||
| matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_tls_certResolver: "{{ matrix_bridge_mautrix_telegram_container_labels_traefik_tls_certResolver }}" # noqa var-naming | |||||
| matrix_bridge_mautrix_telegram_container_labels_metrics_middleware_basic_auth_enabled: false | |||||
| # See: https://doc.traefik.io/traefik/middlewares/http/basicauth/#users | |||||
| matrix_bridge_mautrix_telegram_container_labels_metrics_middleware_basic_auth_users: '' | |||||
| # Controls whether labels will be added that expose mautrix-telegram's HTTP API | # Controls whether labels will be added that expose mautrix-telegram's HTTP API | ||||
| # (used by tools like mautrix-manager for bridge login) at `https://<hostname><path_prefix>`. | # (used by tools like mautrix-manager for bridge login) at `https://<hostname><path_prefix>`. | ||||
| matrix_bridge_mautrix_telegram_container_labels_exposure_enabled: "{{ matrix_bridge_mautrix_telegram_exposure_enabled }}" | matrix_bridge_mautrix_telegram_container_labels_exposure_enabled: "{{ matrix_bridge_mautrix_telegram_exposure_enabled }}" | ||||
| @@ -131,16 +120,6 @@ matrix_bridge_mautrix_telegram_logging_level: 'warn' | |||||
| # If false, created portal rooms will never be federated. | # If false, created portal rooms will never be federated. | ||||
| matrix_bridge_mautrix_telegram_federate_rooms: true | matrix_bridge_mautrix_telegram_federate_rooms: true | ||||
| # Whether or not metrics endpoint should be enabled. | |||||
| # Enabling them is usually enough for a local (in-container) Prometheus to consume them. | |||||
| # If metrics need to be consumed by another (external) Prometheus server, consider exposing them via `matrix_bridge_mautrix_telegram_metrics_proxying_enabled`. | |||||
| matrix_bridge_mautrix_telegram_metrics_enabled: false | |||||
| # Controls whether metrics should be proxied (exposed) on a public URL | |||||
| matrix_bridge_mautrix_telegram_metrics_proxying_enabled: false | |||||
| matrix_bridge_mautrix_telegram_metrics_proxying_hostname: '' | |||||
| matrix_bridge_mautrix_telegram_metrics_proxying_path_prefix: '' | |||||
| # Controls whether mautrix-telegram's HTTP API is exposed publicly (used by tools like mautrix-manager for bridge login). | # Controls whether mautrix-telegram's HTTP API is exposed publicly (used by tools like mautrix-manager for bridge login). | ||||
| matrix_bridge_mautrix_telegram_exposure_enabled: false | matrix_bridge_mautrix_telegram_exposure_enabled: false | ||||
| matrix_bridge_mautrix_telegram_exposure_hostname: '' | matrix_bridge_mautrix_telegram_exposure_hostname: '' | ||||
| @@ -80,6 +80,18 @@ | |||||
| - {'old': 'matrix_telegram_lottieconverter_docker_repo_version', 'new': '<removed (lottieconverter is now bundled into the mautrix-telegram image)>'} | - {'old': 'matrix_telegram_lottieconverter_docker_repo_version', 'new': '<removed (lottieconverter is now bundled into the mautrix-telegram image)>'} | ||||
| - {'old': 'matrix_telegram_lottieconverter_docker_src_files_path', 'new': '<removed (lottieconverter is now bundled into the mautrix-telegram image)>'} | - {'old': 'matrix_telegram_lottieconverter_docker_src_files_path', 'new': '<removed (lottieconverter is now bundled into the mautrix-telegram image)>'} | ||||
| - {'old': 'matrix_telegram_lottieconverter_docker_image', 'new': '<removed (lottieconverter is now bundled into the mautrix-telegram image)>'} | - {'old': 'matrix_telegram_lottieconverter_docker_image', 'new': '<removed (lottieconverter is now bundled into the mautrix-telegram image)>'} | ||||
| - {'old': 'matrix_bridge_mautrix_telegram_metrics_enabled', 'new': '<removed> (mautrix-telegram does not support metrics)'} | |||||
| - {'old': 'matrix_bridge_mautrix_telegram_metrics_proxying_enabled', 'new': '<removed> (mautrix-telegram does not support metrics)'} | |||||
| - {'old': 'matrix_bridge_mautrix_telegram_metrics_proxying_hostname', 'new': '<removed> (mautrix-telegram does not support metrics)'} | |||||
| - {'old': 'matrix_bridge_mautrix_telegram_metrics_proxying_path_prefix', 'new': '<removed> (mautrix-telegram does not support metrics)'} | |||||
| - {'old': 'matrix_bridge_mautrix_telegram_container_labels_metrics_enabled', 'new': '<removed> (mautrix-telegram does not support metrics)'} | |||||
| - {'old': 'matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_rule', 'new': '<removed> (mautrix-telegram does not support metrics)'} | |||||
| - {'old': 'matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_priority', 'new': '<removed> (mautrix-telegram does not support metrics)'} | |||||
| - {'old': 'matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_entrypoints', 'new': '<removed> (mautrix-telegram does not support metrics)'} | |||||
| - {'old': 'matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_tls', 'new': '<removed> (mautrix-telegram does not support metrics)'} | |||||
| - {'old': 'matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_tls_certResolver', 'new': '<removed> (mautrix-telegram does not support metrics)'} | |||||
| - {'old': 'matrix_bridge_mautrix_telegram_container_labels_metrics_middleware_basic_auth_enabled', 'new': '<removed> (mautrix-telegram does not support metrics)'} | |||||
| - {'old': 'matrix_bridge_mautrix_telegram_container_labels_metrics_middleware_basic_auth_users', 'new': '<removed> (mautrix-telegram does not support metrics)'} | |||||
| - name: Fail if required mautrix-telegram settings not defined | - name: Fail if required mautrix-telegram settings not defined | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| @@ -94,8 +106,6 @@ | |||||
| - {'name': 'matrix_bridge_mautrix_telegram_homeserver_token', when: true} | - {'name': 'matrix_bridge_mautrix_telegram_homeserver_token', when: true} | ||||
| - {'name': 'matrix_bridge_mautrix_telegram_container_network', when: true} | - {'name': 'matrix_bridge_mautrix_telegram_container_network', when: true} | ||||
| - {'name': 'matrix_bridge_mautrix_telegram_database_hostname', when: "{{ matrix_bridge_mautrix_telegram_database_engine == 'postgres' }}"} | - {'name': 'matrix_bridge_mautrix_telegram_database_hostname', when: "{{ matrix_bridge_mautrix_telegram_database_engine == 'postgres' }}"} | ||||
| - {'name': 'matrix_bridge_mautrix_telegram_metrics_proxying_hostname', when: "{{ matrix_bridge_mautrix_telegram_metrics_proxying_enabled }}"} | |||||
| - {'name': 'matrix_bridge_mautrix_telegram_metrics_proxying_path_prefix', when: "{{ matrix_bridge_mautrix_telegram_metrics_proxying_enabled }}"} | |||||
| # Temporary workaround for an upstream SQLite legacy-migration bug in mautrix-telegram v0.2604.0. | # Temporary workaround for an upstream SQLite legacy-migration bug in mautrix-telegram v0.2604.0. | ||||
| # See the separate task file for details; the whole file (and this include) can be deleted once | # See the separate task file for details; the whole file (and this include) can be deleted once | ||||
| @@ -11,41 +11,6 @@ traefik.enable=true | |||||
| traefik.docker.network={{ matrix_bridge_mautrix_telegram_container_labels_traefik_docker_network }} | traefik.docker.network={{ matrix_bridge_mautrix_telegram_container_labels_traefik_docker_network }} | ||||
| {% endif %} | {% endif %} | ||||
| traefik.http.services.matrix-mautrix-telegram-metrics.loadbalancer.server.port=8001 | |||||
| {% if matrix_bridge_mautrix_telegram_container_labels_metrics_enabled %} | |||||
| ############################################################ | |||||
| # # | |||||
| # Metrics # | |||||
| # # | |||||
| ############################################################ | |||||
| {% if matrix_bridge_mautrix_telegram_container_labels_metrics_middleware_basic_auth_enabled %} | |||||
| traefik.http.middlewares.matrix-mautrix-telegram-metrics-basic-auth.basicauth.users={{ matrix_bridge_mautrix_telegram_container_labels_metrics_middleware_basic_auth_users }} | |||||
| traefik.http.routers.matrix-mautrix-telegram-metrics.middlewares=matrix-mautrix-telegram-metrics-basic-auth | |||||
| {% endif %} | |||||
| traefik.http.routers.matrix-mautrix-telegram-metrics.rule={{ matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_rule }} | |||||
| {% if matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_priority | int > 0 %} | |||||
| traefik.http.routers.matrix-mautrix-telegram-metrics.priority={{ matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_priority }} | |||||
| {% endif %} | |||||
| traefik.http.routers.matrix-mautrix-telegram-metrics.service=matrix-mautrix-telegram-metrics | |||||
| traefik.http.routers.matrix-mautrix-telegram-metrics.entrypoints={{ matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_entrypoints }} | |||||
| traefik.http.routers.matrix-mautrix-telegram-metrics.tls={{ matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_tls | to_json }} | |||||
| {% if matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_tls %} | |||||
| traefik.http.routers.matrix-mautrix-telegram-metrics.tls.certResolver={{ matrix_bridge_mautrix_telegram_container_labels_metrics_traefik_tls_certResolver }} | |||||
| {% endif %} | |||||
| ############################################################ | |||||
| # # | |||||
| # /Metrics # | |||||
| # # | |||||
| ############################################################ | |||||
| {% endif %} | |||||
| {% if matrix_bridge_mautrix_telegram_container_labels_exposure_enabled %} | {% if matrix_bridge_mautrix_telegram_container_labels_exposure_enabled %} | ||||
| ############################################################ | ############################################################ | ||||
| # # | # # | ||||