bundlewrap/bundles/matrix-media-repo/items.py
2021-05-14 20:02:39 +02:00

76 lines
2.3 KiB
Python

directories = {
'/opt/matrix-media-repo': {
'owner': 'matrix-media-repo',
'group': 'matrix-media-repo',
},
'/opt/matrix-media-repo/src': {
'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',
'triggers': {
'svc_systemd:matrix-media-repo:restart',
},
},
'/etc/systemd/system/matrix-media-repo.service': {
'triggers': {
'action:systemd-reload',
'svc_systemd:matrix-media-repo:restart',
},
},
}
git_deploy = {
'/opt/matrix-media-repo/src': {
'repo': 'https://github.com/turt2live/matrix-media-repo.git',
'rev': node.metadata['matrix-media-repo']['version'],
'triggers': {
'action:matrix-media-repo_build',
'svc_systemd:matrix-media-repo:restart',
},
},
}
actions = {
'matrix-media-repo_build': {
'command': \
'chown -R matrix-media-repo:matrix-media-repo /opt/matrix-media-repo/src && ' + \
'sudo -u matrix-media-repo bash -c "cd /opt/matrix-media-repo/src && ' + \
'GOBIN=/opt/matrix-media-repo/src/bin go install -v ./cmd/compile_assets && ' + \
'/opt/matrix-media-repo/src/bin/compile_assets && ' + \
'GOBIN=/opt/matrix-media-repo/src/bin go install -ldflags \\\"' + \
'-X github.com/turt2live/matrix-media-repo/common/version.GitCommit=$(cat /opt/matrix-media-repo/src/.bundlewrap_git_deploy) ' + \
'-X github.com/turt2live/matrix-media-repo/common/version.Version={}\\\" '.format(node.metadata['matrix-media-repo']['version']) + \
'-v ./cmd/..."',
'triggered': True,
'needs': {
'pkg_apt:',
},
},
}
svc_systemd = {
'matrix-media-repo': {
'needs': {
'action:matrix-media-repo_build',
'file:/etc/systemd/system/matrix-media-repo.service',
'file:/opt/matrix-media-repo/config.yaml',
'postgres_db:matrix-media-repo',
},
},
}