Loki: Allow alert headers to be forwarded (#90890)

* Loki: Allow alert headers to be forwarded

* Loki: fix tests

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
This commit is contained in:
Sven Grossmann 2024-07-25 07:39:34 +02:00 committed by GitHub
parent dc355331a6
commit 94dd4105e2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 4 deletions

View File

@ -334,7 +334,7 @@ func buildDatasourceHeaders(ctx context.Context, metadata map[string]string) map
headers := make(map[string]string, len(metadata)+3)
for key, value := range metadata {
headers[fmt.Sprintf("X-Rule-%s", key)] = url.QueryEscape(value)
headers[fmt.Sprintf("http_X-Rule-%s", key)] = url.QueryEscape(value)
}
// Many data sources check this in query method as sometimes alerting needs special considerations.

View File

@ -1262,9 +1262,9 @@ func TestCreate(t *testing.T) {
}
expectedHeaders := map[string]string{
"X-Rule-Test1": "data1",
"X-Rule-Test2": "%D0%BC%D1%83%D0%B7%D1%8B%D0%BA%D0%B0+%F0%9F%8E%B6",
"X-Rule-Test3": "",
"http_X-Rule-Test1": "data1",
"http_X-Rule-Test2": "%D0%BC%D1%83%D0%B7%D1%8B%D0%BA%D0%B0+%F0%9F%8E%B6",
"http_X-Rule-Test3": "",
models.FromAlertHeaderName: "true",
models.CacheSkipHeaderName: "true",
"X-Grafana-Org-Id": strconv.FormatInt(orgID, 10),

View File

@ -90,6 +90,7 @@ func newInstanceSettings(httpClientProvider *httpclient.Provider) datasource.Ins
if err != nil {
return nil, err
}
opts.ForwardHTTPHeaders = true
client, err := httpClientProvider.New(opts)
if err != nil {