addpkg: prometheus-bind-exporter
This commit is contained in:
commit
afa7374920
18
.SRCINFO
Normal file
18
.SRCINFO
Normal file
@ -0,0 +1,18 @@
|
||||
pkgbase = prometheus-bind-exporter
|
||||
pkgdesc = Prometheus exporter for BIND metrics
|
||||
pkgver = 0.4.0
|
||||
pkgrel = 1
|
||||
url = https://github.com/prometheus-community/bind_exporter
|
||||
arch = x86_64
|
||||
license = Apache
|
||||
makedepends = go
|
||||
depends = glibc
|
||||
optdepends = bind: for monitoring a local BIND server
|
||||
source = prometheus-bind-exporter-0.4.0.tar.gz::https://github.com/prometheus-community/bind_exporter/archive/v0.4.0.tar.gz
|
||||
source = systemd.service
|
||||
source = sysusers.conf
|
||||
b2sums = ec391fa2db90d02f3f468d8db5b6ada47f84853401d4f00fdfd9be7a142cc4305de0fdedd3aa553ab08d78ddd55ce948f098eb4f7a6e9412f5327d2499eb65c1
|
||||
b2sums = 83ac2fb9b39f10f9eb130fc566887a5dc70447265d9d567221ceccf83a9fe7ad8035dfa751ecefe9681c64fd8ddb260b3e370f956350b9cab699eed507d9affc
|
||||
b2sums = 739b1e4e7ab277096d0875ed14d61f223e7b990e7081721e4638aebad9c3beccc270ce9944384784af8eab035dbb34a86badae687c065291bfb384abfb42573a
|
||||
|
||||
pkgname = prometheus-bind-exporter
|
61
PKGBUILD
Normal file
61
PKGBUILD
Normal file
@ -0,0 +1,61 @@
|
||||
# Maintainer: George Rawlinson <george@rawlinson.net.nz>
|
||||
|
||||
pkgname=prometheus-bind-exporter
|
||||
_pkgname=bind_exporter
|
||||
pkgver=0.4.0
|
||||
pkgrel=1
|
||||
pkgdesc="Prometheus exporter for BIND metrics"
|
||||
arch=('x86_64')
|
||||
url="https://github.com/prometheus-community/bind_exporter"
|
||||
license=('Apache')
|
||||
depends=('glibc')
|
||||
makedepends=('go')
|
||||
optdepends=('bind: for monitoring a local BIND server')
|
||||
source=(
|
||||
"$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
|
||||
'systemd.service'
|
||||
'sysusers.conf'
|
||||
)
|
||||
b2sums=('ec391fa2db90d02f3f468d8db5b6ada47f84853401d4f00fdfd9be7a142cc4305de0fdedd3aa553ab08d78ddd55ce948f098eb4f7a6e9412f5327d2499eb65c1'
|
||||
'83ac2fb9b39f10f9eb130fc566887a5dc70447265d9d567221ceccf83a9fe7ad8035dfa751ecefe9681c64fd8ddb260b3e370f956350b9cab699eed507d9affc'
|
||||
'739b1e4e7ab277096d0875ed14d61f223e7b990e7081721e4638aebad9c3beccc270ce9944384784af8eab035dbb34a86badae687c065291bfb384abfb42573a')
|
||||
|
||||
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"
|
||||
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"
|
||||
}
|
46
systemd.service
Normal file
46
systemd.service
Normal file
@ -0,0 +1,46 @@
|
||||
[Unit]
|
||||
Description=Prometheus exporter for BIND metrics
|
||||
Requires=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
# If BIND_EXPORTER_ARGS is required, it should be applied using a
|
||||
# drop-in systemd file. See `man 5 systemd.unit` for details.
|
||||
ExecStart=/usr/bin/bind_exporter $BIND_EXPORTER_ARGS
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
User=bind-exporter
|
||||
Group=bind-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
|
1
sysusers.conf
Normal file
1
sysusers.conf
Normal file
@ -0,0 +1 @@
|
||||
u bind-exporter - "Prometheus BIND exporter user"
|
Loading…
Reference in New Issue
Block a user