summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Shalygin2024-01-19 20:55:38 +0700
committerKonstantin Shalygin2024-01-19 20:55:38 +0700
commitaed78f60f6f2fdb82c3d336420675f1dc2960ef3 (patch)
tree375b08072df7c7202822fa4eaaa4889a4d47a680
downloadaur-aed78f60f6f2fdb82c3d336420675f1dc2960ef3.tar.gz
Added S3 Exporter
-rw-r--r--.SRCINFO20
-rw-r--r--.gitignore3
-rw-r--r--PKGBUILD53
-rw-r--r--prometheus-s3-exporter1
-rw-r--r--prometheus-s3-exporter.service18
-rw-r--r--prometheus-s3-exporter.sysusers1
6 files changed, 96 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..6b9a3d2094ee
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,20 @@
+pkgbase = s3_exporter
+ pkgdesc = Exports Prometheus metrics about S3 buckets and objects
+ pkgver = 0.6.1
+ pkgrel = 1
+ url = https://github.com/qaoru/s3_exporter
+ arch = x86_64
+ arch = aarch64
+ license = Apache 2.0
+ makedepends = go
+ backup = etc/conf.d/prometheus-s3-exporter
+ source = https://github.com/qaoru/s3_exporter/archive/refs/tags/v0.6.1.tar.gz
+ source = prometheus-s3-exporter
+ source = prometheus-s3-exporter.service
+ source = prometheus-s3-exporter.sysusers
+ sha256sums = af6ea5aaa50834e5895f680f4964f92c20e4b0c8944205bb1b49373f85488215
+ sha256sums = 708ade278b27219b8f9f1112ca4f9ee139d8b19b8e823a97492210107c8cb38e
+ sha256sums = 953587ceeebe37042ad6f88ffcaf7bcf2adfe5397e02ca6ec7ee79543c0f5050
+ sha256sums = f0ce7020311240c6ee1ca7cf3168944c5883b3bd6f86f8fe39089ff3d9ed2dba
+
+pkgname = prometheus-s3-exporter
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..7c6927b4669a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+pkg/*
+src/*
+*.tar.*
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..cabc3c4a6f0e
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Shalygin Konstantin <k0ste@k0ste.ru>
+# Contributor: Shalygin Konstantin <k0ste@k0ste.ru>
+
+pkgbase='s3_exporter'
+pkgname='prometheus-s3-exporter'
+pkgver='0.6.1'
+pkgrel='1'
+pkgdesc='Exports Prometheus metrics about S3 buckets and objects'
+arch=('x86_64' 'aarch64')
+_uri='github.com/qaoru'
+url="https://${_uri}/${pkgbase}"
+license=('Apache 2.0')
+makedepends=('go')
+source=("${url}/archive/refs/tags/v${pkgver}.tar.gz"
+ "${pkgname}"
+ "${pkgname}.service"
+ "${pkgname}.sysusers")
+sha256sums=('af6ea5aaa50834e5895f680f4964f92c20e4b0c8944205bb1b49373f85488215'
+ '708ade278b27219b8f9f1112ca4f9ee139d8b19b8e823a97492210107c8cb38e'
+ '953587ceeebe37042ad6f88ffcaf7bcf2adfe5397e02ca6ec7ee79543c0f5050'
+ 'f0ce7020311240c6ee1ca7cf3168944c5883b3bd6f86f8fe39089ff3d9ed2dba')
+backup=("etc/conf.d/${pkgname}")
+
+prepare() {
+ export GOPATH="${srcdir}/gopath"
+ export GOBIN="${GOPATH}/bin"
+ mkdir -p "${GOPATH}/src/${_uri}"
+ ln -snf "${srcdir}/${pkgbase}-${pkgver}" "${GOPATH}/src/${_uri}/${pkgbase}"
+}
+
+build() {
+ cd "${GOPATH}/src/${_uri}/${pkgbase}"
+ eval "$(go env | grep -e "GOHOSTOS" -e "GOHOSTARCH")"
+ GOOS="${GOHOSTOS}" GOARCH="${GOHOSTARCH}" BUILDTAGS="netgo static_build" \
+ go build -x \
+ -buildmode="pie" \
+ -trimpath \
+ -mod="readonly" \
+ -modcacherw \
+ -ldflags "-linkmode external -extldflags ${LDFLAGS} \
+ -X github.com/prometheus/common/version.Version=${pkgver} \
+ -X github.com/prometheus/common/version.Revision=${pkgrel} \
+ -X github.com/prometheus/common/version.Branch=master \
+ -X github.com/prometheus/common/version.BuildUser=$(whoami)@$(hostnamectl hostname) \
+ -X github.com/prometheus/common/version.BuildDate=$(date -d@"$SOURCE_DATE_EPOCH" +%Y%m%d-%H:%M:%S)"
+}
+
+package() {
+ install -Dm0755 "${GOPATH}/src/${_uri}/${pkgbase}/${pkgbase}" "${pkgdir}/usr/bin/${pkgname}"
+ install -Dm0644 "${pkgname}" -t "${pkgdir}/etc/conf.d"
+ install -Dm0644 "${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
+ install -Dm0644 "${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+}
diff --git a/prometheus-s3-exporter b/prometheus-s3-exporter
new file mode 100644
index 000000000000..ed43892bc479
--- /dev/null
+++ b/prometheus-s3-exporter
@@ -0,0 +1 @@
+OPTIONS="--s3.endpoint-url=objects-us-east-1.dream.io --s3.force-path-style --log.level=info --log.format=logger:stdout"
diff --git a/prometheus-s3-exporter.service b/prometheus-s3-exporter.service
new file mode 100644
index 000000000000..3276869e8260
--- /dev/null
+++ b/prometheus-s3-exporter.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Prometheus S3 exporter
+After=network.target network-online.target basic.target
+Wants=network-online.target
+StartLimitIntervalSec=30
+StartLimitBurst=3
+
+[Service]
+EnvironmentFile=-/etc/conf.d/prometheus-s3-exporter
+ExecStart=/usr/bin/prometheus-s3-exporter $OPTIONS
+Type=simple
+Restart=on-failure
+RestartSec=30
+User=prometheus-s3-exporter
+Group=prometheus-s3-exporter
+
+[Install]
+WantedBy=multi-user.target
diff --git a/prometheus-s3-exporter.sysusers b/prometheus-s3-exporter.sysusers
new file mode 100644
index 000000000000..36d07e65a923
--- /dev/null
+++ b/prometheus-s3-exporter.sysusers
@@ -0,0 +1 @@
+u prometheus-s3-exporter - "Prometheus S3 exporter user"