76 lines
2.5 KiB
Python
76 lines
2.5 KiB
Python
directories['/opt/sdm630_mqtt/src'] = {}
|
|
|
|
git_deploy['/opt/sdm630_mqtt/src'] = {
|
|
'repo': 'https://git.franzi.business/kunsi/sdm630_mqtt.git',
|
|
'rev': 'main',
|
|
'triggers': {
|
|
'action:sdm630_mqtt_install_deps',
|
|
},
|
|
}
|
|
|
|
actions['sdm630_mqtt_create_virtualenv'] = {
|
|
'command': 'python3 -m virtualenv /opt/sdm630_mqtt/venv',
|
|
'unless': 'test -x /opt/sdm630_mqtt/venv/bin/python3',
|
|
'needs': {
|
|
'directory:/opt/sdm630_mqtt/src',
|
|
},
|
|
}
|
|
|
|
actions['sdm630_mqtt_install_deps'] = {
|
|
'command': 'cd /opt/sdm630_mqtt/src && /opt/sdm630_mqtt/venv/bin/pip install -r requirements.txt',
|
|
'triggered': True,
|
|
'needs': {
|
|
'action:sdm630_mqtt_create_virtualenv',
|
|
},
|
|
}
|
|
|
|
users['sdm630_mqtt'] = {
|
|
'home': '/opt/sdm630_mqtt',
|
|
}
|
|
|
|
files['/opt/sdm630_mqtt/config.toml'] = {
|
|
'content': repo.libs.faults.dict_as_toml(node.metadata.get('sdm630_mqtt/config')),
|
|
'triggers': set(),
|
|
}
|
|
|
|
if node.has_bundle('telegraf'):
|
|
files['/opt/sdm630_mqtt/config.toml']['triggers'].add('svc_systemd:telegraf:restart')
|
|
git_deploy['/opt/sdm630_mqtt/src']['triggers'].add('svc_systemd:telegraf:restart')
|
|
|
|
if node.metadata.get('sdm630_mqtt/enable_stats_collection', True):
|
|
files['/usr/local/lib/systemd/system/sdm630_to_mqtt.service'] = {
|
|
'triggers': {
|
|
'action:systemd-reload',
|
|
'svc_systemd:sdm630_to_mqtt:restart',
|
|
},
|
|
}
|
|
|
|
svc_systemd['sdm630_to_mqtt'] = {
|
|
'needs': {
|
|
'git_deploy:/opt/sdm630_mqtt/src',
|
|
'action:sdm630_mqtt_install_deps',
|
|
'file:/usr/local/lib/systemd/system/sdm630_to_mqtt.service',
|
|
},
|
|
}
|
|
|
|
files['/opt/sdm630_mqtt/config.toml']['triggers'].add('svc_systemd:sdm630_to_mqtt:restart')
|
|
git_deploy['/opt/sdm630_mqtt/src']['triggers'].add('svc_systemd:sdm630_to_mqtt:restart')
|
|
|
|
if node.metadata.get('sdm630_mqtt/enable_local_printout', False):
|
|
files['/usr/local/lib/systemd/system/sdm630_printout.service'] = {
|
|
'triggers': {
|
|
'action:systemd-reload',
|
|
'svc_systemd:sdm630_printout:restart',
|
|
},
|
|
}
|
|
|
|
svc_systemd['sdm630_printout'] = {
|
|
'needs': {
|
|
'git_deploy:/opt/sdm630_mqtt/src',
|
|
'action:sdm630_mqtt_install_deps',
|
|
'file:/usr/local/lib/systemd/system/sdm630_printout.service',
|
|
},
|
|
}
|
|
|
|
files['/opt/sdm630_mqtt/config.toml']['triggers'].add('svc_systemd:sdm630_printout:restart')
|
|
git_deploy['/opt/sdm630_mqtt/src']['triggers'].add('svc_systemd:sdm630_printout:restart')
|