directories = { '/opt/matrix-media-repo': { 'owner': 'matrix-media-repo', 'group': 'matrix-media-repo', }, '/var/matrix/media': { 'owner': 'matrix-media-repo', 'group': 'matrix-media-repo', }, } users = { 'matrix-media-repo': { 'home': '/opt/matrix-media-repo', }, } files = { '/opt/matrix-media-repo/config.yaml': { 'owner': 'matrix-media-repo', 'content_type': 'mako', }, '/etc/systemd/system/matrix-media-repo.service': { 'triggers': { 'action:systemd-reload', 'svc_systemd:matrix-media-repo:restart', }, }, '/opt/matrix-media-repo/media_repo': { 'content_hash': node.metadata.get('matrix-media-repo/sha1', None), 'content_type': 'download', 'mode': '0755', 'source': 'https://github.com/turt2live/matrix-media-repo/releases/download/{}/media_repo-linux-x64'.format(node.metadata.get('matrix-media-repo/version')), 'triggers': { 'svc_systemd:matrix-media-repo:restart', }, }, } svc_systemd = { 'matrix-media-repo': { 'needs': { 'file:/etc/systemd/system/matrix-media-repo.service', 'file:/opt/matrix-media-repo/config.yaml', 'file:/opt/matrix-media-repo/media_repo', 'postgres_db:matrix-media-repo', }, }, }