Add initial __prometheus_yoctotemp_exporter type
This commit is contained in:
parent
d2f70d85b4
commit
e5f5477241
6 changed files with 112 additions and 0 deletions
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=Prometheus YoctoTemperature exporter
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
# FIXME: ugly workaround with potential side effects.
|
||||
ExecStartPre=/usr/bin/chown -R root:dialout /dev/bus/usb/003
|
||||
ExecStart=/opt/prometheus-yoctotemp-exporter/venv/bin/python /opt/prometheus-yoctotemp-exporter/prometheus-yoctotemp-exporter
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
20
type/__prometheus_yoctotemp_exporter/gencode-remote
Executable file
20
type/__prometheus_yoctotemp_exporter/gencode-remote
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
|
||||
VCS_TAG=$(cat "$__object/parameter/version")
|
||||
VCS_URL="https://code.recycled.cloud/e-Durable/prometheus-yoctotemp-exporter/raw/tag/$VCS_TAG/prometheus-yoctotemp-exporter"
|
||||
|
||||
cat << EOF
|
||||
cd /opt/prometheus-yoctotemp-exporter
|
||||
|
||||
# Fetch sources.
|
||||
curl "$VCS_URL" -o prometheus-yoctotemp-exporter
|
||||
|
||||
# Install virtualenv and dependencies.
|
||||
virtualenv venv
|
||||
. venv/bin/activate
|
||||
pip install prometheus_client
|
||||
pip install yoctopuce
|
||||
|
||||
# Start service
|
||||
service prometheus-yoctotemp-exporter start
|
||||
EOF
|
57
type/__prometheus_yoctotemp_exporter/man.rst
Normal file
57
type/__prometheus_yoctotemp_exporter/man.rst
Normal file
|
@ -0,0 +1,57 @@
|
|||
cdist-type__prometheus_yoctotemp_exporter(7)
|
||||
=====================
|
||||
|
||||
NAME
|
||||
----
|
||||
cdist-type__prometheus_yoctotemp_exporter - Deploy a Prometheus exporter for the YoctoTemperature sensor
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This (singleton) type deploys a Prometheus exporter for the YoctoTemperature sensor
|
||||
|
||||
NOTE
|
||||
----
|
||||
|
||||
FIXME: this systemd service currently use an ugly hack to deal with
|
||||
/dev/bus/usb permissions, with potential side effects. udev should be used
|
||||
instead.
|
||||
|
||||
REQUIRED PARAMETERS
|
||||
-------------------
|
||||
version
|
||||
Release tag used to fetch sources from upstream's VCS.
|
||||
|
||||
|
||||
OPTIONAL PARAMETERS
|
||||
-------------------
|
||||
None.
|
||||
|
||||
BOOLEAN PARAMETERS
|
||||
------------------
|
||||
None.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
__prometheus_yoctotemp_expoter --version v0.1
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
- `YoctoTemerature sensor <https://www.yoctopuce.com/EN/products/usb-environmental-sensors/yocto-temperature>`_
|
||||
- `prometheus-yoctotemp-exporter VCS <https://code.recycled.cloud/e-Durable/prometheus-yoctotemp-exporter>`_
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
Timothée Floure <t.floure@e-durable.ch>
|
||||
|
||||
|
||||
COPYING
|
||||
-------
|
||||
Copyright \(C) 2020 Timothée Floure. You can redistribute it
|
||||
and/or modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
22
type/__prometheus_yoctotemp_exporter/manifest
Normal file
22
type/__prometheus_yoctotemp_exporter/manifest
Normal file
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh
|
||||
|
||||
os=$(cat "${__global:?}/explorer/os")
|
||||
case "$os" in
|
||||
debian|ubuntu)
|
||||
__package python3-virtualenv
|
||||
__package curl
|
||||
;;
|
||||
*)
|
||||
echo "$os is not supported by this type. Exiting" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
__directory /opt/prometheus-yoctotemp-exporter
|
||||
|
||||
# Make sure the prometheus user exist and belongs to dialout.
|
||||
__user prometheus
|
||||
require="__user/prometheus" __user_groups prometheus --group dialout
|
||||
__systemd_unit prometheus-yoctotemp-exporter.service \
|
||||
--source "$__type/files/prometheus-yoctotemp-exporter.service" \
|
||||
--enablement-state enabled
|
1
type/__prometheus_yoctotemp_exporter/parameter/required
Normal file
1
type/__prometheus_yoctotemp_exporter/parameter/required
Normal file
|
@ -0,0 +1 @@
|
|||
version
|
0
type/__prometheus_yoctotemp_exporter/singleton
Normal file
0
type/__prometheus_yoctotemp_exporter/singleton
Normal file
Reference in a new issue