diff --git a/type/__prometheus_veeam_exporter/files/prometheus-veeam-exporter.service.sh b/type/__prometheus_veeam_exporter/files/prometheus-veeam-exporter.service.sh new file mode 100755 index 0000000..acb0079 --- /dev/null +++ b/type/__prometheus_veeam_exporter/files/prometheus-veeam-exporter.service.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +BACKUPDIR=$(cat "${__object:?}/parameter/backupdir") + +cat << EOF +[Unit] +Description=e-Durable's VEEAM upload date exporter +After=network.target + +[Service] +Type=simple +User=veeam +ExecStart=/opt/prometheus-veeam-exporter/venv/bin/python /opt/prometheus-veeam-exporter/prometheus-veeam-exporter ${BACKUPDIR:?} + +[Install] +WantedBy=multi-user.target +EOF diff --git a/type/__prometheus_veeam_exporter/gencode-remote b/type/__prometheus_veeam_exporter/gencode-remote new file mode 100755 index 0000000..73c45dd --- /dev/null +++ b/type/__prometheus_veeam_exporter/gencode-remote @@ -0,0 +1,20 @@ +#!/bin/sh + +VCS_TAG=$(cat "${__object:?}/parameter/version") +VCS_URL="https://code.recycled.cloud/RecycledCloud/prometheus-veeam-exporter/raw/tag/${VCS_TAG:?}/prometheus-veeam-exporter" + +cat << EOF +cd /opt/prometheus-veeam-exporter + +# Fetch sources +curl "$VCS_URL" -o prometheus-veeam-exporter + +# Install virtualenv and dependencies +python3 -m venv venv +. venv/bin/activate + +pip3 install prometheus_client datetime + +# Start service +systemctl restart prometheus-veeam-exporter +EOF diff --git a/type/__prometheus_veeam_exporter/manifest b/type/__prometheus_veeam_exporter/manifest new file mode 100755 index 0000000..1c31b60 --- /dev/null +++ b/type/__prometheus_veeam_exporter/manifest @@ -0,0 +1,23 @@ +#!/bin/sh + +os=$(cat "${__global:?}/explorer/os") + +mkdir -p "${__object:?}/files" +case "$os" in +debian | ubuntu) + __package python3-venv + __package curl + + "${__type:?}/files/prometheus-veeam-exporter.service.sh" \ + >"${__object:?}/files/prometheus-veeam-exporter.service" + __systemd_unit prometheus-veeam-exporter.service \ + --source "${__object:?}/files/prometheus-veeam-exporter.service" \ + --enablement-state enabled + ;; +*) + echo "$os is not supported by this type. Exiting" >&2 + exit 1 + ;; +esac + +__directory /opt/prometheus-veeam-exporter diff --git a/type/__prometheus_veeam_exporter/parameter/required b/type/__prometheus_veeam_exporter/parameter/required new file mode 100644 index 0000000..1e7da0a --- /dev/null +++ b/type/__prometheus_veeam_exporter/parameter/required @@ -0,0 +1,2 @@ +backupdir +version diff --git a/type/__prometheus_veeam_exporter/singleton b/type/__prometheus_veeam_exporter/singleton new file mode 100644 index 0000000..e69de29