Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by nld3-dev1.alpinelinux.org (Postfix) with ESMTPS id A8F2D781B7B for <~alpine/aports@lists.alpinelinux.org>; Mon, 6 Jan 2020 22:47:15 +0000 (UTC) Received: by mail-lf1-f50.google.com with SMTP id m30so37463113lfp.8 for <~alpine/aports@lists.alpinelinux.org>; Mon, 06 Jan 2020 14:47:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=iiIXWL2qCeMyGL7je88qH+pAOvXuLafuZpBMU3gi5rE=; b=FR+lAeN9EsYXROilvggKnmD3KiB+FarWlHbRCgS6Q7IQ3q6M6YabaiKdeEuWcmE+p+ sGgzbHe/7RifjWymIKwnNj96u25jrz20HcmpMh8++y9bQYLUOSBxPGoQ4hgP5neG7qlY CYgQ88OKH6EWyL/krqP3N5W5bYMijTHXGkqcyjfV4MlFoU8riMCqLUQUpNEwvHY4Lr5n Zk800AszuF9ixB8FLoVe1mbssVRsKV664ubVvTK0W+lpSHU5C/gVwVTgN/Zo61GFk2xD 7frwyB8iZTp6hygFm97yRV/ShhmhZNkEFauuGnvWA2/jj5BYdvKToY16133+CdaqpTmr uXKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=iiIXWL2qCeMyGL7je88qH+pAOvXuLafuZpBMU3gi5rE=; b=m0XyLvc1wF7OKMcuZ6LPlwu5EwqJU25RwiCuw2bHvDjPibaBmYUGjOh2e0mWQANa61 8J7+Y/YUoksKDeNQeIIP0Mj3vkybgFFlFI3i1Y0vj1iZfL3anktETFCRXR4o861NaMcZ Taf/VslVRI9HyQhVTK+Um1w/J92X0epstDtqv8dXaJHR2fib7b0Ztd4MOoNRdF3WaTmi 65omzhcG5UrjMl2h7h+2j2cOaaUYfoW2nh0fCAbzv/3uuvTNHmTMgApgykTAGESno+Ze HLJq+EML5Wk0K5IypaMqhcy8cVhPU2Av538Ec7tjJf7BOCTde/mdxnD/WXR7EpeWYtzz uAUA== X-Gm-Message-State: APjAAAX8ZTWz1gpCrx5ZzBBf65tbfMMxHc61bdtPxjazAEfOObdV0/eg 8KrEBl6gYPO73qqEkF+7fzlM+nk9 X-Google-Smtp-Source: APXvYqz6QU6tzGWs/tGhvGU1eCRIKVyTOxMgppKgIT8SMrMHXzs87gvsOwvQGRB9WDFNR/MGzLcHwg== X-Received: by 2002:a19:f80a:: with SMTP id a10mr59733188lff.107.1578350834755; Mon, 06 Jan 2020 14:47:14 -0800 (PST) Received: from kpc.kaey.ru ([91.123.18.165]) by smtp.gmail.com with ESMTPSA id i9sm29443176lfd.6.2020.01.06.14.47.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 Jan 2020 14:47:14 -0800 (PST) Subject: Re: [PATCH v2] community/alertmanager: new aport To: Drew DeVault , ~alpine/aports@lists.alpinelinux.org References: <20200106171831.2645-1-sir@cmpwn.com> From: Konstantin Kulikov Message-ID: <663d19b2-e46a-ef7e-f55c-b9998c33d404@gmail.com> Date: Tue, 7 Jan 2020 01:47:13 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.3.1 MIME-Version: 1.0 In-Reply-To: <20200106171831.2645-1-sir@cmpwn.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit On 1/6/20 8:18 PM, Drew DeVault wrote: > This package is running in production at SourceHut. > --- > Apologies for the noise, the previous patch was pre-rebase. > > community/alertmanager/APKBUILD | 60 +++++++++++++++++++ > community/alertmanager/alertmanager.confd | 6 ++ > community/alertmanager/alertmanager.initd | 18 ++++++ > .../alertmanager/alertmanager.pre-install | 4 ++ > 4 files changed, 88 insertions(+) > create mode 100644 community/alertmanager/APKBUILD > create mode 100644 community/alertmanager/alertmanager.confd > create mode 100644 community/alertmanager/alertmanager.initd > create mode 100644 community/alertmanager/alertmanager.pre-install > > diff --git a/community/alertmanager/APKBUILD b/community/alertmanager/APKBUILD > new file mode 100644 > index 0000000000..cb58d90e28 > --- /dev/null > +++ b/community/alertmanager/APKBUILD > @@ -0,0 +1,60 @@ > +# Maintainer: Drew DeVault > +pkgname=alertmanager > +pkgver=0.20.0 > +pkgrel=0 > +pkgdesc="Prometheus Alertmanager" > +url="https://github.com/prometheus/alertmanager" > +arch="all" > +license="Apache-2.0" > +install="$pkgname.pre-install" > +makedepends="go bzr" bzr shouldn't be needed > +source=" > + $pkgname-$pkgver.tar.gz::https://github.com/prometheus/alertmanager/archive/v$pkgver.tar.gz > + alertmanager.confd > + alertmanager.initd > +" > +subpackages="$pkgname-openrc" > +builddir="$srcdir/$pkgname-$pkgver" > +options="!check" # Requires us to use their weird build system fill variables in https://github.com/prometheus/common/blob/master/version/info.go#L27 via -ldflags > + > +prepare() { > + default_prepare > + go mod vendor AM already had all deps vendored. No need to rerun it > +} > + > +build() { > + go build \ > + -trimpath \ > + -mod=vendor \ > + -ldflags "-extldflags $LDFLAGS" \ > + -tags netgo \ netgo is unneccessary - libc dns resolver is not used by default on linux anyway. > + ./cmd/alertmanager > + go build \ > + -trimpath \ > + -mod=vendor \ > + -ldflags "-extldflags $LDFLAGS" \ > + -tags netgo \ > + ./cmd/amtool > +} > + > +check() { > + go test ./... > +} > + > +package() { > + install -Dm755 alertmanager "$pkgdir"/usr/bin/alertmanager > + install -Dm755 amtool "$pkgdir"/usr/bin/amtool > + > + install -Dm755 "$srcdir"/alertmanager.initd \ > + "$pkgdir"/etc/init.d/alertmanager > + install -Dm644 "$srcdir"/alertmanager.confd \ > + "$pkgdir"/etc/conf.d/alertmanager > + install -dm644 "$pkgdir"/var/lib/alertmanager/data > + > + install -Dm644 examples/ha/alertmanager.yml \ > + "$pkgdir"/etc/alertmanager/alertmanager.yml > +} > + > +sha512sums="4bb9353e6ce9b149c5f22a2c305829112dfdf87f9b74e6075a45be0e07fe0f17e869ef9be4bb5e9c53d215dd1f534b1b5a707dd981efce8c5bcae4c1d6ce18bb alertmanager-0.20.0.tar.gz > +58420cf10ed51ec389d21ffdd5b4a0e588f0dc78b1069e32d0db1e0215f64c1c980d8f539ae902839f2f9342090b50ce1db756839f3676ee18b77548ce8f99c8 alertmanager.confd > +def36c9933e91a38d863c06679efd840952ba003a839afe5b5c6423fa6ee8f229755f758c5363564b433756af34509fef282b81dea2532500f1287c47c426787 alertmanager.initd" > diff --git a/community/alertmanager/alertmanager.confd b/community/alertmanager/alertmanager.confd > new file mode 100644 > index 0000000000..e2304e8691 > --- /dev/null > +++ b/community/alertmanager/alertmanager.confd > @@ -0,0 +1,6 @@ > +alertmanager_args= > +alertmanager_config_file=/etc/alertmanager/alertmanager.yml > +alertmanager_storage_path=/var/lib/alertmanager/data > + > +output_log=/var/log/alertmanager.log > +error_log=/var/log/alertmanager.log > diff --git a/community/alertmanager/alertmanager.initd b/community/alertmanager/alertmanager.initd > new file mode 100644 > index 0000000000..3359279440 > --- /dev/null > +++ b/community/alertmanager/alertmanager.initd > @@ -0,0 +1,18 @@ > +#!/sbin/openrc-run > +name="alertmanager" > +description="alert manager for the prometheus monitoring system" > +supervisor=supervise-daemon > +command=/usr/bin/alertmanager > +command_args="--config.file=$alertmanager_config_file \ > + --storage.path=$alertmanager_storage_path \ > + $alertmanager_args" > +command_user="prometheus:prometheus" > +pidfile="/run/${RC_SVCNAME}.pid" pidfile is unneccessary with supervise-daemon > + > +start_pre() { > + [ -n "$output_log" ] && checkpath -f "$output_log" \ > + -m 644 -o prometheus:prometheus > + [ -n "$error_log" ] && checkpath -f "$error_log" \ > + -m 644 -o prometheus:prometheus > + checkpath -d "$alertmanager_storage_path" -m 755 -o prometheus:prometheus > +} > diff --git a/community/alertmanager/alertmanager.pre-install b/community/alertmanager/alertmanager.pre-install > new file mode 100644 > index 0000000000..379f50ae8c > --- /dev/null > +++ b/community/alertmanager/alertmanager.pre-install > @@ -0,0 +1,4 @@ > +#!/bin/sh > +grep '^prometheus' /etc/group >/dev/null || addgroup -S prometheus 2>/dev/null grep '^prometheus:' > +grep '^prometheus' /etc/passwd >/dev/null || adduser -SDh/var/lib/prometheus \ > + -s/sbin/nologin -Gprometheus -gprometheus prometheus prometheus 2>/dev/null >