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')