testing/mimir: new aport

This commit is contained in:
Guy Godfroy 2023-10-19 11:22:16 +00:00 committed by Kevin Daudt
parent 4f258f56b5
commit 256477a732
5 changed files with 130 additions and 0 deletions

58
testing/mimir/APKBUILD Normal file
View File

@ -0,0 +1,58 @@
# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
pkgname=mimir
pkgver=2.10.4
pkgrel=0
pkgdesc="Horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus"
options="net"
url="https://github.com/grafana/mimir"
license="AGPL-3.0-or-later"
arch="x86_64 aarch64 ppc64le riscv64" # needs 64 bits
makedepends="go bash"
checkdepends="tzdata"
subpackages="$pkgname-openrc"
install="mimir.pre-install"
source="$pkgname-$pkgver.tar.gz::https://github.com/grafana/mimir/archive/refs/tags/mimir-$pkgver.tar.gz
$pkgname.initd
$pkgname.confd
$pkgname.yaml
"
builddir="$srcdir/$pkgname-$pkgname-$pkgver"
export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
prepare() {
default_prepare
mkdir build
}
build() {
go build -v \
-o build \
./cmd/...
}
check() {
# not stable test for fluent-bit
# tsdb/index fails on aarch64
# shell check suggests to break it
# shellcheck disable=SC2046
TZ=UTC GOGC=10 go test -p=2 $(go list ./... | grep -Ev 'fluent-bit|stores/tsdb/index|TestAlertmanager_StateReplication')
}
package() {
mkdir -p "$pkgdir"/etc/$pkgname
install -Dm0755 build/* -t "$pkgdir"/usr/bin
install -Dm644 "$srcdir"/$pkgname.yaml "$pkgdir"/etc/mimir/mimir.yaml
install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
}
sha512sums="
fa2361baf16587238e11d9d9a646c980ec0838a8402c81c8344b482c91524c9db36a0b57214f0359a8029eb5497fe8625c0187555b8236b6b97b8de63b45c411 mimir-2.10.4.tar.gz
7e0121d8d464d202ed8689d9831c2a86740ae4cf0da12f7e723bd90895ff7b3f33a1355dfe6a443e7e5d2a87b159a26b3eef937463a576205bd78dbdb8c01460 mimir.initd
246f0c875828b819bd8f11d49afecd63480626f4d96d95a1431c2d755e356ebe6109b7e0d34262f668c783609f7781cace26a73bfbe660b6626854f0d34fba72 mimir.confd
f4e1ef6f40faaeaa2a46112c023596c94b4d910274b257f5cb19198cfc6c068c3b6fe762b949354547948449a952a5ed1fb93b3cb090e69459cd5b780b4b3d44 mimir.yaml
"

View File

@ -0,0 +1,5 @@
# The mimir config file
MIMIR_CONF="/etc/mimir/mimir.yaml"
# Add any extra options to pass to mimir to this setting.
#MIMIR_OPTS=""

11
testing/mimir/mimir.initd Normal file
View File

@ -0,0 +1,11 @@
#!/sbin/openrc-run
configfile="${MIMIR_CONF:-/etc/mimir/mimir.yaml}"
command=/usr/bin/mimir
command_args="-config.file=${configfile}
${MIMIR_OPTS}"
command_background=yes
command_user=mimir:grafana
make_pidfile=yes
pidfile=/var/run/mimir.pid

View File

@ -0,0 +1,6 @@
#!/bin/sh
addgroup -S grafana 2>/dev/null
adduser -S -D -h /var/lib/mimir -s /bin/false -G grafana -g grafana mimir 2>/dev/null
exit 0

50
testing/mimir/mimir.yaml Normal file
View File

@ -0,0 +1,50 @@
# Do not use this configuration in production.
# It is for demonstration purposes only.
multitenancy_enabled: false
activity_tracker:
filepath: /var/lib/mimir/metrics-activity.log
blocks_storage:
backend: filesystem
bucket_store:
sync_dir: /var/lib/mimir/tsdb-sync
filesystem:
dir: /var/lib/mimir/data/tsdb
tsdb:
dir: /var/lib/mimir/tsdb
compactor:
data_dir: /var/lib/mimir/compactor
sharding_ring:
kvstore:
store: memberlist
distributor:
ring:
instance_addr: 127.0.0.1
kvstore:
store: memberlist
ingester:
ring:
instance_addr: 127.0.0.1
kvstore:
store: memberlist
replication_factor: 1
ruler:
rule_path: /var/lib/mimir/data-ruler/
ruler_storage:
backend: filesystem
filesystem:
dir: /var/lib/mimir/rules
server:
http_listen_port: 9009
log_level: error
store_gateway:
sharding_ring:
replication_factor: 1