Commit Graph

5867 Commits

Author SHA1 Message Date
ying-jeanne 375e8e4fd0 SQLStore: customise the limit of retrieved datasources per organisation (#29358)
* SQLStore: customise the limit of retrieved datasources per organisation

* update all suggestions regarding nil or 0 as default

* Apply suggestions from code review

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>

* correct default.ini description + adding unittest

* Apply suggestions from code review

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

* modify unittest name

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2020-12-28 12:24:42 +01:00
Tania B 551f96089b Remove the bus from teamgroupsync (#29810)
* Add fake TeamSyncService

* Change SyncTeams dispatch to direct method call

* Remove SyncTeamsCommand struct

* Move TeamSyncService to a separate package

* Remove context from SyncTeams args

* Add comments to teamsyncgroup package

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>

* Replace TeamSyncService with TeamSyncFunc

* Remove unnecessary error check

* Add a test

* Fix test input

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2020-12-23 14:42:20 +02:00
Hugo Häggmark 40d17af2e3 PanelLibrary: Add PATCH to the API (#29956)
* PanelLibrary: Adds uid and renames title to name

* Chore: removing lines

* PanelLibrary: Adds update to api

* Update pkg/services/librarypanels/librarypanels_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/librarypanels/database.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/librarypanels/librarypanels_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/librarypanels/librarypanels_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/librarypanels/librarypanels_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Chore: changes after PR comments

* Replace references to put with patch

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-23 12:42:52 +01:00
Arve Knudsen be62dc4d2f librarypanels: Fix JSON field casing in tests (#29954)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-22 14:52:43 +01:00
Hugo Häggmark 35a755fe50 PanelLibrary: Adds uid and renames title to name (#29944)
* PanelLibrary: Adds uid and renames title to name

* Chore: removing lines

* Chore: updates comments

* Chore: changes after PR comments
2020-12-22 12:00:41 +01:00
Arve Knudsen 216b6b01f4 RedirectResponse: Implement all of api.Response (#29946)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-21 13:44:22 +01:00
Hugo Häggmark 433b861093 PanelLibrary: Adds get and getAll to the api (#29772)
* PanelLibrary: Adds get to the API

* Refactor: adds tests for get and getAll and cleans up other tests

* Refactor: changed name on DTO

* Update pkg/services/librarypanels/api.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/librarypanels/database.go
2020-12-21 09:40:27 +01:00
Emil Hessman e598c9e6d9 Chore: Remove duplicate interpolateString test (#29941) 2020-12-21 07:53:31 +01:00
Emil Hessman 5c0094feef Chore: Rewrite influxdb query parser test to standard library (#29940) 2020-12-21 07:51:46 +01:00
Emil Hessman 19b2845581 Chore: Convert tsdb request test to standard library (#29936)
* Chore: Convert tsdb request test to standard library

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-20 11:53:28 +01:00
Emil Hessman 408c96fee3 Chore: Convert tsdb interval test to standard library (#29935) 2020-12-20 09:43:06 +01:00
Sofia Papagiannaki 3cac10e598 AlertingNG: Create a scheduler to evaluate alert definitions (#29305)
* Always use cache: stop passing skipCache among ngalert functions

* Add updated column

* Scheduler initial draft

* Add retry on failure

* Allow settting/updating alert definition interval

Set default interval if no interval is provided during alert definition creation.
Keep existing alert definition interval if no interval is provided during alert definition update.

* Parameterise alerting.Ticker to run on custom interval

* Allow updating alert definition interval without having to provide the queries and expressions

* Add schedule tests

* Use xorm tags for having initialisms with consistent case in Go

* Add ability to pause/unpause the scheduler

* Add alert definition versioning

* Optimise scheduler to fetch alert definition only when it's necessary

* Change MySQL data column to mediumtext

* Delete alert definition versions

* Increase default scheduler interval to 10 seconds

* Fix setting OrgID on updates

* Add validation for alert definition name length

* Recreate tables
2020-12-17 16:00:09 +02:00
Will Browne af47d28499 Alerting: Copy frame field labels to time series tags (#29886)
* Alerting: Copy frame field labels to time series tags

* keep comment

* add test case
2020-12-16 18:07:45 +01:00
Vardan Torosyan de22374751 Usage Stats: Introduce an interface for usage stats service (#29882)
Adding an interface type for usage stats service allows us to not depend on the implementation outside of the package, for example when testing we can easily mock the service
2020-12-16 16:12:02 +01:00
Vardan Torosyan fac34f65c9 Usage Stats: Allow to add additional metrics to the stats (#29774)
The change allows to add external, additional metrics which will be reported with the rest of hardcoded metrics, allowing to add metrics without a need to change the service itself.
2020-12-16 12:44:33 +01:00
Arve Knudsen dd2d206d99 Backend: Remove more globals (#29644)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-15 19:09:04 +01:00
Arve Knudsen c2cad26ca9 Chore: Disable default golangci-lint filter (#29751)
* Disable default golangci-lint filter

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Chore: Fix linter warnings

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-15 09:32:06 +01:00
Kyle Brandt c6b11a8f90 Expressions: support ${my var} syntax (#29819) 2020-12-14 14:21:16 -05:00
Arve Knudsen 3fdf4be529 Chore: Enable more go-ruleguard rules (#29781)
* Chore: Enable more go-ruleguard rules

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-14 15:51:59 +01:00
Arve Knudsen ac09baae7d Chore: Use Header.Set method instead of Header.Add (#29804)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-14 15:13:01 +01:00
Emil Hessman cedaf41a36 Chore: Rewrite opentsdb test to standard library (#29792) 2020-12-14 09:33:25 +01:00
Benjamin Häringer 2b5a88bf8c CloudWatch: Add support for AWS DirectConnect ConnectionErrorCount metric (#29583) 2020-12-14 10:02:16 +02:00
Peter Holmberg 6118ab415d Alerting: Next gen Alerting page (#28397)
* create page and sidebar entry

* add components for query editor and definition

* split pane things

* add reducer and action

* implement split pane and update ui actions

* making things pretty

* Unify toolbar

* minor tweak to title prefix and some padding

* can create definitions

* fix default state

* add notificaion channel

* add wrappers to get correct spacing between panes

* include or exclude description

* implement query editor

* start on query result component

* update from master

* some cleanup and remove expressions touch ups

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2020-12-11 14:49:14 +01:00
Kyle Brandt 67372378ac Expressions: Field names from refId (#29755)
so one can see which expression data came from when visualizing
2020-12-11 06:59:12 -05:00
Will Browne a515c54404 Plugins: Add support for signature manifest V2 (#29240)
* add support for signing manifest v2

* add log and fix var name

* shorten comment

* improve comment

* remove unnecessary param

* improve naming

* reformat

* rename var

* refactor test

* remove unnecessary assert

* simplify test requirements

* add more test cases

* address feedback

* revert naming

* flip tracking missing

* fix check

* Trigger Build
2020-12-11 12:57:57 +01:00
Arve Knudsen e2351f7951 Chore: Configure go-ruleguard via golangci-lint (#28419)
* Chore: Configure go-ruleguard via golangci-lint

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-11 11:45:17 +01:00
Arve Knudsen 12661e8a9d Move middleware context handler logic to service (#29605)
* middleware: Move context handler to own service

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Emil Tullsted <sakjur@users.noreply.github.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2020-12-11 11:44:44 +01:00
Hugo Häggmark 47afe1fa42 PanelLibrary: Adds delete Api (#29741)
* PanelLibrary: Adds delete

* Chore: fixes some comments

* Chore: changes after PR comments

* Refactor: deletes from correct org
2020-12-11 06:08:32 +01:00
Jeremy Alvis f021f97c31 DataSourceSettings: Add servername field to DataSource TLS config (#29279)
* DataSourceSettings: Add servername field to DataSource TLS config

A DNS lookup URL can be provided in the DataSource URL field in order
to dynamically load balance between multiple instances of a DataSource.
When using mutual TLS, Golang's TLS config implementation checks that
the certificate's common name (< 1.15) or subject alternative name
(>= 1.15) has the same value as the domain being accessed. If the DNS
entry is dynamically generated for a specific environment, the
certificate cannot be generated with a name matching the dynamic
DNS URL. As such, Golang offers a servername field that can be set to
overwrite what value is used when checking against the certificate's
common name (or subject alternative name). Without this change, Skip
TLS Verify must be set to true in order for the DataSource to work,
removing some of the benefits gained by using mutual TLS.

This commit adds the ability to set Grafana's internal Golang TLS config
servername field from the UI or a provisioned DataSource.

The servername field is optional and the existing behavior is retained if
the field is not set.

Co-authored-by: Dana Pruitt <dpruitt@vmware.com>
Co-authored-by: Jeremy Alvis <jalvis@pivotal.io>

* Update docs with PR review changes

Co-authored-by: Jeremy Alvis <jalvis@pivotal.io>
Co-authored-by: Dana Pruitt <dpruitt@vmware.com>

* Update with additional PR requested changes

* Minor updates based on PR change requests

Co-authored-by: Dana Pruitt <dpruitt@vmware.com>
2020-12-10 16:07:05 +01:00
Arve Knudsen 8b21290164 Chore: Disable gosec on certain line (#29382)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-10 11:53:21 +01:00
Domas 70d68c156d Logging: log frontend errors caught by ErrorBoundary, including component stack (#29345)
* log component stack on error boundary

* test for error boundary

* PR feedback fixes
2020-12-10 10:50:37 +01:00
Domas 7d9a528184 Logging: rate limit fronted logging endpoint (#29272)
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2020-12-09 16:22:24 +01:00
Agnès Toulet 924212b42b API: add Status() to RedirectResponse (#29722) 2020-12-09 15:08:53 +01:00
Hugo Häggmark 941ba1d2f7 PanelLibrary: Adds api and db to create Library/Shared/Reusable Panel (#29642)
* PanelLibrary: Adds panellib table

* Refactor: removes drop table migration

* Refactor: fixes spelling mistake

* Refactor: changes after PR comments

* Refactor: some more renames

* PanelLibrary: Adds api and db to create Library/Shared/Reusable Panel

* Refactor: reverts SqlStore change and uses RegisterOverride instead

* Refactor: fixes lint error

* Refactor: fixes imports

* Refactor: reverts unintentional changes

* Refactor: Adds repository

* Revert "Refactor: Adds repository"

This reverts commit 4c46e8a6c4.

* Refactor: changes after PR comments

* Refactor: Simplfies further

* Chore: fixes linting

* Chore: Changes after PR comments

* Update pkg/services/librarypanels/api.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Chore: fixes import after commited suggestion

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-09 13:10:18 +01:00
Will Browne 31d64d9074 Auth: Add SigV4 header allowlist to reduce chances of verification issues (#29650)
* enforce allowlist

* fix default auth selection

* add Host and comment
2020-12-09 10:45:57 +01:00
Will Browne 3de091edf1 Alerting: Use correct time series name override from frame fields (#29693)
* cater for empty labels and new DisplayNameFromDS field

* simplify

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* increase priority for ds display name

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-08 22:04:05 +01:00
Dafydd af3c0fe602 Bugfix 29848: Remove annotation_tag entries as part of annotations cleanup (#29534)
closes https://github.com/grafana/grafana/issues/29484
2020-12-08 19:41:35 +01:00
Carl Bergquist 609d61dece Adds go dep used by an Enterprise feature. (#29645)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2020-12-08 16:22:24 +01:00
Carl Bergquist e1d5fc8627 instrumentation: align label name with our other projects (#29514)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2020-12-08 14:26:07 +01:00
ying-jeanne 9668c172b3 CloudWatch: namespace in search expression should be quoted if match exact is enabled #29109 (#29563) 2020-12-08 12:37:07 +01:00
Kyle Brandt 46d1c99e2c Expr: fix time unit typo in ds queries (#29668) 2020-12-07 16:14:22 -05:00
Kyle Brandt 311b563c9b Expr: make reduction nan/null more consistent (#29665) 2020-12-07 15:07:18 -05:00
Kyle Brandt da32cef4ae Expr: fix func argument panic (#29663)
would get wrong type for reflect
2020-12-07 13:58:20 -05:00
Kyle Brandt 6d64c603c2 Expr: fix failure to execute due to OrgID (#29653)
* Expr: fix failure to execute due to OrgID
Get orgID from the plugin context, which makes more sense anyways.
makes expressions work again after https://github.com/grafana/grafana/pull/29449 changes.

* Do not save organisation on its alert query model

Co-authored-by: Sofia Papagiannaki <sofia@grafana.com>
2020-12-07 10:30:38 -05:00
Tania B c869ae5791 Support svg embedded favicons in whitelabeling (#29436)
* Fix favicon embedding in whitelabeling

* Fix formatting
2020-12-07 12:23:53 +02:00
Emil Hessman a5e43535b3 Chore: Rewrite tsdb sql engine test to standard library (#29590)
* Chore: Rewrite tsdb sql engine test to standard library

Signed-off-by: Emil Hessman <emil@hessman.se>
2020-12-07 09:10:33 +01:00
Ryan McKinley 752d4ed941 Cloudwatch: session cache should use UTC consistently (#29627) 2020-12-04 12:44:16 -08:00
Agnès Toulet d92beeee3d API: add ID to snapshot API responses (#29600)
* API: add ID to snapshot API responses

* API: update snapshot tests
2020-12-04 16:22:58 +01:00
Torkel Ödegaard 3d6380a0aa QueryGroup & DataSourceSrv & DataSourcePicker changes simplify usage, error handling and reduce duplication, support for uid (#29542)
* Starting moving more stuff into data source picker

* WIP progress

* Progress on datasource picker rethink

* Things are working now some details to figure out

* Removed commented part

* Complex work on getting data source lists

* Fixed variable support showing correct data sources

* Tried fixing dashboard import but failed

* Fixes

* Fixed import dashboard

* Fixed unit test

* Fixed explore test

* Fixed test

* Fix

* fixed more tests

* fixed more tests

* fixed showing which option is default in picker

* Changed query variable to use data source picker, updated tests and e2e

* Fixed more tests

* Updated snapshots, had wrong typescript version
2020-12-04 14:24:55 +01:00
Arve Knudsen 4e0ad50102 middleware: Make scenario test functions take a testing.T argument (#29564)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-04 11:09:32 +01:00