diff --git a/roles/custom/matrix-livekit-jwt-service/defaults/main.yml b/roles/custom/matrix-livekit-jwt-service/defaults/main.yml index 13beb7d2d..95f525686 100644 --- a/roles/custom/matrix-livekit-jwt-service/defaults/main.yml +++ b/roles/custom/matrix-livekit-jwt-service/defaults/main.yml @@ -25,7 +25,7 @@ matrix_livekit_jwt_service_container_additional_networks_auto: [] matrix_livekit_jwt_service_container_additional_networks_custom: [] # renovate: datasource=docker depName=ghcr.io/element-hq/lk-jwt-service -matrix_livekit_jwt_service_version: 0.3.0 +matrix_livekit_jwt_service_version: 0.4.0 matrix_livekit_jwt_service_container_image_self_build: false matrix_livekit_jwt_service_container_repo: "https://github.com/element-hq/lk-jwt-service.git" @@ -68,8 +68,15 @@ matrix_livekit_jwt_service_container_labels_additional_labels: '' # A list of extra arguments to pass to the container matrix_livekit_jwt_service_container_extra_arguments: [] -# Controls the LK_JWT_PORT environment variable -matrix_livekit_jwt_service_environment_variable_livekit_jwt_port: 8080 +# Controls the port that the service listens on internally in the container. +# This is still used for Traefik configuration and container port binding. +matrix_livekit_jwt_service_container_port: 8080 + +# Controls the LIVEKIT_JWT_BIND environment variable. +# This is the preferred method in v0.4.0+, replacing the deprecated LIVEKIT_JWT_PORT. +# Format: "host:port" or ":port" (to bind to all interfaces). +# The default ":8080" binds to all interfaces on port 8080. +matrix_livekit_jwt_service_environment_variable_livekit_jwt_bind: ":{{ matrix_livekit_jwt_service_container_port }}" # Controls the LIVEKIT_KEY environment variable matrix_livekit_jwt_service_environment_variable_livekit_key: "" diff --git a/roles/custom/matrix-livekit-jwt-service/tasks/validate_config.yml b/roles/custom/matrix-livekit-jwt-service/tasks/validate_config.yml index fa2f4ab04..fb44aa236 100644 --- a/roles/custom/matrix-livekit-jwt-service/tasks/validate_config.yml +++ b/roles/custom/matrix-livekit-jwt-service/tasks/validate_config.yml @@ -6,6 +6,15 @@ --- +- name: (Deprecation) Catch and report renamed LiveKit JWT Service settings + ansible.builtin.fail: + msg: >- + 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: + - {'old': 'matrix_livekit_jwt_service_environment_variable_livekit_jwt_port', 'new': 'matrix_livekit_jwt_service_container_port'} + - name: Fail if required LiveKit JWT Service settings are not defined ansible.builtin.fail: msg: > diff --git a/roles/custom/matrix-livekit-jwt-service/templates/env.j2 b/roles/custom/matrix-livekit-jwt-service/templates/env.j2 index 56a5496a7..15ac9d4a7 100644 --- a/roles/custom/matrix-livekit-jwt-service/templates/env.j2 +++ b/roles/custom/matrix-livekit-jwt-service/templates/env.j2 @@ -5,7 +5,7 @@ SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev SPDX-License-Identifier: AGPL-3.0-or-later #} -LIVEKIT_JWT_PORT={{ matrix_livekit_jwt_service_environment_variable_livekit_jwt_port | int | to_json }} +LIVEKIT_JWT_BIND={{ matrix_livekit_jwt_service_environment_variable_livekit_jwt_bind }} LIVEKIT_KEY={{ matrix_livekit_jwt_service_environment_variable_livekit_key }} LIVEKIT_URL={{ matrix_livekit_jwt_service_environment_variable_livekit_url }} diff --git a/roles/custom/matrix-livekit-jwt-service/templates/labels.j2 b/roles/custom/matrix-livekit-jwt-service/templates/labels.j2 index c372cbb78..5fd1e07ee 100644 --- a/roles/custom/matrix-livekit-jwt-service/templates/labels.j2 +++ b/roles/custom/matrix-livekit-jwt-service/templates/labels.j2 @@ -10,7 +10,7 @@ traefik.enable=true traefik.docker.network={{ matrix_livekit_jwt_service_container_labels_traefik_docker_network }} -traefik.http.services.matrix-livekit-jwt-service.loadbalancer.server.port={{ matrix_livekit_jwt_service_environment_variable_livekit_jwt_port }} +traefik.http.services.matrix-livekit-jwt-service.loadbalancer.server.port={{ matrix_livekit_jwt_service_container_port }} {% set middlewares = [] %} diff --git a/roles/custom/matrix-livekit-jwt-service/templates/systemd/matrix-livekit-jwt-service.service.j2 b/roles/custom/matrix-livekit-jwt-service/templates/systemd/matrix-livekit-jwt-service.service.j2 index 351044cef..1d22b8cce 100644 --- a/roles/custom/matrix-livekit-jwt-service/templates/systemd/matrix-livekit-jwt-service.service.j2 +++ b/roles/custom/matrix-livekit-jwt-service/templates/systemd/matrix-livekit-jwt-service.service.j2 @@ -20,7 +20,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ --cap-drop=ALL \ --network={{ matrix_livekit_jwt_service_container_network }} \ {% if matrix_livekit_jwt_service_container_http_host_bind_port %} - -p {{ matrix_livekit_jwt_service_container_http_host_bind_port }}:{{ matrix_livekit_jwt_service_environment_variable_livekit_jwt_port }} \ + -p {{ matrix_livekit_jwt_service_container_http_host_bind_port }}:{{ matrix_livekit_jwt_service_container_port }} \ {% endif %} --env-file={{ matrix_livekit_jwt_service_base_path }}/env \ --label-file={{ matrix_livekit_jwt_service_base_path }}/labels \