1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-07 05:30:38 +02:00

gnu: Add go-github-com-prometheus-alertmanager.

* gnu/packages/prometheus.scm (go-github-com-prometheus-alertmanager): New variable.

Change-Id: Idb07cab53deabfda9c01b379d1790bbb9682c4b6
This commit is contained in:
Sharlatan Hellseher
2025-10-10 00:53:53 +01:00
parent d57de03232
commit 4e0eb0e451

View File

@@ -189,6 +189,134 @@ posts the metrics to the Prometheus client registry and just updates the
registry.")
(license license:asl2.0)))
(define-public go-github-com-prometheus-alertmanager
(package
(name "go-github-com-prometheus-alertmanager")
(version "0.28.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/alertmanager")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1zar5l92a0f3ghm7ndijadzjm6va1qpnxksrah7pxza95pnx0wfq"))
(modules '((guix build utils)))
(snippet
#~(begin
;; TODO: UI is shipped with JS/TS, CSS, and font libraries
;; required to build CLI <cmd/alertmanager>:
;; - ui/app/lib/bootstrap-4.0.0-alpha.6-dist/css
;; - ui/app/lib/elm-datepicker/css
;; - ui/app/lib/font-awesome-4.7.0
;; - ui/react-app
(delete-file-recursively "ui")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/prometheus/alertmanager"
#:embed-files #~(list ".*\\.css" ".*\\.html" ".*\\.json")
;; XXX: Enable all when UI is packaged.
#:test-subdirs #~(list "api/v2"
"cli/config"
"dispatch"
"featurecontrol"
"inhibit"
"matcher/compliance"
"matcher/parse"
"nflog"
"nflog/nflogpb"
"notify"
"notify/discord"
"notify/email"
"notify/msteams"
"notify/msteamsv2"
"notify/opsgenie"
"notify/pagerduty"
"notify/pushover"
"notify/rocketchat"
"notify/slack"
"notify/sns"
"notify/telegram"
"notify/victorops"
"notify/webex"
"notify/webhook"
"notify/wechat"
"pkg/labels"
"provider/mem"
"store"
"template"
"timeinterval"
"types")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(delete-file-recursively "examples")))))))
(native-inputs
(list go-github-com-emersion-go-smtp
go-github-com-kylelemons-godebug
go-github-com-stretchr-testify
go-go-uber-org-atomic))
(propagated-inputs
(list go-github-com-alecthomas-kingpin-v2
go-github-com-alecthomas-units
go-github-com-aws-aws-sdk-go
go-github-com-cenkalti-backoff-v4
go-github-com-cespare-xxhash-v2
go-github-com-coder-quartz
go-github-com-go-openapi-analysis
go-github-com-go-openapi-errors
go-github-com-go-openapi-loads
go-github-com-go-openapi-runtime
go-github-com-go-openapi-spec
go-github-com-go-openapi-strfmt
go-github-com-go-openapi-swag
go-github-com-go-openapi-validate
go-github-com-gofrs-uuid
go-github-com-gogo-protobuf
go-github-com-hashicorp-go-sockaddr
go-github-com-hashicorp-golang-lru-v2
go-github-com-hashicorp-memberlist
go-github-com-jessevdk-go-flags
go-github-com-kimmachinegun-automemlimit
go-github-com-matttproud-golang-protobuf-extensions
go-github-com-oklog-run
go-github-com-oklog-ulid
go-github-com-prometheus-client-golang
go-github-com-prometheus-common
go-github-com-prometheus-common-assets
go-github-com-prometheus-exporter-toolkit
go-github-com-prometheus-sigv4
go-github-com-rs-cors
go-github-com-shurcool-httpfs
go-github-com-shurcool-vfsgen
;; go-github-com-trivago-tgo
go-github-com-xlab-treeprint
go-go-uber-org-automaxprocs
go-golang-org-x-mod
go-golang-org-x-net
go-golang-org-x-text
go-golang-org-x-tools
go-gopkg-in-telebot-v3
go-gopkg-in-yaml-v2))
(home-page "https://github.com/prometheus/alertmanager")
(synopsis "Prometheus Alertmanager")
(description
"The Alertmanager handles alerts sent by client applications such as the
Prometheus server. It takes care of deduplicating, grouping, and routing them
to the correct
@url{https://prometheus.io/docs/alerting/latest/configuration/#receiver,
receiver integrations} such as email, @code{PagerDuty}, @code{OpsGenie}, or
many other
@url{https://prometheus.io/docs/operating/integrations/#alertmanager-webhook-receiver,
mechanisms} thanks to the webhook receiver. It also takes care of silencing
and inhibition of alerts.")
(license license:asl2.0)))
(define-public go-github-com-prometheus-client-golang
(package
(name "go-github-com-prometheus-client-golang")