36486 Commits

Author SHA1 Message Date
50ae42130b Alerting: take datasources as external alertmanagers into consideration (#52534) 2022-07-20 16:50:49 +02:00
Jo
5c4aa4a7ac OAuth: Allow role mapping from GitHub and GitLab groups (#52407)
* OAuth: Add extract role support to github

OAuth: correct github errors

Oauth: add github tests

Oauth: Allow mapping via group memberships

Oauth: Add markdown instructions to the new mappers

fix lint

* Apply suggestions from code review

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Vardan Torosyan <vardants@gmail.com>

* Apply suggestions from code review

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2022-07-20 10:32:04 -04:00
01d561224c TopNav: Updates to create service account page and invite user (#52480)
* Simplify logic to support both navs

* Added new file
2022-07-20 16:02:25 +02:00
b42ac8a211 github: add issues to logs-squad based on labels (#52533) 2022-07-20 10:01:02 -04:00
becd895244 display dashboard settings to users who are allowed to edit the dashboard (#52532) 2022-07-20 13:53:36 +00:00
3b6cef9dfa CI: Refactor/Reorder *.star files (#52384)
* Refactor test pipelines

* Move pr, main and release starlark files under scripts/drone/event

* Move cron.star to scripts/drone/events

* Further unused code removal

* Introducing build.star

* Extract verify_drone.star

* Extract windows.star

* Extract publish.star

* Remove unused code

* Fix formatting in main.star
2022-07-20 09:43:19 -04:00
c8be92e827 CloudMonitoring: add tests around experimental UI (#52487)
* CloudMonitoring: add tests around experimental UI

I also reworked the annotation query editor UI a little bit to bring it
inline with how AzureMonitor's query editor looks.

Closes #44431
2022-07-20 13:40:55 +00:00
f7c5eceb21 Chore: Update to the latest grafana-plugin-sdk-go and more swagger fixes (#52445)
* Fix get legacy alert response

* Swagger: Fix get folder by UID response

* Fix conflicting swagger model Alert

Reanme legacy alerting swagger model to LegacyAlert to differentiate it
from the prometheus Alert

* Bump grafana-plugin-sdk-go

* Fix get folder response

* Use go-swagger command for merging the specifications and remove merge_specs script
2022-07-20 16:09:42 +03:00
d3d8fdd878 Chore: Move user errors to user service (#52460)
* Move user not found err to user service

* User ErrCaseInsensitive from user pkg

* User ErrUserAlreadyExists from user pkg

* User ErrLastGrafanaAdmin from user pkg

* Remove errors from model
2022-07-20 14:50:06 +02:00
78f26a079c Chore: Upgrade to Go version 1.17.12 (#52523) 2022-07-20 14:27:44 +02:00
98d41f0bf8 Table: Fix type safety (#52525) 2022-07-20 05:26:04 -07:00
813f18b990 Canvas: Fix selecto box offset placement #52489 2022-07-20 04:28:02 -07:00
66f941adb8 RBAC: Add RBAC for data source insights (#51496) 2022-07-20 12:54:26 +02:00
47678cd087 CI; Update Dockerfile for grafana/grafana-ci-deploy container (#52516)
* Use python 3.7 for gcloud

* Update comment for reference

* Update image version

* Update gcloud components
2022-07-20 06:34:09 -04:00
6cab909132 Loki: Fix show context not working in some occasions (#52458)
* added missing `languageProvider.start` call

* moved `languageProvider.start`
2022-07-20 12:28:11 +02:00
0633840777 GrafanaUI: Add success state to ClipboardButton (#52069)
* User Experience: apply the same pattern feedback for all copy to clipboard buttons

* add copy icon to all ClipboardButton use cases

* Change primary color for copy to clipboard in create token

* Add success button variant

* Remove copy confirmation from TableCellInspectModal because it's in the base component now

* Design tweaks to copy confirmation

 - Only change the icon to tick to avoid the button changing size
 - Change button to success green
 - Only show copy confirmation state for 2 seconds

* revert TabelCellInspectModal text button back

* revert accidental change to ShareLink

Co-authored-by: joshhunt <josh@trtr.co>
2022-07-20 10:33:46 +01:00
ba76be174f Access control: Fix org user removal for OSS users (#52473)
* allow setting team managed permissions for service accounts

* Revert "allow setting team managed permissions for service accounts"

This reverts commit 75986263976e33399c0ea94682905e0a274bc7e4.

* fix org user removal for OSS

* remove comment
2022-07-20 10:18:41 +01:00
2538fca53a Azure Monitor: Add support for Metric Names variables (#52322)
* Azure Monitor: Add support for Metric Names variables

* Azure Monitor: Add support for Workspaces variables (#52323)
2022-07-20 11:04:01 +02:00
d6d49d8ba3 DataSources: refactor datasource pages to be reusable (#51874)
* refactor: move utility functions out of the redux actions

* refactor: move password handlers to the feature root

* refactor: move API related functions to an api.ts

* refactor: move components under a /components folder

* refactor: move page containers under a /pages folder and extract components

* refactor: update mocks to be easier to reuse

* refactor: move tests into a state/tests/ subfolder

* refactor: expose 'initialState' for plugins

* refactor: move generic types to the root folder of the feature

* refactor: import path fixe

* refactor: update import paths for app routes

* chore: update betterer

* refactor: fix type errors due to changed mock functions

* chore: fix mocking context_srv in tests

* refactor: udpate imports to be more concise

* fix: update failing test because of mocks

* refactor: use the new `navId` prop where we can

* fix: use UID instead ID in datasource edit links

* fix:clean up Redux state when unmounting the edit page

* refactor: use `uid` instead of `id`

* refactor: always fetch the plugin details when editing a datasource

The deleted lines could provide performance benefits, although they also make the
implementation more prone to errors. (Mostly because we are storing the information
about the currently loaded plugin in a single field, and it was not validating if it
is for the latest one).

We are planning to introduce some kind of caching, but first we would like to clean up
the underlying state a bit (plugins & datasources.

* fix: add missing dispatch() wrapper for update datasource callback

* refactor: prefer using absolute import paths

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

* fix: ESLINT import order issue

* refactor: put test files next to their files

* refactor: use implicit return types for components

* fix: remove caching from datasource fetching

I have introduced a cache to only fetch data-sources once, however as we
are missing a good logic for updating the instances in the Redux store
when they change (create, update, delete), this approach is not keeping the UI in sync.
Due to this reason I have removed the caching for now, and will reintroduce it once we have a
more robust client-side state logic.

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-07-20 09:25:09 +02:00
9f4683b3d0 Dashboard: Fix iteration property change triggering unsaved changes warning (#51272) 2022-07-20 03:41:54 +02:00
3bc13e2335 Public Dashboards: Add Public Tag to Dashboard Title (#52351)
Adds Public tag to dashboard title when it has an enabled public dashboard
2022-07-19 17:44:41 -06:00
acd85314b3 Secrets: Add logging to track secrets migration (#52481)
* add logging to track migration

* fix lint problem
2022-07-19 16:36:51 -04:00
20907d0635 Adds documentation for public dashboards under the dashboards section. (#52126)
Adds documentation for public dashboards
2022-07-19 13:19:40 -06:00
a8ddea0d35 Update upgrade-grafana.md (#52406)
fixed the broken link for the release notes
2022-07-19 14:14:56 -05:00
b29045b57b FolderPage: Improve folder page to work with new nav breadcrumbs and modify Dashboard page show path based breadcrumbs" (#52428)
* FolderPage: Progress on folder page navigation

* Dashboard to adapt breadcrumbs when opening dashboard from file storage

* add warning when topnav is not enabled

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-07-19 20:41:27 +02:00
79d92aa03e Alerting: Rename sender.Sender to sender.ExternalAlertmanagers (#52463) 2022-07-19 14:04:48 -04:00
146c90d59e CloudWatch: fix log explorer context (#52118) 2022-07-19 13:59:30 -04:00
e1785f4eb4 Secret migration from Sql KV Store to Secret Plugin (#52191)
* Created PluginSecretMigrationService to be able to migrate from the secrets table from the database to the secret plugin. Added migration which takes all the secrets at the sql store and stores it in the plugin. Then deletes all the secrets from the sql
* Added secretsKVStoreSQL.GetAll() method to return all the secrets at the sql table
* Renaming kvstore_test.go as sql_test.go, adding GetAll test case. Fixing decryption of keys
2022-07-19 14:42:23 -03:00
b742e80930 Tree navigation in inline editor (#52427) 2022-07-19 12:37:37 -05:00
dfce454eca StyleGuide: Update frontend style guide (#52471)
We should not explicitly type the return type for React functional components.
2022-07-19 19:12:11 +02:00
094dfd0d4d Alerting: Fix Slack push notifications (#52391)
This commit fixes push notifications for Slack which used to show "This content cannot be displayed". The text field is shown in both the message and the push notification.
2022-07-19 17:42:24 +01:00
c087198b1b Loki: Fix adding of multiple label filters when parser (#52335)
* Loki: Fix adding multiple filters

* Update logic in sorting
2022-07-19 18:08:55 +02:00
39d7fdbbbc Alerting: Preserve new-lines from custom email templates in rendered email (#52253)
* Add line break, regenerate, and fix

* Left-align custom text in addition to preserving newlines
2022-07-19 11:05:50 -05:00
16f813fc04 Scene: Fixing state issue with useState when SceneObject instance changes (#52372)
* ScenePanelRepeater: Fixes refreshes temporarily by setting key to guid

* Fixing issue with old state being returned by useState when the scene object instance changed (with same react key)
2022-07-19 17:47:59 +02:00
8d92417a16 Scenes: Improve typing of scene state to avoid type guards and casting (#52422)
* Trying to get rid of type guard but failing

* Improve typing of scene object state

* Fixed wrongly renamed event

* Tweaks
2022-07-19 17:46:49 +02:00
6483914815 ServiceAccounts: Updates the service accounts list page to look good in new top nav design (#52425) 2022-07-19 17:46:04 +02:00
0142c8ccd1 Dashboard Links: Fix styles for very long dashboard titles (#52443) 2022-07-19 16:15:59 +01:00
3bdec4d138 Storage: remove orgId from sql config (#52426) 2022-07-19 08:13:26 -07:00
529289268b Docker: Install git in grafana/grafana-ci-deploy image (#52466)
* Install git in grafana/grafana-ci-deploy image

* Bump grafana/grafana-ci-deploy version
2022-07-19 11:04:16 -04:00
e0a58300ac Public Dashboards: count public dashboards view requests (#52419) 2022-07-19 11:50:37 -03:00
0300b1c674 Storage: branding access (#52412)
* Storage: add special users for system branding access

* Storage: explicit global org id

* Storage: initialize org storages with global org id

* Storage: add comments

* Storage: simplify - use orgId: 1 for systembranding
2022-07-19 18:47:11 +04:00
2b7fe7251c Docs: Update query caching support (#50706)
* Docs: Update query caching support

* Update query-caching.md
2022-07-19 16:23:44 +02:00
c061b66d5f Chore: Split delete user method (#52216)
* Remove user from preferences, stars, orguser, team member

* Fix lint

* Add Delete user from org and dashboard acl

* Delete user from user auth

* Add DeleteUser to quota

* Add test files and adjust user auth store

* Rename package in wire for user auth

* Import Quota Service interface in other services

* do the same in tests

* fix lint tests

* Fix tests

* Add some tests

* Rename InsertUser and DeleteUser to InsertOrgUser and DeleteOrgUser

* Rename DeleteUser to DeleteByUser in quota

* changing a method name in few additional places

* Fix in other places

* Fix lint

* Fix tests

* Chore: Split Delete User method

* Add fakes for userauth

* Add mock for access control Delete User permossion, use interface

* Use interface for ream guardian

* Add simple fake for dashboard acl

* Add go routines, clean up, use interfaces

* fix lint

* Update pkg/services/user/userimpl/user_test.go

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

* Update pkg/services/user/userimpl/user_test.go

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

* Update pkg/services/user/userimpl/user_test.go

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

* Add wrapper for not service account error

* fix indentation

* Use fmt for error wrapper

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-07-19 16:01:05 +02:00
39025bb4cd add logs to debug failing migration (#52447) 2022-07-19 09:34:49 -04:00
054fe54b03 Alerting: Split Scheduler and AlertRouter tests (#52416)
* move fake FakeExternalAlertmanager to sender package
* move tests from scheduler to router
* update alerts router to have all fields private
* update scheduler tests to use sender mock
2022-07-19 09:32:54 -04:00
Leo
c60487fdbf Plugins: Convert BarGaugePanel to RTL (#52423)
* Plugins: Convert bargaugepanel tests to RTL

* Chore: Improved test methods used in BarGaugePanel
2022-07-19 14:17:22 +02:00
49311e1cfb Legend: Right align calculation values (#52400) 2022-07-19 14:07:27 +02:00
e0d1af1867 Remove volumes from build-e2e pipeline on main (#52386) 2022-07-19 14:38:43 +03:00
e6b9ded949 API: Add service account routes to the swagger (#52398)
* API: Add service account routes to the swagger
2022-07-19 12:52:51 +03:00
a0f96ed4e1 SQLStore: Support Upserting multiple rows. (#52228)
This will be used to reduce write load when the alerting system writes a
large number of events.
2022-07-19 16:42:48 +08:00