Commit graph

522 commits

Author SHA1 Message Date
Slavi Pantaleev ac7cb3619d Add support for synapse-s3-storage-provider 2022-10-14 17:41:41 +03:00
Slavi Pantaleev 881fdd28f0 Add support for Synapse container image customization
This allows people to augment the Synapse image with custom tools and
addons without having to rebuild it from scratch.

If customizations are enabled, the playbook will build a new
`localhost/matrixdotorg/synapse:VERSION-customized` image
on top of the default one (`FROM matrixdotorg/synapse:VERSION`)
and with custom Dockerfile build steps.

For servers that self-build the Synapse image, the Synapse image will be
built first, before proceding to extend it the same way.

In the future, we'll also have easy to enable Dockerfile build steps
for modules that the playbook supports.
2022-10-14 16:37:54 +03:00
Slavi Pantaleev 0da068c7e6 Add support for configuring Synapse's media_storage_providers
In the future, we'll also inject media storage providers that we support
into the `matrix_synapse_media_storage_providers_auto` list.
2022-10-14 16:28:47 +03:00
Slavi Pantaleev a12cbeac3b Fix async commands
Fixes a regression introduced in d1b5681ba0.

Looks like `.finished` is a property on the main object, not on some
`.async_result` object.
2022-10-06 19:48:11 +03:00
Slavi Pantaleev d1b5681ba0 Report async task failures better
We were previously trying to reach into `.rc`,
but there's no such thing if `async_result.finished == 0`.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2153
2022-10-06 10:04:37 +03:00
Slavi Pantaleev 5d5642abc5 Upgrade Synapse (v1.67.0 -> v1.68.0) 2022-09-27 15:35:40 +03:00
Slavi Pantaleev 1ea1597020 Fix some ansible-lint-reported warnings
This mostly fixes `key-order` warnings around
`block` statements.
2022-09-27 11:38:33 +03:00
Slavi Pantaleev f623cf3550 Only download Grafana dashboard URLs for enabled services
If someone is using Dendrite and enabling Grafana, we'll no longer
download Synapse dashboards.

If someone is not using node-exporter, we'll no longer download node
exporter dashboards.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2133
2022-09-26 08:46:10 +03:00
mjarr dd8106790e
synapse: match upstream rate limit defaults 2022-09-24 18:53:56 +02:00
Slavi Pantaleev 89648cf58e Fix some ansible-lint-reported warnings 2022-09-18 12:21:09 +03:00
borisrunakov 49c64a8d65 change stream writer worker metrics range start 2022-09-17 10:22:05 +03:00
Slavi Pantaleev b07fd76830 Fix prometheus.yml.j2 indentation and worker ids for stream writers
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2105
2022-09-15 12:46:44 +03:00
Slavi Pantaleev 800267b182 Fix incorrect if checks breaking start_pushers/send_federaiton/enable_media_repo
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2103
2022-09-15 12:33:23 +03:00
Slavi Pantaleev 109e1addb8 Improve reliability when using more than 1 media_repository worker 2022-09-15 10:45:03 +03:00
Slavi Pantaleev 8887aed500 Do not add federation_sender_instances/pusher_instances configuration if not necessary
This keeps the configuration cleaner and hopefully prevents odd issues
if Synapse (by any chance) happens to interpret `pusher_instances: []`
as "no pushers", instead of as "push from the master process".

I haven't confirmed what an empty pushers/federation-senders list means,
so it's safer to just avoid it.
2022-09-15 10:34:02 +03:00
Slavi Pantaleev a1fb082618 Add support for running background tasks on a worker 2022-09-15 10:32:51 +03:00
Slavi Pantaleev 5f3f460cda Restore support for appservice and user_dir workers 2022-09-15 10:06:56 +03:00
Slavi Pantaleev 8cd7c1ec2f Relocate enable_media_repo and make it configurable via matrix_synapse_enable_media_repo
.. although.. manual configuration is discouraged in most cases.
2022-09-15 08:37:23 +03:00
Slavi Pantaleev b842447047 Add support for multiple pusher workers 2022-09-15 08:32:55 +03:00
Slavi Pantaleev 22cf259155 Put common worker configuration options at the top 2022-09-15 08:14:47 +03:00
Slavi Pantaleev ec654ca91e Add support for multiple federation sender workers 2022-09-15 08:13:08 +03:00
Slavi Pantaleev 226c550ffa Add support for stream writer Synapse workers
As stream writer workers are also powered by the `generic_worker`
Synapse app, this necessitated that we provide means for distinguishing
between them and regular `generic_workers`.

I've also taken the time to optimize nginx configuration generation
(more Jinja2 macro usage, less duplication).

Worker names have also changed.
Workers are now named sequentially like this:
- `matrix-synapse-worker-0-generic`
- `matrix-synapse-worker-1-stream-writer-typing`
- `matrix-synapse-worker-2-pusher`

instead of `matrix-synapse-worker_generic_worker-18111` (indexed with a
port number).

People who modify `matrix_synapse_workers_enabled_list` directly will
need to adjust their configuration.
2022-09-15 08:10:04 +03:00
Slavi Pantaleev ef523d68a4 Suppress errors in docker kill/rm calls for Synapse workers
We do the same everywhere else. This is an omission.
2022-09-14 08:13:01 +03:00
Slavi Pantaleev f12206676f Upgrade Synapse (v1.66.0 -> 1.67.0) and remove frontend_proxy workers
`frontend_proxy` workers have been superseded by `generic_worker` workers.
Related to https://github.com/matrix-org/synapse/pull/13645
2022-09-13 15:45:50 +03:00
Slavi Pantaleev 664406af57 Upgrade Synapse (v1.65.0 -> v1.66.0) 2022-08-31 15:45:46 +03:00
Slavi Pantaleev 8e0e9fa878 Deprecate matrix_synapse_account_threepid_delegates_email before Synapse v1.66.0
This is done in anticipation of this option's removal in the
upcoming Synapse v1.66.0 release (likely tomorrow).

See: https://matrix-org.github.io/synapse/v1.66/upgrade.html#delegation-of-email-validation-no-longer-supported
2022-08-30 18:51:35 +03:00
Slavi Pantaleev b196e15796 Fix incorrectly named module arguments (ansible.builtin.group -> group)
Regression since the mass-replace in 34cdaade0.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2054
2022-08-24 17:08:53 +03:00
Shaleen Jain f674afe5e8
appservice: add and use homeserver_container_* vars (#2045)
* appservice: add and use matrix_homeserver_* vars

* appservice: use the new vars

* Apply suggestions from code review

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2022-08-24 08:38:12 +03:00
Benjamin Castellan 22db7914e5 added rc_invites configuration for synapse 2022-08-17 13:34:33 +02:00
Slavi Pantaleev a9bef3337d Upgrade Synapse (v1.64.0 -> v1.65.0) 2022-08-16 20:04:34 +03:00
Aine 01dfbee51e
Update Synapse 1.63.1 -> 1.64.0 2022-08-02 10:45:32 +00:00
Slavi Pantaleev 89bd25995a Upgrade Synapse (v1.63.0 -> v1.63.1) 2022-07-20 16:06:01 +03:00
Slavi Pantaleev 2a131fd507
Merge pull request #1954 from aaronraimist/stats
Update telemetry documentation to more closely match upstream
2022-07-19 18:38:29 +03:00
Aaron Raimist 817830bb3d
Update telemetry documentation to more closely match upstream
Synapse no longer describes the stats as anonymized since the `server_name` is included.
https://github.com/matrix-org/synapse/pull/13321
2022-07-19 14:58:19 +00:00
Aine 24a027c6b9
Update Synapse 1.62.0 -> 1.63.0 2022-07-19 13:24:27 +00:00
Slavi Pantaleev c1849ae888 Fix the remaining var-spacing ansible-lint errors
Reference: https://ansible-lint.readthedocs.io/en/latest/default_rules/#var-spacing
2022-07-18 15:33:41 +03:00
Slavi Pantaleev cac9bf2637 Fix syntax error regression 2022-07-18 15:13:09 +03:00
Slavi Pantaleev d073c7ecb3 More ansible-lint fixes 2022-07-18 13:01:19 +03:00
Slavi Pantaleev 983bf819ef Explictly set Synapse's worker configuration's owner/permissions 2022-07-18 13:01:19 +03:00
Slavi Pantaleev ddf18eadc7 More ansible-lint fixes 2022-07-18 13:01:17 +03:00
Slavi Pantaleev 34cdaade08 Use fully-qualified module names for builtin Ansible modules
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1939
2022-07-18 12:58:41 +03:00
Aine e149f33140
add/unify 'Project source code URL' link across all roles 2022-07-16 23:59:21 +03:00
Aine fe347c85d9
Update Synapse 1.61.1 -> 1.62.0 2022-07-05 15:20:48 +00:00
Slavi Pantaleev bff35926dc Upgrade Synapse (v1.61.0 -> v1.61.1) 2022-06-28 17:13:19 +03:00
Slavi Pantaleev ba51997f7b (BC Break) Redo how metrics are exposed to external Prometheus servers 2022-06-23 17:55:07 +03:00
David Mehren f6a73231ab
Synapse workers should respect X-Forwarded headers
Currently, Synapse workers ignore the X-Forwarded headers, which leads to internal Docker IP addresses randomly appearing in the users' device list.

This adds the `x_forwarded: true` option to the worker config, fixing the issue.
2022-06-18 16:13:08 +02:00
Slavi Pantaleev 38027e72f6 Fix "object of type 'NoneType' has no len()" error
Fixup for 5eff67371d - https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1884
2022-06-17 15:45:29 +03:00
Slavi Pantaleev 7440dd34fb
Merge pull request #1884 from etkecc/master
add synapse media_retention
2022-06-17 15:31:55 +03:00
Slavi Pantaleev 5987589436
Use |to_json 2022-06-17 15:30:22 +03:00
Slavi Pantaleev 323f5aa60d Synchronize homeserver.yaml config with the one from Synapse 1.61.0 2022-06-17 15:26:23 +03:00