diff --git a/roles/custom/matrix-bot-maubot/defaults/main.yml b/roles/custom/matrix-bot-maubot/defaults/main.yml index 5d4c24e46..ba09915f6 100644 --- a/roles/custom/matrix-bot-maubot/defaults/main.yml +++ b/roles/custom/matrix-bot-maubot/defaults/main.yml @@ -60,11 +60,9 @@ matrix_bot_maubot_config_path: "{{ matrix_bot_maubot_base_path }}/config" matrix_bot_maubot_container_src_files_path: "{{ matrix_bot_maubot_base_path }}/docker-src" matrix_bot_maubot_customized_container_src_files_path: "{{ matrix_bot_maubot_base_path }}/customized-docker-src" -matrix_bot_maubot_bot_server_public_url: "{{ matrix_bot_maubot_scheme }}://{{ matrix_bot_maubot_hostname }}" -matrix_bot_maubot_bot_server_base_path: "{{ '' if matrix_bot_maubot_path_prefix == '/' else matrix_bot_maubot_path_prefix }}/v1" -matrix_bot_maubot_bot_server_ui_base_path: "{{ matrix_bot_maubot_path_prefix }}" -matrix_bot_maubot_bot_server_plugin_base_path: "{{ '' if matrix_bot_maubot_path_prefix == '/' else matrix_bot_maubot_path_prefix }}/plugin/" -matrix_bot_maubot_bot_server_appservice_base_path: "{{ matrix_bot_maubot_bot_server_base_path }}" +matrix_bot_maubot_bot_server_public_url: "{{ matrix_bot_maubot_scheme }}://{{ matrix_bot_maubot_hostname }}{{ '' if matrix_bot_maubot_path_prefix == '/' else matrix_bot_maubot_path_prefix }}" +matrix_bot_maubot_bot_server_ui_base_path: / +matrix_bot_maubot_bot_server_plugin_base_path: /_matrix/maubot/plugin/ matrix_bot_maubot_proxy_management_interface: true @@ -154,7 +152,7 @@ matrix_bot_maubot_container_labels_traefik_tls_certResolver: default # noqa var matrix_bot_maubot_container_labels_management_enabled: true matrix_bot_maubot_container_labels_management_hostname: "{{ matrix_bot_maubot_hostname }}" matrix_bot_maubot_container_labels_management_prefix: "{{ matrix_bot_maubot_path_prefix }}" -matrix_bot_maubot_container_labels_management_traefik_rule: "Host(`{{ matrix_bot_maubot_container_labels_management_hostname }}`) && PathPrefix(`{{ matrix_bot_maubot_path_prefix }}`)" +matrix_bot_maubot_container_labels_management_traefik_rule: "Host(`{{ matrix_bot_maubot_container_labels_management_hostname }}`) && PathPrefix(`{{ matrix_bot_maubot_container_labels_management_prefix }}`)" matrix_bot_maubot_container_labels_management_traefik_priority: 0 matrix_bot_maubot_container_labels_management_traefik_entrypoints: "{{ matrix_bot_maubot_container_labels_traefik_entrypoints }}" matrix_bot_maubot_container_labels_management_traefik_tls: "{{ matrix_bot_maubot_container_labels_management_traefik_entrypoints != 'web' }}" diff --git a/roles/custom/matrix-bot-maubot/tasks/validate_config.yml b/roles/custom/matrix-bot-maubot/tasks/validate_config.yml index 16ee6980c..332c0c6f3 100644 --- a/roles/custom/matrix-bot-maubot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-maubot/tasks/validate_config.yml @@ -32,6 +32,8 @@ - {'old': 'matrix_bot_maubot_docker_src_files_path', 'new': 'matrix_bot_maubot_container_src_files_path'} - {'old': 'matrix_bot_maubot_customized_docker_src_files_path', 'new': 'matrix_bot_maubot_customized_container_src_files_path'} - {'old': 'matrix_bot_maubot_container_image_force_pull', 'new': ' (the new community.docker.docker_image_pull module handles this natively)'} + - {'old': 'matrix_bot_maubot_bot_server_base_path', 'new': ' (maubot no longer supports a custom management API path)'} + - {'old': 'matrix_bot_maubot_bot_server_appservice_base_path', 'new': ' (maubot no longer supports a custom appservice API path)'} - name: Fail if required maubot settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-bot-maubot/templates/config.yaml.j2 b/roles/custom/matrix-bot-maubot/templates/config.yaml.j2 index e5c5be630..11b34f03f 100644 --- a/roles/custom/matrix-bot-maubot/templates/config.yaml.j2 +++ b/roles/custom/matrix-bot-maubot/templates/config.yaml.j2 @@ -47,8 +47,6 @@ server: port: {{ matrix_bot_maubot_server_port | to_json }} # Public base URL where the server is visible. public_url: {{ matrix_bot_maubot_bot_server_public_url | to_json }} - # The base management API path. - base_path: {{ matrix_bot_maubot_bot_server_base_path | to_json }} # The base path for the UI. ui_base_path: {{ matrix_bot_maubot_bot_server_ui_base_path | to_json }} # The base path for plugin endpoints. The instance ID will be appended directly. @@ -56,8 +54,6 @@ server: # Override path from where to load UI resources. # Set to false to using pkg_resources to find the path. override_resource_path: /opt/maubot/frontend - # The base appservice API path. Use / for legacy appservice API and /_matrix/app/v1 for v1. - appservice_base_path: {{ matrix_bot_maubot_bot_server_appservice_base_path | to_json }} # The shared secret to sign API access tokens. # Set to "generate" to generate and save a new token at startup. unshared_secret: {{ matrix_bot_maubot_unshared_secret | to_json }} diff --git a/roles/custom/matrix-bot-maubot/templates/labels.j2 b/roles/custom/matrix-bot-maubot/templates/labels.j2 index e937775d4..12f0a40a0 100644 --- a/roles/custom/matrix-bot-maubot/templates/labels.j2 +++ b/roles/custom/matrix-bot-maubot/templates/labels.j2 @@ -27,6 +27,10 @@ traefik.http.routers.matrix-bot-maubot-management.priority={{ matrix_bot_maubot_ {% endif %} traefik.http.routers.matrix-bot-maubot-management.service=matrix-bot-maubot +{% if matrix_bot_maubot_container_labels_management_prefix != '/' %} +traefik.http.middlewares.matrix-bot-maubot-management-strip-prefix.stripprefix.prefixes={{ matrix_bot_maubot_container_labels_management_prefix }} +traefik.http.routers.matrix-bot-maubot-management.middlewares=matrix-bot-maubot-management-strip-prefix +{% endif %} traefik.http.routers.matrix-bot-maubot-management.entrypoints={{ matrix_bot_maubot_container_labels_management_traefik_entrypoints }} traefik.http.routers.matrix-bot-maubot-management.tls={{ matrix_bot_maubot_container_labels_management_traefik_tls | to_json }}