diff --git a/docs/configuring-playbook-appservice-draupnir-for-all.md b/docs/configuring-playbook-appservice-draupnir-for-all.md index e909ccb06..0cdccc9ab 100644 --- a/docs/configuring-playbook-appservice-draupnir-for-all.md +++ b/docs/configuring-playbook-appservice-draupnir-for-all.md @@ -24,7 +24,7 @@ The playbook does not create a management room for your Main Draupnir. You **nee Note that the room must be unencrypted. -The management room has to be given an alias and your bot has to be invited to the room. The bot previously was unable to join the management room if it was not public but this bug has been resolved. +The management room has to be given an alias, and your bot has to be invited to the room. This management room is used to control who has access to your D4A deployment. The room stores this data inside of the control room state so your bot must have sufficient powerlevel to send custom state events. This is default 50 or moderator as Element clients call this powerlevel. diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index be0706c21..beba67434 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -79,21 +79,21 @@ matrix_bot_draupnir_management_room: "MANAGEMENT_ROOM_ID_HERE" Decide whether you want Draupnir to be capable of operating in end-to-end encrypted (E2EE) rooms. This includes the management room and the moderated rooms. -To use Native E2EE support see [this section](### Native E2EE Support) +Draupnir supports E2EE by default. To enable it, refer [this section](#native-e2ee-support) for details about the native E2EE support. -Rust Crypto is experimental but is considerably more stable than Pantalaimon support and is improving over time with improvements to the element fork of matrix-bot-sdk. +Rust Crypto is experimental but is considerably more stable than [Pantalaimon](configuring-playbook-pantalaimon.md) support. It also improves over time with improvements to the element fork of `matrix-bot-sdk`. -Using [Pantalaimon](configuring-playbook-pantalaimon.md) for E2EE support is unsupported by Draupnir as it breaks core parts of the workflow. Pantalaimon is explicitly unsupported. +**Note**: Draupnir does not support running with Pantalaimon as it would break all workflows that involve answering prompts with reactions. ### Native E2EE Support -To use Native E2EE support you need to use access token based authentication from [below](####Configuration-without-E2EE-support-or-Native-E2EE). +To enable the native E2EE support, you need to obtain an access token for Draupnir. -You also need to activate the support via setting `matrix_bot_draupnir_enable_experimental_rust_crypto` to `true` +Note that Rust Crypto requires a clean access token that has not touched E2EE so curl is recommended as a method to obtain it. **The access token obtained via Element Web does not work with it**. Refer to the documentation on [how to obtain an access token via curl](obtaining-access-tokens.md#obtain-an-access-token-via-curl). -⚠️ **Warning**: The access token used for authentication must be obtained via means like curl. Using an access token from Element does not work with Rust Crypto. The access token in question can not have touched E2EE before use with Draupnir. +You also need to activate it by setting `matrix_bot_draupnir_enable_experimental_rust_crypto` to `true`. -#### Configuring Draupnir to use Pantalaimon (Unsupported by upstream.) +#### Configuring Draupnir to use Pantalaimon (unsupported by upstream) When using Pantalaimon, Draupnir will log in to its bot account itself through Pantalaimon, so configure its username and password. @@ -143,7 +143,11 @@ The first method intercepts the report API endpoint of the client-server API, wh matrix_bot_draupnir_abuse_reporting_enabled: true ``` - + ### Extending the configuration diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index ccd8468c3..db2984810 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -54,13 +54,13 @@ matrix_bot_draupnir_systemd_wanted_services_list: [] # that relies on reactions will break. (Hint: A lot of the workflow relies on them.) matrix_bot_draupnir_pantalaimon_use: false -# If you choose to accept the risks of using Pantalaimon in your setup against upstream advice -# this config option will disable the warning about this. +# If you choose to accept the risks of using Pantalaimon in your installation +# against the upstream advice, you can enable this to disable the warning about it. matrix_bot_draupnir_pantalaimon_breakage_ignore: false -# Tells the bot if it should use its native E2EE support in the form of Experimental Rust Crypto in the bot SDK. +# Tells the bot if it should use its native E2EE support in the form of experimental Rust Crypto in the bot SDK. # This option is mutually exclusive with `matrix_bot_draupnir_pantalaimon_use`. -# Rust Crypto requires a clean access token that has not touched E2EE so curl is recommended as creation method. +# Rust Crypto requires a clean access token that has not touched E2EE so curl is recommended as a method to obtain it. matrix_bot_draupnir_enable_experimental_rust_crypto: false # The access token for the bot user. Required when NOT using Pantalaimon. @@ -97,7 +97,7 @@ matrix_bot_draupnir_raw_homeserver_url: "" matrix_bot_draupnir_disable_server_acl: "false" # Controls if the room state backing store is activated. -# Room state backing store makes restarts of the bot lightning fast as the bot doesnt 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. matrix_bot_draupnir_enable_room_state_backing_store: "true" diff --git a/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml b/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml index 16593d408..1b8078f7a 100644 --- a/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml @@ -31,6 +31,6 @@ devture_playbook_runtime_messages_list | default([]) + [ - "Note: Draupnir does not support running under Pantalaimon as it breaks all workflows that involve answering prompts with reactions. Setups that need E2EE are recomended 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." ] }} diff --git a/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 b/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 index f339934dd..378404af5 100644 --- a/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 +++ b/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 @@ -127,7 +127,7 @@ protectAllJoinedRooms: false # of the homeserver may be more impacted. backgroundDelayMS: 500 -# FIXME: This configuration option is currently broken in the playbook as admin APIs can not +# FIXME: This configuration option is currently broken in the playbook as admin APIs cannot # be accessed from containers. See https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3389 # and https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3308 # Server administration commands, these commands will only work if Draupnir is @@ -287,7 +287,7 @@ web: enabled: {{ matrix_bot_draupnir_abuse_reporting_enabled | to_json }} {% endif %} -# FIXME: This configuration option is currently broken in the playbook as admin APIs can not +# FIXME: This configuration option is currently broken in the playbook as admin APIs cannot # be accessed from containers. See https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3389 # and https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3308 # Whether or not to actively poll synapse for abuse reports, to be used