diff options
author | Jakub Klinkovský | 2021-10-02 12:45:15 +0200 |
---|---|---|
committer | Jakub Klinkovský | 2021-10-02 12:45:15 +0200 |
commit | 270d88505ceca1118b792388d493b662e970adea (patch) | |
tree | e7ca5420b1915fd8d4d473005e1b2f0e24c72e06 | |
download | aur-270d88505ceca1118b792388d493b662e970adea.tar.gz |
initial commit
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 56 | ||||
-rw-r--r-- | prometheus-nvidia-gpu-exporter.conf | 2 | ||||
-rw-r--r-- | prometheus-nvidia-gpu-exporter.service | 45 | ||||
-rw-r--r-- | prometheus-nvidia-gpu-exporter.sysusers | 1 |
5 files changed, 124 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..21c06afa87ef --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,20 @@ +pkgbase = prometheus-nvidia-gpu-exporter + pkgdesc = Prometheus exporter for Nvidia GPU metrics + pkgver = r31.e7d86ca + pkgrel = 3 + url = https://github.com/cfsmp3/nvidia_gpu_prometheus_exporter + arch = x86_64 + license = Apache + makedepends = go + makedepends = git + backup = etc/conf.d/prometheus-nvidia-gpu-exporter + source = git+https://github.com/cfsmp3/nvidia_gpu_prometheus_exporter.git + source = prometheus-nvidia-gpu-exporter.conf + source = prometheus-nvidia-gpu-exporter.service + source = prometheus-nvidia-gpu-exporter.sysusers + b2sums = SKIP + b2sums = 47fb8b927f0f8f83521ffabe83076ae0dee39de9ea35e8f14520e6bd2bea746eff2c73838dcf0b4e84b71d4dbfc8280b1f874afc95f7f696aba4cfd9fccdc36a + b2sums = 41982b18a355b80a2b7a14e92bfcd7ca4d2bd8020c922c1219261d0b15a91eaab895eb2317a16625cd61d71527b9420fb188fffeb2ed765ff256a6eaeccb9330 + b2sums = b275bf80f0dfaa8a89bb97ea28a0c5afd3e900fd82ded97c628f47cebd5442f402c62f0f814099968b31f821248d9661815deae6517917ce8eec6400d96967a6 + +pkgname = prometheus-nvidia-gpu-exporter diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..425de299e593 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,56 @@ +# Maintainer: Jakub Klinkovský <j.l.k@gmx.com> + +pkgname=prometheus-nvidia-gpu-exporter +_pkgname=nvidia_gpu_prometheus_exporter +pkgver=r31.e7d86ca +pkgrel=3 +pkgdesc="Prometheus exporter for Nvidia GPU metrics" +arch=(x86_64) +url="https://github.com/cfsmp3/nvidia_gpu_prometheus_exporter" +license=(Apache) +makedepends=(go git) +backup=("etc/conf.d/prometheus-nvidia-gpu-exporter") +source=("git+$url.git" + "$pkgname.conf" + "$pkgname.service" + "$pkgname.sysusers") +b2sums=('SKIP' + '47fb8b927f0f8f83521ffabe83076ae0dee39de9ea35e8f14520e6bd2bea746eff2c73838dcf0b4e84b71d4dbfc8280b1f874afc95f7f696aba4cfd9fccdc36a' + '41982b18a355b80a2b7a14e92bfcd7ca4d2bd8020c922c1219261d0b15a91eaab895eb2317a16625cd61d71527b9420fb188fffeb2ed765ff256a6eaeccb9330' + 'b275bf80f0dfaa8a89bb97ea28a0c5afd3e900fd82ded97c628f47cebd5442f402c62f0f814099968b31f821248d9661815deae6517917ce8eec6400d96967a6') + +pkgver() { + cd "$_pkgname" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +prepare() { + cd "$_pkgname" + go mod vendor + mkdir -p build +} + +build() { + cd "$_pkgname" + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CFLAGS="${CFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + export CGO_LDFLAGS="${LDFLAGS}" + export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw" + go build -o build . +} + +package() { + # systemd files + install -Dm644 "$pkgname.service" "$pkgdir/usr/lib/systemd/system/$pkgname.service" + install -Dm644 "$pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" + install -Dm644 "$pkgname.conf" "$pkgdir/etc/conf.d/$pkgname" + + cd "$_pkgname" + + # binary + install -Dm755 "build/$_pkgname" "$pkgdir/usr/bin/$pkgname" + + # license + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" "$srcdir/$_pkgname/LICENSE" +} diff --git a/prometheus-nvidia-gpu-exporter.conf b/prometheus-nvidia-gpu-exporter.conf new file mode 100644 index 000000000000..2d1043e03289 --- /dev/null +++ b/prometheus-nvidia-gpu-exporter.conf @@ -0,0 +1,2 @@ +# Specify additional arguments to pass to prometheus-nvidia-gpu-exporter on startup +NVIDIA_GPU_EXPORTER_ARGS="" diff --git a/prometheus-nvidia-gpu-exporter.service b/prometheus-nvidia-gpu-exporter.service new file mode 100644 index 000000000000..ac8c366ed6a3 --- /dev/null +++ b/prometheus-nvidia-gpu-exporter.service @@ -0,0 +1,45 @@ +[Unit] +Description=Prometheus exporter for nvidia-gpu metrics +Requires=network-online.target +After=network-online.target + +[Service] +EnvironmentFile=-/etc/conf.d/prometheus-nvidia-gpu-exporter +ExecStart=/usr/bin/prometheus-nvidia-gpu-exporter $NVIDIA_GPU_EXPORTER_ARGS +ExecReload=/bin/kill -HUP $MAINPID +User=nvidia-gpu-exporter +Group=nvidia-gpu-exporter +Restart=on-failure +RestartSec=5s + +NoNewPrivileges=true +LimitNOFILE=1048576 +UMask=0077 + +ProtectSystem=strict +ProtectHome=true +PrivateUsers=yes +PrivateTmp=true +#PrivateDevices=true # this is actually needed to access the GPUs +ProtectHostname=true +#ProtectClock=true # this is actually needed - no idea why... +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/prometheus-nvidia-gpu-exporter.sysusers b/prometheus-nvidia-gpu-exporter.sysusers new file mode 100644 index 000000000000..4ca4b93b474c --- /dev/null +++ b/prometheus-nvidia-gpu-exporter.sysusers @@ -0,0 +1 @@ +u nvidia-gpu-exporter - "Prometheus Nvidia GPU exporter user" |