This commit adds copyright attributions in SPDX to the files for matrix-conduwuit, following REUSE's specification.
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
https://github.com/Virkkunen and I have been working on the same feature
simultaneously.
This patch adds my additional independent work on top of his changes.
Notable changes here compared to Virkkunen's original work:
- renaming config-related variables (`matrix_conduwuit_*` ->
`matrix_conduwuit_config_*`). This is consistent with other roles (and
better), but deviates from how the Conduit role was implemented.
- using a full configuration sample from https://conduwuit.puppyirl.gay/configuration.html
instead of using the old Conduit config file template
- introducing configurability for more Conduwuit config settings, to support easy registration, etc.
- removing configuration settings that Conduwuit does not support
anymore (e.g. `max_concurrent_requests`)
- cross-linking docs pages for Conduit and Conduwuit
- a Conduwuit docs page which is much improved compared to the old
Conduit one
- REAMDE updates
By default, `--tags=self-check` no longer validates certificates
when `matrix_ssl_retrieval_method` is set to `self-signed`.
Besides this default, people can also enable/disable validation using the
individual role variables manually.
Fixes#124 (Github Issue)
With this change, the following roles are now only dependent
on the minimal `matrix-base` role:
- `matrix-corporal`
- `matrix-coturn`
- `matrix-mailer`
- `matrix-mxisd`
- `matrix-postgres`
- `matrix-riot-web`
- `matrix-synapse`
The `matrix-nginx-proxy` role still does too much and remains
dependent on the others.
Wiring up the various (now-independent) roles happens
via a glue variables file (`group_vars/matrix-servers`).
It's triggered for all hosts in the `matrix-servers` group.
According to Ansible's rules of priority, we have the following
chain of inclusion/overriding now:
- role defaults (mostly empty or good for independent usage)
- playbook glue variables (`group_vars/matrix-servers`)
- inventory host variables (`inventory/host_vars/matrix.<your-domain>`)
All roles default to enabling their main component
(e.g. `matrix_mxisd_enabled: true`, `matrix_riot_web_enabled: true`).
Reasoning: if a role is included in a playbook (especially separately,
in another playbook), it should "work" by default.
Our playbook disables some of those if they are not generally useful
(e.g. `matrix_corporal_enabled: false`).
As suggested in #63 (Github issue), splitting the
playbook's logic into multiple roles will be beneficial for
maintainability.
This patch realizes this split. Still, some components
affect others, so the roles are not really independent of one
another. For example:
- disabling mxisd (`matrix_mxisd_enabled: false`), causes Synapse
and riot-web to reconfigure themselves with other (public)
Identity servers.
- enabling matrix-corporal (`matrix_corporal_enabled: true`) affects
how reverse-proxying (by `matrix-nginx-proxy`) is done, in order to
put matrix-corporal's gateway server in front of Synapse
We may be able to move away from such dependencies in the future,
at the expense of a more complicated manual configuration, but
it's probably not worth sacrificing the convenience we have now.
As part of this work, the way we do "start components" has been
redone now to use a loop, as suggested in #65 (Github issue).
This should make restarting faster and more reliable.