summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Rawlinson2021-06-06 01:34:13 +0000
committerGeorge Rawlinson2021-06-06 01:34:13 +0000
commitb43cf247abdfca9a4f007930326574676359ee3c (patch)
tree38d378d4fbd9d2ff807046ff65a13c7a49d4ac57
downloadaur-b43cf247abdfca9a4f007930326574676359ee3c.tar.gz
addpkg: prometheus-nut-exporter 2.2.1-1
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD62
-rw-r--r--systemd.service46
-rw-r--r--sysusers.conf1
4 files changed, 127 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..3e2a10eb117e
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,18 @@
+pkgbase = prometheus-nut-exporter
+ pkgdesc = Prometheus exporter for Network UPS Tools metrics
+ pkgver = 2.2.1
+ pkgrel = 1
+ url = https://github.com/DRuggeri/nut_exporter
+ arch = x86_64
+ license = Apache
+ makedepends = go
+ depends = glibc
+ optdepends = nut: for monitoring a local NUT server
+ source = prometheus-nut-exporter-2.2.1.tar.gz::https://github.com/DRuggeri/nut_exporter/archive/v2.2.1.tar.gz
+ source = systemd.service
+ source = sysusers.conf
+ b2sums = 98280b64257e38f8288e586ab36faa3d65bb774847c659c758e02cdbcfc2b883a2e9a08149eaeb87635baee6868818547a7816266149f0c893eb788c814feaa2
+ b2sums = c37fea15866ccc283ca0aca7ac47edf746b3281bbdc9bb92edde41d110b459d55272aff30b963cda5d3165c9ea27f2cc82b48b0f340900531cc125dd0d719c97
+ b2sums = f14c79da6b3efeb0843853e5772bcc021bd6041b76a39952ad45638ce27f143b41f6a491d528992250db9b2d9fd133b76ad8f6f6da9df4c6fb0865766d49d991
+
+pkgname = prometheus-nut-exporter
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..9b7081c98725
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,62 @@
+# Maintainer: George Rawlinson <george@rawlinson.net.nz>
+
+pkgname=prometheus-nut-exporter
+_pkgname=nut_exporter
+pkgver=2.2.1
+pkgrel=1
+pkgdesc="Prometheus exporter for Network UPS Tools metrics"
+arch=('x86_64')
+url="https://github.com/DRuggeri/nut_exporter"
+license=('Apache')
+depends=('glibc')
+makedepends=('go')
+optdepends=('nut: for monitoring a local NUT server')
+source=(
+ "$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
+ 'systemd.service'
+ 'sysusers.conf'
+)
+b2sums=('98280b64257e38f8288e586ab36faa3d65bb774847c659c758e02cdbcfc2b883a2e9a08149eaeb87635baee6868818547a7816266149f0c893eb788c814feaa2'
+ 'c37fea15866ccc283ca0aca7ac47edf746b3281bbdc9bb92edde41d110b459d55272aff30b963cda5d3165c9ea27f2cc82b48b0f340900531cc125dd0d719c97'
+ 'f14c79da6b3efeb0843853e5772bcc021bd6041b76a39952ad45638ce27f143b41f6a491d528992250db9b2d9fd133b76ad8f6f6da9df4c6fb0865766d49d991')
+
+prepare() {
+ cd "$_pkgname-$pkgver"
+
+ # create folder for build output
+ mkdir build
+
+ # download dependencies
+ go mod vendor
+}
+
+build() {
+ cd "$_pkgname-$pkgver"
+ go build -v \
+ -buildmode=pie \
+ -trimpath \
+ -mod=vendor \
+ -modcacherw \
+ -ldflags "-linkmode external -extldflags ${LDFLAGS} \
+ -X github.com/prometheus/common/version.Version=$pkgver \
+ -X github.com/prometheus/common/version.Revision=$pkgver \
+ -X github.com/prometheus/common/version.Branch=tarball \
+ -X github.com/prometheus/common/version.BuildUser=someone@builder \
+ -X github.com/prometheus/common/version.BuildDate=$(date -d@"$SOURCE_DATE_EPOCH" +%Y%m%d-%H:%M:%S)" \
+ -o build .
+}
+
+check() {
+ cd "$_pkgname-$pkgver"
+ PATH="$(pwd)/build:$PATH"
+ go test ./...
+}
+
+package() {
+ # systemd integration
+ install -Dm644 systemd.service "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+
+ # binary
+ install -Dm755 -t "$pkgdir/usr/bin" "$_pkgname-$pkgver/build/$_pkgname"
+}
diff --git a/systemd.service b/systemd.service
new file mode 100644
index 000000000000..8eb5587f671c
--- /dev/null
+++ b/systemd.service
@@ -0,0 +1,46 @@
+[Unit]
+Description=Prometheus exporter for NUT metrics
+Requires=network-online.target
+After=network-online.target
+
+[Service]
+# If NUT_EXPORTER_ARGS is required, it should be applied using a
+# drop-in systemd file. See `man 5 systemd.unit` for details.
+ExecStart=/usr/bin/nut_exporter $NUT_EXPORTER_ARGS
+ExecReload=/bin/kill -HUP $MAINPID
+User=nut-exporter
+Group=nut-exporter
+Restart=on-failure
+RestartSec=5s
+
+NoNewPrivileges=true
+LimitNOFILE=1048576
+UMask=0077
+
+ProtectSystem=strict
+ProtectHome=true
+PrivateUsers=yes
+PrivateTmp=true
+PrivateDevices=true
+ProtectHostname=true
+ProtectClock=true
+ProtectKernelTunables=true
+ProtectKernelModules=true
+ProtectKernelLogs=true
+ProtectControlGroups=true
+RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
+RestrictNamespaces=true
+LockPersonality=true
+MemoryDenyWriteExecute=true
+RestrictRealtime=true
+RestrictSUIDSGID=true
+RemoveIPC=true
+CapabilityBoundingSet=
+AmbientCapabilities=
+
+SystemCallFilter=@system-service
+SystemCallFilter=~@privileged @resources
+SystemCallArchitectures=native
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sysusers.conf b/sysusers.conf
new file mode 100644
index 000000000000..7c823254184c
--- /dev/null
+++ b/sysusers.conf
@@ -0,0 +1 @@
+u nut-exporter - "Prometheus NUT exporter user"