Michael Hollister
bd027159b1
Added extra systemd service arguments to synapse workers and proxy companion
2024-01-24 13:14:34 -06:00
Slavi Pantaleev
84446e52e9
Rename Synapse worker preset name (room-workers -> specialized-workers)
...
I believe `specialized-workers` is a better name than `room-workers`,
because when enabled, 4 different types of specialized workers are
created:
- Room workers
- Sync workers
- Client readers
- Federation readers
Only one of these is called room-workers.
In the future, more specialized workers may be added, making the
`room-workers` preset name an even poorer choice.
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100
2024-01-20 12:40:55 +02:00
Slavi Pantaleev
3c7f896246
Prevent generic workers being combined with any of the other types
...
Until now, the validation check would only get tripped up
if generic workers are used, combined with at least one EACH
other type of specialized workers.
This means that someone doing this:
```
matrix_synapse_workers_preset: one-of-each
matrix_synapse_workers_client_reader_workers_count: 5
```
.. would not have triggered this safety check.
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100
2024-01-20 11:24:32 +02:00
Charles Wright
7d9eb56164
Add a validation step to fail when the user allocates generic workers together with all of the new worker types
2024-01-17 15:22:27 -06:00
Charles Wright
025a7e5c66
Merge branch 'spantaleev:master' into cvwright/room-workers-v2
2024-01-17 08:02:47 -06:00
Slavi Pantaleev
042c74f90c
Remove some useless oidc variables and /_synapse/oidc route handling
...
After some checking, it seems like there's `/_synapse/client/oidc`,
but no such thing as `/_synapse/oidc`.
I'm not sure why we've been reverse-proxying these paths for so long
(even in as far back as the `matrix-nginx-proxy` days), but it's time we
put a stop to it.
The OIDC docs have been simplified. There's no need to ask people to
expose the useless `/_synapse/oidc` endpoint. OIDC requires
`/_synapse/client/oidc` and `/_synapse/client` is exposed by default
already.
2024-01-17 14:45:19 +02:00
Charles Wright
1379200e9d
Add new worker types to the dynamic workers list
2024-01-16 11:13:51 -06:00
Charles Wright
db70230ae1
Add room-workers as a new preset, with new room workers, sync workers, client readers, and federation readers. Based on https://tcpipuk.github.io/synapse/index.html
2024-01-16 09:17:24 -06:00
Slavi Pantaleev
39bddefd39
Make addons communicate with the homeserver via a new internal Traefik entrypoint
...
This also adds labels for Synapse. Support for other homeservers and
components will be added later.
2024-01-14 10:48:54 +02:00
Slavi Pantaleev
934b73c849
Remove leftover Synapse metrics code for integrating with matrix-nginx-proxy
2024-01-12 12:57:28 +02:00
Slavi Pantaleev
41a52945d6
Add support for exposing metrics for Synapse workers
2024-01-12 12:16:06 +02:00
Slavi Pantaleev
22f5f0ba75
Add support for exposing metrics for Synapse (without workers)
2024-01-12 12:15:57 +02:00
Slavi Pantaleev
015acb6d08
Add native Traefik support to matrix-synapse
2024-01-04 19:00:23 +02:00
Slavi Pantaleev
abde681b56
Clean up some matrix_nginx_proxy_proxy_matrix_metrics_* references
2024-01-04 12:49:00 +02:00
Slavi Pantaleev
abdb4375db
Add matrix_synapse_additional_loggers_auto and matrix_synapse_additional_loggers_custom
2023-08-30 12:53:20 +03:00
Slavi Pantaleev
cc7244c14d
Fix Synapse sub-component (worker, S3, ..) uninstallation
...
matrix-synapse/tasks/setup_uninstall.yml would previously not run unless
Synapse was completely disabled.
2023-08-29 14:53:28 +03:00
Slavi Pantaleev
d207edb304
Deprecate matrix_synapse_spam_checker in favor of matrix_synapse_modules
2023-08-26 20:09:37 +03:00
Slavi Pantaleev
e03ec11fcf
Switch mjolnir-antispam from using spam_checker to modules
...
`spam_checker` has been deprecated for quite a while.
While it still probably works and while newer versions of
mjolnir-antispam still use it, we should switch to the new API.
2023-08-26 20:07:40 +03:00
Slavi Pantaleev
92ea048080
Add some missing install-all/install-synapse tags to Synapse role
2023-07-28 08:40:49 +03:00
Slavi Pantaleev
d02f6b8b93
Force-build customized container image for Synapse when its Dockerfile changes
2023-07-06 20:18:18 +03:00
Zac
f026c7cee1
Apply suggestions from code review
...
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2023-06-13 14:48:44 -05:00
cbackas
f6d260dc00
this is better
2023-06-13 11:58:19 -05:00
cbackas
0e701bbece
add var to make the creds optional
2023-06-13 11:08:14 -05:00
Zac
ceda4c41cc
remove the offending lines
2023-06-13 10:22:37 -05:00
Slavi Pantaleev
b71375fac7
Disable healthcheck for Synapse workers which serve no web traffic
...
This was mostly affecting the stream writer (events) worker, which was
being reported as unhealthy. It wasn't causing any issues, but it just
looked odd and was confusing people.
As an alternative to hitting the regular `/health` healthcheck route (on
the "client" API which this stream writer does not expose),
we may have went for hitting some "replication" API endpoint instead.
This is more complicated and likely unnecessary.
2023-05-19 18:29:02 +03:00
Slavi Pantaleev
8ef23a655d
Restore --tags=import-synapse-sqlite-db support
...
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2669
Removed in 04b9483f0d
(2022-11-28) when switching from matrix-postgres to
the devture-postgres external Ansible role.
More details: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#matrix-postgres-has-been-replaced-by-the-comdevtureansiblerolepostgres-external-role
The `import_synapse_sqlite_db.yml` file and documentation has been adapted somewhat compared to before, so that:
- it doesn't try to start Postgres automatically. You need to handle
this part manually
- it doesn't rely on the integrated Postgres and may potentially work
with external Postgres instances just the same
- it doesn't wipe out the whole database anymore. By default, we assume
it's empty anyway and there's no need for such things. If it's not,
then it's also probably dangerous to be so destructive.
This is all completely untested, but will hopefully work.
2023-05-02 13:34:42 +03:00
Slavi Pantaleev
1e1ab70965
Make use of matrix_synapse_container_network in the matrix-synapse role
...
It's the same as `matrix_docker_network` for now, so this practically
doesn't change anything.
2023-05-02 13:22:31 +03:00
Slavi Pantaleev
2d051679c0
Ensure instance_map.port is numeric
...
Fixup related to https://github.com/matrix-org/synapse/pull/15431
2023-04-25 15:26:30 +03:00
Slavi Pantaleev
dddfee16bc
Fix all 300+ ansible-lint-reported errors
2023-03-07 17:28:15 +02:00
Slavi Pantaleev
5df89a44b3
Add support for customizing Synapse templates
2023-02-17 19:37:34 +02:00
Slavi Pantaleev
632026513e
Add matrix_synapse_uid, matrix_synapse_gid and matrix_synapse_username
2023-02-17 17:16:50 +02:00
Slavi Pantaleev
519b32543c
Add matrix_synapse_container_network and matrix_synapse_container_additional_networks
2023-02-17 16:13:38 +02:00
Slavi Pantaleev
424f79df3a
Replace synapse.app.pusher and synapse.app.federation_sender with synapse.app.generic_worker
...
Related to https://github.com/matrix-org/synapse/commit/3479599387164aca2613e88d169719
2023-01-17 15:55:57 +02:00
Luke Moch
dd51ad2ba2
fail if matrix_synapse_ext_synapse_s3_storage_provider_config_endpoint_url 'not' startswith('http')
2022-12-10 08:13:55 -05:00
Slavi Pantaleev
d81e7d6328
Make matrix_synapse_ext_synapse_s3_storage_provider_config_endpoint_url required
...
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2330
2022-12-10 10:37:01 +02:00
Slavi Pantaleev
3824139908
Rename inject_into_nginx_proxy.yml to init.yml when it does more than injection
2022-12-09 10:18:40 +02:00
Slavi Pantaleev
f186d6236d
Add some missing tags to Synapse role
...
Without these:
- `--tags=install-synapse` and `--tags=install-all` would be incomplete
and will not contain Synapse worker configuration
- `--tags=install-synapse-reverse-proxy-companion` and
`--tags=setup-synapse-reverse-proxy-companion` would not contain
Synapse worker configuration
2022-12-09 10:15:40 +02:00
Slavi Pantaleev
663fe29ddb
Do not specify start_pushers in Synapse config
...
It's unnecessary when `pusher_instances` is populated.
Source: 6acb6d772a
2022-12-06 15:49:56 +02:00
Slavi Pantaleev
135bb5af3e
Do not specify send_federation in Synapse config
...
It's unnecessary when `federation_sender_instances` is populated.
Source: 6acb6d772a
2022-12-06 15:49:28 +02:00
Slavi Pantaleev
7464604ddd
Make use of matrix_synapse_ext_s3_storage_provider_data_path in a few more places
2022-12-04 10:17:55 +02:00
Quentin Young
b31731ebf8
fix s3 storage provider not ensuring data dir
...
This path is accessed by the s3 storage provider stuff and needs to be
ensured.
Broken by 7c5c3aedc
2022-12-04 01:16:58 -05:00
Slavi Pantaleev
910cd9adf0
Replace import_role calls with include_role calls
2022-11-27 11:27:01 +02:00
Slavi Pantaleev
2688e8bfc3
Optimize initial installation by not reloading systemd after each .service install
...
We expect `--tags=start` to handle systemd reloading, so we don't need
to do it manually each time we install/uninstall a .service file.
2022-11-27 10:02:45 +02:00
Slavi Pantaleev
c928148261
Make uninstall tasks for Synapse delete bin/
2022-11-27 09:43:25 +02:00
Slavi Pantaleev
7c5c3aedc4
Put s3-storage-provider scripts under /matrix/synapse/ext/s3-storage-provider/bin, not /usr/local/bin
2022-11-27 09:38:34 +02:00
Slavi Pantaleev
735e7355a5
Rename variable (matrix_synapse_ext_s3_storage_provider_path -> matrix_synapse_ext_s3_storage_provider_base_path)
2022-11-27 09:28:29 +02:00
Slavi Pantaleev
72744f9db9
/usr/local/bin/matrix-synapse-register-user -> /matrix/synapse/bin/register-user
2022-11-27 09:26:18 +02:00
Slavi Pantaleev
3d5d843418
Replace some devture_postgres_identifier instances with devture_postgres_connection_hostname
2022-11-27 08:31:54 +02:00
Slavi Pantaleev
04b9483f0d
Switch from matrix-postgres to com.devture.ansible.role.postgres
2022-11-27 08:04:31 +02:00
Slavi Pantaleev
dd9ae0d25c
Fix accidentally swapped tags (rust-synapse-compress-state and update-user-password)
2022-11-27 07:24:39 +02:00