diff options
author | George Rawlinson | 2021-06-06 01:34:13 +0000 |
---|---|---|
committer | George Rawlinson | 2021-06-06 01:34:13 +0000 |
commit | b43cf247abdfca9a4f007930326574676359ee3c (patch) | |
tree | 38d378d4fbd9d2ff807046ff65a13c7a49d4ac57 | |
download | aur-b43cf247abdfca9a4f007930326574676359ee3c.tar.gz |
addpkg: prometheus-nut-exporter 2.2.1-1
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 62 | ||||
-rw-r--r-- | systemd.service | 46 | ||||
-rw-r--r-- | sysusers.conf | 1 |
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" |