From 6a519bb05332940f6b19c70345a1d3eb8671731f Mon Sep 17 00:00:00 2001 From: Backslash Date: Fri, 27 Sep 2024 08:08:42 +1000 Subject: [PATCH] Created element-call-labels to separate the labels for each container --- .../templates/element-call-labels.j2 | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 roles/custom/matrix-element-call/templates/element-call-labels.j2 diff --git a/roles/custom/matrix-element-call/templates/element-call-labels.j2 b/roles/custom/matrix-element-call/templates/element-call-labels.j2 new file mode 100644 index 000000000..a31c6ea6b --- /dev/null +++ b/roles/custom/matrix-element-call/templates/element-call-labels.j2 @@ -0,0 +1,39 @@ +{% if matrix_element_call_container_labels_traefik_enabled %} +traefik.enable=true + +{% if matrix_element_call_container_labels_traefik_docker_network %} +traefik.docker.network={{ matrix_element_call_container_labels_traefik_docker_network }} +{% endif %} + +# Define the Traefik router rule +traefik.http.routers.element-call-router.rule={{ matrix_element_call_container_labels_traefik_rule }} +traefik.http.routers.element-call-router.entrypoints={{ matrix_element_call_container_labels_traefik_entrypoints }} +traefik.http.routers.element-call-router.tls.certresolver={{ matrix_element_call_container_labels_traefik_tls_certResolver }} +traefik.http.services.element-call-service.loadbalancer.server.port=8080 + +{% set middlewares = [] %} + +# Define any path prefix redirection or stripping middleware +{% if matrix_element_call_container_labels_traefik_path_prefix != '/' %} +traefik.http.middlewares.element-call-slashless-redirect.redirectregex.regex=({{ matrix_element_call_container_labels_traefik_path_prefix | quote }})$ +traefik.http.middlewares.element-call-slashless-redirect.redirectregex.replacement=${1}/ +{% set middlewares = middlewares + ['element-call-slashless-redirect'] %} + +traefik.http.middlewares.element-call-strip-prefix.stripprefix.prefixes={{ matrix_element_call_container_labels_traefik_path_prefix }} +{% set middlewares = middlewares + ['element-call-strip-prefix'] %} +{% endif %} + +# Apply any additional response headers if provided +{% if matrix_element_call_container_labels_traefik_additional_response_headers.keys() | length > 0 %} +{% for name, value in matrix_element_call_container_labels_traefik_additional_response_headers.items() %} +traefik.http.middlewares.element-call-add-headers.headers.customresponseheaders.{{ name }}={{ value }} +{% endfor %} +{% set middlewares = middlewares + ['element-call-add-headers'] %} +{% endif %} + +# Add middlewares to the router +{% if middlewares | length > 0 %} +traefik.http.routers.element-call-router.middlewares={{ middlewares | join(',') }} +{% endif %} + +{% endif %}