bundlewrap/bundles/matrix-synapse/items.py

88 lines
2.9 KiB
Python

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',
},
}