Commit Graph

12420 Commits

Author SHA1 Message Date
Sofia Papagiannaki
d1dab5828d
Alerting: Update rule API to address folders by UID (#74600)
* Change ruler API to expect the folder UID as namespace

* Update example requests

* Fix tests

* Update swagger

* Modify FIle field in /api/prometheus/grafana/api/v1/rules

* Fix ruler export

* Modify folder in responses to be formatted as <parent UID>/<title>

* Add alerting test with nested folders

* Apply suggestion from code review

* Alerting: use folder UID instead of title in rule API (#77166)

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>

* Drop a few more latent uses of namespace_id

* move getNamespaceKey to models package

* switch GetAlertRulesForScheduling to use folder table

* update GetAlertRulesForScheduling to return folder titles in format `parent_uid/title`.

* fi tests

* add tests for GetAlertRulesForScheduling when parent uid

* fix integration tests after merge

* fix test after merge

* change format of the namespace to JSON array

this is needed for forward compatibility, when we migrate to full paths

* update EF code to decode nested folder

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
Co-authored-by: Alex Weaver <weaver.alex.d@gmail.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-01-17 11:07:39 +02:00
Karl Persson
43b6b6b2a4
IDForwarding: add "authenticatedBy" to id token (#80622)
* IDForwading: Set authenticated by for users
2024-01-17 09:52:05 +01:00
Andres Martinez Gotor
0d1462cbbb
Add real instances to testdata standalone API server (#80473)
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2024-01-17 09:22:51 +01:00
Gábor Farkas
2bf56b12cf
postgres: simplify proxy code (#80121) 2024-01-17 09:20:27 +01:00
Gabriel MABILLE
e062fa1d7e
RBAC: Change search permissions buckets to cover long searches (#80624)
* RBAC: Change search permissions histogram start and factor

* Add one bucket and lower start
2024-01-17 09:13:56 +01:00
Alexander Weaver
3c796ecc8f
Alerting: Add metric counting rule groups per org (#80669)
* Refactor, fix bad map hint

* Count groups per org
2024-01-16 16:35:56 -06:00
Andre Pereira
6b37a887d5
Data trails: Move and rename to explore metrics (#80649)
* Move data trails to /explore/metrics

* Fix breadcrumbs

* Fix label option link
2024-01-17 00:05:44 +02:00
Ryan McKinley
48a5c1e850
FeatureFlags: Remove the unsupported/undocumented option to read flags from a file (#79959) 2024-01-16 23:18:25 +02:00
Alexander Weaver
68d4e8a930
Annotations: Remove extraneous, debug log messages (#80670)
* drop log messages

* Revert timer

* fix returns, no need to capture vars for log lines anymore
2024-01-16 14:48:11 -06:00
Ryan McKinley
e1d387d826
K8s/Storage: Register field-selector on all kinds (#79822)
Co-authored-by: Dan Cech <dcech@grafana.com>
2024-01-16 08:30:01 -08:00
Santiago
3afd94185c
Alerting: Add metric to check for default AM configurations (#80225)
* Alerting: Add metric to check for default AM configurations

* Use a gauge for the config hash

* don't go out of bounds when converting uint64 to float64

* expose metric for config hash

* update metrics after applying config
2024-01-16 17:12:24 +01:00
Eric Leijonmarck
28009228e5
Anonymous: Fix flaky tests (#80631)
fix: flaky tests
2024-01-16 15:41:28 +00:00
Horst Gutmann
01e430e821
chore: Bump Alpine base image to 3.18.5 (#80540) 2024-01-16 15:24:40 +01:00
Joey
6796e66fb8
Pyroscope: Add standalone build (#80222)
* Pyroscope standalone build

* Fix for tests

* Add missing packages

* Remove import

* Update trace to profiles

* Update test
2024-01-16 12:46:15 +00:00
Tania
c0918d41dd
Chore: Remove extra loop over folders in GetFolders handler (#79933)
Chore: Remove extra loop in GetFolders handler
2024-01-16 12:35:10 +01:00
Ashley Harrison
127decee1e
Release: Deprecate latest.json and replace with api call to grafana.com (#80537)
* remove latest.json and replace with api call to grafana.com

* remove latest.json

* Revert "remove latest.json"

This reverts commit bcff43d898.

* Revert "remove latest.json and replace with api call to grafana.com"

This reverts commit 02b867d84e.

* add deprecation message to latest.json
2024-01-16 11:19:32 +00:00
Tolya Korniltsev
b5a1a3e106
Profiling: Import godeltaprof/http/pprof (#80509)
chore: import godeltaprof/http/pprof

This adds /debug/pprof/delta_{heap,mutex,block} endpoints to DefaultServeMux
and the profiling port.
2024-01-16 17:58:35 +07:00
Fabrizio
522519f671
Tempo: Decouple Tempo from Grafana core (#79888) 2024-01-16 11:36:40 +01:00
Timur Olzhabayev
c02d57c6a9
Chore: removing folderId from plugindashboard service (#80570)
* removing folderId from plugindashboard service

* fixing linting
2024-01-16 11:08:39 +01:00
Gabriel MABILLE
48ff532ca8
RBAC: Add histogram metric on search endpoint (#80553)
RBAC: Add histogram on search endpoint
2024-01-15 17:56:01 +01:00
Ida Štambuk
d3a89a28fa
Cloudwatch Metrics: Adjust error handling (#79911) 2024-01-15 17:19:26 +01:00
arukiidou
bffb28c177
refactor: use golang.org/x/oauth2 pkce option (#80511)
Signed-off-by: junya koyama <arukiidou@yahoo.co.jp>
2024-01-15 16:24:02 +01:00
Eric Leijonmarck
3979ea0c47
Anonymous Access: Pagination for devices (#80028)
* first commit

* add: pagination to anondevices

* fmt

* swagger and tests

* swagger

* testing out test

* fixing tests

* made it possible to query for from and to time

* refactor: change to query for ip adress instead

* fix: tests
2024-01-15 12:13:38 +00:00
Gábor Farkas
6a36525d61
postgres: better error handling (#80375) 2024-01-15 12:50:01 +01:00
Ashley Harrison
ec53487c99
NestedFolderPicker: separate toggle to force enable picker without nestedFolders (#80461)
* separate nestedFolderPickerOverride toggle to force enable it without nestedFolders

* let's call it newFolderPicker

* update unit tests and keyboard handling

* reduce spacing when no folder open chevron

---------

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2024-01-15 11:43:19 +00:00
Ashley Harrison
15af2e5053
Connections: Pass keywords from the backend to CommandPalette (#80276)
* pass keywords from the backend to CommandPalette

* add csv and json to keywords
2024-01-15 11:30:55 +00:00
Kyle Cunningham
1596339796
Chore: Update CODEOWNERS for end of BI (#80522)
Update CODEOWNERS
2024-01-15 11:53:22 +02:00
Gábor Farkas
cfddc67a25
sql: support the no-tls option in the socks proxy (#80376)
postgres: support the no-tls option in the socks proxy
2024-01-15 09:57:43 +01:00
Gábor Farkas
6b5805dd1b
postgres: vendor in the file-exists helper (#80446) 2024-01-15 08:53:43 +01:00
Yuri Tseretyan
4b071f5452
Alerting: Fix MuteTiming Get API to return provenance status (#80494) 2024-01-13 00:16:54 +02:00
Julien Duchesne
2fb03dfa56
fix(swagger): Mute Timing PUT OK status is 202 (#80459) 2024-01-12 16:58:20 -05:00
Dan Cech
d76defe517
K8s: Move GrafanaMetaAccessor into grafana-apiserver and remove usage of kinds metadata (#79602)
* move GrafanaMetaAccessor into pkg/apis, add support for Spec.Title & Spec.Name

* K8s: Move GrafanaMetaAccessor (PR into another) (#79728)

* access titles

* remove title

* remove title

* remove kinds metadata accessor

* remove kinds metadata accessor

* fixes

* error handling

* fix tests

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-01-12 16:18:14 -05:00
Ryan McKinley
bb05a6f58f
K8s: Move shared apis to a common folder with shared openapi spec (#80484) 2024-01-12 12:05:30 -08:00
Alexander Weaver
81c45bfe44
Annotations: Split cleanup into separate queries and deletes to avoid deadlocks on MySQL (#80329)
* Split subquery when cleaning annotations

* update comment

* Raise batch size, now that we pay attention to it

* Iterate in batches

* Separate cancellable batch implementation to allow for multi-statement callbacks, add overload for single-statement use

* Use split-out utility in outer batching loop so it respects context cancellation

* guard against empty queries

* Use SQL parameters

* Use same approach for tags

* drop unused function

* Work around parameter limit on sqlite for large batches

* Bulk insert test data in DB

* Refactor test to customise test data creation

* Add test for catching SQLITE_MAX_VARIABLE_NUMBER limit

* Turn annotation cleanup test to integration tests

* lint

---------

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2024-01-12 14:05:04 -06:00
Yuri Tseretyan
4479e7218d
Alerting: MuteTiming service return errutil + GetTiming by name (#79772)
* add get mute timing by name to MuteTimingService
* update get mute timing request handler to use the service method

* replace validation, uniqueness and used errors with errutils
* update mute timing methods return errutil responses
* use the term "time interval" in errors bevause mute timings are deprecated in Alertmanager and will be replaced by time intervals in the future.

* update create and update methods to return struct instead of pointer
2024-01-12 21:23:44 +02:00
idafurjes
cb419e799b
Remove folderid service test (#80433)
* Remove FolderID from service tests

* Add models

* Add folderID pack to publicdashboard tests

* Remove folderID from dashboard tests

* Remove folderID from folders

* Remove folderID from ngalert tests

* Remove nolint comment

* Add back some tests after rebase
2024-01-12 16:43:39 +01:00
Misi
c196bde2e0
Auth: Include missing SSO settings from system settings on read paths (#80421)
* first touches

* Merge missing SSO settings to support Advanced Auth pages

* fix
2024-01-12 15:20:50 +01:00
Mihai Doarna
1807435d9e
Auth: Implement the reload functionality from OAuth social connectors (#79795)
* implement Reload() func for azuread provider

* add unit test for failure

* use mutex when updating the info field

* implement the Reload() func for the other providers

* use mutex when reading info

* retrieve info using GetOAuthInfo() in common file

* move Reload() to SocialBase
2024-01-12 10:25:51 +02:00
Mihai Doarna
39e4f8ec1b
Auth: configure SSO settings reload interval from the ini file (#80290)
* configure sso reload interval from ini file

* change section name to sso_settings
2024-01-12 10:24:16 +02:00
Dan Cech
771fc6c78d
Fix issue registering dashboard summary resource (#80402) 2024-01-11 16:59:12 -05:00
Matthew Jacobson
5ecc7dd2fa
Alerting: Increase size of kvstore value type for MySQL to LONGTEXT (#80331)
* Alerting: Increase size of kvstore value type for MySQL to LONGTEXT

alertmanager uses the kvstore to persist its notification log and the current
column limit for MySQL (16.7mb) puts the maximum entries at a level that is
potentially achievable for heavy alerting users (~40-80k entries).

In comparison, the current type for PSQL (TEXT) is effectively unlimited and
I believe SQLIte defaults to 2gb which is also plenty of leeway.
2024-01-11 22:51:36 +02:00
Arati R
ca9d147a44
Give dialects control over how insert and update queries are performed (#79946)
* Refactor insert, update
* Add separate insert, update methods
* Refactor Insert, Update signatures
2024-01-11 19:55:45 +01:00
Gabriel MABILLE
c9ac069076
RBAC: Add origin column to seed_assignment (#80326)
* RBAC: Add origin column to seed_assignment

* Add OnCall permission migration
2024-01-11 18:43:43 +01:00
Ivan Ortega Alba
eb64209301
GeneralSettings: Enable support for nowDelay (#79703) 2024-01-11 17:53:06 +01:00
Yuri Tseretyan
77db6a9ca4
Alerting: Fix GetAlertRulesForScheduling to use folder table and join by org_id (#80330) 2024-01-11 09:21:03 -05:00
Sven Grossmann
e1aa8a95d9
Loki: Fix bug duplicating parsed labels across multiple log lines (#80292) 2024-01-11 15:09:13 +01:00
Tania
1947919516
Chore: Add dashboard retrieval by FolderUID (#80288)
* Add dashboard retrieval by uid

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2024-01-11 15:02:13 +01:00
Mihai Doarna
4bf5c63657
Auth: tidy up the database layer from the SSO Settings Service (#80341)
tidy up the database layer
2024-01-11 14:45:01 +02:00
Santiago
6c87d9a1e7
Alerting: Stop retries on 4xx status code responses (remote Alertmanager readiness check) (#80350) 2024-01-11 12:12:35 +01:00
Karl Persson
5bfb799c0d
index: Fetch auth module and provide it to front-end (#80345) 2024-01-11 11:37:52 +01:00
Ryan McKinley
85d68b88cf
FeatureFlags: Remove enabled from FeatureFlag model (#79960) 2024-01-10 21:34:18 -08:00
William Wernert
48b5ac779b
Alerting/Annotations: Add annotation backend for Loki alert state history (#78156)
* Move scope type vars to testutil package

* Expose parts of state historian for use in annotation backend

* Implement Loki ASH Annotation store

This store will only implement the `Get` method of a RepositoryImpl since alert state history
writes to Loki elsewhere.

* Use interface for Loki HTTP Client

* Add tests for Loki ASH Annotation store

* Add missing test

* Fix lint

* Organize tests

* Add filter tests

* Improve tests

* Move filter logic into outer function

* Fix lint

* Add comment

* Fix tests

* Fix lint

* Rename historian store + refactor

* Cleanup historian store

* Fix tests

* Minor cleanup

* Use new `ShouldRecordAnnotation` filter

* Fix logic and add tests for this check

* Fix typos, remove unused variables, `< 1` -> `== 0`

* More closely mimic RBAC filter from xorm to ensure correct logic

* Move off weaveworks client

* Address PR comments
2024-01-10 18:42:35 -05:00
Ryan McKinley
2c09f969f1
K8s: Add dashboard service (requires dev mode) (#78565) 2024-01-11 01:20:30 +02:00
Matthew Jacobson
afa33f12b2
Alerting: Create alertingQueryOptimization feature flag for alert query optimization (#78932)
* Alerting: Create feature flag for alert query optimization

Adds a feature flag alertingQueryOptimization for an already existing 
functionality: alert query optimization. This feature flag will now be disabled 
by default.
2024-01-10 15:52:58 -05:00
Matthew Jacobson
f365d35cf8
Alerting: Show warning when query optimized (#78751)
* Alerting: Show warning when query optimized

* Use frame.AppendNotices

* Improve warning to include why and a prompt for action
2024-01-10 14:40:00 -05:00
Tania
744c1032ee
Provisioning: Fix dual write of folders (#80140)
* Provisioning: Store folders in folders table

* Solve linting issues

* Remove a comment
2024-01-10 16:48:28 +01:00
Ryan McKinley
6be6724433
K8s/Testdata: Expose testdata in standalone apiserver (#80248) 2024-01-10 17:45:23 +02:00
Ryan McKinley
ee7daeb2a7
APIServer: Move shared code to a utility/helper function (#80261) 2024-01-10 07:30:16 -08:00
Mihai Doarna
772e5993b6
Auth: reload SSO settings for HA setups (#80231)
* reload SSO settings for HA setups

* remove check for grafana HA

* add unit tests

* fetch all sso settings with one sql query

* register background service
2024-01-10 16:01:37 +02:00
Karl Persson
5b3cd9f55b
features: Add feature flag for grafana cloud rbac roles (#80283) 2024-01-10 14:19:01 +01:00
Giuseppe Guerra
b40d3e7487
Plugins: Add enablePluginsTracingByDefault feature flag (#80195)
* Add enablePluginsTracingByDefault feature flag

* Enable tracing for all plugins if enablePluginsTracingByDefault is set

* fix docstrings for IsEnabled and IsEnabledGlobally

* fix tests

* do not use separate feature manager

* add test case

* Revert "fix tests"

This reverts commit 46a2420ed1.

* cleanup

* fix plugin tracing disabled if wrong plugin setting is present

* add test case for enabled on plugin with wrong plugin setting but with enablePluginsTracingByDefault feature flag

* Add RequiresRestart = true to enablePluginsTracingByDefault

* re-generate feature flags

* pr review feedback
2024-01-10 13:25:54 +02:00
Santiago
9e78faa7ba
Alerting: Add metrics to the remote Alertmanager struct (#79835)
* Alerting: Add metrics to the remote Alertmanager struct

* rephrase http_requests_failed description

* make linter happy

* remove unnecessary metrics

* extract timed client to separate package

* use histogram collector from dskit

* remove weaveworks dependency

* capture metrics for all requests to the remote Alertmanager (both clients)

* use the timed client in the MimirAuthRoundTripper

* HTTPRequestsDuration -> HTTPRequestDuration, clean up mimir client factory function

* refactor

* less git diff

* gauge for last readiness check in seconds

* initialize LastReadinesCheck to 0, tweak metric names and descriptions

* add counters for sync attempts/errors

* last config sync and last state sync timestamps (gauges)

* change latency metric name

* metric for remote Alertmanager mode

* code review comments

* move label constants to metrics package
2024-01-10 11:18:24 +01:00
Ryan McKinley
53411eeaa0
K8s: Expose testdata connection as an api-server (dev mode only) (#79726) 2024-01-09 12:26:24 -08:00
Matthew Jacobson
1d4419fbe4
Alerting: Fix NoData & Error alerts not resolving when rule is reset (#80184)
* Alerting: Fix NoData & Error alerts not resolving when rule is reset

On rule reset, when creating the PostableAlerts StateToPostableAlert did not
attach the correct NoData/Error alertname and rulename labels to expire/resolve
the active alerts when the previous cached state was NoData/Error.
2024-01-09 14:47:19 -05:00
Alexander Weaver
542741f748
Alerting: Log scheduler maxAttempts, guard against invalid retry counts, log retry errors (#80234)
* Log maxAttempts, add guard, log retry errors

* fix whitespace

* Initialize evaluator in TestProcessTicks
2024-01-09 13:19:37 -06:00
Ryan McKinley
1caaa56de0
FeatureFlags: Use interface rather than manager (#80000) 2024-01-09 10:38:06 -08:00
Gábor Farkas
ecc667c9a5
postgres: add snapshot tests (#79794)
* postgres: add snapshot tests

* fixed wrong comment

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2024-01-09 16:54:21 +02:00
Mihai Doarna
3332562900
Auth: use Empty() for sending empty http responses in SSO Settings API (#80200)
use Empty() for sending empty http response
2024-01-09 15:27:55 +02:00
Giuseppe Guerra
c045a9f395
Plugins: Fix symlinks inside plugins path not being followed (#80205)
* Plugins: Loader: Fix symlinks not followed when loading external plugins

* Add test case
2024-01-09 14:23:03 +01:00
Mihai Doarna
adb7295bab
Auth: Send an empty http response without the json header in SSO Settings API (#80197)
send an empty http response without the json header
2024-01-09 12:14:39 +02:00
Charandas
48612063dd
Grafana app platform: an aggregator cmd and package (#79948) 2024-01-08 22:33:42 +02:00
Ivana Huckova
3dc7cfdc18
Loki: Implement error source (#80143) 2024-01-08 18:32:16 +01:00
Matias Chomicki
cff1ad4922
Logs popover: enabled by default (#80146) 2024-01-08 17:03:39 +01:00
Jo
c3d8c6e0ea
JWT: Fallthrough to fetch keyset in case of cache error (#80081)
fallthrough to fetch keyset in case of cache error. Fixes #67582
2024-01-08 16:02:31 +01:00
colin-stuart
062e772bb2
Auth: Implement the SSO Settings GET endpoint (#79144)
* Return data in camelCase from the OAuth fb strategy

* changes

* wip

* Add defaults for oauth fb strategy

* revert other changes

* basic includeDefaults query param implementation

* basic secret removal and etag implementation

* correct imports

* rebase

* move default settings filter to models

* only replace ClientSecret value if set

* first GetForProvider test & use FNV for ETag to avoid Blocklisted import error

* add tests

* add annotation for the openapi spec & generate spec

* remove TODO

* use IsSecret, improve tests, remove DefaultOAuthSettings

* add comment explaining generateFNVETag

* add error handling for generateFNVETag

* run go generate

* Update pkg/services/ssosettings/api/api.go

Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>

* move isSecret to service, create GetForProviderWithRedactedSecrets func

* add unit test for GetForProviderWithRedactedSecrets & remove duplicated code

* regen openapi/swagger

* revert dependency bumps

---------

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
2024-01-08 09:35:14 -05:00
Adam Bannach
505196bcd5
Chore: Remove costManagementUi toggle (#80098)
* chore: remove cost management ff; fallback to adding AM and LVE to apps drawer

* chore: revert fallback app drawer placement
2024-01-08 14:25:11 +00:00
Misi
eae6adf002
Auth: Use cfg.Raw in OAuthStrategy for loading settings (#80136)
Use cfg.Raw in OAuthStrategy, remove unnecessary tests
2024-01-08 15:36:15 +02:00
Joey
81f8c022a0
Pyroscope: Decouple backend from infra imports (#80018)
Decouple backend from infra imports
2024-01-08 13:11:46 +00:00
Will Browne
78ae795e06
Plugins: Fix loading of dist folders (#80015)
* end to end

* tidy

* fix whitespace

* remove unused code

* fix linter

* fix gosec + add sort

* fix test

* apply cr feedback
2024-01-08 11:45:03 +01:00
Nathan Marrs
2ff1e40a7f
chore: Update DataViz feature toggles related to 10.3 release to be public preview (#80109)
Update feature toggles for tooltips / canvas to be public preview
2024-01-05 17:40:11 -08:00
Matthew Jacobson
aa03b8f8a7
Alerting: Guided legacy alerting upgrade dry-run (#80071)
This PR has two steps that together create a functional dry-run capability for the migration.

By enabling the feature flag alertingPreviewUpgrade when on legacy alerting it will:
    a. Allow all Grafana Alerting background services except for the scheduler to start (multiorg alertmanager, state manager, routes, …).
    b. Allow the UI to show Grafana Alerting pages alongside legacy ones (with appropriate in-app warnings that UA is not actually running).
    c. Show a new “Alerting Upgrade” page and register associated /api/v1/upgrade endpoints that will allow the user to upgrade their organization live without restart and present a summary of the upgrade in a table.
2024-01-05 18:19:12 -05:00
Yuri Tseretyan
72182e02a4
Alerting: Mute timing service tests (#79817)
split tests for mute timing service to functions for each method this makes it clear the scope of tests
2024-01-06 00:26:15 +02:00
Arati R
90fb6a0122
Update unified storage readme (#79934)
* Update unified storage readme

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-01-05 23:44:34 +02:00
Yuri Tseretyan
494f36e0bd
Alerting: Update provisioning services that handle Alertmanager configuraiton to access config via storage (#79814)
* extract get and save operations to a alertmanagerConfigStore. this removes duplicated code in service (currently only mute timings) and improves testing
* replace generic errors with errutils one with better messages.
* update provisioning services to use new store

---------

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2024-01-05 16:15:18 -05:00
Isabella Siu
8dc04ea63a
AWS Datasources: Enable awsAsyncQueryCaching by default (#80045) 2024-01-05 14:56:30 -05:00
Oscar Kilhed
583b9797af
Transformations: Move moving average, regression analysis and format string transformations to public preview (#80067)
* move transformation features to public preview

* update docs

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* fix formating of ffs

---------

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2024-01-05 19:39:02 +01:00
Matthew Jacobson
49891d6a72
Alerting: Add feature flag alertingPreviewUpgrade for migration preview + dry-run (#80036)
* Add feature flag

* Remove from docs for now
2024-01-05 13:31:05 -05:00
Yuri Tseretyan
3a966fc6ca
Alerting: Enable recovery threshold feature by default (#80088) 2024-01-05 12:59:41 -05:00
Alexander Weaver
a8fb01a502
Swap weaveworks/common utilities for equivalents in grafana/dskit (#80051)
* Replace histogram collector and grpc injectors

* Extract request timing utility

* Also vendor test file

* Suppress erroneous linter warn
2024-01-05 10:08:38 -06:00
Agnès Toulet
41eff02d75
Docs: Add table data in PDF (#80059)
* Docs: Add table data in PDF

* fix lint issues

* Switch to public preview

* Apply suggestions from code review

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2024-01-05 15:57:13 +01:00
Julien Duchesne
c7f515b9b2
fix(swagger): POST -> GET method for two access control endpoints (#80082)
Missed those here: https://github.com/grafana/grafana/pull/80053
2024-01-05 09:40:08 -05:00
Julien Duchesne
5e74c19628
fix(swagger): Add new access control endpoints (#80053)
There were a few errors that prevented these endpoints (which are the most up-to-date ones) from being present in the openapi spec:
- The `enterprise` tag excluded the endpoints from being generated
- `okRespoonse` typo
- Invalid templating on the parameters
- Missing parameter structs
2024-01-05 08:12:01 -05:00
Matthew Jacobson
3537c5440f
Alerting: Refactor migration to return pairs of legacy and upgraded structs (#79719)
Some refactoring that will simplify next changes for dry-run PRs. This should be no-op as far as the created ngalert resources and database state, though it does change some logs.

The key change here is to modify migrateOrg to return pairs of legacy struct + ngalert struct instead of actually persisting the alerts and alertmanager config. This will allow us to capture error information during dry-run migration.

It also moves most persistence-related operations such as title deduplication and folder creation to the right before we persist. This will simplify eventual partial migrations (individual alerts, dashboards, channels, ...).

Additionally it changes channel code to deal with PostableGrafanaReceiver instead of PostableApiReceiver (integration instead of contact point).
2024-01-05 05:37:13 -05:00
Mihai Doarna
359b118e6a
Auth: fix camelCase in getFallbackStrategyFor() func (#80061)
fix camelCase in getFallbackStrategyFor() func
2024-01-05 12:25:59 +02:00
Santiago
1f6575e65e
Alerting: Test MOA in remote secondary mode (#79828) 2024-01-05 11:05:27 +01:00
Gábor Farkas
bfb85f27b1
sql: improve sqleng-api, leave sql.DB creation to the plugins (#79672) 2024-01-05 08:37:15 +01:00
Gábor Farkas
8923cc27ce
sql: do not import stacktrace-generator code from core grafana (#79507)
sql: do not import from core grafana
2024-01-05 08:33:46 +01:00
Matthew Jacobson
c18da48e50
Alerting: Separate overlapping legacy and UA alerting routes (#76517)
* Separate overlapping legacy and UA alerting routes

api/alert-notifiers, alerting/list, and alerting/notifications existed in both
legacy and UA.
Rename legacy route paths and nav ids to be independent of UA ones.
2024-01-04 18:01:57 -05:00
Alexander Weaver
90d4704cd7
Alerting: Fix URL timestamp conversion in historian API in annotation mode (#80026)
Fix timestamp conversion when calling annotation store
2024-01-04 12:40:21 -06:00
Yuri Tseretyan
f6a46744a6
Alerting: Support hysteresis command expression (#75189)
Backend: 

* Update the Grafana Alerting engine to provide feedback to HysteresisCommand. The feedback information is stored in state.Manager as a fingerprint of each state. The fingerprint is persisted to the database. Only fingerprints that belong to Pending and Alerting states are considered as "loaded" and provided back to the command.
   - add ResultFingerprint to state.State. It's different from other fingerprints we store in the state because it is calculated from the result labels.
  -  add rule_fingerprint column to alert_instance
   - update alerting evaluator to accept AlertingResultsReader via context, and update scheduler to provide it.
   - add AlertingResultsFromRuleState that implements the new interface in eval package
   - update getExprRequest to patch the hysteresis command.

* Only one "Recovery Threshold" query is allowed to be used in the alert rule and it must be the Condition.


Frontend:

* Add hysteresis option to Threshold in UI. It's called "Recovery Threshold"
* Add test for getUnloadEvaluatorTypeFromCondition
* Hide hysteresis in panel expressions

* Refactor isInvalid and add test for it
* Remove unnecesary React.memo
* Add tests for updateEvaluatorConditions

---------

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2024-01-04 11:47:13 -05:00
Bryan Huhta
e64cb8541f
Pyroscope: Send start/end with profile types query (#77523) 2024-01-04 16:35:47 +01:00
Torkel Ödegaard
f0c38611a2
Scenes: Remove old scenes stuff (#79760)
* Scenes: Remove old scenes stuff

* Fixes

* Fixes

* update
2024-01-04 15:44:41 +01:00
Agnès Toulet
1cec6195f1
Rendering: Fix plugin initialization (#80013) 2024-01-04 11:30:01 +01:00
Jo
5ae3249c36
Auth: Hide forgot password if grafana auth is disabled (#79895)
* hide forgot password if grafana auth is disabled

* fix test
2024-01-04 10:46:55 +01:00
Torkel Ödegaard
e924627659
Frontend: Reload the browser when backend configuration/assets change (#79057)
* Detect frontend asset changes

* Update

* merge main

* Frontend: Detect new assets / versions / config changes (#79258)

* avoid first check

* Updates and add tests

* Update

* Update

* Updated code

* refine

* use context

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-01-04 08:00:07 +01:00
Andreas Christou
dd77ff6bcd
Plugins: Externalise Azure Monitor data source (#79545)
* Set up frontend linting for Azure

- Fix final frontend import
- Fix other lint issues

* Add Azure Monitor to backend linting

* Remove featuremgmt dependency

* Add intervalv2 to list of disallowed imports

* Remove config dependency

- Replace with function from azure-sdk

* Remove util dependency

* Duplicate interval functionality from core

* Add required backend wrappers

* Update frontend

* Add testing helper

* Add missing package

* Bump minimum grafana dependency

* Fix dependency

* Regen cue

* Fix lint

* Update expected response file

* Update import and dependency
2024-01-03 19:20:22 +00:00
Mihai Doarna
c219a19f97
Auth: Add missing 404 status code from the SSO Settings delete endpoint (#79982)
add missing 404 status code from sso settings delete endpoint
2024-01-03 16:05:11 +02:00
Giuseppe Guerra
b1c7aa269b
Dependencies: Bump github.com/grafana/grafana-plugin-sdk-go from v0.197.0 to v0.198.0 (#79928)
* chore: Bump google.golang.org/grpc from 1.59.0 to 1.60.1

* Bump google.golang.org/protobuf to v1.32.0

* Fix make protobuf failing with latest protoc and protoc-gen-go

* Re-generate protobuf files

* Re-generate protobuf files

* Bump grafana-plugin-sdk-go

* go mod tidy
2024-01-03 13:36:44 +02:00
Joey
00bc13e37c
Pyroscope: Remove unnecessary import and logic (#79568)
* Remove unecessary import and logic

* Update test
2024-01-03 11:25:38 +00:00
Mihai Doarna
ade91e5038
Auth: Implement the SSO Settings update endpoint (#79676)
* merge with system settings before storing them in the db

* add base for validating sso settings

* add unit tests for sso settings validation

* call Reload() from sso service upsert()

* remove actual validation because it was moved in a separate pr

* use constant to fix lint error

* check if provider is configurable in service Upsert() method

* add unit tests for update provider settings api method

* fix lint error
2024-01-03 13:04:35 +02:00
Mihai Doarna
6465d87afd
Auth: Add basic validation for SSO settings (#79696)
* add basic validation for sso settings

* remove validation for the client secret
2024-01-03 10:02:03 +02:00
Leon Sorokin
fb79be4a43
Transformations: Add frame source picker to allow transforming annotations (#77842)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-01-02 23:33:31 -06:00
Drew Slobodnjak
2502fe4d19
Canvas: Add Pan and Zoom (#76705)
* Canvas: Add Zoom

* Scale selecto components based on zoom state

* Fix pan by reverting to 3.1.0 for zoom-pan

* Update to latest library that fixes pan regression

* Add mini map to canvas pan zoom

* Fix selecto and anchors on hover

* Update naming to be more clear

* Switch back to contentComponent

* Apply transformScale to drag and resize

* Update connection source and target scaling

* Add option to display mini map

* Update yarn lock

* Revert "Update yarn lock"

This reverts commit 3d1dd65d57.

* Set yarn lock to main

* Revert "Set yarn lock to main"

This reverts commit 64bc50557e.

* Update to Yarn 4

* Add react-zoom-pan-pinch

* Update react-zoom-pan checksum

* Revert changes to json files

* Remove last line of api merged

* Remove last lines of all impacted jsons

* Update home json

* Update coordinate calc function to include scale

* Fix types in coordinate calc function

* Fix util calculation for transform

* Fix arrow anchor shift behavior

* Fix scale offset when adding elements during zoom

* Fix drag of selected group during zoom

* Add feature flag for canvas pan zoom

* Revert "Add feature flag for canvas pan zoom"

This reverts commit b026e31d8d.

* Regenerate feature flag after merge

* Apply feature flag to enable pan zoom wrappers

* Add mini map toggle behind feature flag

* Simplify minimap behavior

* Update feature flag registry

* Set minimap to false by default

* fix gen-cue

* Set toggles gen to main

Add blank line to toggle gen csv

* Add canvas pan zoom to csv

* Remove old comment

* Change ref parameter to be more descriptive

* Rename visibleFun to be more descriptive

* Consolidate transformScale transformRef in util

* Remove non-null assertion on connection parentRect

* Consolidate parentRect null coalescing into object

* Remove minimap and change toggle

* Add controls inline help for pan and zoom

* Clean up mouse events

* Pull scale out of ref and isolate transform

* Remove transform ref from scene div

* Fix context menu visible behavior

* Fix connections and update util functions

* Move transform component instance to util

* fix backend test

* minor updates

* Clean up connections / fix minor bug where offset of arrow wasn't being calculated correctly

* missed connection code cleanup

* cleanup scene code a bit more

* actually fix backend test

* move eslint disable line closer to actual issue

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-01-02 11:52:21 -08:00
Ryan McKinley
c598306523
K8s: Enable api-server by default (#79942) 2024-01-02 09:54:57 -08:00
Serge Zaitsev
4f70586ead
Chore: Remove mssql driver from xorm (#79930)
remove mssql driver from xorm
2024-01-02 17:11:35 +01:00
Fabrizio
7746250367
Parca: Add standalone building configuration (#79896)
* Parca: Decouple frontend

* Parca: decouple backend

* Parca: add standalone build process

* Regenerate cue files

* Fix import

* Trigger CI

* Fix test

* Trigger CI

* Trigger CI
2024-01-02 16:36:57 +01:00
Kat Yang
29113a6369
Chore: Update OpenAPI generation README to include bingo instructions (#79104)
* Chore: Update OpenAPI generation README to include bingo instructions

* chore: remove extra whitespace
2024-01-02 12:48:10 +01:00
Jo
814d62406e
User: Verify external user status for accessing certain user routes (#79909)
stricter user profile route checking
2023-12-29 14:23:05 +01:00
Tania
a62db1e24b
Nested Folders: Move SharedWithMe to the top of the folders list (#79875) 2023-12-29 11:35:15 +01:00
Fabrizio
5a21a6d938
Parca: Decouple backend (#79873)
Parca: decouple backend
2023-12-28 18:44:02 +01:00
Jo
3c4bc24dec
ServerLock: Fix missing return ID for postgres (#79878)
fix missing return ID for postgres
2023-12-28 11:15:18 +01:00
Jo
3bcde852ac
AccessControl: Add safety valve truncation for long user defined scopes (#79854)
* fix migrator bootloop by invalidating permissions

* add test for scope truncation

* lint

* fix max size scope
2023-12-27 17:31:26 +01:00
Jo
a595353d57
ServerLock: Rework serverlock to use raw SQL and not depend on id (#79859)
* rework SQL to use raw sql and more resistant to DBs that do not return ID

* rework SQL to return ID in all DBs. Avoid using ID as operator
2023-12-27 14:59:43 +01:00
Todd Treece
feb7b38fba
Metrics: Add commit & version to grafana_environment_info (#79823) 2023-12-22 06:02:52 -05:00
Dan Cech
b2b4d89501
Storage: Support grafana.app/folder field selector & label selectors (#79816)
* support grafana.app/folder field selector & label selectors

* lint fix
2023-12-21 18:08:01 -05:00
Ryan McKinley
539bc6d31b
Playlist: Implement a more efficient List command to support k8s list (#79820) 2023-12-21 15:03:12 -08:00
Sofia Papagiannaki
4e1456a230
Unified Storage: Add resource from/to entity tests (#79393)
* Unified Storage: Add resource from/to entity tests

* fixup

* Remove GRN

* Update tests

* truncate timestamps to account for RFC3339, set Group and GroupVersion in k8s object

* Update tests

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2023-12-21 14:42:36 -05:00
Vardan Torosyan
63cd5a5625
Chore: Cleanup namespace and ID resolution (#79360)
* Chore: Cleanup namespace ID resolution

* Check for negative userID when relevant

* Reuse existing function for parsing ID as int

* Fix imports
2023-12-21 20:42:05 +01:00
Yuri Tseretyan
d160638c67
Alerting: Add integration tests for mute timings provisioning API (#79810) 2023-12-21 21:38:38 +02:00
Santiago
a77ba40ed4
Alerting: Use the forked Alertmanager for remote secondary mode (#79646)
* (WIP) Alerting: Use the forked Alertmanager for remote secondary mode

* fall back to using internal AM in case of error

* remove TODOs, clean up .ini file, add orgId as part of remote AM config struct

* log warnings and errors, fall back to remoteSecondary, fall back to internal AM only

* extract logic to decide remote Alertmanager mode to a separate function, switch on mode

* tests

* make linter happy

* remove func to decide remote Alertmanager mode

* refactor factory function and options

* add default case to switch statement

* remove ineffectual assignment
2023-12-21 15:26:31 +01:00
Karl Persson
05d1ce4026
Auth: id response header (#79757)
* Add utility function to check if namespace is any of

* Refactor code to use identity interface
2023-12-21 14:06:28 +01:00
Santiago
c46da8ea9b
Alerting: Update alerting package and imports from cluster and clusterpb (#79786)
* Alerting: Update alerting package

* update to latest commit

* alias for imports
2023-12-21 12:34:48 +01:00
Ryan McKinley
10bb02e026
K8s: fix UID creator and paths (#79769) 2023-12-20 14:42:38 -08:00
Ryan McKinley
d195c3807e
Storage: Use int64 for resourceVersion (#79735) 2023-12-20 11:26:35 -08:00
Ryan McKinley
67bbdd7c05
K8s/Folders: Add folders api service (with legacy storage) (#79413) 2023-12-20 20:28:56 +02:00
Mihai Doarna
0f4cd3090b
Auth: Modify scopes field value in tests to be comma separated (SSO Settings API) (#79759)
modify scopes field value to be comma separated
2023-12-20 17:43:18 +02:00
linoman
824e0f9ce8
Plugins: Display plugin permissions required (#78355)
* Add definition of external service registration

* Add style and tables for permissions needed

* Add external service registration to local without counterpart

* Add feature toggle check

* Add feature flag check in the backend as well

* Add the disclaimer for permissions

---------

Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>
2023-12-20 16:29:13 +01:00
Mihai Doarna
1ef9417765
Auth: Use camelCase in SSO Settings API (#79755)
use camelCase in SSO Settings API
2023-12-20 16:30:25 +02:00
idafurjes
3770daabe2
Remove deprecated FolderID from api tests (#79466)
* Remove deprecated FolderID from api tests

* Removed unused const
2023-12-20 15:12:05 +01:00
Gabriel MABILLE
8b67464758
AuthN: Set automatic service accounts for plugins in private preview (#79558)
* AuthN: Set automatic service accounts for plugins in private preview

* Gen files
2023-12-20 13:48:56 +01:00
Matthew Jacobson
0424d44b39
Alerting: In migration, create one label per channel (#76527)
* In migration, create one label per channel

This PR changes how routing is done by the legacy alerting migration.

Previously, we created a single label on each alert rule that contained an array of contact point names. Ex: __contact__="slack legacy testing","slack legacy testing2"

This label was then routed against a series of regex-matching policies with continue=true. Ex: __contacts__ =~ .*"slack legacy testing".*

In the case of many contact points, this array could quickly become difficult to manage and difficult to grok at-a-glance.

This PR replaces the single __contact__ label with multiple __legacy_c_{contactname}__ labels and simple equality-matching policies. These channel-specific policies are nested in a single route under the top-level route which matches against __legacy_use_channels__ = true for ease of organization.

This should improve the experience for users wanting to keep the default migrated routing strategy but who also want to modify which contact points an alert sends to.
2023-12-19 13:25:13 -05:00
Santiago
9945514baa
Alerting: Validate configuration for the remote Alertmanager struct (#79691)
* Alerting: Validate configuration for the remote Alertmanager struct

* add TenantID to test

* add OrgID to config struct in tests
2023-12-19 18:41:48 +01:00
Ryan McKinley
33d2d0a12d
K8s: Refactor authorization initialization (#79670) 2023-12-19 19:12:35 +02:00
Dan Cech
7613ab7a5b
Storage: store full k8s object in body column (#79480)
store full k8s object in body column
2023-12-19 11:34:57 -05:00
ismail simsek
ea079ebf0c
InfluxDB: Enable SQL support by default (#79474)
* remove alpha notification

* enable the feature toggle by default

* fix
2023-12-19 14:12:36 +01:00
Will Browne
6ceab61bf8
Plugins: Support nested plugin signature validation on Windows (#79467)
* rework

* fix

* fix backend start

* fix tests

* fix

* print env

* enable CGO

* undo changes

* undo whitespace change
2023-12-19 11:56:40 +01:00
Agnès Toulet
fdaf6e3f2e
PublicDashboards: Add setting to disable the feature (#78894)
* Replace feature toggle with configuration setting

* Fix permission alert

* Update documentation

* Add back feature toggle

* revert unwanted commited changes

* fix tests

* run prettier

* Update SharePublicDashboard.test.tsx

* fix linter and frontend tests

* Update api.go

* Apply docs edit from code review

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* Update index.md

* Update docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update docs/sources/setup-grafana/configure-grafana/_index.md

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* add isPublicDashboardsEnabled + test

* fix test

* update ff description in registry

* move isPublicDashboardsEnabled

* revert getConfig() update

---------

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-12-19 11:43:54 +01:00
Will Browne
ef60c90dfa
Plugins: Make file system path handling in tests OS agnostic (#79651)
* make path handling OS agnostic

* PR feedback

* fix input for test case
2023-12-19 11:01:48 +01:00
Karl Persson
8cb351e54a
Authn: Handle logout logic in auth broker (#79635)
* AuthN: Add new client extension interface that allows for custom logout logic

* AuthN: Add tests for oauth client logout

* Call authn.Logout

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2023-12-19 10:17:28 +01:00
Aaron Godin
eb490193b9
[IAM] - Add swagger docs for resource permissions API (#79525)
* IAM: Apply swagger-go comments for generating docs on resource permissions endpoints

* Update pkg/services/accesscontrol/resourcepermissions/api.go

Clarifies swagger note on assigning to service accounts

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-12-18 16:47:17 -06:00
Alexander Weaver
65ecde6eed
Alerting: Don't record annotations for mapped NoData transitions, when NoData is mapped to OK (#77164)
* Exclude mapped nodata transitions when nodata mapped to OK

* Fix processEvalResults test

* Don't check NoDataState when filtering transition

* Add comment to explain purpose of separate function

---------

Co-authored-by: William Wernert <william.wernert@grafana.com>
2023-12-18 16:59:32 -05:00
Sven Grossmann
2165c9b3f0
Loki: Add lokiQueryHints feature flag (#78953)
* add `lokiQueryHints` feature flag

* language provider tests

* fix unwrap tests

* add feature toggle
2023-12-18 22:43:16 +02:00
Michael Mandrus
456939bac4
Feature Toggles: Remove use of boolPtr in FeatureFlag struct (#79550)
* remove bool ptr and update docs

* fix silly thing

* merge main

* maybe this time

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-12-18 13:55:21 -05:00
Oscar Kilhed
110a41b3db
Transformations: Move moving average and cumulative sum to private preview (#79495)
* Move moving average and cumulative sum to private preview

* update docs

* rebuild docs

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>

---------

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2023-12-18 16:46:03 +01:00
Will Browne
0b511aaace
Plugins: Add backend check for app page role access (#78269)
* add backend check for roles

* tidy

* fix tests

* incorporate rbac

* fix linter

* apply PR feedback

* add tests

* fix logic

* add comment

* apply PR feedback
2023-12-18 16:12:46 +01:00
Santiago
f7248efff5
Alerting: Fix panic when creating a new Alertmanager returns an error (#79641)
Alerting: Fix panic after error creating new Alertmanager
2023-12-18 15:33:07 +01:00
Ezequiel Victorero
864d91ed3e
Export: Remove no-store headers in pdf and image previews (#78844) 2023-12-18 09:21:57 -03:00
Sofia Papagiannaki
6d9c651b74
Chore: Remove redundant benchmarks (#79626) 2023-12-18 11:31:25 +02:00
Mihai Doarna
9648a06dde
Auth: Add swagger metadata for the update SSO Settings endpoint (#79580)
* add swagger doc for sso settings update endpoint

* add generated api specs
2023-12-18 11:18:19 +02:00
Mihai Doarna
53d209e6f1
Auth: Fix flaky tests that are mocking time.Now() from SSO Settings (#79581)
test time values using require.WithinDuration() instead of mocking time.Now()
2023-12-18 11:10:46 +02:00
Eric Leijonmarck
57ca8fa368
Anonymous: Add device limits to stats (#79494)
* add device limits

* feat: tabs the anon and session stats w. highlight
2023-12-18 09:32:57 +01:00
Tania
86ac431097
Chore: Update readme for entity store (#79586)
* Chore: Update readme for entity store

* Update pkg/services/store/entity/README.md

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Apply review feedback

---------

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-12-17 13:12:17 +02:00
ismail simsek
2edcf0edbd
InfluxDB: Use database input for SQL configuration instead of metadata (#79579)
* introduce constants file

* update frontend to use database field

* use dbName field instead of metadata

* use secureGrpc

* betterer
2023-12-15 18:41:32 +01:00
Sofia Papagiannaki
d89a8a3a82
Nested Folders: Fix /api/folders pagination (#79447)
* Nested Folders: Fix /api/folders pagination

We used to check access to the root folders after fetching them from the DB with pagination.
This fix splits logic for fetching folders in:
- fetching subfolders
- fetching root folders
and refactors the query for the latter so that is filters by folders with permissions

* Add tests

* Update benchmarks
2023-12-15 19:34:08 +02:00
Alexander Weaver
cf8e8852c3
Alerting: Drop NamespaceID from responses on unstable ngalert API endpoints in favor of NamespaceUID (#79359)
* Drop from API response

* Drop from swagger docs

* Drop from integration tests

* regenerate public swagger docs

* Drop from frontend

* Drop asserts for namespaceID field
2023-12-15 11:06:53 -06:00
Ryan McKinley
139025af1e
K8s: Update OpenAPI post processing structures (#79553)
* add prefix

* update extra paths
2023-12-15 07:53:35 -08:00
Andres Martinez Gotor
1324186f87
Chore: Evaluate if an app is disabled for API requests (#79564) 2023-12-15 16:37:39 +01:00
Victor Marin
9dc015b595
Re-add arm32 builds (#79496)
* Re-add arm32 builds

* update grabpl version

* make drone

* make drone

* format drone
2023-12-15 16:56:22 +02:00
Jo
ffbf1b1413
Anon: Small fixes to anon service structure (#79566)
* add ListDevices to service

* improve fake

* fix missing cfg field

* cannot be unexported
2023-12-15 15:15:04 +01:00
Mihai Doarna
15d8a1f94d
Auth: Remove types from SSOSettings struct in SSO service (#79459)
* replace SSOSettings with SSOSettingsDTO

* fix database tests

* fix oauth strategy

* fix sso settings service tests

* add secrets encryption on update

* rename SSOSettingsDTO to SSOSettings

* remove extraKeys from strategy

* change back settings type from createOAuthConnector to OAuthInfo

* do not parse multi-value fields in oauth strategy
2023-12-15 16:00:52 +02:00
Misi
9e5826f40f
OAuth: Remove accessTokenExpirationCheck feature toggle (#79455)
* Remove accessTokenExpirationCheck from code and align docs

* Apply suggestions from code review

* lint

---------

Co-authored-by: lwandz13 <126723338+lwandz13@users.noreply.github.com>
2023-12-15 13:20:17 +01:00
Misi
db81216240
Chore: Cleanup SocialBase + connectors and use the OAuthInfo (#79453)
* Clean up SocialBase

* Cleanup other connectors
2023-12-15 12:09:17 +01:00
Oscar Kilhed
cacae6a43b
Transformations: Move formatString transformation to private preview (#79498)
* Move moving average and cumulative sum to private preview

* update docs

* move formatString to private preview

* rebuild docs

* undo changes that don't belong to this commit

* undo cumulative/window featureflag

* fix case
2023-12-15 11:27:01 +01:00
Oscar Kilhed
b5dc4667f7
Transformations: Move regression analysis transformation to private preview (#79500)
* move regression analysis transformation to private preview

* fix case
2023-12-15 11:26:39 +01:00
Misi
ce1450d4d3
Chore: Configure SkipOrgRoleSync from OAuthInfo for OAuth connectors (#79443)
* Configure SkipOrgRoleSync from OAuthInfo

* Remove skipOrgRoleSync from socialbase and connectors

* Add test to socialimpl.ProvideService

* Deprecate AuthSettings' fields

* clean up misleading init of frontendsettings.Auth
2023-12-15 10:58:08 +01:00
Jo
d50ce18357
Access: GA split scope (#79555)
* GA split scope

* fix tests
2023-12-15 10:52:55 +01:00
Lucy Chen
a29e1ee6a6
Task: Improve public dashboard config url formatting (#79424)
* Update publicdashboard config url

* add slug to sessiondashboard

* swagger doc update
2023-12-14 14:35:17 -05:00
owensmallwood
d5b9602a79
Config: Can add static headers to email messages (#79365)
* Can add allowed custom headers to an email Message. WIP.

* adds slug as a custom email header to all outgoing emails

* Headers are static - declared as key/value pairs in config. All static headers get added to emails.

* updates comment

* adds tests for parsing smtp static headers

* updates test to assert static headers are included when building email

* updates test to use multiple static headers

* updates test names

* fixes linting issue with error

* ignore gocyclo for loading config

* updates email headers in tests to be formatted properly

* add static headers first

* updates tests to assert that regular headers like From cant be overwritten

* ensures only the header is in a valid format for smtp and not the value

* updates comment and error message wording

* adds to docs and ini sample files

* updates smtp.static_headers docs examples formatting

* removes lines commented with semi colons

* prettier:write

* renames var
2023-12-14 12:59:43 -06:00
William Wernert
9171bf92bb
Alerting: Add rule ID and title to alert state history Loki entry (#79481)
* Add rule ID and title to Loki entry

* Combine related tests
2023-12-14 13:06:23 -05:00
Will Browne
ce8fd14f1f
Plugins: Make renderer service load renderer plugin (#77854)
* rendering service loads renderer plugin

* update naming

* tidy

* apply PR feedback

* fix missing feature manager

* fix step

* set plugin
2023-12-14 17:33:29 +01:00
Karl Persson
a7a51bf2d8
Analytics: Return empty analytic settings for users that are not signed in (#79515)
Return empty analytic settings for users that are not signed in
2023-12-14 16:17:48 +01:00
Bruno
58678f5879
Plugins: Add option to disable TLS in the socks proxy (#79246)
* Plugins: add option to disable TLS in the socks proxy

* fix allow_insecure docs

* upgrade github.com/grafana/grafana-plugin-sdk-go from v0.196.0 to v0.197.0

* fix conflicts
2023-12-14 12:16:32 -03:00
Todd Treece
d492100adc
Chore: Bump k8s dependencies to v0.29.0 (#79492)
* Chore: Bump k8s dependencies to v0.29.0

* update the openapi fork

* use post process spec

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-12-14 10:00:48 -05:00
Sarah Zinger
d4ee8c7a32
Cloudwatch: Update cloudwatchNewRegionsHandler to General Availability. (#79348)
* Cloudwatch: move cloudwatchNewRegionsHandler to General Availability.
2023-12-14 08:38:12 -05:00
Andreas Christou
f3cdb44898
Plugins: Include Azure settings as a part of Grafana config sent in plugin requests (#79342)
* Add Azure settings and update tests

* Filter by plugin ID

* Add forward settings config variable

* Update line

* Add tests

* Update so that data sources are fully defined in config

* Update SDK and test

* Fix lint

* Update docs/sources/setup-grafana/configure-grafana/_index.md

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>

* Remove unnecessary if

---------

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
2023-12-14 11:48:22 +00:00
Gábor Farkas
53863c52ca
sql: use logging functionality from plugin-sdk (#79294) 2023-12-14 09:42:06 +01:00
Santiago
23b4568597
Alerting: Send configuration and state to the remote Alertmanager on shutdown (#78682)
* Alerting: Send configuration and state to the remote Alertmanager on shutdown

* Alerting: Add a sync interval for ApplyConfig in remote secondary mode

* add routine to sync states and configs

* pass a cancellable context to syncRoutine(), remove tests for ApplyConfig, cache last config in memory

* extract logic to update config and state in the remote Alertmanager

* get latest config from the database

* avoid using separate goroutine for updating state and config

* clean up PR

* refactor, comments, tests

* update tests

* remove canceled context from calls to StopAndWait()

* create context with timeout and send config and state to remote Alertmanager

* update tests

* address code review comments
2023-12-13 22:53:09 +01:00
Ashley Harrison
d60078fc90
Navigation: Update frontend and app o11y icons (#79454)
* use frontend o11y icon when docked

* update app o11y icon
2023-12-13 18:49:04 +02:00
Julien Duchesne
884e0427e6
ngalert openapi: Add X-Disable-Provenance to missing operations (#79278)
Swagger(ngalert): Add `X-Disable-Provenance` to missing operations
I added all functions that call the `determineProvenance` function

Schema changes are from:
`make` in `pkg/services/ngalert/api/tooling`
`make swagger-clean && make openapi3-gen` in root
2023-12-13 10:55:59 -05:00
ismail simsek
03da1a3f3f
InfluxDB: Update SQL language url specification (#79408)
* accept urls with or without port

* remove redundant comment

* remove redundant function
2023-12-13 16:01:01 +01:00
Santiago
91836e7832
Alerting: Add time-based convergence in remote secondary mode (#78809)
* Alerting: Add a sync interval for ApplyConfig in remote secondary mode

* add routine to sync states and configs

* pass a cancellable context to syncRoutine(), remove tests for ApplyConfig, cache last config in memory

* extract logic to update config and state in the remote Alertmanager

* get latest config from the database

* avoid using separate goroutine for updating state and config

* clean up PR

* refactor, comments, tests

* update tests

* add config struct for remote secondary forked Alertmanager

* use errgroups for sync operations

* use waitgroup instead of errgroup

* remove helper method to sync AMs

* check for errors instead of bool syncErr
2023-12-13 13:36:17 +01:00
Juan Cabanas
a18cba0ced
PublicDashboards: Remove unsupported datasource warning for cloudwatch (#79403) 2023-12-13 09:18:29 -03:00
Kat Yang
e4738cbaf9
Chore: Remove FolderID from Dashboard Import (#78832)
* Chore: Remove FolderID from Dashboard Import

* chore: regen specs

* Remove OrgID from DashboardImportRequest and DashboardImportResponse

* Remove OrdIDs from swagger and tests

---------

Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
2023-12-13 12:03:23 +01:00
Kat Yang
43356e28e7
Chore: Remove folderID from dashboardIdentity tests (#79195) 2023-12-13 10:50:46 +01:00
Victor Marin
5aff3389f4
Table: Highlight row on shared crosshair (#78392)
* bidirectional shared crosshair table WIP

* add shared crosshair to table panel

* lower around point threshold

* add feature toggle

* add index based verification

* add adaptive threshold

* switch to debounceTime

* lower debounce to 100

* raise debounce back to 200

* revert azure dashboard

* re-render only rows list on data hover event

* further break down table component

* refactor

* raise debounce time

* fix build
2023-12-13 11:33:14 +02:00
Ben Sully
315100e2e3
Plugins: Add Grafana config to app plugin context (#79439) 2023-12-13 10:28:24 +01:00
Giuseppe Guerra
0d1d437c86
Plugins: Add forward_host_env_vars setting (#79333)
* Plugins: Add forward_host_env_vars_plugins setting

* Renamed forward_host_env_vars_plugins to forward_host_env_vars

* Add readPluginIDsList

* refactoring

* lint

* Use util.SplitString
2023-12-13 11:25:17 +02:00
William Wernert
62bdbe5b44
Annotations/Alerting: Add Loki historian store stub (#78363)
* Add Loki historian store stub

* Add composite store

* Use composite store if Loki historian enabled

* Split store interface into read/write

* Make composite + historian stores read only

* Use variadic constructor for composite

* Modify Loki store enable logic

* Use dskit.concurrency.ForEachJob for parallelism
2023-12-12 17:43:09 -05:00
Dan Cech
0c1d1c6b6e
Storage: raise errors when timestamps cannot be parsed (#79405)
* raise errors when timestamps cannot be parsed

* return partial origin info if timestamp parsing fails
2023-12-12 15:55:10 -05:00
Alexander Weaver
aa63e91a43
Alerting: Use mux router to match hooks, add support for path variables and methods (#79345)
* Use a router inside hooks rather than plain string matching

* Add test for mismatched method
2023-12-12 14:43:11 -06:00
Dan Cech
d146f4cbc7
Storage: rename uid to name and name to title (#79418)
rename uid to name and name to title
2023-12-12 15:14:55 -05:00
Julien Duchesne
f977e3faf5
ngalert swagger: Fix status code (#79415)
This endpoint returns a 202, not a 204
Let me know if we should instead change the response of the API
2023-12-12 13:40:36 -05:00
Santiago
1a5c2cb55b
Alerting: Check whether the internal Alertmanager is ready in remote secondary mode (#79406)
Alerting: Check whether the internal Alertmanager is ready in remote secondary
2023-12-12 18:33:11 +01:00
Serge Zaitsev
06d2ae3ada
Chore: Move folder sync logic into one-shot migration (#78985)
Chore: move folder sync code into one-shot migration
2023-12-12 17:13:47 +01:00
gotjosh
cc3c0a2cc2
Alerting: Refactor readiness check (#78799)
* Alerting: Refactor readiness check

Moves the readiness check to the mimir client and removes the need to assert that we have senders - it already has a queue and can hold notifications until we're ready to send them.
---------

Signed-off-by: gotjosh <josue.abreu@gmail.com>
2023-12-12 15:34:54 +00:00
Dan Cech
3482658975
Storage: Add readme for storage server (#79366)
add readme for storage server
2023-12-12 09:24:14 -05:00
Artur Wierzbicki
88fe392f8b
Storage: make it work for Postgres (#79378)
* comment out cockroachdb connection config option that does not work for postgres

* log the error instead
2023-12-12 18:10:29 +04:00
Julien Duchesne
b232c64d9a
accesscontrol swagger: Add global field to RoleDTO type (#79351)
* `accesscontrol` swagger: Add `global` field to `RoleDTO` type
The field is currently added in the MarshalJSON function so it isn't reflected in the spec
This PR sets the "static" version of the RoleDTO, that has the global field, as the swagger model

* Revert the marshalling logic
2023-12-12 08:04:25 -05:00
Santiago
57e0d6bcb5
Chore: Simplify function signature for GetLatestAlertmanagerConfiguration (#79392) 2023-12-12 13:49:54 +01:00
Joey
e00e4d9ec6
Pyroscope: Switch to sdk httpclient from infra httpclient (#79373)
Decouple httpclient
2023-12-12 11:14:26 +00:00
Ashley Harrison
7c2b3ee1af
Navigation: Update synthetics placement in IA (#79302)
* update synthetics placement in IA

* lowercase s in synthetics
2023-12-12 10:57:52 +00:00
Jo
3647ba7360
Anonymous: Add configurable device limit (#79265)
* Anonymous: Add device limiter

* break auth if limit reached

* fix typo

* refactored const to make it clearer with expiration

* anon device limit for config

---------

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-12-12 12:57:25 +02:00
Giuseppe Guerra
f76b9f266e
Plugins: Add hide_angular_deprecation setting (#79296)
* Add plugins.hide_angular_deprecation config ini

* Add more tests

* Remove the ability to use [plugins.*] hide_angular_deprecation
2023-12-12 11:20:21 +02:00
Karl Persson
69784efa35
IDForwarding: Remove dev mode restriction for feature toggle (#79358)
Remove dev mode restriction for id forwarding feature toggle
2023-12-12 09:26:45 +01:00
Ieva
19ad788333
RBAC: change annotation scopes back (#79330)
Change the annotation scopes back to what they were
2023-12-12 09:51:08 +02:00
Yuri Tseretyan
8af08d0df2
Alerting: Add export of mute timings to file provisioning formats (#79225)
* add export of mute timings to file provisioning formats
* support export of mute timings to HCL
2023-12-11 21:36:51 -05:00
Yuri Tseretyan
bf8be46e6f
SSE: Add utility methods for HysteresisCommand (#79157)
* add GetCommandsFromPipeline
* refactor method GetCommandType to func GetExpressionCommandType
* add function to create fingerprint frames
* add function to determine whether raw query represents a hysteresis command and a function to patch it with loaded metrics
2023-12-11 22:40:31 +02:00
Ryan McKinley
f69516bf47
K8s: Add resource type helper to avoid so many hardcoded names (#79344) 2023-12-11 22:03:48 +02:00
Alexander Weaver
b867505bd4
alerting: Add tests for hooks (#79284)
Add tests for hooks
2023-12-11 13:20:48 -06:00
William Wernert
4c1bf86ae1
Add Loki alert state history annotations feature toggle (#78970)
* Add no-op Loki alert state history annotations feature toggle

* Better feature toggle description

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-12-11 14:17:01 -05:00
Dan Cech
9f6144059a
Storage: Switch from tenant to namespace & remove GRN (#79250)
* remove GRN and switch tenant to namespace

* clean up remaining references

* simplify and remove inconsistency in With* parameters

* parse listing keys so we can use db index

* bump the schema version

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-12-11 12:26:05 -05:00
Jo
ce79bbba87
Anon: Enable anon stats by default (#79312)
* enable anon stats by default

* update flag
2023-12-11 15:17:50 +01:00
Gábor Farkas
5b4da3a7dc
mssql: prepare logs-handling for decouple-datasource changes (#79214)
mssql: refactor logs-handling
2023-12-11 09:14:06 +01:00
Mihai Doarna
bff2ac3627
Auth: check that oauthProvider is not nil in Logout() func (#79271)
check that oauthProvider is not nil
2023-12-08 18:13:49 +02:00
Misi
566bed6ea1
Auth: Log a warning on unparsable team ids for GitHub OAuth (#79261)
* Log warn if team ids are not integers

* Remove comment
2023-12-08 17:00:09 +01:00
Vardan Torosyan
a35146f7ed
Service account: Update last used timestamp when token is used (#79254) 2023-12-08 16:53:11 +01:00
Todd Treece
89934b0884
K8s: Merge metric registries (#79256) 2023-12-08 10:44:46 -05:00
siddhikhapare
1833539c32
Cloudwatch: Update error code metrics for ES/OpenSearch (#78990)
Update error code metrics
2023-12-08 17:16:30 +02:00
Misi
50f4e78a39
Auth: Use SSO settings service to load social connectors + refactor (#79005)
* Refactor to prevent cyclic dependencies

* Move list authorization to the API layer

* Init connectors using the SSO settings service in case the ssoSettingsApi feature toggle is enabled

* wip, need to handle the cyclic dep

* Remove cyclic dependency

* Align tests + refactor

* Move back OAuthInfo to social

* Delete pkg/login/social/constants

* Move reloadable registration to the social providers

* Rename connectors.Error to connectors.SocialError
2023-12-08 11:20:42 +01:00
Yuri Tseretyan
2be7605794
Alerting: Fix fine-grained rule access control to use 403 for authorization error (#79239)
* use 403 for authorization error
* update silences API
* add ForbiddenError to rule API responses
2023-12-07 13:43:58 -05:00
Aleksandar Petrov
1c53561521
Pyroscope: Improve label suggestions in query editor (#78861)
* Send sanitized selectors to the Pyroscope backend for LabelNames and LabelValues

* Clean LabelNames response to remove already used labels

* Improve performance after major changes

* Fix import order

* Further improve rendering performance

* Fix frontend tests

* Fix fake pyroscope client signature

* Bump pyroscope/api dependency to include start/end in LabelNames/LabelValues

* Fix issue with old queries running when using the run button

* Add generated file

* Make code more readable, add a few comments

* Format with prettier

* Fix error when assigning data

* Revert "Add generated file"

This reverts commit c4f33727b8.

* Remove leftover code

* Simplify query editor internal state objects

* Move label selector validation up, improve label filtering

* Simplify query editor state, switch to debounce to reduce rerenders

* Revert cosmetic change
2023-12-07 18:11:30 +01:00
Kat Yang
2d66d0de61
Chore: Remove FolderId from DashboardMeta (#78501)
* Chore: Remove FolderId from DashboardMeta

* chore: replace FolderId with FolderUid

* chore: fix test by adding FolderUID
2023-12-07 09:59:51 -05:00
Kat Yang
31fb38723d
Chore: Remove FolderID from DTO Folder (#78420)
* Chore: Remove FolderID from DTO Folder

* chore: add OrgID field to an instance of SaveDashboardCommand

* chore: add another OrgID to pair with the FolderUID:

* chore: add OrgId to Folder struct and expectedParentOrgIDs to testCase struct, unsure if last part is necessary

* Fix folder test, add expected orgID

* chore: regen specs

---------

Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
2023-12-07 13:56:04 +01:00
Gábor Farkas
92044a9009
postgres: refactor logs-handling (#79147)
* postgres: refactor logs-handling

* fixed unit test
2023-12-07 13:18:49 +01:00
idafurjes
550746be71
Fix capitalising Folder structs (#79207)
* Fix capitalising Folder structs

* Add swagger and fix api dashboard test

* Add swagger files with bingo installed
2023-12-07 13:15:58 +01:00
Gábor Farkas
9e71dc801d
mysql: refactor logs handling (#79148)
* mysql: refactor logs handling

* fixed unit test
2023-12-07 12:17:41 +01:00
Todd Treece
cf164145bf
K8s: Build openapi defs in production (#79182) 2023-12-07 00:06:18 +02:00
Ryan McKinley
deb8faf1e3
Storage: remove git backing for storage (#79181) 2023-12-07 00:04:13 +02:00
Ryan McKinley
9849c954a3
Chore: remove the entity kind registry (#79178) 2023-12-06 14:00:53 -08:00
Todd Treece
2a2a132c61
K8s: Refactor metrics to share k8s registry (#79106) 2023-12-06 16:34:23 -05:00
gotjosh
c631261681
Alerting: Attempt to retry retryable errors (#79161)
* Alerting: Attempt to retry retryable errors

Retrying has been broken for a good while now (at least since version 9.4) - this change attempts to re-introduce them in their simplest and safest form possible.

I first introduced #79095 to make sure we don't disrupt or put additional load on our customer's data sources with this change in a patch release. Paired with this change, retries can now work as expected.

There's two small differences between how retries work now and how they used to work in legacy alerting.

Retries only occur for valid alert definitions - if we suspect that that error comes from a malformed alert definition we skip retrying.
We have added a constant backoff of 1s in between retries.

---------

Signed-off-by: gotjosh <josue.abreu@gmail.com>
2023-12-06 20:45:08 +00:00
Todd Treece
ea36336c0a
Chore: Ensure BuildVersion is set when using CDN (#79169) 2023-12-06 15:27:08 -05:00
Dan Cech
c4c9bfaf2e
Storage: Unified Storage based on Entity API (#71977)
* first round of entityapi updates

- quote column names and clean up insert/update queries
- replace grn with guid
- streamline table structure

fixes

streamline entity history

move EntitySummary into proto

remove EntitySummary

add guid to json

fix tests

change DB_Uuid to DB_NVarchar

fix folder test

convert interface to any

more cleanup

start entity store under grafana-apiserver dskit target

CRUD working, kind of

rough cut of wiring entity api to kube-apiserver

fake grafana user in context

add key to entity

list working

revert unnecessary changes

move entity storage files to their own package, clean up

use accessor to read/write grafana annotations

implement separate Create and Update functions

* go mod tidy

* switch from Kind to resource

* basic grpc storage server

* basic support for grpc entity store

* don't connect to database unless it's needed, pass user identity over grpc

* support getting user from k8s context, fix some mysql issues

* assign owner to snowflake dependency

* switch from ulid to uuid for guids

* cleanup, rename Search to List

* remove entityListResult

* EntityAPI: remove extra user abstraction (#79033)

* remove extra user abstraction

* add test stub (but

* move grpc context setup into client wrapper, fix lint issue

* remove unused constants

* remove custom json stuff

* basic list filtering, add todo

* change target to storage-server, allow entityStore flag in prod mode

* fix issue with Update

* EntityAPI: make test work, need to resolve expected differences (#79123)

* make test work, need to resolve expected differences

* remove the fields not supported by legacy

* sanitize out the bits legacy does not support

* sanitize out the bits legacy does not support

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* update feature toggle generated files

* remove unused http headers

* update feature flag strategy

* devmode

* update readme

* spelling

* readme

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-12-06 15:21:21 -05:00
gotjosh
07915703fe
Revert "Alerting: Attempt to retry retryable errors" (#79158)
Revert "Alerting: Attempt to retry retryable errors (#79037)"

This reverts commit 3e51cf0949.
2023-12-06 19:12:01 +00:00
gotjosh
3e51cf0949
Alerting: Attempt to retry retryable errors (#79037)
* Alerting: Attempt to retry retryable errors

Currently in a draft state, but this was the minimal diff I could put together to exemplify how could achieve this.

Signed-off-by: gotjosh <josue.abreu@gmail.com>

---------

Signed-off-by: gotjosh <josue.abreu@gmail.com>
2023-12-06 16:35:22 +00:00
Yuri Tseretyan
7e331c8507
Alerting: Support for condition field in /api/v1/eval (#79032)
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2023-12-06 11:28:43 -05:00
Eric Leijonmarck
a9a18a4b6d
Team LBAC: Remove default rules of lbac rules (#77946)" (#78188)
This reverts commit 944593c4d5.

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2023-12-06 14:52:05 +01:00
Mihai Doarna
d7641b0ecb
Auth: encrypt secrets for oauth providers in SSO settings API service (#79081)
encrypt secrets for oauth providers
2023-12-06 14:37:10 +02:00
ismail simsek
c088d003f2
InfluxDB: Implement InfluxQL json streaming parser (#76934)
* Have the first iteration

* Prepare bench testing

* rename the test files

* Remove unnecessary test file

* Introduce influxqlStreamingParser feature flag

* Apply streaming parser feature flag

* Add new tests

* More tests

* return executedQueryString only in first frame

* add frame meta and config

* Update golden json files

* Support tags/labels

* more tests

* more tests

* Don't change original response_parser.go

* provide context

* create util package

* don't pass the row

* update converter with formatted frameName

* add executedQueryString info only to first frame

* update golden files

* rename

* update test file

* use pointer values

* update testdata

* update parsing

* update converter for null values

* prepare converter for table response

* clean up

* return timeField in fields

* handle no time column responses

* better nil field handling

* refactor the code

* add table tests

* fix config for table

* table response format

* fix value

* if there is no time column set name

* linting

* refactoring

* handle the status code

* add tracing

* Update pkg/tsdb/influxdb/influxql/converter/converter_test.go

Co-authored-by: İnanç Gümüş <m@inanc.io>

* fix import

* update test data

* sanity

* sanity

* linting

* simplicity

* return empty rsp

* rename to prevent confusion

* nullableJson field type for null values

* better handling null values

* remove duplicate test file

* fix healthcheck

* use util for pointer

* move bench test to root

* provide fake feature manager

* add more tests

* partial fix for null values in table response format

* handle partial null fields

* comments for easy testing

* move frameName allocation in readSeries

* one less append operation

* performance improvement by making string conversion once

pkg: github.com/grafana/grafana/pkg/tsdb/influxdb/influxql
             │ stream2.txt │            stream3.txt             │
             │   sec/op    │   sec/op     vs base               │
ParseJson-10   314.4m ± 1%   303.9m ± 1%  -3.34% (p=0.000 n=10)

             │ stream2.txt  │             stream3.txt              │
             │     B/op     │     B/op      vs base                │
ParseJson-10   425.2Mi ± 0%   382.7Mi ± 0%  -10.00% (p=0.000 n=10)

             │ stream2.txt │            stream3.txt             │
             │  allocs/op  │  allocs/op   vs base               │
ParseJson-10   7.224M ± 0%   6.689M ± 0%  -7.41% (p=0.000 n=10)

* add comment lines

---------

Co-authored-by: İnanç Gümüş <m@inanc.io>
2023-12-06 12:39:05 +01:00
Ryan McKinley
3299809977
Chore: remove unused math function (#79120) 2023-12-06 01:38:48 -08:00