Alerting: Move notification historian to grafana/alerting (#109078)

* Move notification historian to grafana/alerting

* wip

* golangci-lint

* Revert "golangci-lint"

This reverts commit 10ccebad41.

* JSONEncoder

* alertingInstrument

* go mod tidy

* go.work.sum

* make update-workspace

* merge

* revert go.mod changes

* github.com/grafana/alerting

* make update-workspace

* update github.com/grafana/alerting

* merge
This commit is contained in:
Vadim Stepanov
2025-09-15 15:23:51 +01:00
committed by GitHub
parent 7bba151416
commit d4bad37853
20 changed files with 194 additions and 1420 deletions
@@ -8,7 +8,8 @@ import (
"sort"
"time"
"github.com/grafana/grafana/pkg/services/ngalert/lokiclient"
"github.com/grafana/alerting/notify/historian/lokiclient"
"github.com/grafana/grafana/pkg/services/ngalert/lokiconfig"
"golang.org/x/exp/constraints"
"github.com/grafana/grafana/pkg/components/simplejson"
@@ -61,7 +62,7 @@ func NewLokiHistorianStore(cfg setting.UnifiedAlertingStateHistorySettings, db d
if !useStore(cfg) {
return nil
}
lokiCfg, err := lokiclient.NewLokiConfig(cfg.LokiSettings)
lokiCfg, err := lokiconfig.NewLokiConfig(cfg.LokiSettings)
if err != nil {
// this config error is already handled elsewhere
return nil
@@ -10,11 +10,13 @@ import (
"testing"
"time"
"github.com/grafana/alerting/notify/historian/lokiclient"
"github.com/prometheus/client_golang/prometheus"
"github.com/stretchr/testify/require"
"golang.org/x/exp/maps"
"github.com/grafana/grafana/pkg/services/ngalert/lokiclient"
alertingInstrument "github.com/grafana/alerting/http/instrument"
"github.com/grafana/alerting/http/instrument/instrumenttest"
"github.com/grafana/grafana/pkg/components/simplejson"
"github.com/grafana/grafana/pkg/infra/db"
@@ -24,7 +26,6 @@ import (
"github.com/grafana/grafana/pkg/services/annotations/testutil"
"github.com/grafana/grafana/pkg/services/dashboards"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/services/ngalert/client"
"github.com/grafana/grafana/pkg/services/ngalert/eval"
"github.com/grafana/grafana/pkg/services/ngalert/metrics"
ngmodels "github.com/grafana/grafana/pkg/services/ngalert/models"
@@ -811,7 +812,7 @@ func compareAnnotationItem(t *testing.T, expected, actual *annotations.ItemDTO)
}
type FakeLokiClient struct {
client client.Requester
client alertingInstrument.Requester
cfg lokiclient.LokiConfig
metrics *metrics.Historian
log log.Logger
@@ -820,15 +821,15 @@ type FakeLokiClient struct {
func NewFakeLokiClient() *FakeLokiClient {
url, _ := url.Parse("http://some.url")
req := lokiclient.NewFakeRequester()
req := instrumenttest.NewFakeRequester()
metrics := metrics.NewHistorianMetrics(prometheus.NewRegistry(), "annotations_test")
return &FakeLokiClient{
client: client.NewTimedClient(req, metrics.WriteDuration),
client: alertingInstrument.NewTimedClient(req, metrics.WriteDuration),
cfg: lokiclient.LokiConfig{
WritePathURL: url,
ReadPathURL: url,
Encoder: lokiclient.JsonEncoder{},
Encoder: lokiclient.JSONEncoder{},
MaxQueryLength: 721 * time.Hour,
MaxQuerySize: 65536,
},