Suguru Hirahara
54b7df44ec
Add license information to files in matrix-synapse/tasks/synapse
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
1 rok temu
Slavi Pantaleev
835d2e9581
matrix_systemd_path -> devture_systemd_docker_base_systemd_path (via com.devture.ansible.role.systemd_docker_base)
3 lat temu
Slavi Pantaleev
410a915a8a
Move roles/matrix* to roles/custom/matrix*
This paves the way for installing other roles into `roles/galaxy` using `ansible-galaxy`,
similar to how it's done in:
- https://github.com/spantaleev/gitea-docker-ansible-deploy
- https://github.com/spantaleev/nextcloud-docker-ansible-deploy
In the near future, we'll be removing a lot of the shared role code from here
and using upstream roles for it. Some of the core `matrix-*` roles have
already been extracted out into other reusable roles:
- https://github.com/devture/com.devture.ansible.role.postgres
- https://github.com/devture/com.devture.ansible.role.systemd_docker_base
- https://github.com/devture/com.devture.ansible.role.timesync
- https://github.com/devture/com.devture.ansible.role.vars_preserver
- https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages
- https://github.com/devture/com.devture.ansible.role.playbook_help
We just need to migrate to those.
3 lat temu
Slavi Pantaleev
d073c7ecb3
More ansible-lint fixes
3 lat temu
Slavi Pantaleev
ddf18eadc7
More ansible-lint fixes
3 lat temu
Slavi Pantaleev
34cdaade08
Use fully-qualified module names for builtin Ansible modules
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1939
3 lat temu
Marko Weltzer
7e5b88c3b7
fix: all praise the allmighty yamllinter
4 lat temu
Slavi Pantaleev
4625b34acc
Fix failure trying to stop orphaned systemd services
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1461
4 lat temu
Michael Collins
98e6cd685d
sync with previous repo
4 lat temu
Michael-GMH
86e4649578
GoMatrixHosting v0.5.5
4 lat temu
Michael-GMH
03006eb5ab
GoMatrixHosting v0.5.5
4 lat temu
Slavi Pantaleev
453a4ec2d8
Relocate tasks related to Synapse workers
5 lat temu
Slavi Pantaleev
70796703d3
Run Synapse workers in their own containers
This switches the `docker exec` method of spawning
Synapse workers inside the `matrix-synapse` container with
dedicated containers for each worker.
We also have dedicated systemd services for each worker,
so this are now:
- more consistent with everything else (we don't use systemd
instantiated services anywhere)
- we don't need the "parse systemd instance name into worker name +
port" part
- we don't need to keep track of PIDs manually
- we don't need jq (less depenendencies)
- workers dying would be restarted by systemd correctly, like any other
service
- `docker ps` shows each worker separately and we can observe resource
usage
5 lat temu
Marcel Partap
414b812a29
synapse role workers setup: make configs clean action remote compatible
Many people probably didn't even know this - that ansible can be
quite a bit picky about what it will be willing to work with remotely.
Thanks @maxklenk !
5 lat temu
Marcel Partap
cce90b187a
synapse workers: fix undefined variable cases when removing workers
5 lat temu
Marcel Partap
a4125d5446
synapse workers: polishing, cleansing and installation of jq dependency
5 lat temu
Marcel Partap
501efee07e
synapse workers: supply systemd with actual worker PIDs (requires jq)
also, worker.yaml.j2:
- hone worker_name
- remove worker_pid_file entry (would only be used if worker_daemonize
set to true; also, synapse only knows about the container namespace
and thus can not provide the required host-view PID)
5 lat temu
Marcel Partap
cf452fdf0a
Fix corner-cases found through testing (aka ansible is nuts)
5 lat temu
Marcel Partap
353bc7c362
Add initial support for synapse workers
· needs documentation; no checks yet for port clashes or typos in worker name
· according to https://github.com/matrix-org/synapse/wiki/Workers-setup-with-nginx#results
about 90% of requests go to the synchrotron endpoint
· thus, the synchrotron worker is especially suited to be load-balanced
· most of the other workers are documented to support only a single instance
· https://github.com/matrix-org/synapse/blob/master/docs/workers.md
5 lat temu