From 799cbb44fbaf800840ed5612a4a2ddc476ac98f4 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 14 Feb 2023 09:04:50 +0200 Subject: [PATCH] Add the ability to control (Traefik) routing priority for Element and synapse-admin This may proof useful to someone in the future. --- roles/custom/matrix-client-element/defaults/main.yml | 1 + roles/custom/matrix-client-element/templates/labels.j2 | 3 +++ roles/custom/matrix-synapse-admin/defaults/main.yml | 1 + roles/custom/matrix-synapse-admin/templates/labels.j2 | 3 +++ 4 files changed, 8 insertions(+) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index 500c5b47..041fb033 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -41,6 +41,7 @@ matrix_client_element_container_labels_traefik_hostname: "{{ matrix_server_fqn_e # The path prefix must either be `/` or not end with a slash (e.g. `/element`). matrix_client_element_container_labels_traefik_path_prefix: / matrix_client_element_container_labels_traefik_rule: "Host(`{{ matrix_client_element_container_labels_traefik_hostname }}`){% if matrix_client_element_container_labels_traefik_path_prefix != '/' %} && PathPrefix(`{{ matrix_client_element_container_labels_traefik_path_prefix }}`){% endif %}" +matrix_client_element_container_labels_traefik_priority: 0 matrix_client_element_container_labels_traefik_entrypoints: web-secure matrix_client_element_container_labels_traefik_tls: "{{ matrix_client_element_container_labels_traefik_entrypoints != 'web' }}" matrix_client_element_container_labels_traefik_tls_certResolver: default # noqa var-naming diff --git a/roles/custom/matrix-client-element/templates/labels.j2 b/roles/custom/matrix-client-element/templates/labels.j2 index 33fb28e1..de67299e 100644 --- a/roles/custom/matrix-client-element/templates/labels.j2 +++ b/roles/custom/matrix-client-element/templates/labels.j2 @@ -26,6 +26,9 @@ traefik.http.middlewares.matrix-client-element-add-headers.headers.customrespons {% endif %} traefik.http.routers.matrix-client-element.rule={{ matrix_client_element_container_labels_traefik_rule }} +{% if matrix_client_element_container_labels_traefik_priority | int > 0 %} +traefik.http.routers.matrix-client-element.priority={{ matrix_client_element_container_labels_traefik_priority }} +{% endif %} traefik.http.routers.matrix-client-element.service=matrix-client-element {% if middlewares | length > 0 %} traefik.http.routers.matrix-client-element.middlewares={{ middlewares | join(',') }} diff --git a/roles/custom/matrix-synapse-admin/defaults/main.yml b/roles/custom/matrix-synapse-admin/defaults/main.yml index 07a91833..1d655d73 100644 --- a/roles/custom/matrix-synapse-admin/defaults/main.yml +++ b/roles/custom/matrix-synapse-admin/defaults/main.yml @@ -45,6 +45,7 @@ matrix_synapse_admin_container_labels_traefik_hostname: "{{ matrix_server_fqn_ma # The path prefix must either be `/` or not end with a slash (e.g. `/synapse-admin`). matrix_synapse_admin_container_labels_traefik_path_prefix: "{{ matrix_synapse_admin_public_endpoint }}" matrix_synapse_admin_container_labels_traefik_rule: "Host(`{{ matrix_synapse_admin_container_labels_traefik_hostname }}`){% if matrix_synapse_admin_container_labels_traefik_path_prefix != '/' %} && PathPrefix(`{{ matrix_synapse_admin_container_labels_traefik_path_prefix | quote }}`){% endif %}" +matrix_synapse_admin_container_labels_traefik_priority: 0 matrix_synapse_admin_container_labels_traefik_entrypoints: web-secure matrix_synapse_admin_container_labels_traefik_tls: "{{ matrix_synapse_admin_container_labels_traefik_entrypoints != 'web' }}" matrix_synapse_admin_container_labels_traefik_tls_certResolver: default # noqa var-naming diff --git a/roles/custom/matrix-synapse-admin/templates/labels.j2 b/roles/custom/matrix-synapse-admin/templates/labels.j2 index b754f6b8..946fd6c9 100644 --- a/roles/custom/matrix-synapse-admin/templates/labels.j2 +++ b/roles/custom/matrix-synapse-admin/templates/labels.j2 @@ -26,6 +26,9 @@ traefik.http.middlewares.matrix-synapse-admin-add-headers.headers.customresponse {% endif %} traefik.http.routers.matrix-synapse-admin.rule={{ matrix_synapse_admin_container_labels_traefik_rule }} +{% if matrix_synapse_admin_container_labels_traefik_priority | int > 0 %} +traefik.http.routers.matrix-synapse-admin.priority={{ matrix_synapse_admin_container_labels_traefik_priority }} +{% endif %} {% if middlewares | length > 0 %} traefik.http.routers.matrix-synapse-admin.middlewares={{ middlewares | join(',') }} {% endif %}