files = { '/etc/matrix-synapse/homeserver.yaml': { 'content_type': 'mako', 'context': node.metadata.get('matrix-synapse'), 'needs': { 'pkg_apt:matrix-synapse-py3', }, 'triggers': { 'svc_systemd:matrix-synapse:restart', }, }, '/etc/matrix-synapse/log.yaml': { 'needs': { 'pkg_apt:matrix-synapse-py3', }, 'triggers': { 'svc_systemd:matrix-synapse:restart', }, }, '/etc/matrix-synapse/scripts/synapse-purge-unused-rooms': { 'mode': '0755', }, '/etc/matrix-synapse/scripts/synapse-reset-federation-timeout': { 'mode': '0755', }, '/etc/systemd/system/matrix-synapse.service.d/override.conf': { 'needs': { 'pkg_apt:matrix-synapse-py3', }, 'triggers': { 'action:systemd-reload', 'svc_systemd:matrix-synapse:restart', }, }, '/etc/matrix-synapse/conf.d/server_name.yaml': { # We don't actually need this file. However, if we don't put the # server name in there, synapse will somehow remove it from # homeserver.yaml when installing a new matrix-synapse package. # Our override.conf ensures this file is never read, so we don't # need to restart synapse after changing stuff in here. 'content_type': 'mako', 'context': node.metadata.get('matrix-synapse'), }, '/etc/matrix-synapse/conf.d/report_stats.yaml': { # see comment above }, } svc_systemd = { 'matrix-synapse': { 'needs': { 'file:/etc/matrix-synapse/homeserver.yaml', 'file:/etc/matrix-synapse/log.yaml', 'file:/etc/systemd/system/matrix-synapse.service.d/override.conf', 'pkg_apt:matrix-synapse-py3', 'postgres_db:synapse', }, }, } if node.metadata.get('matrix-synapse/sliding_sync/version', None): files['/usr/local/bin/matrix-sliding-sync'] = { 'content_type': 'download', 'source': 'https://github.com/matrix-org/sliding-sync/releases/download/{}/syncv3_linux_amd64'.format( node.metadata.get('matrix-synapse/sliding_sync/version'), ), 'content_hash': node.metadata.get('matrix-synapse/sliding_sync/sha1', None), 'mode': '0755', 'triggers': { 'svc_systemd:matrix-sliding-sync:restart', }, } files['/usr/local/lib/systemd/system/matrix-sliding-sync.service'] = { 'content_type': 'mako', 'triggers': { 'action:systemd-reload', 'svc_systemd:matrix-sliding-sync:restart', }, } svc_systemd['matrix-sliding-sync'] = { 'needs': { 'file:/usr/local/bin/matrix-sliding-sync', 'file:/usr/local/lib/systemd/system/matrix-sliding-sync.service', 'postgres_db:matrix-sliding-sync', }, }