60 lines
2.1 KiB
Python

uberspaceify = repo.libs.uberspace.Uberspaceify(node)
directories = uberspaceify.directories({
f'/home/{node.username}/.local/state/prometheus-node-exporter/textfiles': {
},
})
files = uberspaceify.files({
f'/home/{node.username}/.bwdownloads/prometheus-node-exporter.tar.gz': {
"content_type": "download",
"source": "https://github.com/prometheus/node_exporter/releases/download/v1.9.0/node_exporter-1.9.0.linux-amd64.tar.gz",
"content_hash": "847bd800f3cae9c8e613c9d2fb59ffc7bb3eb764",
"triggers": [
"action:prometheus-node-exporter-install",
],
},
f"/home/{node.username}/etc/services.d/prometheus-node-exporter.ini": {
"source": "prometheus-node-exporter.ini",
"content_type": "jinja2",
"triggers": [
"action:supervisord-reread",
"svc_uberspace_supervisord:prometheus-node-exporter:update",
],
},
f"/home/{node.username}/.config/prometheus-node-exporter/web-config.yml": {
"source": "prometheus-node-exporter-web-config.yml",
"triggers": [
"svc_uberspace_supervisord:prometheus-node-exporter:restart",
],
},
})
actions["prometheus-node-exporter-exists"] = {
"command": 'true',
"unless": f'[[ -f "/home/{node.username}/bin/prometheus-node-exporter" && -x "/home/{node.username}/bin/prometheus-node-exporter" ]]',
"triggers": [
"action:prometheus-node-exporter-install",
],
}
actions["prometheus-node-exporter-install"] = {
"command": f'tar -xf /home/{node.username}/.bwdownloads/prometheus-node-exporter.tar.gz node_exporter*/node_exporter --to-stdout > /home/{node.username}/bin/prometheus-node-exporter && chmod +x /home/{node.username}/bin/prometheus-node-exporter',
"triggered": True,
"needs": [
f"file:/home/{node.username}/.bwdownloads/prometheus-node-exporter.tar.gz",
],
}
svc_uberspace_supervisord["prometheus-node-exporter"] = {
"needs": [
f"file:/home/{node.username}/etc/services.d/prometheus-node-exporter.ini",
],
}
uberspace_web_backend["/.node-exporter"] = {
"backend": "http",
"port": 9100,
"remove_prefix": True,
}