guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 4e0eb0e4516effb92ad0bfa529033e891fb4dbe9
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Fri Oct 10 00:53:53 2025 +0100

    gnu: Add go-github-com-prometheus-alertmanager.
    
    * gnu/packages/prometheus.scm (go-github-com-prometheus-alertmanager): New 
variable.
    
    Change-Id: Idb07cab53deabfda9c01b379d1790bbb9682c4b6
---
 gnu/packages/prometheus.scm | 128 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 128 insertions(+)

diff --git a/gnu/packages/prometheus.scm b/gnu/packages/prometheus.scm
index c206b670bd..fa2481b8be 100644
--- a/gnu/packages/prometheus.scm
+++ b/gnu/packages/prometheus.scm
@@ -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")

Reply via email to