diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 45078e467..b755d3c5b 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -2325,9 +2325,6 @@ matrix_bridge_mautrix_gvoice_container_labels_traefik_docker_network: "{{ matrix matrix_bridge_mautrix_gvoice_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" matrix_bridge_mautrix_gvoice_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" -matrix_bridge_mautrix_gvoice_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}" -matrix_bridge_mautrix_gvoice_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}" - matrix_bridge_mautrix_gvoice_appservice_token: "{{ (matrix_homeserver_generic_secret_key + ':gvoice.as.token') | hash('sha512') | to_uuid }}" matrix_bridge_mautrix_gvoice_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" @@ -2346,12 +2343,6 @@ matrix_bridge_mautrix_gvoice_double_puppet_secrets_auto: |- else {} }} -matrix_bridge_mautrix_gvoice_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}" - -matrix_bridge_mautrix_gvoice_metrics_proxying_enabled: "{{ matrix_bridge_mautrix_gvoice_metrics_enabled and matrix_metrics_exposure_enabled }}" -matrix_bridge_mautrix_gvoice_metrics_proxying_hostname: "{{ matrix_metrics_exposure_hostname }}" -matrix_bridge_mautrix_gvoice_metrics_proxying_path_prefix: "{{ matrix_metrics_exposure_path_prefix }}/mautrix-gvoice" - matrix_bridge_mautrix_gvoice_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" matrix_bridge_mautrix_gvoice_exposure_enabled: "{{ matrix_bridges_exposure_enabled }}" matrix_bridge_mautrix_gvoice_exposure_hostname: "{{ matrix_bridges_exposure_hostname }}" diff --git a/roles/custom/matrix-bridge-mautrix-gvoice/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-gvoice/defaults/main.yml index abf0e0da1..5ed8a929d 100644 --- a/roles/custom/matrix-bridge-mautrix-gvoice/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-gvoice/defaults/main.yml @@ -67,17 +67,6 @@ matrix_bridge_mautrix_gvoice_container_labels_traefik_docker_network: "{{ matrix matrix_bridge_mautrix_gvoice_container_labels_traefik_entrypoints: web-secure matrix_bridge_mautrix_gvoice_container_labels_traefik_tls_certResolver: default # noqa var-naming -# Controls whether labels will be added that expose mautrix-gvoice' metrics -matrix_bridge_mautrix_gvoice_container_labels_metrics_enabled: "{{ matrix_bridge_mautrix_gvoice_metrics_enabled and matrix_bridge_mautrix_gvoice_metrics_proxying_enabled }}" -matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_rule: "Host(`{{ matrix_bridge_mautrix_gvoice_metrics_proxying_hostname }}`) && PathPrefix(`{{ matrix_bridge_mautrix_gvoice_metrics_proxying_path_prefix }}`)" -matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_priority: 0 -matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_entrypoints: "{{ matrix_bridge_mautrix_gvoice_container_labels_traefik_entrypoints }}" -matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_tls: "{{ matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_entrypoints != 'web' }}" -matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_tls_certResolver: "{{ matrix_bridge_mautrix_gvoice_container_labels_traefik_tls_certResolver }}" # noqa var-naming -matrix_bridge_mautrix_gvoice_container_labels_metrics_middleware_basic_auth_enabled: false -# See: https://doc.traefik.io/traefik/middlewares/http/basicauth/#users -matrix_bridge_mautrix_gvoice_container_labels_metrics_middleware_basic_auth_users: '' - # Controls whether labels will be added that expose mautrix-gvoice' HTTP API # (used by tools like mautrix-manager for bridge login) at `https://`. matrix_bridge_mautrix_gvoice_container_labels_exposure_enabled: "{{ matrix_bridge_mautrix_gvoice_exposure_enabled }}" @@ -121,16 +110,6 @@ matrix_bridge_mautrix_gvoice_logging_level: 'warn' # If false, created portal rooms will never be federated. matrix_bridge_mautrix_gvoice_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_gvoice_metrics_proxying_enabled`. -matrix_bridge_mautrix_gvoice_metrics_enabled: false - -# Controls whether metrics should be proxied (exposed) on a public URL. -matrix_bridge_mautrix_gvoice_metrics_proxying_enabled: false -matrix_bridge_mautrix_gvoice_metrics_proxying_hostname: '' -matrix_bridge_mautrix_gvoice_metrics_proxying_path_prefix: '' - # Controls whether mautrix-gvoice' HTTP API is exposed publicly (used by tools like mautrix-manager for bridge login). matrix_bridge_mautrix_gvoice_exposure_enabled: false matrix_bridge_mautrix_gvoice_exposure_hostname: '' diff --git a/roles/custom/matrix-bridge-mautrix-gvoice/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-gvoice/tasks/validate_config.yml index d8f755bd4..9cf028c33 100644 --- a/roles/custom/matrix-bridge-mautrix-gvoice/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-gvoice/tasks/validate_config.yml @@ -11,7 +11,19 @@ Your configuration contains a variable, which now has a different name. Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0" - with_items: [] + with_items: + - {'old': 'matrix_bridge_mautrix_gvoice_metrics_enabled', 'new': ' (mautrix-gvoice does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_gvoice_metrics_proxying_enabled', 'new': ' (mautrix-gvoice does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_gvoice_metrics_proxying_hostname', 'new': ' (mautrix-gvoice does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_gvoice_metrics_proxying_path_prefix', 'new': ' (mautrix-gvoice does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_gvoice_container_labels_metrics_enabled', 'new': ' (mautrix-gvoice does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_rule', 'new': ' (mautrix-gvoice does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_priority', 'new': ' (mautrix-gvoice does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_entrypoints', 'new': ' (mautrix-gvoice does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_tls', 'new': ' (mautrix-gvoice does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_tls_certResolver', 'new': ' (mautrix-gvoice does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_gvoice_container_labels_metrics_middleware_basic_auth_enabled', 'new': ' (mautrix-gvoice does not support metrics)'} + - {'old': 'matrix_bridge_mautrix_gvoice_container_labels_metrics_middleware_basic_auth_users', 'new': ' (mautrix-gvoice does not support metrics)'} - name: Fail if required mautrix-gvoice settings not defined ansible.builtin.fail: @@ -23,6 +35,4 @@ - {'name': 'matrix_bridge_mautrix_gvoice_homeserver_address', when: true} - {'name': 'matrix_bridge_mautrix_gvoice_homeserver_token', when: true} - {'name': 'matrix_bridge_mautrix_gvoice_database_hostname', when: "{{ matrix_bridge_mautrix_gvoice_database_engine == 'postgres' }}"} - - {'name': 'matrix_bridge_mautrix_gvoice_metrics_proxying_hostname', when: "{{ matrix_bridge_mautrix_gvoice_metrics_proxying_enabled }}"} - - {'name': 'matrix_bridge_mautrix_gvoice_metrics_proxying_path_prefix', when: "{{ matrix_bridge_mautrix_gvoice_metrics_proxying_enabled }}"} - {'name': 'matrix_bridge_mautrix_gvoice_container_network', when: true} diff --git a/roles/custom/matrix-bridge-mautrix-gvoice/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-gvoice/templates/labels.j2 index aaa1b6a1d..f7392abb7 100644 --- a/roles/custom/matrix-bridge-mautrix-gvoice/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-gvoice/templates/labels.j2 @@ -12,41 +12,6 @@ traefik.enable=true traefik.docker.network={{ matrix_bridge_mautrix_gvoice_container_labels_traefik_docker_network }} {% endif %} -traefik.http.services.matrix-mautrix-gvoice-metrics.loadbalancer.server.port=8001 - -{% if matrix_bridge_mautrix_gvoice_container_labels_metrics_enabled %} -############################################################ -# # -# Metrics # -# # -############################################################ - -{% if matrix_bridge_mautrix_gvoice_container_labels_metrics_middleware_basic_auth_enabled %} -traefik.http.middlewares.matrix-mautrix-gvoice-metrics-basic-auth.basicauth.users={{ matrix_bridge_mautrix_gvoice_container_labels_metrics_middleware_basic_auth_users }} -traefik.http.routers.matrix-mautrix-gvoice-metrics.middlewares=matrix-mautrix-gvoice-metrics-basic-auth -{% endif %} - -traefik.http.routers.matrix-mautrix-gvoice-metrics.rule={{ matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_rule }} - -{% if matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_priority | int > 0 %} -traefik.http.routers.matrix-mautrix-gvoice-metrics.priority={{ matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_priority }} -{% endif %} - -traefik.http.routers.matrix-mautrix-gvoice-metrics.service=matrix-mautrix-gvoice-metrics -traefik.http.routers.matrix-mautrix-gvoice-metrics.entrypoints={{ matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_entrypoints }} - -traefik.http.routers.matrix-mautrix-gvoice-metrics.tls={{ matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_tls | to_json }} -{% if matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_tls %} -traefik.http.routers.matrix-mautrix-gvoice-metrics.tls.certResolver={{ matrix_bridge_mautrix_gvoice_container_labels_metrics_traefik_tls_certResolver }} -{% endif %} - -############################################################ -# # -# /Metrics # -# # -############################################################ -{% endif %} - {% if matrix_bridge_mautrix_gvoice_container_labels_exposure_enabled %} ############################################################ # #