* Modernise Draupnir Configuration Variable Names * Move Draupnir deprecation-check task before undefined-variables-check * Fix trailing spaces in Draupnir's `validate_config.yml` --------- Co-authored-by: Slavi Pantaleev <slavi@devture.com>pull/4172/head
| @@ -58,7 +58,7 @@ matrix_bot_draupnir_enable_experimental_rust_crypto: true | |||||
| # Access token which the bot will use for logging in. | # Access token which the bot will use for logging in. | ||||
| # Comment out `matrix_bot_draupnir_login_native` when using this option. | # Comment out `matrix_bot_draupnir_login_native` when using this option. | ||||
| matrix_bot_draupnir_access_token: "CLEAN_ACCESS_TOKEN_HERE" | |||||
| matrix_bot_draupnir_config_accessToken: "CLEAN_ACCESS_TOKEN_HERE" | |||||
| ``` | ``` | ||||
| ## Adjusting the playbook configuration | ## Adjusting the playbook configuration | ||||
| @@ -73,13 +73,13 @@ matrix_bot_draupnir_enabled: true | |||||
| # matrix_bot_draupnir_login: bot.draupnir | # matrix_bot_draupnir_login: bot.draupnir | ||||
| # Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`. | # Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`. | ||||
| # If creating the user on your own and using `matrix_bot_draupnir_access_token` to login you can comment out this line. | |||||
| # If creating the user on your own and using `matrix_bot_draupnir_config_accessToken` to login you can comment out this line. | |||||
| matrix_bot_draupnir_password: PASSWORD_FOR_THE_BOT | matrix_bot_draupnir_password: PASSWORD_FOR_THE_BOT | ||||
| # Comment out if using `matrix_bot_draupnir_enable_experimental_rust_crypto: true` or `matrix_bot_draupnir_access_token` to login. | |||||
| # Comment out if using `matrix_bot_draupnir_enable_experimental_rust_crypto: true` or `matrix_bot_draupnir_config_accessToken` to login. | |||||
| matrix_bot_draupnir_login_native: true | matrix_bot_draupnir_login_native: true | ||||
| matrix_bot_draupnir_management_room: "MANAGEMENT_ROOM_ID_HERE" | |||||
| matrix_bot_draupnir_config_managementRoom: "MANAGEMENT_ROOM_ID_HERE" | |||||
| ``` | ``` | ||||
| ### Create and invite the bot to the management room | ### Create and invite the bot to the management room | ||||
| @@ -142,7 +142,7 @@ Draupnir can receive reports in the management room. | |||||
| The bot can intercept the report API endpoint of the client-server API, which requires integration with the reverse proxy in front of the homeserver. If you are using Traefik, this playbook can set this up for you: | The bot can intercept the report API endpoint of the client-server API, which requires integration with the reverse proxy in front of the homeserver. If you are using Traefik, this playbook can set this up for you: | ||||
| ```yaml | ```yaml | ||||
| matrix_bot_draupnir_abuse_reporting_enabled: true | |||||
| matrix_bot_draupnir_config_web_abuseReporting: true | |||||
| ``` | ``` | ||||
| <!-- | <!-- | ||||
| @@ -3188,10 +3188,10 @@ matrix_bot_draupnir_container_additional_networks_auto: |- | |||||
| ) | unique | ) | unique | ||||
| }} | }} | ||||
| matrix_bot_draupnir_homeserver_url: "{{ 'http://matrix-pantalaimon:8009' if matrix_bot_draupnir_pantalaimon_use else matrix_addons_homeserver_client_api_url }}" | |||||
| matrix_bot_draupnir_raw_homeserver_url: "{{ matrix_addons_homeserver_client_api_url }}" | |||||
| matrix_bot_draupnir_config_homeserverUrl: "{{ 'http://matrix-pantalaimon:8009' if matrix_bot_draupnir_pantalaimon_use else matrix_addons_homeserver_client_api_url }}" # noqa var-naming | |||||
| matrix_bot_draupnir_config_rawHomeserverUrl: "{{ matrix_addons_homeserver_client_api_url }}" # noqa var-naming | |||||
| matrix_bot_draupnir_container_labels_traefik_enabled: "{{ matrix_bot_draupnir_web_enabled and matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" | |||||
| matrix_bot_draupnir_container_labels_traefik_enabled: "{{ matrix_bot_draupnir_config_web_enabled and matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" | |||||
| matrix_bot_draupnir_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" | matrix_bot_draupnir_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" | ||||
| matrix_bot_draupnir_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" | matrix_bot_draupnir_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" | ||||
| matrix_bot_draupnir_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" | matrix_bot_draupnir_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" | ||||
| @@ -52,7 +52,7 @@ SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister | |||||
| SPDX-FileCopyrightText: 2023 - 2024 Pierre 'McFly' Marty | SPDX-FileCopyrightText: 2023 - 2024 Pierre 'McFly' Marty | ||||
| SPDX-FileCopyrightText: 2023 Antonis Christofides | SPDX-FileCopyrightText: 2023 Antonis Christofides | ||||
| SPDX-FileCopyrightText: 2023 Benjamin Kampmann | SPDX-FileCopyrightText: 2023 Benjamin Kampmann | ||||
| SPDX-FileCopyrightText: 2023 Catalan Lover | |||||
| SPDX-FileCopyrightText: 2023 - 2025 Catalan Lover <catalanlover@protonmail.com> | |||||
| SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman | SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman | ||||
| SPDX-FileCopyrightText: 2023 Johan Swetzén | SPDX-FileCopyrightText: 2023 Johan Swetzén | ||||
| SPDX-FileCopyrightText: 2023 Kabir Kwatra | SPDX-FileCopyrightText: 2023 Kabir Kwatra | ||||
| @@ -1,4 +1,5 @@ | |||||
| # SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors | # SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors | ||||
| # SPDX-FileCopyrightText: 2023 - 2025 Catalan Lover <catalanlover@protonmail.com> | |||||
| # SPDX-FileCopyrightText: 2023 Samuel Meenzen | # SPDX-FileCopyrightText: 2023 Samuel Meenzen | ||||
| # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev | # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev | ||||
| # | # | ||||
| @@ -27,9 +28,9 @@ matrix_bot_draupnir_config_path: "{{ matrix_bot_draupnir_base_path }}/config" | |||||
| matrix_bot_draupnir_data_path: "{{ matrix_bot_draupnir_base_path }}/data" | matrix_bot_draupnir_data_path: "{{ matrix_bot_draupnir_base_path }}/data" | ||||
| matrix_bot_draupnir_docker_src_files_path: "{{ matrix_bot_draupnir_base_path }}/docker-src" | matrix_bot_draupnir_docker_src_files_path: "{{ matrix_bot_draupnir_base_path }}/docker-src" | ||||
| matrix_bot_draupnir_abuse_reporting_enabled: false | |||||
| matrix_bot_draupnir_web_enabled: "{{ matrix_bot_draupnir_abuse_reporting_enabled }}" | |||||
| matrix_bot_draupnir_display_reports: "{{ matrix_bot_draupnir_abuse_reporting_enabled }}" | |||||
| matrix_bot_draupnir_config_web_abuseReporting: false # noqa var-naming | |||||
| matrix_bot_draupnir_config_web_enabled: "{{ matrix_bot_draupnir_config_web_abuseReporting }}" # noqa var-naming | |||||
| matrix_bot_draupnir_config_displayReports: "{{ matrix_bot_draupnir_config_web_abuseReporting }}" # noqa var-naming | |||||
| matrix_bot_draupnir_container_network: "" | matrix_bot_draupnir_container_network: "" | ||||
| @@ -56,7 +57,7 @@ matrix_bot_draupnir_systemd_wanted_services_list: [] | |||||
| # Whether Draupnir should talk to the homeserver through Pantalaimon | # Whether Draupnir should talk to the homeserver through Pantalaimon | ||||
| # If true, then other variables must be provided including pointing | # If true, then other variables must be provided including pointing | ||||
| # `matrix_bot_draupnir_homeserver_url` to the Pantalaimon URL. | |||||
| # `matrix_bot_draupnir_config_homeserverUrl` to the Pantalaimon URL. | |||||
| # | # | ||||
| # The upstream project discourages enabling this option, because it is | # The upstream project discourages enabling this option, because it is | ||||
| # known that running Draupnir along with Pantalaimon breaks all workflows that involve | # known that running Draupnir along with Pantalaimon breaks all workflows that involve | ||||
| @@ -74,35 +75,37 @@ matrix_bot_draupnir_enable_experimental_rust_crypto: false | |||||
| # The access token for the bot user. Required if Pantalaimon is NOT used. | # The access token for the bot user. Required if Pantalaimon is NOT used. | ||||
| # (Otherwise provide `matrix_bot_draupnir_pantalaimon_username` and `matrix_bot_draupnir_pantalaimon_password` instead.) | # (Otherwise provide `matrix_bot_draupnir_pantalaimon_username` and `matrix_bot_draupnir_pantalaimon_password` instead.) | ||||
| matrix_bot_draupnir_access_token: "" | |||||
| matrix_bot_draupnir_config_accessToken: "" # noqa var-naming | |||||
| # Username and password for the bot. Required if Pantalaimon is used. | # Username and password for the bot. Required if Pantalaimon is used. | ||||
| # (Otherwise provide `matrix_bot_draupnir_access_token` instead.) | |||||
| # (Otherwise provide `matrix_bot_draupnir_config_accessToken` instead.) | |||||
| matrix_bot_draupnir_pantalaimon_username: "" | matrix_bot_draupnir_pantalaimon_username: "" | ||||
| matrix_bot_draupnir_pantalaimon_password: "" | matrix_bot_draupnir_pantalaimon_password: "" | ||||
| # Username and password the bot uses for logging in directly. If Pantalaimon is used, | # Username and password the bot uses for logging in directly. If Pantalaimon is used, | ||||
| # these values become the values of `matrix_bot_draupnir_pantalaimon_username` and `matrix_bot_draupnir_pantalaimon_password` | # these values become the values of `matrix_bot_draupnir_pantalaimon_username` and `matrix_bot_draupnir_pantalaimon_password` | ||||
| # These config options do not follow the common naming schema as to not cause user confusion over them being called Pantalaimon when using native login. | |||||
| matrix_bot_draupnir_login: "{{ matrix_bot_draupnir_pantalaimon_username if matrix_bot_draupnir_pantalaimon_use == 'true' else 'bot.draupnir' }}" | matrix_bot_draupnir_login: "{{ matrix_bot_draupnir_pantalaimon_username if matrix_bot_draupnir_pantalaimon_use == 'true' else 'bot.draupnir' }}" | ||||
| matrix_bot_draupnir_password: "{{ matrix_bot_draupnir_pantalaimon_password }}" | matrix_bot_draupnir_password: "{{ matrix_bot_draupnir_pantalaimon_password }}" | ||||
| # Controls if we activate the config block for Pantalaimon for now. Its name will | # Controls if we activate the config block for Pantalaimon for now. Its name will | ||||
| # probably be changed for our usecase due to Draupnir's push to scrub Pantalaimon from the codebase. | # probably be changed for our usecase due to Draupnir's push to scrub Pantalaimon from the codebase. | ||||
| # This configuration option does not follow the common naming schema as its not controlling a config key directly. | |||||
| matrix_bot_draupnir_login_native: "" | matrix_bot_draupnir_login_native: "" | ||||
| # The room ID where people can use the bot. The bot has no access controls, so | # The room ID where people can use the bot. The bot has no access controls, so | ||||
| # anyone in this room can use the bot - secure your room! | # anyone in this room can use the bot - secure your room! | ||||
| # This should be a room alias or room ID - not a matrix.to URL. | # This should be a room alias or room ID - not a matrix.to URL. | ||||
| # Note: Draupnir is fairly verbose - expect a lot of messages from it. | # Note: Draupnir is fairly verbose - expect a lot of messages from it. | ||||
| matrix_bot_draupnir_management_room: "" | |||||
| matrix_bot_draupnir_config_managementRoom: "" # noqa var-naming | |||||
| # Endpoint URL that Draupnir uses to interact with the Matrix homeserver (client-server API). | # Endpoint URL that Draupnir uses to interact with the Matrix homeserver (client-server API). | ||||
| # Set this to the Pantalaimon URL if you're using that. | # Set this to the Pantalaimon URL if you're using that. | ||||
| matrix_bot_draupnir_homeserver_url: "" | |||||
| matrix_bot_draupnir_config_homeserverUrl: "" # noqa var-naming | |||||
| # Endpoint URL that Draupnir could use to fetch events related to reports (client-server API and /_synapse/). | # Endpoint URL that Draupnir could use to fetch events related to reports (client-server API and /_synapse/). | ||||
| # Only set this to the public-internet homeserver client API URL. Do NOT set this to the Pantalaimon URL. | # Only set this to the public-internet homeserver client API URL. Do NOT set this to the Pantalaimon URL. | ||||
| matrix_bot_draupnir_raw_homeserver_url: "" | |||||
| matrix_bot_draupnir_config_rawHomeserverUrl: "" # noqa var-naming | |||||
| # Disable Server ACL is used if you do not want to give the bot the right to apply Server ACLs in rooms without complaints from the bot. | # Disable Server ACL is used if you do not want to give the bot the right to apply Server ACLs in rooms without complaints from the bot. | ||||
| # This setting is described the following way in the configuration. | # This setting is described the following way in the configuration. | ||||
| @@ -112,12 +115,12 @@ matrix_bot_draupnir_raw_homeserver_url: "" | |||||
| # It is recommended to consult with people from the upstream project beforehand. | # It is recommended to consult with people from the upstream project beforehand. | ||||
| # | # | ||||
| # It is exposed here because it is common enough to be valid to expose. | # It is exposed here because it is common enough to be valid to expose. | ||||
| matrix_bot_draupnir_disable_server_acl: "false" | |||||
| matrix_bot_draupnir_config_disableServerACL: false # noqa var-naming | |||||
| # Controls if the room state backing store is activated. | # Controls if the room state backing store is activated. | ||||
| # Room state backing store makes restarts of the bot lightning fast as the bot does not suffer from amnesia. | # Room state backing store makes restarts of the bot lightning fast as the bot does not suffer from amnesia. | ||||
| # This config option has diminished improvements for bots on extremely fast homeservers or very very small bots on fast homeservers. | # This config option has diminished improvements for bots on extremely fast homeservers or very very small bots on fast homeservers. | ||||
| matrix_bot_draupnir_enable_room_state_backing_store: "true" | |||||
| matrix_bot_draupnir_config_roomStateBackingStore_enabled: true # noqa var-naming | |||||
| # Default configuration template which covers the generic use case. | # Default configuration template which covers the generic use case. | ||||
| # You can customize it by controlling the various variables inside it. | # You can customize it by controlling the various variables inside it. | ||||
| @@ -1,4 +1,5 @@ | |||||
| # SPDX-FileCopyrightText: 2023 MDAD project contributors | # SPDX-FileCopyrightText: 2023 MDAD project contributors | ||||
| # SPDX-FileCopyrightText: 2023 Catalan Lover <catalanlover@protonmail.com> | |||||
| # SPDX-FileCopyrightText: 2023 Slavi Pantaleev | # SPDX-FileCopyrightText: 2023 Slavi Pantaleev | ||||
| # | # | ||||
| # SPDX-License-Identifier: AGPL-3.0-or-later | # SPDX-License-Identifier: AGPL-3.0-or-later | ||||
| @@ -1,4 +1,5 @@ | |||||
| # SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors | # SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors | ||||
| # SPDX-FileCopyrightText: 2023 Catalan Lover <catalanlover@protonmail.com> | |||||
| # SPDX-FileCopyrightText: 2024 David Mehren | # SPDX-FileCopyrightText: 2024 David Mehren | ||||
| # SPDX-FileCopyrightText: 2024 Slavi Pantaleev | # SPDX-FileCopyrightText: 2024 Slavi Pantaleev | ||||
| # SPDX-FileCopyrightText: 2024 Suguru Hirahara | # SPDX-FileCopyrightText: 2024 Suguru Hirahara | ||||
| @@ -1,4 +1,5 @@ | |||||
| # SPDX-FileCopyrightText: 2023 MDAD project contributors | # SPDX-FileCopyrightText: 2023 MDAD project contributors | ||||
| # SPDX-FileCopyrightText: 2023 Catalan Lover <catalanlover@protonmail.com> | |||||
| # | # | ||||
| # SPDX-License-Identifier: AGPL-3.0-or-later | # SPDX-License-Identifier: AGPL-3.0-or-later | ||||
| @@ -1,20 +1,40 @@ | |||||
| # SPDX-FileCopyrightText: 2023 - 2025 MDAD project contributors | # SPDX-FileCopyrightText: 2023 - 2025 MDAD project contributors | ||||
| # SPDX-FileCopyrightText: 2023 - 2025 Catalan Lover <catalanlover@protonmail.com> | |||||
| # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev | # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev | ||||
| # | # | ||||
| # SPDX-License-Identifier: AGPL-3.0-or-later | # SPDX-License-Identifier: AGPL-3.0-or-later | ||||
| --- | --- | ||||
| - name: (Deprecation) Catch and report renamed Draupnir 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: "item.old in vars" | |||||
| with_items: | |||||
| - {'old': 'matrix_bot_draupnir_container_image_name_prefix', 'new': 'matrix_bot_draupnir_container_image_registry_prefix'} | |||||
| - {'old': 'matrix_bot_draupnir_enable_room_state_backing_store', 'new': 'matrix_bot_draupnir_config_roomStateBackingStore_enabled'} | |||||
| - {'old': 'matrix_bot_draupnir_disable_server_acl', 'new': 'matrix_bot_draupnir_config_disableServerACL'} | |||||
| - {'old': 'matrix_bot_draupnir_enable_experimental_rust_crypto', 'new': 'matrix_bot_draupnir_config_experimentalRustCrypto'} | |||||
| - {'old': 'matrix_bot_draupnir_access_token', 'new': 'matrix_bot_draupnir_config_accessToken'} | |||||
| - {'old': 'matrix_bot_draupnir_management_room', 'new': 'matrix_bot_draupnir_config_managementRoom'} | |||||
| - {'old': 'matrix_bot_draupnir_homeserver_url', 'new': 'matrix_bot_draupnir_config_homeserverUrl'} | |||||
| - {'old': 'matrix_bot_draupnir_raw_homeserver_url', 'new': 'matrix_bot_draupnir_config_rawHomeserverUrl'} | |||||
| - {'old': 'matrix_bot_draupnir_web_enabled', 'new': 'matrix_bot_draupnir_config_web_enabled'} | |||||
| - {'old': 'matrix_bot_draupnir_abuse_reporting_enabled', 'new': 'matrix_bot_draupnir_config_web_abuseReporting'} | |||||
| - {'old': 'matrix_bot_draupnir_display_reports', 'new': 'matrix_bot_draupnir_config_displayReports'} | |||||
| - name: Fail if required matrix-bot-draupnir variables are undefined | - name: Fail if required matrix-bot-draupnir variables are undefined | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: "The `{{ item.name }}` variable must be defined and have a non-null value." | msg: "The `{{ item.name }}` variable must be defined and have a non-null value." | ||||
| with_items: | with_items: | ||||
| - {'name': 'matrix_bot_draupnir_access_token', when: "{{ not matrix_bot_draupnir_pantalaimon_use }}"} | |||||
| - {'name': 'matrix_bot_draupnir_access_token', when: "{{ matrix_bot_draupnir_enable_experimental_rust_crypto }}"} | |||||
| - {'name': 'matrix_bot_draupnir_management_room', when: true} | |||||
| - {'name': 'matrix_bot_draupnir_config_accessToken', when: "{{ not matrix_bot_draupnir_pantalaimon_use }}"} | |||||
| - {'name': 'matrix_bot_draupnir_config_accessToken', when: "{{ matrix_bot_draupnir_enable_experimental_rust_crypto }}"} | |||||
| - {'name': 'matrix_bot_draupnir_config_managementRoom', when: true} | |||||
| - {'name': 'matrix_bot_draupnir_container_network', when: true} | - {'name': 'matrix_bot_draupnir_container_network', when: true} | ||||
| - {'name': 'matrix_bot_draupnir_homeserver_url', when: true} | |||||
| - {'name': 'matrix_bot_draupnir_raw_homeserver_url', when: true} | |||||
| - {'name': 'matrix_bot_draupnir_config_homeserverUrl', when: true} | |||||
| - {'name': 'matrix_bot_draupnir_config_rawHomeserverUrl', when: true} | |||||
| - {'name': 'matrix_bot_draupnir_pantalaimon_username', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"} | - {'name': 'matrix_bot_draupnir_pantalaimon_username', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"} | ||||
| - {'name': 'matrix_bot_draupnir_pantalaimon_password', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"} | - {'name': 'matrix_bot_draupnir_pantalaimon_password', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"} | ||||
| when: "item.when | bool and (vars[item.name] == '' or vars[item.name] is none)" | when: "item.when | bool and (vars[item.name] == '' or vars[item.name] is none)" | ||||
| @@ -23,8 +43,8 @@ | |||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: "The `{{ item.name }}` variable must be undefined or have a null value." | msg: "The `{{ item.name }}` variable must be undefined or have a null value." | ||||
| with_items: | with_items: | ||||
| - {'name': 'matrix_bot_draupnir_access_token', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"} | |||||
| - {'name': 'matrix_bot_draupnir_access_token', when: "{{ matrix_bot_draupnir_login_native }}"} | |||||
| - {'name': 'matrix_bot_draupnir_config_accessToken', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"} | |||||
| - {'name': 'matrix_bot_draupnir_config_accessToken', when: "{{ matrix_bot_draupnir_login_native }}"} | |||||
| - {'name': 'matrix_bot_draupnir_pantalaimon_use', when: "{{ matrix_bot_draupnir_enable_experimental_rust_crypto }}"} | - {'name': 'matrix_bot_draupnir_pantalaimon_use', when: "{{ matrix_bot_draupnir_enable_experimental_rust_crypto }}"} | ||||
| when: "item.when | bool and not (vars[item.name] == '' or vars[item.name] is none)" | when: "item.when | bool and not (vars[item.name] == '' or vars[item.name] is none)" | ||||
| @@ -40,12 +60,3 @@ | |||||
| "Note: Draupnir does not support running with Pantalaimon as it would break all workflows that involve answering prompts with reactions. To enable E2EE for Draupnir, it is recommended to use matrix_bot_draupnir_enable_experimental_rust_crypto instead. This warning can be disabled by setting matrix_bot_draupnir_pantalaimon_breakage_ignore to true." | "Note: Draupnir does not support running with Pantalaimon as it would break all workflows that involve answering prompts with reactions. To enable E2EE for Draupnir, it is recommended to use matrix_bot_draupnir_enable_experimental_rust_crypto instead. This warning can be disabled by setting matrix_bot_draupnir_pantalaimon_breakage_ignore to true." | ||||
| ] | ] | ||||
| }} | }} | ||||
| - name: (Deprecation) Catch and report renamed Draupnir 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: "item.old in vars" | |||||
| with_items: | |||||
| - {'old': 'matrix_bot_draupnir_container_image_name_prefix', 'new': 'matrix_bot_draupnir_container_image_registry_prefix'} | |||||
| @@ -1,5 +1,6 @@ | |||||
| {# | {# | ||||
| SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors | SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors | ||||
| SPDX-FileCopyrightText: 2023 - 2025 Catalan Lover <catalanlover@protonmail.com> | |||||
| SPDX-FileCopyrightText: 2024 Slavi Pantaleev | SPDX-FileCopyrightText: 2024 Slavi Pantaleev | ||||
| SPDX-FileCopyrightText: 2024 Suguru Hirahara | SPDX-FileCopyrightText: 2024 Suguru Hirahara | ||||
| @@ -7,16 +8,16 @@ SPDX-License-Identifier: AGPL-3.0-or-later | |||||
| #} | #} | ||||
| # Endpoint URL that Draupnir uses to interact with the Matrix homeserver (client-server API), | # Endpoint URL that Draupnir uses to interact with the Matrix homeserver (client-server API), | ||||
| homeserverUrl: {{ matrix_bot_draupnir_homeserver_url | to_json }} | |||||
| homeserverUrl: {{ matrix_bot_draupnir_config_homeserverUrl | to_json }} | |||||
| # Endpoint URL that Draupnir could use to fetch events related to reports (client-server API and /_synapse/), | # Endpoint URL that Draupnir could use to fetch events related to reports (client-server API and /_synapse/), | ||||
| # only set this to the public-internet homeserver client API URL, do NOT set this to the pantalaimon URL. | # only set this to the public-internet homeserver client API URL, do NOT set this to the pantalaimon URL. | ||||
| rawHomeserverUrl: {{ matrix_bot_draupnir_raw_homeserver_url | to_json }} | |||||
| rawHomeserverUrl: {{ matrix_bot_draupnir_config_rawHomeserverUrl | to_json }} | |||||
| # Matrix Access Token to use, Draupnir will only use this if pantalaimon.use is false. | # Matrix Access Token to use, Draupnir will only use this if pantalaimon.use is false. | ||||
| # This option can be loaded from a file by passing "--access-token-path <path>" at the command line, | # This option can be loaded from a file by passing "--access-token-path <path>" at the command line, | ||||
| # which would allow using secret management systems such as systemd's service credentials. | # which would allow using secret management systems such as systemd's service credentials. | ||||
| accessToken: {{ matrix_bot_draupnir_access_token | to_json }} | |||||
| accessToken: {{ matrix_bot_draupnir_config_accessToken | to_json }} | |||||
| {% if matrix_bot_draupnir_pantalaimon_use or matrix_bot_draupnir_login_native %} | {% if matrix_bot_draupnir_pantalaimon_use or matrix_bot_draupnir_login_native %} | ||||
| # Options related to Pantalaimon (https://github.com/matrix-org/pantalaimon) | # Options related to Pantalaimon (https://github.com/matrix-org/pantalaimon) | ||||
| @@ -42,7 +43,7 @@ pantalaimon: | |||||
| # Make sure Pantalaimon is disabled in Draupnir's configuration. | # Make sure Pantalaimon is disabled in Draupnir's configuration. | ||||
| # | # | ||||
| # Warning: At this time this is not considered production safe. | # Warning: At this time this is not considered production safe. | ||||
| experimentalRustCrypto: {{ matrix_bot_draupnir_enable_experimental_rust_crypto | to_json }} | |||||
| experimentalRustCrypto: {{ matrix_bot_draupnir_config_experimentalRustCrypto | to_json }} | |||||
| # The path Draupnir will store its state/data in, leave default ("/data/storage") when using containers. | # The path Draupnir will store its state/data in, leave default ("/data/storage") when using containers. | ||||
| dataPath: "/data" | dataPath: "/data" | ||||
| @@ -65,7 +66,7 @@ recordIgnoredInvites: false | |||||
| # | # | ||||
| # Note: By default, Draupnir is fairly verbose - expect a lot of messages in this room. | # Note: By default, Draupnir is fairly verbose - expect a lot of messages in this room. | ||||
| # (see verboseLogging to adjust this a bit.) | # (see verboseLogging to adjust this a bit.) | ||||
| managementRoom: {{ matrix_bot_draupnir_management_room | to_json }} | |||||
| managementRoom: {{ matrix_bot_draupnir_config_managementRoom | to_json }} | |||||
| # Deprecated and will be removed in a future version. | # Deprecated and will be removed in a future version. | ||||
| # Running with verboseLogging is unsupported. | # Running with verboseLogging is unsupported. | ||||
| @@ -93,7 +94,7 @@ noop: false | |||||
| # Whether or not Draupnir should apply `m.room.server_acl` events. | # Whether or not Draupnir should apply `m.room.server_acl` events. | ||||
| # DO NOT change this to `true` unless you are very confident that you know what you are doing. | # DO NOT change this to `true` unless you are very confident that you know what you are doing. | ||||
| disableServerACL: {{ matrix_bot_draupnir_disable_server_acl | to_json }} | |||||
| disableServerACL: {{ matrix_bot_draupnir_config_disableServerACL | to_json }} | |||||
| # A case-insensitive list of ban reasons to have the bot also automatically redact the user's messages for. | # A case-insensitive list of ban reasons to have the bot also automatically redact the user's messages for. | ||||
| # | # | ||||
| @@ -199,7 +200,7 @@ commands: | |||||
| # homeserver and know that Draupnir is starting up quickly. If your homeserver can | # homeserver and know that Draupnir is starting up quickly. If your homeserver can | ||||
| # respond quickly to Draupnir's requests for `/state` then you might not need this option. | # respond quickly to Draupnir's requests for `/state` then you might not need this option. | ||||
| roomStateBackingStore: | roomStateBackingStore: | ||||
| enabled: {{ matrix_bot_draupnir_enable_room_state_backing_store | to_json }} | |||||
| enabled: {{ matrix_bot_draupnir_config_roomStateBackingStore_enabled | to_json }} | |||||
| # Safe mode provides recovery options for some failure modes when Draupnir | # Safe mode provides recovery options for some failure modes when Draupnir | ||||
| # fails to start. For example, if the bot fails to resolve a room alias in | # fails to start. For example, if the bot fails to resolve a room alias in | ||||
| @@ -261,7 +262,7 @@ health: | |||||
| # and 1.0 means "trace performance at every opportunity". | # and 1.0 means "trace performance at every opportunity". | ||||
| # tracesSampleRate: 0.5 | # tracesSampleRate: 0.5 | ||||
| {% if matrix_bot_draupnir_web_enabled %} | |||||
| {% if matrix_bot_draupnir_config_web_enabled %} | |||||
| # Options for exposing web APIs. | # Options for exposing web APIs. | ||||
| web: | web: | ||||
| # Whether to enable web APIs. | # Whether to enable web APIs. | ||||
| @@ -287,7 +288,7 @@ web: | |||||
| # to configure a reverse proxy, see e.g. test/nginx.conf | # to configure a reverse proxy, see e.g. test/nginx.conf | ||||
| abuseReporting: | abuseReporting: | ||||
| # Whether to enable this feature. | # Whether to enable this feature. | ||||
| enabled: {{ matrix_bot_draupnir_abuse_reporting_enabled | to_json }} | |||||
| enabled: {{ matrix_bot_draupnir_config_web_abuseReporting | to_json }} | |||||
| {% endif %} | {% endif %} | ||||
| # FIXME: This configuration option is currently broken in the playbook as admin APIs cannot | # FIXME: This configuration option is currently broken in the playbook as admin APIs cannot | ||||
| @@ -300,4 +301,4 @@ web: | |||||
| # Whether or not new reports, received either by webapi or polling, | # Whether or not new reports, received either by webapi or polling, | ||||
| # should be printed to our managementRoom. | # should be printed to our managementRoom. | ||||
| displayReports: {{ matrix_bot_draupnir_display_reports | to_json }} | |||||
| displayReports: {{ matrix_bot_draupnir_config_displayReports | to_json }} | |||||
| @@ -1,4 +1,5 @@ | |||||
| SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev | SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev | ||||
| SPDX-FileCopyrightText: 2023 - 2024 Catalan Lover <catalanlover@protonmail.com> | |||||
| SPDX-FileCopyrightText: 2024 MDAD project contributors | SPDX-FileCopyrightText: 2024 MDAD project contributors | ||||
| SPDX-License-Identifier: AGPL-3.0-or-later | SPDX-License-Identifier: AGPL-3.0-or-later | ||||