From 6487839cf54ece9e2d61d6295779e54105330a95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Floure?= Date: Thu, 18 Feb 2021 14:10:19 +0100 Subject: [PATCH] [__matrix_synapse_worker] various tweaks and fixes following testing --- .../files/matrix-synapse-worker@.service | 4 ++-- type/__matrix_synapse_worker/files/worker.yaml.sh | 4 ++-- type/__matrix_synapse_worker/gencode-remote | 12 ++++++++++++ type/__matrix_synapse_worker/manifest | 13 +++++++------ type/__matrix_synapse_worker/parameter/required | 1 - 5 files changed, 23 insertions(+), 11 deletions(-) create mode 100755 type/__matrix_synapse_worker/gencode-remote diff --git a/type/__matrix_synapse_worker/files/matrix-synapse-worker@.service b/type/__matrix_synapse_worker/files/matrix-synapse-worker@.service index cb5ac0a..dba4bed 100644 --- a/type/__matrix_synapse_worker/files/matrix-synapse-worker@.service +++ b/type/__matrix_synapse_worker/files/matrix-synapse-worker@.service @@ -15,9 +15,9 @@ NotifyAccess=main User=matrix-synapse WorkingDirectory=/var/lib/matrix-synapse EnvironmentFile=/etc/default/matrix-synapse -ExecStart=/opt/venvs/matrix-synapse/bin/python -m synapse.app.generic_worker --config-path=/etc/matrix-synapse/homeserver.yaml --config-path=/etc/matrix-synapse/conf.d/ --config-path=/etc/matrix-synapse/workers/%i.yaml +ExecStart=/usr/bin/python3 -m synapse.app.generic_worker --config-path=/etc/matrix-synapse/homeserver.yaml --config-path=/etc/matrix-synapse/conf.d/ --config-path=/etc/matrix-synapse/workers/ ExecReload=/bin/kill -HUP $MAINPID -Restart=always +Restart=on-failure RestartSec=3 SyslogIdentifier=matrix-synapse-%i diff --git a/type/__matrix_synapse_worker/files/worker.yaml.sh b/type/__matrix_synapse_worker/files/worker.yaml.sh index 0d24636..6d885c6 100755 --- a/type/__matrix_synapse_worker/files/worker.yaml.sh +++ b/type/__matrix_synapse_worker/files/worker.yaml.sh @@ -6,11 +6,11 @@ worker_name: "${WORKER_NAME:?}" # The replication listener on the main synapse process. worker_replication_host: "${WORKER_REPLICATION_HOST:?}" -worker_replication_http_port: "${WORKER_REPLICATION_PORT:?}" +worker_replication_http_port: ${WORKER_REPLICATION_PORT:?} worker_listeners: - type: http - port: "${WORKER_PORT:?}" + port: ${WORKER_PORT:?} resources: - names: EOF diff --git a/type/__matrix_synapse_worker/gencode-remote b/type/__matrix_synapse_worker/gencode-remote new file mode 100755 index 0000000..9b82ad0 --- /dev/null +++ b/type/__matrix_synapse_worker/gencode-remote @@ -0,0 +1,12 @@ +#!/bin/sh + +# Designed for Debian/systemd - make sure to adapt when you add support for other +# distributions/OSs. +name=$__object_id +synapse_conf_dir='/etc/matrix-synapse' +synapse_workers_conf_dir="$synapse_conf_dir/workers" +systemd_worker_service="matrix-synapse-worker@$name" + +if grep -qE "^__file$synapse_workers_conf_dir/$name" "${__messages_in}"; then + echo "systemctl restart $systemd_worker_service" +fi diff --git a/type/__matrix_synapse_worker/manifest b/type/__matrix_synapse_worker/manifest index daa6dd7..fdbcbf4 100755 --- a/type/__matrix_synapse_worker/manifest +++ b/type/__matrix_synapse_worker/manifest @@ -8,7 +8,7 @@ os=$(cat "$__global/explorer/os") case "$os" in debian) - synapse_conf_dir='/etc/synapse' + synapse_conf_dir='/etc/matrix-synapse' synapse_workers_conf_dir="$synapse_conf_dir/workers" # Synapse log configuration on debian - default value of config-log @@ -53,14 +53,15 @@ require="__directory/$synapse_workers_conf_dir" \ --source "$__object/files/worker.yaml" \ --mode 0644 -__file "/etc/systemd/systemd/matrix-synapse-worker@.service" \ +__file "/etc/systemd/system/matrix-synapse-worker@.service" \ --source "$__type/files/matrix-synapse-worker@.service" \ --mode 0644 \ --state $systemd_worker_service_override # Start service, enable at boot. -require="__file/$synapse_workers_conf_dir/$name.yaml \ - __file/etc/systemd/systemd/matrix-synapse-worker@.service" \ - __service "$systemd_worker_service" --action start -require="__service/$systemd_worker_service" \ +service_req= +if [ "$systemd_worker_service_override" ]; then + service_req="__file/etc/systemd/system/matrix-synapse-worker@.service" +fi +require="__file/$synapse_workers_conf_dir/$name.yaml $service_req" \ __start_on_boot "$systemd_worker_service" diff --git a/type/__matrix_synapse_worker/parameter/required b/type/__matrix_synapse_worker/parameter/required index 62d5bd6..3d93f2a 100644 --- a/type/__matrix_synapse_worker/parameter/required +++ b/type/__matrix_synapse_worker/parameter/required @@ -1,3 +1,2 @@ app -name port