This collection contains modules for managing matrix rooms and more via ansible. They can modify room membership, aliases, server signing keys and even send messages into rooms from within ansible.
matrix_login
(source): Create an access token for a matrix account.matrix_login
(source): Create an access token for a matrix account. Logs in with user and password to obtain a matrix access tokenmatrix_uia_login
(source): Logs in with user and password to obtain a matrix access token, while implementing user-interactive authentication on the_matrix/client/r0/login
endpoint (see MSC2835).matrix_logout
(source): Invalidates an access token.matrix_notification
(source): Sends a message to a matrix room.matrix_room
(source): Idempotently joins/creates a room with a given alias.matrix_state
(source): Can be used to set matrix state events to a room.matrix_member
(source): Can be used to manipulate matrix room membership.matrix_signing_key
(source): Creates a server signing key.synapse_register
(source): Registers a user using synapse's admin API.synapse_ratelimit
(source): Gets / Sets / Deletes a (local) users ratelimits
For more information on how to use the modules to manage matrix rooms
via ansible, the README in ./plugins/modules/
provides more detailed information and an example playbook.
In addition to the modules, this role also contains a few roles for deploying commonly used matrix services:
synapse
: synapse, a reference matrix homeserver implementation in python, maintained mostly by element.element
: element-web, a reference matrix client implementation, able to run in the browser, maintained by element.hedwig
: Hedwig, a push-gateway server alternative tosygnal
, developed by Famedly.barad_dur
: Barad-dûr, a matrix phone-home stats collector alternative, developed by Famedly.
sygnal
: reference implementation of a matrix push gateway, unmaintained and no longer in usepanopticon
: matrix phone-home stats collector, created by element, role unmaintained