From a51b5b2a314fe3a919003b211f2035a834a2edcf Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 4 Aug 2026 17:05:26 +0300 Subject: [PATCH] Remove dead metrics support from the mautrix-meta-instagram bridge Bridges based on bridgev2 no longer expose a metrics endpoint, 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/5487 --- group_vars/matrix_servers | 9 ----- .../defaults/main.yml | 21 ---------- .../tasks/validate_config.yml | 14 ++++++- .../templates/labels.j2 | 40 +------------------ 4 files changed, 13 insertions(+), 71 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 2c237a194..e8b02c9c3 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -1991,9 +1991,6 @@ matrix_bridge_mautrix_meta_instagram_container_labels_traefik_docker_network: "{ matrix_bridge_mautrix_meta_instagram_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" matrix_bridge_mautrix_meta_instagram_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" -matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}" -matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}" - matrix_bridge_mautrix_meta_instagram_appservice_token: "{{ (matrix_homeserver_generic_secret_key + ':mau.meta.ig.as') | hash('sha512') | to_uuid }}" matrix_bridge_mautrix_meta_instagram_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" @@ -2012,12 +2009,6 @@ matrix_bridge_mautrix_meta_instagram_double_puppet_secrets_auto: |- else {} }} -matrix_bridge_mautrix_meta_instagram_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}" - -matrix_bridge_mautrix_meta_instagram_metrics_proxying_enabled: "{{ matrix_bridge_mautrix_meta_instagram_metrics_enabled and matrix_metrics_exposure_enabled }}" -matrix_bridge_mautrix_meta_instagram_metrics_proxying_hostname: "{{ matrix_metrics_exposure_hostname }}" -matrix_bridge_mautrix_meta_instagram_metrics_proxying_path_prefix: "{{ matrix_metrics_exposure_path_prefix }}/mautrix-meta-instagram" - matrix_bridge_mautrix_meta_instagram_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" matrix_bridge_mautrix_meta_instagram_exposure_enabled: "{{ matrix_bridges_exposure_enabled }}" matrix_bridge_mautrix_meta_instagram_exposure_hostname: "{{ matrix_bridges_exposure_hostname }}" diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml index 04cc82baa..922447312 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml @@ -52,17 +52,6 @@ matrix_bridge_mautrix_meta_instagram_container_labels_traefik_docker_network: "{ matrix_bridge_mautrix_meta_instagram_container_labels_traefik_entrypoints: web-secure matrix_bridge_mautrix_meta_instagram_container_labels_traefik_tls_certResolver: default # noqa var-naming -# Controls whether labels will be added that expose the bridge's metrics -matrix_bridge_mautrix_meta_instagram_container_labels_metrics_enabled: "{{ matrix_bridge_mautrix_meta_instagram_metrics_enabled and matrix_bridge_mautrix_meta_instagram_metrics_proxying_enabled }}" -matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_rule: "Host(`{{ matrix_bridge_mautrix_meta_instagram_metrics_proxying_hostname }}`) && PathPrefix(`{{ matrix_bridge_mautrix_meta_instagram_metrics_proxying_path_prefix }}`)" -matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_priority: 0 -matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_entrypoints: "{{ matrix_bridge_mautrix_meta_instagram_container_labels_traefik_entrypoints }}" -matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_tls: "{{ matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_entrypoints != 'web' }}" -matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_tls_certResolver: "{{ matrix_bridge_mautrix_meta_instagram_container_labels_traefik_tls_certResolver }}" # noqa var-naming -matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_enabled: false -# See: https://doc.traefik.io/traefik/middlewares/http/basicauth/#users -matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_users: '' - # Controls whether labels will be added that expose mautrix-meta-instagram's HTTP API # (used by tools like mautrix-manager for bridge login) at `https://`. matrix_bridge_mautrix_meta_instagram_container_labels_exposure_enabled: "{{ matrix_bridge_mautrix_meta_instagram_exposure_enabled }}" @@ -188,16 +177,6 @@ matrix_bridge_mautrix_meta_instagram_meta_ig_e2ee: false matrix_bridge_mautrix_meta_instagram_provisioning_shared_secret: disable -# 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_meta_instagram_metrics_proxying_enabled`. -matrix_bridge_mautrix_meta_instagram_metrics_enabled: false - -# Controls whether metrics should be exposed on a public URL. -matrix_bridge_mautrix_meta_instagram_metrics_proxying_enabled: false -matrix_bridge_mautrix_meta_instagram_metrics_proxying_hostname: '' -matrix_bridge_mautrix_meta_instagram_metrics_proxying_path_prefix: '' - # Controls whether mautrix-meta-instagram's HTTP API is exposed publicly (used by tools like mautrix-manager for bridge login). matrix_bridge_mautrix_meta_instagram_exposure_enabled: false matrix_bridge_mautrix_meta_instagram_exposure_hostname: '' diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml index 1910f079c..84747189a 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml @@ -11,8 +11,6 @@ You need to define a required configuration setting (`{{ item.name }}`). when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0" with_items: - - {'name': 'matrix_bridge_mautrix_meta_instagram_metrics_proxying_hostname', when: "{{ matrix_bridge_mautrix_meta_instagram_metrics_proxying_enabled }}"} - - {'name': 'matrix_bridge_mautrix_meta_instagram_metrics_proxying_path_prefix', when: "{{ matrix_bridge_mautrix_meta_instagram_metrics_proxying_enabled }}"} - {'name': 'matrix_bridge_mautrix_meta_instagram_appservice_token', when: true} - {'name': 'matrix_bridge_mautrix_meta_instagram_homeserver_token', when: true} - {'name': 'matrix_bridge_mautrix_meta_instagram_container_network', when: true} @@ -32,3 +30,15 @@ - {'old': 'matrix_bridge_mautrix_meta_instagram_bridge_management_room_text_welcome', 'new': ''} - {'old': 'matrix_bridge_mautrix_meta_instagram_container_image_name_prefix', 'new': 'matrix_bridge_mautrix_meta_instagram_container_image_registry_prefix'} - {'old': 'matrix_bridge_mautrix_meta_instagram_container_image_force_pull', 'new': ' (the new community.docker.docker_image_pull module handles this natively)'} + - {'old': 'matrix_bridge_mautrix_meta_instagram_metrics_enabled', 'new': ' (mautrix-meta-instagram does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_meta_instagram_metrics_proxying_enabled', 'new': ' (mautrix-meta-instagram does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_meta_instagram_metrics_proxying_hostname', 'new': ' (mautrix-meta-instagram does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_meta_instagram_metrics_proxying_path_prefix', 'new': ' (mautrix-meta-instagram does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_enabled', 'new': ' (mautrix-meta-instagram does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_rule', 'new': ' (mautrix-meta-instagram does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_priority', 'new': ' (mautrix-meta-instagram does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_entrypoints', 'new': ' (mautrix-meta-instagram does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_tls', 'new': ' (mautrix-meta-instagram does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_tls_certResolver', 'new': ' (mautrix-meta-instagram does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_enabled', 'new': ' (mautrix-meta-instagram does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_users', 'new': ' (mautrix-meta-instagram does not support metrics)'} diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 index d1c74fc3b..5cfcfc677 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 @@ -4,7 +4,7 @@ SPDX-FileCopyrightText: 2024 Slavi Pantaleev SPDX-License-Identifier: AGPL-3.0-or-later #} -{% if matrix_bridge_mautrix_meta_instagram_container_labels_traefik_enabled and (matrix_bridge_mautrix_meta_instagram_container_labels_metrics_enabled or matrix_bridge_mautrix_meta_instagram_container_labels_exposure_enabled) %} +{% if matrix_bridge_mautrix_meta_instagram_container_labels_traefik_enabled and matrix_bridge_mautrix_meta_instagram_container_labels_exposure_enabled %} traefik.enable=true {% if matrix_bridge_mautrix_meta_instagram_container_labels_traefik_docker_network %} @@ -14,43 +14,6 @@ traefik.docker.network={{ matrix_bridge_mautrix_meta_instagram_container_labels_ {% if matrix_bridge_mautrix_meta_instagram_container_labels_exposure_enabled %} traefik.http.services.{{ matrix_bridge_mautrix_meta_instagram_identifier }}-appservice.loadbalancer.server.port=29319 {% endif %} -{% if matrix_bridge_mautrix_meta_instagram_container_labels_metrics_enabled %} -traefik.http.services.{{ matrix_bridge_mautrix_meta_instagram_identifier }}-metrics.loadbalancer.server.port=8000 -{% endif %} - - -{% if matrix_bridge_mautrix_meta_instagram_container_labels_metrics_enabled %} -############################################################ -# # -# Metrics # -# # -############################################################ - -{% if matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_enabled %} -traefik.http.middlewares.{{ matrix_bridge_mautrix_meta_instagram_identifier }}-metrics-basic-auth.basicauth.users={{ matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_users }} -traefik.http.routers.{{ matrix_bridge_mautrix_meta_instagram_identifier }}-metrics.middlewares={{ matrix_bridge_mautrix_meta_instagram_identifier }}-metrics-basic-auth -{% endif %} - -traefik.http.routers.{{ matrix_bridge_mautrix_meta_instagram_identifier }}-metrics.rule={{ matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_rule }} - -{% if matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_priority | int > 0 %} -traefik.http.routers.{{ matrix_bridge_mautrix_meta_instagram_identifier }}-metrics.priority={{ matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_priority }} -{% endif %} - -traefik.http.routers.{{ matrix_bridge_mautrix_meta_instagram_identifier }}-metrics.service={{ matrix_bridge_mautrix_meta_instagram_identifier }}-metrics -traefik.http.routers.{{ matrix_bridge_mautrix_meta_instagram_identifier }}-metrics.entrypoints={{ matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_entrypoints }} - -traefik.http.routers.{{ matrix_bridge_mautrix_meta_instagram_identifier }}-metrics.tls={{ matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_tls | to_json }} -{% if matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_tls %} -traefik.http.routers.{{ matrix_bridge_mautrix_meta_instagram_identifier }}-metrics.tls.certResolver={{ matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_tls_certResolver }} -{% endif %} - -############################################################ -# # -# /Metrics # -# # -############################################################ -{% endif %} {% if matrix_bridge_mautrix_meta_instagram_container_labels_exposure_enabled %} ############################################################ @@ -83,7 +46,6 @@ traefik.http.routers.{{ matrix_bridge_mautrix_meta_instagram_identifier }}-expos ############################################################ {% endif %} - {% endif %} {{ matrix_bridge_mautrix_meta_instagram_container_labels_additional_labels }}