mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-09-20 14:50:08 +00:00
fix maubot plugins proxy
This commit is contained in:
@@ -60,9 +60,10 @@ 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"
|
||||
|
||||
# Traefik strips the path prefix before proxying, so maubot sees relative paths internally.
|
||||
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_bot_server_plugin_base_path: /plugin/
|
||||
|
||||
matrix_bot_maubot_proxy_management_interface: true
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
- matrix_bot_maubot_config.server.port == matrix_bot_maubot_server_port
|
||||
- matrix_bot_maubot_config.server.public_url == 'https://maubot.molecule.local/molecule-maubot'
|
||||
- matrix_bot_maubot_config.server.ui_base_path == '/'
|
||||
- matrix_bot_maubot_config.server.plugin_base_path == '/_matrix/maubot/plugin/'
|
||||
- matrix_bot_maubot_config.server.plugin_base_path == '/plugin/'
|
||||
- "'base_path' not in matrix_bot_maubot_config.server"
|
||||
- "'appservice_base_path' not in matrix_bot_maubot_config.server"
|
||||
- matrix_bot_maubot_config.server.unshared_secret == matrix_bot_maubot_unshared_secret
|
||||
@@ -214,6 +214,37 @@
|
||||
({{ matrix_bot_maubot_login_http.stdout | default('no output') }})
|
||||
success_msg: "Maubot's live management API authenticated the configured admin"
|
||||
|
||||
# Traefik strips the public prefix, so plugin webhooks reach Maubot at the relative
|
||||
# plugin_base_path. Maubot's plugin router answers unknown instances with an empty 404,
|
||||
# while aiohttp's default 404 carries a body, so the empty body proves the router is mounted.
|
||||
- name: Probe Maubot's plugin endpoint router
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
- docker
|
||||
- run
|
||||
- --rm
|
||||
- --network={{ matrix_bot_maubot_container_network }}
|
||||
- "{{ molecule_shared_image_curl }}"
|
||||
- --silent
|
||||
- --show-error
|
||||
- --write-out
|
||||
- "\nHTTP_STATUS=%{http_code}"
|
||||
- "http://matrix-bot-maubot:{{ matrix_bot_maubot_server_port }}/plugin/molecule-probe"
|
||||
register: matrix_bot_maubot_plugin_http
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
|
||||
- name: Assert Maubot's plugin router handles the configured plugin base path
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- matrix_bot_maubot_plugin_http.rc == 0
|
||||
- matrix_bot_maubot_plugin_http.stdout_lines[-1] == 'HTTP_STATUS=404'
|
||||
- matrix_bot_maubot_plugin_http.stdout_lines[:-1] | join('\n') | trim | length == 0
|
||||
fail_msg: >-
|
||||
Maubot's plugin router did not answer on the configured plugin base path
|
||||
({{ matrix_bot_maubot_plugin_http.stdout | default('no output') }})
|
||||
success_msg: "Maubot's plugin router answers on the configured plugin base path"
|
||||
|
||||
# The role's default port must not answer. Otherwise reaching the custom port would not
|
||||
# prove that the configured value made it into the running process.
|
||||
- name: Probe the role's default Maubot port
|
||||
|
||||
Reference in New Issue
Block a user