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