Explorar el Código

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
pull/5494/head
Slavi Pantaleev hace 2 días
padre
commit
a51b5b2a31
Se han modificado 4 ficheros con 13 adiciones y 71 borrados
  1. +0
    -9
      group_vars/matrix_servers
  2. +0
    -21
      roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml
  3. +12
    -2
      roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml
  4. +1
    -39
      roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2

+ 0
- 9
group_vars/matrix_servers Ver fichero

@@ -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 }}"


+ 0
- 21
roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml Ver fichero

@@ -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://<hostname><path_prefix>`.
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: ''


+ 12
- 2
roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml Ver fichero

@@ -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': '<removed>'}
- {'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': '<removed> (the new community.docker.docker_image_pull module handles this natively)'}
- {'old': 'matrix_bridge_mautrix_meta_instagram_metrics_enabled', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
- {'old': 'matrix_bridge_mautrix_meta_instagram_metrics_proxying_enabled', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
- {'old': 'matrix_bridge_mautrix_meta_instagram_metrics_proxying_hostname', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
- {'old': 'matrix_bridge_mautrix_meta_instagram_metrics_proxying_path_prefix', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
- {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_enabled', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
- {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_rule', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
- {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_priority', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
- {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_entrypoints', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
- {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_tls', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
- {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_traefik_tls_certResolver', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
- {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_enabled', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}
- {'old': 'matrix_bridge_mautrix_meta_instagram_container_labels_metrics_middleware_basic_auth_users', 'new': '<removed> (mautrix-meta-instagram does not support metrics)'}

+ 1
- 39
roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 Ver fichero

@@ -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 }}

Cargando…
Cancelar
Guardar