Commit graph

502 commits

Author SHA1 Message Date
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
Aine 5eff67371d
add synapse media_retention 2022-06-17 14:32:17 +03:00
Slavi Pantaleev 6a573399ae Upgrade Synapse (v1.60.0 -> v1.61.0) 2022-06-14 17:15:27 +03:00
Slavi Pantaleev 2c1da0ac2a Switch matrix_encryption_disabler back to upstream repository
Now that https://github.com/digitalentity/matrix_encryption_disabler/pull/9
has been merged, we can get the module from there.

Continuation of 246c43be1e
2022-05-31 17:35:22 +03:00
Slavi Pantaleev 246c43be1e Upgrade Synapse (v1.59.1 -> v1.60.0) 2022-05-31 17:24:38 +03:00
Slavi Pantaleev 78204619ea Stop using deprecated (in Synapse v1.59) user_dir and appservice workers
Source: https://github.com/matrix-org/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types

As an alternative, we should probably find a way to run one or a few
more generic workers (which will handle appservice and user_dir stuff) and
update `homeserver.yaml` so that it would point to the name of these workers using
`notify_appservices_from_worker` and `update_user_directory_from_worker` options.

For now, this solves the deprecation, so we can have a peace of mind
going forward.

We're force-setting these worker counts to 0, so that we can clean up
existing homeservers which use these worker types. In the future, these
options will either be removed or repurposed (so that they transparently
create more generic workers that handle user_dir/appservice loads).
2022-05-31 16:35:50 +03:00
Slavi Pantaleev 63c755b115
Merge pull request #1837 from Lyokovic/vicx/fix-ldap-simple-bind
Fix synapse LDAP simple bind config
2022-05-24 10:40:28 +03:00
Vicx a906fad12e Fix synapse LDAP simple bind config
When using LDAP simple bind, the `bind_dn` and `bind_password`
configuration values must not be present.
2022-05-20 19:09:16 +02:00
Slavi Pantaleev 677a2fc503 Fix compatibility with ansible=6 / ansible-core=2.13
Details here: https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_6.html#id36

Basically:

```yaml
- name: Prior to 2.13
  debug:
    msg: '[1] + {{ [2] }}'

- name: 2.13 and forward
  debug:
    msg: '{{ [1] + [2] }}'
```

Interestingly, we had been using the new/safe syntax in lofs of places.

We were using the broken one in many others though. Hopefully all
instances were fixed by this patch.
2022-05-18 15:43:39 +03:00
Aine de8d6f8d6c
Update Synapse v1.59.0 -> v.1.59.1 2022-05-18 11:37:34 +00:00
Slavi Pantaleev f972a80224 Upgrade Synapse (1.58.1 -> 1.59.0) 2022-05-17 13:08:17 +03:00
Slavi Pantaleev 83b7fcee45 Do not proxy some endpoints to the generic Synapse worker
These endpoints should not be proxied to a generic Synapse worker
without other preparation (setting up stream writers, sending traffic
to a specific stream writer, etc.).

Disabling them for now. In the future, we'd like to fix up our awk
script to disable them automatically.

This is a fix up for 058fedff91
2022-05-07 09:39:19 +02:00
Slavi Pantaleev 058fedff91 Fix "endpoint seems conditional" determination in workers-doc-to-yaml.awk"
This prevented us from keeping our workers reverse-proxying definitions
updated since Synapse v1.54.0.

The last `workers.md` file we could parse is at commit
02632b3504ad4512c5f5a4f859b3fe326b19c788.
Parsing regressed at commit c56bfb08bc071368db23f3b1c593724eb4f205f0,
because the introduction message for `synapse.app.generic_worker` said
"If":

> If a worker is set up to handle a..

.. which made the AWK script think that definitions below were
conditional (which they're not in this case).

This patch fixes up the regex for determining if a line is conditional
or not, so that it doesn't trip up. Hopefully, it doesn't miss something
important.
2022-05-06 09:08:45 +02:00
Slavi Pantaleev 549e4418b9 Upgrade Synapse (1.58.0 -> 1.58.1) 2022-05-06 08:56:06 +02:00
Slavi Pantaleev 03674e1a36 Upgrade Synapse (1.57.1 -> 1.58.0) 2022-05-03 14:32:32 +03:00
Slavi Pantaleev e41fcf2746 Fix file name (vars.yaml -> vars.yml) to prevent confusion 2022-04-26 15:44:07 +03:00
Slavi Pantaleev d04767a9d6 Upgrade Synapse (1.57.0 -> 1.57.1) 2022-04-20 18:46:10 +03:00
Aine 502ea21fba
add retires to all get_url actions 2022-04-19 22:01:14 +03:00
Aine 949228eaf8
update synapse 1.56.0 -> 1.57.0 2022-04-19 14:41:31 +03:00
Lunar 471806e7bd
Increase default async time for rust-synapse-compress-state
Increase the async timeout value defaults, as larger Matrix servers need more time to complete.
2022-04-17 20:27:04 -05:00
Slavi Pantaleev 2df993977a Ensure git cloning when self-building is done with the matrix user, not root
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1749
2022-04-14 08:52:37 +03:00