Compare commits

...

2463 Commits

Author SHA1 Message Date
Giuseppe Guerra bd6b2f65f9 Settings: Allow setting feature toggles via GF_FEATURE_TOGGLES_<feature_name> env vars 2024-07-08 13:07:06 +02:00
Ashley Harrison 675457fb10 Select: Better styling for virtualized group separators (#90127)
* better styling for group separators

* update comment

* revert back to 37
2024-07-08 10:32:15 +01:00
Santiago aaf23c64c3 Alerting: Allow remote Alertmanager integration tests to fail (#88664)
* Alerting: Allow remote Alertmanager integration tests to fail

* format drone

* rebase from main

* the wait-for container needs canFail more than the acutal integration-tests container

---------

Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
2024-07-06 18:39:45 +02:00
antonio e061f2886f alerting/integrations:opsgenie (#90133)
* alerting/integrations:opsgenie

* Update _index.md

* new line

* all pretty no pity

* numbering

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-opsgenie.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-opsgenie.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update configure-opsgenie.md

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-07-06 11:38:25 +02:00
Kim Nylander 863c9fc34e [DOC] Update the Pyroscope data source config doc (#89648)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-07-05 14:37:02 -04:00
Todd Treece 5f9ce12542 K8s: Generic watch tests (#90023) 2024-07-05 21:17:20 +03:00
Steve Simpson e9fd191065 Alerting: Fix some status codes returned from provisioning API. (#90117)
The contact point deletion API was returning 500 when it should have been
returning a 4xx error, when the contact point is in use:

- When in use by a notificiation policy, we were missing
  the `.Errorf("")` to convert `errutil.Base` into `errutil.Error`.
- When in use by an alert rule, an regular error was returned.
2024-07-05 19:06:37 +02:00
Gilles De Mey 650616a404 Alerting: Support utf8_strict_mode: false in Mimir (#90092) 2024-07-05 17:17:45 +02:00
Victor Marin f88bf474bd Fix panel paste button in nav toolbar (#90143)
fix panel paste button in nav toolbar
2024-07-05 17:58:55 +03:00
Alex Khomenko 22df2d9b06 BrowseDashboards: Fix starred toggle (#90138) 2024-07-05 17:11:03 +03:00
Ashley Harrison 680f5ed2cc Chore: More SCSS cleanup (#90132)
* convert TagBadge to a functional component

* migrate label and label-tag styles to TagBadge

* migrate filter-table to emotion globals

* migrate query-part styles to emotion globals

* move tag color to be an inline style
2024-07-05 14:33:43 +01:00
Oscar Kilhed 1f90784a83 Dashboard scene: Ignore repeat row process for non multi variables. (#90107)
* Ignore row repeat process for non multi value variables

* Reverse if statement to avoid non needed negation
2024-07-05 15:12:06 +02:00
Alex Khomenko 7111c52e4c Nav: Add items to saved (#89908)
* App events: Add info notification type

* Revert state

* Use info alert

* Nav: Enable saving items

* Use local state

* Use RTK query

* Revert go.work

* Revert

* User-specific queries

* Add memo

* Fix base URL

* Switch to ids

* Fix memo

* Add codeowners

* Generate API

* Separate user prefs API

* Remove tag

* Update export

* Use feature toggle
2024-07-05 16:01:10 +03:00
Alexander Zobnin 7bf8375b02 Zanzana: Add basic metrics for evaluation time and status (#90125)
* Zanzana: Add basic metrics for evaluation time and status

* only init when feature enabled

* add todo
2024-07-05 14:53:40 +02:00
Leonor Oliveira ec6a939815 Compare results when reading/writing between unified_storage and legacy (#89773)
* Compare results when reading/writing between unified_storage and legacy

* Always use name when comparing objects

* Compare on get method

* Update pkg/apiserver/rest/dualwriter.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Add new metric to count how many times we read from legacy in mode 2

* Move counter

* Add name in mode1

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-07-05 14:01:05 +02:00
Josh Hunt 1b3597d795 E2C: Empty and Loading snapshot states (#90043)
* E2C: Empty and Loading snapshot states

* fix responsive
2024-07-05 12:32:45 +01:00
Ieva e9ebb6eaa4 Folders: Fix folder pagination for cloud instances with many folders (#90008)
* filter the k6 folder out in the SQL queries rather than during post processing to ensure that the correct number of results is always returned

* linting
2024-07-05 11:19:03 +01:00
Misi 4f06568f8a Auth: Add support for escaping colon characters in org_mapping (#89951)
* Split org_mapping correctly if it contains multiple colons

* Improve tests

* Use backslash as an escape character for colons

* Cleanup, address feedback

* Change test to use double quotes as an example
2024-07-05 13:06:25 +03:00
Karl Persson 7a78ad3893 Authn: Remove response writer from auth req (#90110)
Authn: Remove response writer from request
2024-07-05 11:42:12 +02:00
Alexander Zobnin 87d86e81ce Zanzana: Evaluate permissions alongside with RBAC engine (#90064)
* Zanzana: Evaluate permissions if feature flag enabled

* Fix tests

* adjust logs

* fix spelling

* remove unused

* only evaluate implemented resources

* refactor
2024-07-05 11:31:23 +02:00
Mihai Doarna 48e6e9a36c LDAP: Compute values when reloading LDAP settings (#90059)
* compute values when reloading LDAP settings

* remove grafana-cli/logger dependency

* export defaultTimeout from ldap package

* add server host to logs
2024-07-05 11:58:50 +03:00
Mihai Doarna dfabc878f3 LDAP: Remove duplicate code (#90066)
remove duplicate readConfig() function from LDAP
2024-07-05 11:18:37 +03:00
antonio 8bc8b4b31f alerting/integrations:telegram-update (#90105)
* alerting/integrations:telegram-update

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-07-05 10:18:15 +02:00
Mihai Doarna e299621766 LDAP: Fix LDAP config cache (#89998)
* initialize LDAP config cache

* check err is nil

* return the config from cache only if the config file has not been modified

* rename var from test
2024-07-05 11:10:52 +03:00
Mihai Doarna e7780c9c9c SSO: Add more LDAP config validations for SSO settings (#90036)
add more LDAP config validations for SSO settings
2024-07-05 10:48:34 +03:00
Misi f337da8e57 Chore: Add more context to logs of OAuthToken and OAuthTokenSync (#90071)
Chore: Add more context to oauth token sync
2024-07-05 09:37:36 +02:00
Andre Pereira 315e068190 Navbar: Reorder logs, traces and profiles apps under explore (#90093)
Reorder logs, traces and profiles apps in navbar
2024-07-04 17:57:08 +01:00
Marcus Efraimsson 06e67bc573 API Server: Fix stack overflow panic when tracing is disabled (#90075) 2024-07-04 19:11:59 +03:00
ANURAG RANJAN d6b39498d0 Docs: Fix typo in text (#89325) 2024-07-04 12:09:21 -04:00
ismail simsek 4fcd348366 InfluxDB: Fix returning InfluxDB error messages (#89973)
* Revert "Chore: Return influxdb query error early before parsing the result (#88549)"

This reverts commit a87c155c06.

* Handle error in buffered parser

* handle error message in streaming parser
2024-07-04 17:45:36 +02:00
antonio d563db63e7 alerting/docs:discord (#90068)
* alerting/docs:discord

* 'pretty'
2024-07-04 17:42:33 +02:00
Ezequiel Victorero ed736eb9a0 Chore: Update swagger docs (#90065) 2024-07-04 12:01:23 -03:00
Oscar Kilhed 6daadd6b78 Dashboard scenes: Fix inspect export join series by time (#90058)
Fix default for transformations
2024-07-04 16:51:27 +02:00
Gilles De Mey dd4e254900 Alerting: Skip fetching alerts for unsaved dashboards (#90061)
skip fetching alerts for dashboards with null uid
2024-07-04 16:46:51 +02:00
Jack Westbrook 965cdef855 Datasource Config: Return error object on failed updates (again) (#89906)
* refactor(datasource): only pass back the error information when rejecting ds updates

* revert(datasource): remove stray console import

* refactor(datasource-config): update traceId to traceID
2024-07-04 17:44:49 +03:00
Andres Martinez Gotor be98ab1111 Add apiVersion to datasource settings DTO (#90057) 2024-07-04 16:44:19 +02:00
github-actions[bot] 37a58d15cf Update make docs procedure (#89933)
Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-07-04 15:40:43 +01:00
Sonia Aguilar 7f4a1469e8 Alerting: Central alert state history part3 (#89842)
* Implement EventDetails for expanded rows and pagination on the events list

* Add test for getPanelDataForRule function

* prettier

* refactor EventState component

* create interfaces for props

* Add missing translations

* Update some comments

* prettier and extract translations

* remove unnecessary translations

* update translations

* address review comments

* address review pr comments
2024-07-04 16:21:39 +02:00
Misi b174c1310a Auth: Add organization mapping configuration to the UI (#90003)
* Add org_mapping and org_attribute_path to the UI

* Add validators, allow setting org mapping to only Grafana Admins

* comment

* Address feedback, improve validation, fix FE test, lint
2024-07-04 16:00:56 +02:00
Taylor Dean d5b21f77aa Tempo: Fix grpc streaming support over pdc-agent (#89883)
* Tempo: Fix grpc streaming support over pdc-agent

* Fix a spelling error and formatting

* Ignore lint issue for reasons listed in source code comment

---------

Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
2024-07-04 14:09:34 +01:00
Josh Hunt 12a5583eb6 Chore: Bump fast-loops (#90051) 2024-07-04 15:48:29 +03:00
Bogdan Matei ab1ad8ed7f Scopes: Fix debounce for nodes search (#90042) 2024-07-04 15:26:17 +03:00
brendamuir 09d833fef9 Alerting docs: vale errors for labels and annotations (#89957)
* Alerting docs: vale errors for labels and annotations

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-07-04 14:20:00 +02:00
Alex Khomenko 7c7f09233d DateTimePicker: Add "timeZone" prop (#90031)
* DateTimePicker: Add custom timeZone support

* Add test

* More tests

* Add comment

* Tweaks
2024-07-04 14:45:48 +03:00
Hugo Kiyodi Oshiro ff03786909 Chore: Add manual trigger for levitate pipeline test (#90040) 2024-07-04 13:44:14 +02:00
Dave Henderson 7ac757afcb infra(tracing): Fix span naming order-of-operations bug (#90025) 2024-07-04 07:05:14 -04:00
Sergej-Vlasov 8f99d58aaf WebpackDev: Resolve react-router-dom from local node modules (#89547)
resolve react-router-dom from local node modules
2024-07-04 13:28:54 +03:00
Ashley Harrison bcb168c39d Drawer: Fix size on mobile (#90037)
fix drawer size on mobile
2024-07-04 11:19:19 +01:00
Ashley Harrison 5ed5a2de2a Chore: Add timeout for storybook e2e, only run on changes to @grafana/ui (#90035)
* add timeout for storybook, only run on changes to @grafana/ui

* add comment to trigger verify-storybook

* remove test comment

* add comment

* use a later version of wait-on

* remove comment and hardcode wait-on version
2024-07-04 11:19:07 +01:00
kay delaney 4671b7d5ae Scenes: Fix issue where "get help" drawer was empty in panel edit mode (#89431)
* Scenes: Fix issue where "get help" drawer was empty in panel edit mode
2024-07-04 13:07:15 +03:00
Ashley Harrison df84d8509d Select: Properly show group separator for virtualized selects (#90005)
* add group separator for virtualized selects

* simplify
2024-07-04 10:30:35 +01:00
Laura Fernández d043faa8a9 E2C: Modify EmptyState page on cloud (#89935) 2024-07-04 11:26:57 +02:00
Karl Persson c04be62b65 Zanzana: client integration test (#89997)
* Restructure

* Zanzana: Add integration tests for client

* skip mysql 5.7 integration tests
2024-07-04 11:23:48 +02:00
Ida Štambuk 4fc42b8a71 Cloudwatch: Add monitoring badge for metric insights (#89956) 2024-07-04 11:22:52 +02:00
Andres Martinez Gotor 844d575681 Chore: fixes for admisison handlers (#90033) 2024-07-04 10:49:51 +02:00
Ida Štambuk eef9a7b4e5 Cloudwatch: Rename Metric Query to Metric Insights (#89955) 2024-07-04 10:30:23 +02:00
Ryan McKinley fe201b6bb2 FeatureToggles: Update metadata from gitlog (#89766) 2024-07-04 04:53:39 +03:00
Li Zeghong edc1f50c4e Chore: Remove unnecessary typecheck linter config (#89198) 2024-07-04 02:33:03 +03:00
Ryan McKinley de06762852 K8s: Add basic peakq test w/ resource (#90026) 2024-07-04 01:26:33 +03:00
Todd Treece 274bd08afc K8s: Improve key generation and parsing (#90014) 2024-07-04 01:11:45 +03:00
Dave Henderson f70f60efd0 localdev: Enable profiling on local dev environment (#89727)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-07-04 00:30:41 +03:00
Yuri Tseretyan 411bab6d44 Alerting: Lower severity of logs about duplicates to debug (#89971)
lower severity of logs about duplicates to debug
2024-07-03 16:46:28 -04:00
Dave Henderson 4ec4994e89 infra(tracing): Always end started spans (#90016)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-07-03 16:25:57 -04:00
Kyle Cunningham c9b1e81ed2 Table panel: Add alt and title text options to image cell type (#89930)
* Various updates

* Update form callbacks

* Use defaultValue as opposed to value on input

* Fix things up

* Docs

* Prettier

* Update docs

* Update label text

* Prettier
2024-07-03 22:10:54 +03:00
Stephanie Hingtgen 2d5c58cb90 Feature toggles: add expression to generated json and k8s response (#90006) 2024-07-03 21:08:58 +03:00
Adam Bannach 48552a578a feat: add adaptive logs under cost management->logs nav (#89875)
Co-authored-by: Xiyu Chen <xiyu.chen@grafana.com>
2024-07-03 19:59:47 +03:00
Gilles De Mey 3ca4fb1a8f Alerting: Show repeat interval in timing options meta (#89414) 2024-07-03 19:56:30 +03:00
Todd Treece c6663ce6be Chore: Ensure go.work.sum is updated (#89996) 2024-07-03 12:49:03 -04:00
Sarah Zinger db68d58d52 CloudWatch: add account dropdown to metric insights (#89926) 2024-07-03 12:09:40 -04:00
Sergej-Vlasov acf5c7c6ba DashboardScene: Activate refresh picker manually when time controls are hidden (#89952)
---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2024-07-03 18:43:44 +03:00
renovate[bot] 0bbaed187c Update dependency @grafana/scenes to v5.3.6 2024-07-03 16:13:41 +01:00
ismail simsek 7f5dde6ed3 Chore: Cleanup duplicated code in grafana-prometheus package (#89542)
* remove redundant test matchers

* use amendTable, trimTable functions from @grafana/data package

* move getMockDataSource function into the mocks.ts

* use LocalStorageValueProvider from @grafana/o11y-ds-frontend

* move all mocks under __mocks__ directory

* use store from @grafana/o11y-ds-frontend

* move test related files under test directory

* use getNextRefId from @grafana/data instead of deprecated getNextRefIdChar
See: https://github.com/grafana/grafana/pull/87460

* betterer

* remove unnecessary mockings

* import from @grafana/data

* import from @grafana/data
2024-07-03 16:21:29 +02:00
Dominik Prokop f659bc1f40 Dashboard: Allow disabling dashboard grid lazy loading (#89280)
* Schema update

* Dashboard: Allow opting out from dashboard panels lazy loading

* Locale

* Lint fix

* Snaps fix
2024-07-03 16:00:45 +02:00
Bruno d1952bb681 Cloud migrations: create snapshot files (#89693)
* Cloud migrations: create snapshot and store it on disk

* fix merge conflicts

* implement StartSnapshot for gms client

* pass snapshot directory as argument to snapshot builder

* ensure snapshot folder is set

* make swagger-gen

* remove Test_ExecuteAsyncWorkflow

* pass signed in user to buildSnapshot method / use github.com/grafana/grafana-cloud-migration-snapshot to create snapshot files

* fix FakeServiceImpl.CreateSnapshot

* remove new line
2024-07-03 10:38:26 -03:00
Joey 7b29242600 Tempo: Fix query history (#89991)
Fix query history for Tempo queries
2024-07-03 13:55:33 +01:00
Jack Westbrook 306ae8b4f5 Grafana/data: Remove barrel files part 2 (#89850)
* chore(grafana-data): remove datetime barrel file and update all imports

* chore(grafana-data): remove types barrel file and update imports

* chore(grafana-data): update types imports across package files

* chore(grafana-data): fix erroronous type export definition on OrgRole

* chore(grafana-data): fix errornous re-export type declarations and missing datetime/common exports

* chore(azure-monitor): fix import pointing to nested grafana-data barrel file
2024-07-03 14:14:58 +02:00
ismail simsek c538d7ca6f Chore: Update go.mod go.sum and go.work.sum files (#89992)
* Update go.mod go.sum and go.work.sum files

* set owners
2024-07-03 14:08:44 +02:00
Karl Persson cbbc12a31b Zanzana: Sync team memberships (#89983)
* Zanzana: Use uid for users and teams

* Zanzana: Team membership migrator

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2024-07-03 13:37:26 +02:00
Josh Hunt 7448f22f91 E2C: Create Snapshot frontend (#89901)
* First pass at using new async apis

* async api tweaks

* clean up async api usage

* Update public/app/features/migrate-to-cloud/onprem/Page.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/migrate-to-cloud/onprem/Page.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* fix syntax

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2024-07-03 11:42:00 +01:00
Karl Persson bfe77ab530 Users: Ensure default admin is created with a valid uid (#89981)
Users: Ensure default admin has a valid uid
2024-07-03 12:06:10 +02:00
Joao Silva 9004b58851 Navigation: Backend to save navigation customization into preferences (#89783) 2024-07-03 10:40:51 +01:00
Brandon D 68e30e2b4b Updating spelling within Anonymous Page (#88757)
* Updating Placeholder

* Fix
2024-07-03 10:20:59 +02:00
Ivan Ortega Alba 1de3e4be29 Scenes: Upgrade to v5.3.4 (#89978) 2024-07-03 03:38:57 -04:00
Andres Martinez Gotor f41ee615ba Chore: Add basic admission handlers for registered API services (#89824) 2024-07-03 09:19:54 +02:00
Karl Persson f18da6f4dc User+team: remove startup migration for uid (#89953)
* Remove migration that is performed on startup
2024-07-03 09:11:52 +02:00
Jeff Levin cfe8317d45 Add auth spans and remove deduplication code for scopes (#89804)
Adds more spans for timing in accesscontrol and remove permission deduplicating code after benchmarking

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-07-02 22:08:57 -08:00
ismail simsek 5b6edc96d9 Chore: Use SelectMenuOptions from @grafana/ui in grafana-prometheus (#89562)
use SelectMenuOptions from @grafana/ui
2024-07-03 01:27:19 +02:00
Frank Villaro-Dixon 2a1b620c38 Dashboard: share modal: open link in new page (#89710)
Signed-off-by: Frank Villaro-Dixon <frank@villaro-dixon.eu>
2024-07-02 17:06:08 -04:00
Isabel Matwawana ff982ed001 Docs: Clarify query and tags search in dashboard list (#89968) 2024-07-02 16:35:54 -04:00
Charandas f50c8566df K8s: handle queries being an empty slice (#89928)
* K8s: handle queries being an empty slice

* remove unnecessary comment

* remove redundant break
2024-07-02 19:44:29 +00:00
Tom Ratcliffe b18b1efec4 Alerting: Add (manual) script to generate alerting RTKQ APIs from OpenAPI spec (#89482) 2024-07-02 18:31:37 +01:00
Josh Hunt 52ea6236d4 E2C: Set up page route so cloud-migrations doesn't 404 (#89947) 2024-07-02 17:11:18 +01:00
antonio 9740ce3f58 alerting:docs>oncall (#89780)
* alerting:docs>oncall

* removed refs

* links

* dot

* all pretty no pity
2024-07-02 17:21:29 +02:00
Alex Khomenko 0500b596db BrowseDashboards: Update results when starred param changes (#89944)
* BrowseDashboards: Trigger update results when starred param changes

* Use LocationService

* Use locationService directly
2024-07-02 17:37:40 +03:00
Karl Persson e568b86ac0 Zanzana: Initial work to allow partial data migrations (#89919)
* Zanana: Add Write method to interface

* Zanzana: Add utilities for translating RBAC to openFGA tuple keys

* RBAC: Add zanzana synchronizer

* Run zanzana sync in access controll provider
2024-07-02 14:45:25 +02:00
Marcus Efraimsson f518c5978c API Server: Hack to make tracing work for code using otel.GetTracerProvider (#89945) 2024-07-02 14:33:08 +02:00
Matias Chomicki cc7aae154c Loki datasource: interpolate query before adding adhoc filters (#89849)
* Loki datasource: interpolate query before adding adhoc filters

* Chore: remove unused export

* Prettier

* Chore: made test case more obvious
2024-07-02 14:23:19 +02:00
antonio 5d06f86178 alerting>home:get-started (#89835)
* alerting>home:get-started

* all pretty no pity

* applied suggestions

* prettier-betterer

* betterer
2024-07-02 13:34:39 +02:00
Alex Khomenko df15678455 Dashboard: Use preferred timezone on create (#89833)
* Dashboard: Use preferred timezone on create

* Add test
2024-07-02 14:15:23 +03:00
antonio 92ad6c71d1 alerting:mute-timings>api (#89902)
* alerting:mute-timings>api

* added type go-type

* all pretty
2024-07-02 10:46:18 +00:00
Sergej-Vlasov 527071aed6 DashboardScene: Disable edit related shortcuts for Viewer (#89936)
check if can edit before adding edit shortcuts
2024-07-02 13:36:14 +03:00
Ida Štambuk 36ff0fe63a Features: Add cloudwatchMetricInsightsCrossAccount feature toggle (#89848) 2024-07-02 12:34:12 +02:00
Ashley Harrison ba64ee44cb Chore: Move SCSS mixins to be where they're used (#89907)
move mixins to be where they're used
2024-07-02 11:28:27 +01:00
Mihai Doarna 4306d52353 SSO: Encrypt and decrypt secrets for LDAP settings (#89470)
encrypt/decrypt secrets for LDAP
2024-07-02 12:37:13 +03:00
Alexander Zobnin f1968bbcbb Zanzana: Run OpenFGA HTTP server in standalone mode (#89914)
* Zanzana: Listen http to handle fga cli requests.

* make configurable

* start http server during service run

* wait for GRPC server is ready

* remove unnecessary logs

* fix linter errors

* run only in devenv

* make address configurable
2024-07-02 11:14:09 +02:00
Ryan McKinley 073ef93007 Authn: Set requester in middleware (#89929)
identify in context
2024-07-02 08:50:35 +02:00
Yuri Tseretyan c3b5cabb14 Alerting: Refactor scheduler's rule evaluator to store rule key (#89925) 2024-07-01 16:43:23 -04:00
Alexander Weaver e4eebd6379 Fix drift around apimachinery package in go.mod (#89927)
* get

* tidy
2024-07-01 15:00:06 -05:00
Adela Almasan 78f9c0fd41 Table: Filter hidden fields for text wrapping (#89800) 2024-07-01 22:01:19 +03:00
Yuri Tseretyan 655e477c20 Alerting: Fix flaky test in scheduler's tests (#89923) 2024-07-01 13:31:03 -04:00
Santiago fce03cd724 Alerting: Send static headers to the remote Alertmanager (#89846) 2024-07-01 17:48:40 +02:00
Sonia Aguilar 579250a89a Alerting: Show Insights page only on cloud (when required ds's are available) (#89679)
* Show Insights page only on cloud (when required ds's are available)

* fix typo

* remove unnecessary export
2024-07-01 17:44:33 +02:00
Todd Treece 9c6d3590a2 Chore: Fix apiserver circular dependencies (#89918) 2024-07-01 11:42:34 -04:00
Michael Mandrus 6761ed863f CloudMigrations: Add ordering to snapshot list query (#89916)
add ordering to snapshot list
2024-07-01 11:35:04 -04:00
Sonia Aguilar 86466aec61 Gops: Update texts in main irm page (#89810)
Update texts in main irm page
2024-07-01 17:00:40 +02:00
Yuri Tseretyan 559738ce6a Alerting: Fix flaky test in historian (#89913) 2024-07-01 16:59:06 +03:00
Gabriel MABILLE 71d31397e5 Fix flaky tests (#89910) 2024-07-01 14:39:51 +02:00
Juan Cabanas 751e6739f3 ShareDrawer: Add menu item click tracking (#89860) 2024-07-01 09:01:14 -03:00
Alex Khomenko 852d032e1a App events: Add "info" variant (#89903)
* App events: Add info notification type

* Add info hook

* Revert state

* Use info alert
2024-07-01 14:28:49 +03:00
Bogdan Matei 4c9fef6183 Scopes: Persist selected scopes when searching (#89758) 2024-07-01 13:46:45 +03:00
Ashley Harrison c0058f9c7e Page: Add bodyScrolling feature toggle (#89895)
add bodyScrolling feature toggle
2024-07-01 11:28:39 +01:00
Pepe Cano c168f2acec Alerting docs: Update View alert groups (#89461)
* Alerting docs: Update `View alert groups`
Rename to `View the status of notifications` and extend on this topic

* Update docs/sources/alerting/manage-notifications/view-alert-groups.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/manage-notifications/view-alert-groups.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/manage-notifications/view-alert-groups.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Use `1` always for numbered list

* refer to `grouping settings of notification policies`

* Update `View notification errors` with latest instructions

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-07-01 11:35:12 +02:00
Andres Martinez Gotor a22c1ae424 Chore: Remove provisional APIVersion from plugin info (#89831) 2024-07-01 10:53:16 +02:00
Andres Martinez Gotor 55ba32bda7 Bugfix: Fix Testdata CSV empty scenario (#89890) 2024-07-01 10:39:43 +02:00
Andres Martinez Gotor 569853278b Adapt docs/sources/developers/plugins/plugin.schema.json codeowners (#89832) 2024-07-01 09:31:05 +02:00
Sebastian Hiebl 8008bcd003 TimeSeries: Expose option for "Bar width factor" (#77338)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-06-28 18:13:34 -05:00
Leon Sorokin c2cd32ab64 Table: Don't error if first frame is field-less (empty response) (#89867) 2024-06-28 02:58:49 +03:00
Simon Podlipsky b7d5587018 Dockerfile: Fix go deps (#89857)
Add missing deps
2024-06-27 17:53:43 -04:00
Adela Almasan ad2b5a02a1 VizTooltip: Hide tooltip options from when tooltip is hidden (#89864) 2024-06-28 00:49:20 +03:00
Isabel Matwawana 3edca2e2fd Docs: Add tooltip options to histogram v11.2 (#89863)
Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-06-27 17:16:57 -04:00
Nathan Marrs f26bec40e5 Chore: Lint json files in .github directory (#89861) 2024-06-27 23:43:10 +03:00
Nathan Marrs 0ea66b8155 Chore: Update DataViz github automation (#89852) 2024-06-27 15:22:15 -05:00
Lucy Chen 8b35ce6129 ShareModal: Export options (JSON) (#87082)
* Adding new export button

* Create Export as JSON drawer

* update scene drawer and add css

* update css

* Update ExportAsJson to be regular react component

* add tests to export menu and button

* add tests

* prettier and lint

* fix translations

* update translation

* Apply suggestions from code review

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>

* delete extra file

* Update to use SceneObject

* add spinner

* Rename ExportAsJSON.tsx to ExportAsJson.tsx

* update i18n

* Upate texts

* small fixes from code review

* add space

* i18n

* fix build issues

* changes from review feedback

* update test

* update test

---------

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2024-06-27 15:36:23 -04:00
Juan Cabanas 1e7cd9e9ec ShareDrawer: Schedule Report (#89802) 2024-06-27 14:30:33 -03:00
linoman d497e641db SAML: Add Azure AD configuration for SAML integration (#89767)
* Add Azure AD configuration for SAML integration
2024-06-27 18:29:16 +02:00
Ashley Harrison e87646eeb6 Storybook: Add basic e2e verification test (#89779)
* add very basic tests to verify storybook builds correctly

* add storybook step to drone

* reorder steps

* drone tweaks

* don't need host since it's set in env

* don't need to wait

* format build.star and readd wait

* install netcat in CI

* do a yarn install here to get correct bindings

* refactoring to hopefully work better in CI

* add wait-on

* add verbose logging

* localhost?

* more logging

* specify storybook host

* ...

* back to grafana-server

* does this work? 🤔

* run storybook e2e test after rgm-package so the backround process is running for less time

* split into separate step

* format
2024-06-27 16:43:43 +01:00
Ivan Ortega Alba 895baa95a0 VizPanelManager: Adapt color palete after plugin change (#89790)
* VizPanelManager: Adapt color palete after plugin change

* Upgrade scenes

* Remove broken code

* Upgrade scenes version

* linter
2024-06-27 17:26:38 +02:00
Ida Štambuk ba5b33227c Cloudwatch: Round up endTime in GetMetricData to next minute (#89341)
* Add cloudWatchRoundUpEndTime feature toggle
2024-06-27 17:10:28 +02:00
Kristina 0aaf820fd9 Explore / Query Library : Show user data (#88258)
* Add basic button for adding a query template

* Add hook to create a template

* Handle notifications

* Add tags to invalidate cache

* Generate translations

* Updates types

* Add tests

* Simplify code

* Add user to type

* Add a better default title

* bring in piotrs pr and try to add user data

* Move out of metadata (reserved in k8s) and make new values exportable

* Show user data

* Fix bad merge

* WIP

* Add annotation data to FE

* add (failing) test

* Fix types and test

* Cleanup

* Enhance user data and send to component for display

* Fix type

* Fix expected values

* fix betterer

* Fix test

* Remove user lookup

* testing slug usage for api

* Revert "testing slug usage for api"

This reverts commit cc4556c3b7.

* change types, display userid if login isnt returned

* Simply display whatever is in property

* skip test on removed logic

* Try waiting for query to finish before eval

* Revert "Try waiting for query to finish before eval"

This reverts commit 6220cabd17.

* Handle attribute not existing when storage type is file

---------

Co-authored-by: Piotr Jamroz <pm.jamroz@gmail.com>
2024-06-27 09:46:49 -05:00
dependabot[bot] 0c256be7c1 Chore(deps): Bump github.com/alicebob/miniredis/v2 from 2.30.1 to 2.33.0 (#88588)
Bumps [github.com/alicebob/miniredis/v2](https://github.com/alicebob/miniredis) from 2.30.1 to 2.33.0.
- [Release notes](https://github.com/alicebob/miniredis/releases)
- [Changelog](https://github.com/alicebob/miniredis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/alicebob/miniredis/compare/v2.30.1...v2.33.0)

---
updated-dependencies:
- dependency-name: github.com/alicebob/miniredis/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-27 17:43:59 +03:00
kay delaney 2e0175c3eb Dashboards: Change datemath parse logic so parsed dates always take timezone into account (#88182)
* Dashboards: Change datemath parse logic so parsed dates always take timezone into account
2024-06-27 16:17:21 +03:00
Sonia Aguilar 0285278cfc Alerting: Use runtime data source for getting events from alert state history in the bar chart (#89307)
* Use runtime data source for getting events from alert state history in the bar chart

* extract translations

* refactor

* More refactor

* Update events limit

* Add info icon with tooltip info for label querying filter

* Add translations

* Create new useRuleHistoryRecords hook skipping extraction of common labels as they are not used

* Fix test

* update limit value for the events in the api to 5000

* Use state for rows key

* remove React import

* Address review comments

* Address review comments

* run prettier

* Remove duplicated handlers
2024-06-27 14:00:42 +02:00
Laura Benz c9a5ee616e RestoreDashboards: Add search (#89692)
* feat: add search

* feat: run i18n extraction

* refactor: styling issue for smaller screen sizes
2024-06-27 14:00:12 +02:00
Alexander Zobnin 190892bc88 Zanzana: Initial schema loading (#89492)
* Zanzana: Dummy schema loading

* Load authorzation model for client

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-06-27 13:57:06 +02:00
ismail simsek 8f2daacf78 Chore: Remove CancelablePromise (#89564)
* Remove CancelablePromise.ts as it wasn't used in anywhere

* Move cancelable-promise to the place where it is used
2024-06-27 13:33:35 +02:00
Jack Westbrook 56fb1234f6 Grafana/data: Remove barrel files part 1 (#89556)
* chore(grafana-data): remove dataframe barrel file and update all imports and exports

* chore(grafana-data): remove field barrel file and update imports n exports

* chore(grafana-data): remove utils barrel file and update imports and exports

* chore(grafana-data): remove tranformations barrel file and update imports n exports

* chore(grafana-data): remove imports from root index.ts

* chore(grafana-data): remove valueFormats barrel file and update imports n exports

* chore(grafana-data): don't import from root barrel file
2024-06-27 12:42:42 +02:00
Ashley Harrison 89fe64f900 Keybinds E2E: simplify keybinds e2e even further (#89819)
simplify keybinds e2e even further
2024-06-27 13:15:15 +03:00
AHeinlein a15a206e9c Docs: Update LDAP doc for debug view (#89522)
Update LDAP doc

LDAP debug view does not work with single bind since there is no way to bind to the LDAP server and perform the search.
2024-06-27 10:07:30 +00:00
Tom Ratcliffe 86d41b1e23 Alerting: Update warning message for Telegram parse_mode and default to empty value (#89630) 2024-06-27 10:33:40 +01:00
Sergej-Vlasov 8e1c4919c7 DashboardScenes: Disable flaky new-datasource-variable e2e test (#89817)
disable flaky new-datasource-variable e2e test
2024-06-27 12:06:07 +03:00
brendamuir f833b782b6 Alerting docs: adds silence RBAC 11.1 (#89176)
* Alerting docs: adds silence RBAC 11.1

* ran prettier

* Improve docs with new rule-specific silence RBAC information

* Apply suggestions from code review

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Apply suggestions from code review

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* prettier

---------

Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-27 10:10:34 +02:00
Alexander Akhmetov 68691c9386 Alerting: Add setting for maximum allowed rule evaluation results (#89468)
* Alerting: Add setting for maximum allowed rule evaluation results

Added a new configuration setting `quota.alerting_rule_evaluation_results` to set the maximum number of alert rule evaluation results per rule. If the limit is exceeded, the evaluation will result in an error.
2024-06-27 09:45:15 +02:00
Dominik Prokop be1414b36b Dashboards: Remove scenes feature toggle (#89771) 2024-06-27 09:03:46 +02:00
Alex Khomenko 9056ff73f6 TimeRangePicker: Use week start (#89765) 2024-06-27 07:53:46 +03:00
Jeff Levin ed13959e33 Optimize memory allocations in permissions cache (#89645)
This PR reduces the number of allocations made while caching permissions from the database, fixes the hierarchy of spans and adds new spans for tracing.

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-26 23:03:13 +03:00
Andreas Zilly f894c22b21 Chore: Add missing build elements to Dockerfile (#89714)
Several go.* files that are referenced in go.work were missing in Dockerfile.
2024-06-26 15:22:37 -04:00
Matthew Jacobson e121e2609f Alerting: Receiver API (#89707) 2024-06-26 20:03:25 +03:00
Kyle Cunningham c575c06d63 Table Panel: Fix Image hover without datalinks (#89751)
* Fix image hover

* Prettier

* Fix height offset
2024-06-26 23:12:44 +07:00
Isabella Siu 3ac109e759 AWS: Update deprecated aws-sdk functions from env variable versions (#89643) 2024-06-26 11:56:39 -04:00
Jack Westbrook 40207c53ae Plugins: Expose functions to plugins for checking RBAC permissions (#89047)
* feat(grafana-data): create rbac functions for checking permissions

* feat(grafana-runtime): pass current user to runtime

* feat(grafana-runtime): expose rbac functions to check permissions against current user

* refactor(contextsrv): use functions from grafana/data to check rbac permissions against user

* Apply suggestions from code review

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* chore(rbac): fix missing types imports

* refactor(rbac): make exposed functions return boolean

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2024-06-26 17:29:17 +02:00
Karl Persson 7f4faaa45b ExtJWT: Remove test (#89665)
Remove test
2024-06-26 17:25:26 +02:00
Juan Cabanas e6e163eaf5 ShareDrawer: Share Snapshot menu item condition (#89733) 2024-06-26 12:06:10 -03:00
Yuri Tseretyan 06d5850396 Alerting: Update alerting state history API to authorize access using RBAC (#89579)
* add method CanReadAllRules to rule authorization service

* add alias type Namespace for Folder in ngalert's models package. It implements the Namespacer interface that is used by authz logic

* update state history's backends to authorize access to rules.
* update Loki to add folders UIDs to query. 
    * Update BuildLogQuery to drop filter by folders if it's too long and fall back to in-memory filtering.
2024-06-26 10:25:37 -04:00
Kevin Minehart 16b050f676 CI: fix release comms workflow (#89744)
* add runs-on key

* remove unneeded env key

* use more specific quotes in commands

* fix block syntax

* fix workflow dispatch event check
2024-06-26 17:21:10 +03:00
Sergej-Vlasov 3056e8310b DashboardScenes: Skip flaky scenes E2E tests (#89769)
skip flaky tests
2024-06-26 17:06:35 +03:00
Juan Cabanas ba4f2713c5 Sharing: Change code ownership (#89732) 2024-06-26 09:16:13 -03:00
Santiago fe1309dd96 Alerting: Send external URL to the remote Alertmanager (#89701)
* Alerting: Send external URL to the remote Alertmanager

* test that the URL is sent to the remote Alertmanager

* AppURL -> ExternalURL
2024-06-26 14:02:02 +02:00
Ryan McKinley 3db4e5a0c6 K8s: remove dashboard summary abstraction (#89761) 2024-06-26 15:00:24 +03:00
Ezequiel Victorero fb15d681a1 PublicDashboards: Update data sources supported list (#89704)
PublicDashboards: Update datasources compatibility list
2024-06-26 08:44:05 -03:00
Bogdan Matei 68a5bf3c18 Scopes: Allow node title to expand the container (#89682) 2024-06-26 14:41:38 +03:00
Josh Hunt 5fdbafdc45 E2C: New onprem empty state (#89628)
* E2C: New onprem empty state

* fix test
2024-06-26 14:30:02 +03:00
Ashley Harrison d3dda4ca89 Storybook: Use new JSX runtime (#89768)
use new jsx runtime in storybook
2024-06-26 12:14:11 +01:00
Bogdan Matei 95a8fc1dd7 Scopes: Implement message for when there are no dashboards found (#89675) 2024-06-26 14:10:38 +03:00
Bogdan Matei 9770ebcd6c Scopes: Open the selector to a selected scope (#89686) 2024-06-26 13:46:44 +03:00
Ryan McKinley 529d4e1169 Dashboards: Use dashboard_api k8s wrapper for save options also (#89598) 2024-06-26 13:35:04 +03:00
Bogdan Matei 1040dc1baf Scopes: Implement clear search for nodes (#89678) 2024-06-26 13:18:50 +03:00
Ashley Harrison 54cfae8fef Chore: Simplify keybinds e2e test (#89760)
simplify keybinds e2e test
2024-06-26 10:37:33 +01:00
kay delaney be2aa9a3a7 Scenes: Implement 't a' shortcut (#89619) 2024-06-26 10:10:00 +01:00
Ashley Harrison 7b0362b228 Drawer: Improve performance when resizing (#89691)
apply dynamic styles as styles instead of emotion classes
2024-06-26 09:37:17 +01:00
Nihal b1ce7e8a83 Alerting: Reduce cyclomatic complexity of PrepareRuleGroupStatuses (#89649)
* reduce cyclomatic complexity of PrepareRuleGroupStatuses. see https://github.com/grafana/grafana/issues/88670

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* reduce cyclomatic complexity for PrepareRuleGroupStatuses in pkg/services/ngalert/api/api_prometheus.go

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* reduce cyclomatic complexity for PrepareRuleGroupStatuses in pkg/services/ngalert/api/api_prometheus.go

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

---------

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
2024-06-26 10:21:37 +02:00
Leonor Oliveira 2645958c8c Use global function to compare any entity to both stores (#89282)
* WIP implement generic compare interface

* Use global compare fn for all entities

* Lint

* Update pkg/apiserver/rest/dualwriter.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Don't need to hash, just compare bytes

* Fix tests

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-06-26 10:19:40 +02:00
Ryan McKinley 4651506319 K8s/Dashboards: Replace multiple calls with a single endpoint (#89639) 2024-06-26 07:27:52 +03:00
Kevin Minehart 3ede2dba24 CI: add release comms workflow (#89718)
* add release comms workflow

* add version input

* Add release-comms workflow to CODEOWNERS
2024-06-25 16:37:38 -05:00
grafana-delivery-bot[bot] 3e6d073140 Changelog: Updated changelog for 10.3.7 (#89728)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-25 17:11:40 -04:00
Juan Cabanas 0d276fe7b1 Share Externally: Texts modification (#89640) 2024-06-25 17:52:41 -03:00
grafana-delivery-bot[bot] 2fb7b18ead Changelog: Updated changelog for 10.2.8 (#89725)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-25 16:46:38 -04:00
Joseph Perez d49a3e98dc Docs: Edit of 3 files in backend contributor guide (part 6 of doc quality improvement project) (#89582)
* Docs: edit of 3 files in backend contributor guide

* Update contribute/backend/database.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Fix from review

* Update contribute/backend/database.md

* Update contribute/backend/errors.md

* Update contribute/backend/errors.md

* Fix header levels

* Style edits

* Prettier fixes

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-25 12:28:22 -07:00
grafana-delivery-bot[bot] 594deb2cbe Changelog: Updated changelog for 9.5.20 (#89721)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-25 15:25:28 -04:00
Mitch Seaman d610bdf25d advertise RBAC for silences better (#89644) 2024-06-25 15:08:42 -04:00
Kevin Minehart 8f9d2eba69 CI: Don't use slim image for bump-version (#89689)
don't use slim image
2024-06-25 14:03:30 -05:00
Isabel Matwawana 920c9bb771 Docs: Add release stage note to text wrapping (#89716) 2024-06-25 18:38:27 +00:00
Mitch Seaman a7499c1dde Docs: Add more info and link to text wrap content (#89625)
* Remove duplicate Wrap Text docs

Remove duplicate line and refer to field overrides

* Updated link formatting

* Fixed heading level

* Removed H4 wrap text heading

* Light restructuring to add heading for wrap text

* Removed unnecessary section

* Added release stage note

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-06-25 18:27:55 +00:00
Matthew Jacobson 83d05ea777 Alerting: Fix broken state tests (#89712) 2024-06-25 14:19:46 -04:00
Isabel Matwawana 3a055735dd Docs: Add youtube links to What's new 11.1 (#89694) 2024-06-25 14:04:59 -04:00
Nathan Marrs a095276753 Canvas: Fix off center element item in editor list (#89577) 2024-06-25 10:04:39 -07:00
Matthew Jacobson 47c9259d75 Alerting: Ensure we update State.LastSentAt before persisting (#89427) 2024-06-25 13:01:26 -04:00
Leon Sorokin 0f01db4025 VizTooltip: Keep visible while hovering during data updates (#89708) 2024-06-25 20:00:47 +03:00
ismail simsek 1ebc610064 Chore: Update github addToProject commands for influxdb, graphite, opentsdb (#89700)
revert unrelated changes
2024-06-25 19:29:50 +03:00
antonio 891cc0512f alerting: teams contact point + updates (#89695)
* alerting: teams contact point + updates

* typo

* all pretty no pity

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-email.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-email.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/pager-duty.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* formatting

* formatting

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-25 17:52:53 +02:00
Jake Leahy 2bd95b2eb5 Prometheus: Fix quote stripping in parser (#87675)
* Prometheus: Fix quote stripping in parser

Currently only double quotes are stripped from the end, while single quotes are left. Moreover, double quotes are stripped even when part of the value

* Prometheus: Double escape the string, apply linting fixes for files that I touched
2024-06-25 17:39:32 +02:00
Bogdan Matei 0ea2d6972f Scopes: Allow navigating to inner containers (#89676)
Scopes: Allow navigating to inner levels after selecting a scope
2024-06-25 18:31:31 +03:00
Laura Fernández a3879e02bb RestoreDashboards: Create FE feature toggle (#89655) 2024-06-25 16:43:13 +02:00
ismail simsek a3a6d01529 Update codeowners (#89672)
* Update codeowners of /public/app/features/trails/

* revert unrelated changes
2024-06-25 16:39:30 +02:00
Ashley Harrison 7b88de9946 Chore: Move font-awesome styles back to SCSS (#89687)
move font-awesome styles back to scss for performance reasons
2024-06-25 15:28:24 +01:00
William Wernert fcfa89f864 Alerting: Implement Prometheus remote write for recording rules (#89189)
* Fix timestamp recorded by rule

* Implement prometheus remote write

* Create http client instead of transport

* Address PR comments

* Remove status code label
2024-06-25 17:23:42 +03:00
Bogdan Matei e4b9f356bc Scopes: Implement radio buttons for containers with single node selection (#89674) 2024-06-25 17:10:36 +03:00
Todd Treece 71270f3203 Storage: Avoid relying on RequestInfo (#89635) 2024-06-25 10:06:03 -04:00
Isabel Matwawana 4cf3ebbb3d Docs: Manage playlists updates (#89573)
* Made updates to add dashboard controls changes; also fixed styling issues and consolidated some tasks

* Made minor edits

* Committed suggestion from review

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>

* Update docs/sources/dashboards/create-manage-playlists/index.md

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

* Apply suggestions from code review

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

---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-06-25 13:51:39 +00:00
Yuri Tseretyan 4a5aab54a5 Alerting: Add max limit for Loki query size in state history API (#89646)
* add setting for query limit

* update BuildLogQuery to return error if limit is exceeded

* move tests for BuildLogQuery to separate suite
2024-06-25 09:20:38 -04:00
Kristin Laemmert 9a3477dd11 Chore: removing (more) redundant transactions (#89373)
* remove redundant transactions from single-statement sql methods
2024-06-25 09:19:49 -04:00
Joey 66dc20f46f Tempo: Upgrade interpolation for Tempo (#89664)
Upgrade interpolation for Tempo
2024-06-25 14:06:51 +01:00
Laura Benz 5da94bb669 RestoreDashboards: Add an empty state (#89662)
* feat: add empty state

* fix: flickering

* Update public/app/features/browse-dashboards/RecentlyDeletedPage.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2024-06-25 16:04:20 +03:00
grafana-delivery-bot[bot] 13a4a46cc1 Changelog: Updated changelog for 10.4.5 (#89681)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-25 12:24:15 +00:00
Bogdan Matei 09ec999862 Scopes: Implement clear search for dashboards list (#89657) 2024-06-25 15:22:02 +03:00
Ivan Ortega Alba 6773f7f4ce Scenes: Repeat horizontally set the width to 24 even if repeat variable is not set (#89658) 2024-06-25 14:10:00 +02:00
Javier Ruiz df4b280134 Trace View: Add Session for this span button (#89656)
* Add ability to show Session for this span button in trace view

* Add session link when fe o11y ids are available

* Add tests for creating session links

* Also check for session id written following otel semantic convention
2024-06-25 13:48:06 +02:00
Chris Hodges 0759c98504 Tempo: Fix user facing typo in pipeline operator error message (#89638)
Tempo: Fix user facing typo in TraceQL pipeline operator error message
2024-06-25 12:45:16 +01:00
Ashley Harrison 47f8717149 React: Use new JSX transform (#88802)
* update eslint, tsconfig + esbuild to handle new jsx transform

* remove thing that breaks the new jsx transform

* remove react imports

* adjust grafana-icons build

* is this the correct syntax?

* try this

* well this was much easier than expected...

* change grafana-plugin-configs webpack config

* fixes

* fix lockfile

* fix 2 more violations

* use path.resolve instead of require.resolve

* remove react import

* fix react imports

* more fixes

* remove React import

* remove import React from docs

* remove another react import
2024-06-25 12:43:47 +01:00
Beto Muniz d7c33db7db GOps: Add Grafana SLO steps to IRM configuration tracker (#88098) 2024-06-25 08:39:03 -03:00
Alex Khomenko a9aba2b42f TimeRangePicker: Add weekStart prop (#89650)
* TimeRangePicker: Add weekStart prop

* Set week start from config

* Use week start from dashboard

* Revert

* Add comment

* Tweak comment

* Add WeekStart type
2024-06-25 14:22:55 +03:00
Gilles De Mey 87b8da1719 Alerting: Limit instances on alert detail view unless in instances tab (#89368) 2024-06-25 13:19:43 +02:00
Ashley Harrison b59ebf85bc Chore: Attempt to make keybinds e2e test more stable (#89663)
* attempt to make test more stable

* split everything instead
2024-06-25 12:18:45 +01:00
grafana-delivery-bot[bot] a7dd94b788 Changelog: Updated changelog for 11.0.1 (#89673)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-25 12:58:04 +02:00
linoman ccb22e5b24 SAML: graph api follow up (#89389)
* add new graph api variables to saml strategy

* add  config variable
2024-06-25 12:19:47 +02:00
grafana-delivery-bot[bot] 91628158f2 Changelog: Updated changelog for 11.1.0 (#89659)
* Changelog: Updated changelog for 11.1.0

* Linting

---------

Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Fabrizio <fabrizio.casati@grafana.com>
2024-06-25 11:36:54 +02:00
Dominik Prokop 216ec7cbdf Scopes: Fix free text input crash (#89652) 2024-06-25 12:18:30 +03:00
Karl Persson eea7319a67 Zanzana: sqlite data store (#89486)
* Zanzana: Add sqlite3 store

* Zanzana: Initilize sqlite store with migrations
2024-06-25 09:52:33 +02:00
Laura Fernández fd96edaef7 POC: Disable ConfirmButton (#89539) 2024-06-25 09:42:18 +02:00
Alexander Akhmetov 2035814059 Alerting: fix updating error in the alert rule state during error to error transitions and restarts (#89557)
Alerting: fix preserving errors in the alert rule state during error to error transitions

Alert state transition from one error to another did not update state.Error correctly.
The error in state.Error remained as the initial error encountered.
This led to another issue, where after a Grafana restart, the error was lost because
the state of the alert rule did not change, but the Error is not preserved in the database
between restarts.

This could happen if the expression service returned an error or the alert routine panicked
during querying.
2024-06-25 09:42:00 +02:00
brendamuir 3a29f68d0c Alerting docs: vale fixes (#89604)
* Alerting docs: vale fixes

* fix numbering

* Alerting docs: monitor errors

* takes out will

* Update docs/sources/alerting/configure-notifications/template-notifications/images-in-notifications.md

* Update docs/sources/alerting/configure-notifications/template-notifications/images-in-notifications.md

* Update docs/sources/alerting/configure-notifications/template-notifications/images-in-notifications.md

* Update docs/sources/alerting/configure-notifications/template-notifications/images-in-notifications.md

* Update docs/sources/alerting/configure-notifications/template-notifications/images-in-notifications.md
2024-06-25 08:14:16 +02:00
Michael Mandrus 4d69213829 CloudMigrations: Break snapshot resources out into their own table (#89575)
* create a new table for migration resources

* remove raw result bytes from db

* more snapshot resource management stuff

* integrate new table with snapshots

* pass in result limit and offset as params

* combine create and update

* set up xorm store test

* add unit tests

* save some cpu

* remove unneeded arg

* regen swagger

* fix bug with result processing

* fix update create logic so that uid isn't required for lookup

* change offset to page

* regen swagger

* revert accidental changes to file

* curl command page should be 1 indexed
2024-06-24 23:50:07 -04:00
Isabel Matwawana dfee2720cc Docs: What’s new & Upgrade guide v11.1 (#89075)
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-24 16:38:41 -04:00
Juan Cabanas d07dc3bf40 ShareDrawer: Share Internally (#89315) 2024-06-24 16:31:42 -03:00
Chirag Gomber ca1afff886 Chore: Remove deprecated Layout components (#89376)
* Removed depricated HorizontalLayout from PrometheusMetricsBrowser

* Removed commented import

* typo fix

* Removed depricated HorizontalLayout from RawInfluxQLEditor

* Replaced InlineFormLabel to InlineField in RawInlfuxEditor.tsx

* Removed depricated HorizontalLayout from GraphiteFunctionEditor

* Changed div to instead use stack

* Changed htmlFor attribute from selectElementId to aliasElementId

* Updated the betterer results

* Updated prettier write to the updated files

* Changed htmlFor label to fix the text
2024-06-24 20:59:41 +02:00
Kevin Minehart 07389d1030 CI: auto-milestone needs repo write access (#89633)
auto-milestone needs repo write access
2024-06-24 21:09:05 +03:00
Darren Janeczek f5d9c247d9 fix: pyroscope datasource remove link extension (#89512)
It has been decided that we will not be using this moving forward.
2024-06-24 13:11:03 -04:00
Ashley Harrison 7d8afd9578 Tab: Improve accessible name (#89602)
* replace aria-label selector with data-testid

* fix unit tests

* fix e2e selectors

* fix last unit test

* fix e2e tests

* fix casing

* fix e2e test

* fix casing
2024-06-24 17:48:26 +01:00
Andrew Hackmann 5a8eff096a Update CODEOWNERS (#89629)
* Update CODEOWNERS

Partner datasources taking over opentsdb, graphite, and influxdb

* updating backend and frontend code owner to partner
2024-06-24 11:40:49 -05:00
Ashley Harrison 1e51557edc PageLoader: Fix scrollbar appearing on page loader (#89627)
fix scrollbar appearing on page loader
2024-06-24 19:26:50 +03:00
Haris Rozajac e9ee65924b Chore: Remove explore content outline feature toggle (#89277)
Remove explore content outline feature toggle
2024-06-24 09:45:42 -06:00
Isabel Matwawana 164bd86982 Docs: Edit mode updates 3 (#89565)
* Made edit mode updates in Manage library panels

* Made edit mode updates to Manage library panels

* Made edit mode updates to Inspect variables and fixed formatting

* Wording and formatting edits

* Added note about shortning process

* Reverted change to remove this file from the PR

* Made small fixes

* Fixed wording and formatting
2024-06-24 17:37:01 +02:00
Ryan McKinley 579bfa477e K8s: improve frontend resource client (#89621) 2024-06-24 18:25:04 +03:00
Sergej-Vlasov 4e0c3555df DashboardScene: Include scenes e2e in pr checks (#89297)
* adjust drone to run scenes e2e alongside

* adjust typo in scenes e2e folder name for consistency

* fix select options selector inssue with scenes bump

* skip tests in old arch that result in race conditions

* skip more flaky tests due to race conditions

* skip scenes e2e instead of old arch in case of race condition

* update to latest scenes version

* skip test due to race conditions

* skip flaky race condition test

* modify and sign drone pipeline

* remove unnecessary edits

* resolve merge conflicts and regenerate drone.yml
2024-06-24 17:57:50 +03:00
Christopher Lord d701c181e1 chore: rename 'Incidents' sidebar to 'Incident' (the product name) (#87396)
* chore: rename 'Incidents' sidebar to 'Incident' (the product name)

* run make i18n-extract
2024-06-24 17:55:53 +03:00
Rajguru 1b2f110664 Users: Add config option to control how often last_seen is updated (#88721)
Users: Add config option to control how often last_seen is updated

Co-authored-by: Karl Persson <kalle.persson92@gmail.com>
2024-06-24 16:54:56 +02:00
Juan Cabanas 399651b9ad ShareDrawer: Share snapshot (#89195) 2024-06-24 10:26:06 -03:00
ismail simsek 946545cfc5 Chore: Move LocalStorageValueProvider under @grafana/data pacakge (#89580)
Rehome LocalStorageValueProvider
2024-06-24 15:06:49 +02:00
Gilles De Mey e84e0c9f08 Alerting: Make alert group editing safer (#88627) 2024-06-24 16:04:43 +03:00
Marcus Andersson 04f39457cf Chore: Remove sensitive information from presigned URLs prior to logging (#87035)
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Dan Cech <dcech@grafana.com>
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2024-06-24 14:53:42 +02:00
Dominik Prokop 96fda0d6ea NavToolbarActions: Make sure ToolbarActions are renrendered when needed (#89615) 2024-06-24 14:52:02 +02:00
Ashley Harrison a89deaeb73 BrowseDashboards: Stop caching getAffectedItems (#89609)
stop caching getAffectedItems since alert rule/library panel creation isn't in rtkquery
2024-06-24 13:28:44 +01:00
antonio 6a68cc87a9 alerting tutorial fixes (#89606) 2024-06-24 13:01:14 +02:00
github-actions[bot] 78a85126f5 I18n: Download translations from Crowdin (#89503)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-24 13:48:23 +03:00
Ashley Harrison 7939745411 Chore: SCSS cleanup (#89563)
* fix fonts loading from CDN

* migrate font-awesome styles to emotion globals

* fix font-awesome rendering

* remove storybook scss overrides

* fix storybook theme imports
2024-06-24 11:42:16 +01:00
Gábor Farkas bcb23630d0 docs: update dashboard-variable docs (#88824)
* docs: update dashboard-variable docs

* better text

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>

* formatting fix

* fixed indentation

* more indent fixes

* better text

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

* better text

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

---------

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-06-24 12:40:08 +02:00
Alex Khomenko c778b16570 i18n: Use generated token (#89605) 2024-06-24 13:32:23 +03:00
Josh Hunt 51afe257a3 CI: Run auto-milestone on pull_request_target for forks (#89410)
* CI: Run auto-milestone on pull_request_target for forks

* remove milestone check
2024-06-24 11:18:30 +01:00
Ieva 2bc75016da Docs: fix a typo (#89603)
Fix a typo
2024-06-24 10:27:48 +01:00
Isabel Matwawana c7ec41e8c5 Docs: Edit mode updates 4 (#89581)
* Replaced three screeshots

* Replaced grafana URIs with cloud ones

* Updated main screenshot and descriptions

* Updated descriptions and added links
2024-06-24 09:09:41 +02:00
Alex Khomenko b971f94bb6 Announcement banner: Update docs (#89599)
* Announcement banner: Update docs

* Fix draft
2024-06-24 10:07:10 +03:00
Erik Sundell fc17dc4d6a Plugin E2E: Add alerting tests (#88909)
add alerting tests
2024-06-24 08:39:43 +02:00
pmo baf2e4d43c Fix typo in API key (#89568) 2024-06-23 21:58:59 +01:00
Gilles De Mey c0641a0ca6 Devenv: Allow configuring alertmanager config for prometheus docker block (#89558) 2024-06-22 11:20:51 +00:00
Jean-Philippe Quéméner bc43078320 fix(grafana-apps): copy namespace from connect ctx (#89569) 2024-06-21 20:05:55 +03:00
Leonor Oliveira e216de56e6 Unified Storage: Always populate RV and UID on create (#89554) 2024-06-21 17:37:53 +01:00
ismail simsek dd15c825f0 Chore: Export SelectMenuOptions (#89546)
export SelectMenuOptions
2024-06-21 17:00:07 +02:00
Alexa V 7feea32602 DashboardScene: Fix dashboard clear when row repeating with non-existing variable (#89559)
---------

Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2024-06-21 17:59:38 +03:00
Isabel Matwawana b62f8c0f19 Docs: Edit mode updates 2 (#89520) 2024-06-21 10:02:16 -04:00
Jack Westbrook af9538ce55 Chore: Remove yarn@1 and @types/add from package.json (#89535)
chore(npm): remove unused yarn@1.x and @types/add from root package.json
2024-06-21 13:54:35 +00:00
Ashley Harrison 3c15781788 Panel: Fix text aliasing bug when panel is loading (#89538)
* place loading bar animation in its own stacking context to prevent aliasing of text

* add comment
2024-06-21 14:40:51 +01:00
Michael Mandrus 89337ea01f CloudMigrations: Add unit tests for snapshot management (#89521)
* add regex support for api tests

* revert dumb thing

* add api tests

* add unit test for core async workflow

* add xorm store unit tests

* fix typo

* remove unnecessary assignment
2024-06-21 16:35:15 +03:00
Ryan McKinley 70cd002826 Storage: Make entity to runtime.Object conversion public (#89549)
* make conversion public

* make conversion public
2024-06-21 16:28:09 +03:00
Kim Nylander 9f04b6d6a8 Add note for streaming TraceQL results for GET and/or Tempo setups using intermediary proxies (#89251)
Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>
2024-06-21 09:12:08 -04:00
Mihai Doarna 02b0b7af16 SSO: Add basic validation rules for LDAP settings (#89548)
add basic validation rules for LDAP settings
2024-06-21 15:48:19 +03:00
Kristin Laemmert ab5a079bcc Fix: add mapping for the new mysqlRepl driver (#89551) 2024-06-21 08:35:46 -04:00
Misi 4be92ed111 Docs: Improve Okta docs (#89453)
* Improve Okta docs

* Update docs/sources/setup-grafana/configure-security/configure-authentication/okta/index.md

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-21 13:25:11 +02:00
Ivan Ortega Alba aea894191b Home: Remove extra padding for dashboard home (#89432) 2024-06-21 13:16:16 +02:00
Josh Hunt 06a1e8e22b RecentlyDeleted: Update Search table for deleted items (#89311)
* RecentlyDeleted: Show hard delete date

* format date

* don't crash when <60 minutes

* tooltip

* reimplement course duration

* oops fixed missed units

* cleanup
2024-06-21 13:58:28 +03:00
ismail simsek 957957e62a Chore: Move amendTimeSeries in @grafana/data package (#89456)
* move amendTimeSeries in @grafana/data package

* betterer and prettier
2024-06-21 13:39:42 +03:00
kay delaney d750af0c48 Scenes: Unset _changesWorker when change tracker is terminated (#89495)
* Scenes: Unset _changesWorker when change tracker is terminated

Closes #89458
2024-06-21 13:18:52 +03:00
Jack Westbrook e5474511d8 Plugins: Introduce magic modules to fe sandbox loader (#89274)
* feat(fe-sandbox): introduce module and exports magic modules to executed plugin code

* refactor(fe-sandbox): rename module and exports vars for clarity
2024-06-21 11:35:02 +02:00
Gabriel MABILLE f0ff7d57b4 RBAC: Allow folders actions in plugins roles (#89523)
* Allow some additional core actions for plugins

* typo

* Test nit.
2024-06-21 12:08:30 +03:00
Ashley Harrison be65aaf5dc Chore: Clean up some more old SCSS (#89404)
* remove/migrate normalize.scss

* fix typo

* migrate _add_data_source styles

* migrate panel-header styles

* migrate slate styles to emotion globals

* put back a couple of classes used by external plugins
2024-06-21 10:03:57 +01:00
Ashley Harrison 8840471574 Internationalisation: Update docs with nested variable examples (#89484)
* update i18n docs to handle interpolating variables inside inner components

* update with wrapping component example
2024-06-21 09:48:40 +01:00
antonio 5e75c0d179 tutorials:alerting:get-started-p2 (#89477)
* tutorials:alerting:get-started-p2

* author,figures

* link, numbering, note

* fix,title

* Update docs/sources/tutorials/alerting-get-started-pt2/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started-pt2/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started-pt2/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* alt text

* Revert "alt text"

This reverts commit 511a946158.

* alt-text-pt2

* all pretty no pity

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-21 08:40:49 +00:00
Jo d972bdca08 Docs: Add fixed role UUIDs to docs for terraform provisioning (#89457)
* add role UUID to docs

* add table description and terraform hyperlink
2024-06-21 08:20:02 +00:00
Ryan McKinley 93ef90a1e4 K8s: remove (not great) example api (#89524) 2024-06-21 10:23:08 +03:00
Miklós Tolnai f74afa5e7f Codeowners: Remove @mikkancso from codeowners (#89471)
remove mikkancso from codeowners
2024-06-21 09:54:12 +03:00
Darren Janeczek 61a102274d datatrails: only store bookmark state instead of the entire trail step history (#86929)
only store bookmark state instead of the entire step history
2024-06-20 22:13:51 -04:00
Jev Forsberg 491101bc8c Automation: Verify release artifacts on grafana.com (#89197)
* baldm0mma/verify_release/ create verify_release_for_download function

* baldm0mma/verify_release/ add name, image, env

* baldm0mma/verify_release/ add initial commands

* baldm0mma/verify_release/ add deps?

* baldm0mma/verify_release/ update location

* baldm0mma/verify_release/ add anno to lib-star

* bald0mma/verify_release/ update func name to verify_grafanacom_step

* baldm0mma/verify_release/ add verify shell script

* baldm0mma/verify_release/ add script content, first attempt

* baldm0mma/verify_release/ add node image to verify_grafanacom_step

* baldm0mma/verify_release/ add gcom secret note

* baldm0mma/verify_release/ add sudo to apt-get

* baldm0mma/verify_release/ add anno

* baldm0mma/verify_release/ add anno to secrets

* baldm0mma/verify_release/ update commands to reflect node env image

* baldm0mma/verify_release/ update annos

* baldm0mma/verify_release/ update tag variable

* baldm0mma/verify release/ add whitespace

* baldm0mma/verify_releases/ update with no bash loops

* baldm0mma/verify_release/ update exit logic

* baldm0mma/verify_release/ remove annos

* baldm0mma/verify_releasse/ resign and build yml

* baldm0mma/verify_release/ remove annos

* baldm0mma/verify_release/ update signature

* baldm0mma/verify_release/ download curl

* baldm0mma/verify_release/ remove temp key folder removal

* baldm0mma/verify_release/ account for artifact download time

* baldm0mma/verify_release/ add anno

* baldm0mma/verify_release/ update location

* baldm0mma/verify_release/ update script

* baldm0mma/verify_release/ make drone

* baldm0mma/verify_release/ update script for oss or ent

* baldm0mma/verify_release/ add promotion option

* baldm0mma/verify_release/ make drone

* Update scripts/drone/events/release.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* Update scripts/drone/steps/lib.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* Update scripts/drone/steps/lib.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* baldm0mma/verify_release/ update drone

* Update scripts/drone/events/release.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* baldm0mma/verify_release/ update drone

* Update scripts/drone/steps/lib.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* baldm0mma/update drone

* baldm0mma/verify_release/ update path

* baldm0mma/verify_release/ make drone

* baldm0mma/update drone

* Apply suggestions from code review

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* baldm0mma/verify_release/ update for loop to account for failure

* baldm0mma/verify_release/ make drone

* baldm0mma/verify_release/ make format-drone

* baldm0mma/verify_release/ rem unused var

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-06-20 17:20:49 -06:00
Yuri Tseretyan b075926202 Alerting: Time Intervals API (#88201)
* expose ngalert API to public
* add delete action to time-intervals
* introduce time-interval model generated by app-platform-sdk from CUE model the fields of the model are chosen to be compatible with the current model
* implement api server
* add feature flag alertingApiServer
---- Test Infra
* update helper to support creating custom users with enterprise permissions
* add generator for Interval model
2024-06-20 16:52:03 -04:00
Matthew Jacobson 3228b64fe6 Alerting: Resend resolved notifications for ResolvedRetention duration (#88938)
* Simple replace of State.Resolved with State.ResolvedAt

* Retain ResolvedAt time between Normal->Normal transition

* Introduce ResolvedRetention to keep sending recently resolved alerts

* Make ResolvedRetention configurable with resolved_alert_retention

* Tick-based LastSentAt for testing of ResendDelay and ResolvedRetention

* Do not reset ResolvedAt during Normal->Pending transition

Initially this was done to be inline with Prom ruler. However, Prom ruler
doesn't keep track of Inactive->Pending/Alerting using the same alert instance,
so it's more understandable that they choose not to retain ResolvedAt. In our
case, since we use the same cached instance to represent the transition, it
makes more sense to retain it.

This should help alleviate some odd situations where temporarily entering
Pending will stop future resolved notifications that would have happened
because of ResolvedRetention.

* Pointers for ResolvedAt & LastSentAt

To avoid awkward time.Time{}.Unix() defaults on persist
2024-06-20 16:33:03 -04:00
Kristina 3044319039 Explore: Allow Query Library drawer to delete queries (#89343)
* WIP

* WIP

* Add URL additions to query library API

* Add tag invalidation for refresh

* add styles

* Add verbiage from prototype

* Translations generation
2024-06-20 15:20:10 -05:00
Ryan McKinley 5e95c1bdf8 Storage: Move grpc helper from entity store to resource store (#89490) 2024-06-20 22:32:19 +03:00
Kristin Laemmert d988f5c3b0 fix: sql instrumentation dual registration error (#89508)
fix dual registration error
2024-06-20 14:45:39 -04:00
Larissa Wandzura 880c180424 Docs: Fixed broken links on Prometheus data source page (#89485) 2024-06-20 21:30:28 +03:00
Kevin Minehart 78e9226ad8 CI: Add bump-version action to the release PR workflow (#89491) 2024-06-20 13:15:09 -05:00
William Wernert c2c30c25ed Notifications: Do not log email address in error message (#89314)
Do not log email address in error message
2024-06-20 12:52:44 -04:00
Laura Benz 7c868e9b52 RestoreDashboards: Create deletion process (#89234)
* feat: add button

* feat: add modal

* refactor: move component

* feat: add backend handling

* fix: opening the modal

* feat: adjust modal content

* feat: adjust old delete modal

* feat: add text to old delete modal
2024-06-20 18:18:11 +02:00
Bogdan Matei 543e71eb28 Scopes: Pass selected scopes to dashboard JSON fetching (#89157) 2024-06-20 18:49:19 +03:00
Tom Ratcliffe c88de7f4d0 Alerting: Don't crash the page when trying to filter rules by regex (#89466) 2024-06-20 16:24:49 +01:00
Ryan McKinley 27e800768e K8s: Improve identity mapping setup (#89450) 2024-06-20 17:53:07 +03:00
Andre Pereira fc4a9904c9 Tempo: TraceQL metrics step option (#89434)
* Add step option for metric queries

* Add support for compare metric queries

* Remove unneeded line

* Delete step if it's not defined
2024-06-20 15:22:50 +01:00
Alex Khomenko c8f18023d3 Announcement banner: Add docs (#89455)
* Announcement banner: Add docs

* Add draft state
2024-06-20 17:11:56 +03:00
Sonia Aguilar ffe755f95d Alerting: Add warning in telegram contact point (#89397)
* Add warning in telegram contact point

* Protect possible undefined in settings

* Address review comments
2024-06-20 17:00:57 +03:00
Isabel Matwawana 10b6011dd7 Docs: Edit mode updates (#89438) 2024-06-20 09:53:21 -04:00
Isabel Matwawana 13e069b5af Docs: Fix broken link (#89441) 2024-06-20 09:52:31 -04:00
Tobias Skarhed 924a94cf80 New Select: Use virtual list (#89290)
* use react-virtual

* Render story with 100k items

* Dyanmic height and TanStack

* Remove weird item

* Add numberOfOptions to story

* Update class name

* Update class name
2024-06-20 16:51:17 +03:00
Ryan McKinley 6834038e91 Storage: Add new resource module and move some utilities (#89443) 2024-06-20 16:11:21 +03:00
Dave Henderson 1cc58d19f5 ci: Only run vuln scanner when Go deps are updated (#89433)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-20 09:07:15 -04:00
Kristina b7df121294 Explore: Change Logs.tsx to a functional component (#87808)
* First pass

* WIP

* why is my cpu angy

* Avoid triggering onHiddenSeriesChanged too often

onHiddenSeriesChanged should be called only when dataWithConfig changes, not when the callback changes itself.

This is actually causing an infinite loop because onHiddenSeriesChanged may not be memoized in the parent and passed as a  new callback function on each render.

* fix tests

* Remove store mock and clear store between tests instead

* Fix filtering

* First pass adding callbacks and dependencies

* Add useRef hook for toggleLegend and topLogsRef

* Remove unwanted reactivity

register(...) changes outlineItems. A function that calls register(...) behaves like a setter for the state - it cannot react to the state itself.

* Separate unmount clean-ups

* Ensure unmount is not reactive to props

* Make memoized functions stats

* Wrap functions passed down to components with useCallback

* Fix reporting interaction when context is closed

* Adjust several variables to use refs

* Post-merge fixes

* Ensure scrollIntoView is called with a ref to the container

* Update docs

* Ensure scrollIntoView is updated only if the scroll element changes

* Fix the default pinned log tooltip

* Small clean up

* Remove console.log()

---------

Co-authored-by: Piotr Jamroz <pm.jamroz@gmail.com>
Co-authored-by: harisrozajac <haris.rozajac12@gmail.com>
2024-06-20 15:04:44 +02:00
ismail simsek 2a714601a7 Chore: Remove prometheusIncrementalQueryInstrumentation feature toggle (#89463)
* remove prometheusIncrementalQueryInstrumentation feature toggle

* remove profile method

* remove more about profiling
2024-06-20 15:04:22 +02:00
Timur Olzhabayev 78c8a26906 Chore: Adding build number to plugin schema (#89464)
adding build number
2024-06-20 13:51:51 +02:00
Andres Martinez Gotor 44fd13c742 Repurpose wrong datasource UID feature flag (#89363) 2024-06-20 12:56:39 +02:00
github-actions[bot] bf3a383489 I18n: Download translations from Crowdin (#89401)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-20 11:53:46 +01:00
renovate[bot] 52a824f4ed Update dependency @grafana/scenes to v5.1.2 (#89454)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-20 12:53:56 +03:00
Bogdan Matei f04abb414d Scopes: Fix preserving scopes when accessing a dashboard only by uid (#89406) 2024-06-20 11:49:23 +03:00
Alexander Zobnin ba16c37126 Zanzana: Simple openfga client wrapper (#89430) 2024-06-20 10:37:16 +02:00
Tobias Skarhed df987fe2e5 PanelChrome: Use labelledby for accessible title (#88781)
* Add labelledby to PanelChrome

* Fix React's subpar useId

* No labelledby if there is no title
2024-06-20 09:43:46 +02:00
Joey 76c1750d38 Tempo: Remove kind=server from metrics summary (#89419)
* Update query / messaging

* Update field

* Update test
2024-06-20 08:17:53 +01:00
Andres Martinez Gotor 5f44c97e5f API Servers: Avoid crashing on panic (#89281) 2024-06-20 09:10:03 +02:00
Yuri Tseretyan 92f10b73a8 Alerting: Move interface Namespaced from accesscontrol to models package (#89439)
move Namespaced interface from accesscontrol to models
2024-06-19 16:18:33 -04:00
Kyle Cunningham 5d328983a1 Table: Don't wrap text labels for gauge cells (#88005)
Don't wrap text

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-06-19 19:12:11 +03:00
Victor Marin 13e16a4142 Transformations: Fix filter by value error on interpolation (#89418)
* string check before interpolation

* refactor
2024-06-19 18:16:04 +03:00
jvaelen fa3679d29b Docs: correct tracesToLogsV2 example span time shifts (#88421)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-19 16:01:02 +01:00
Tobias Skarhed 4a74330a09 TimeRangePicker: Improve screen reader support (#89409)
* Aria-expanded and tabs

* Remove weird prop

* Remove unused import

* Fix padding

* Use useId
2024-06-19 16:45:05 +02:00
Gilles De Mey 781e394118 Alerting: Skip loading alert rules for dashboards when disabled (#89361) 2024-06-19 16:29:44 +02:00
Gilles De Mey 64e134c601 Alerting: Do not check evaluation interval for external rulers (#89354) 2024-06-19 16:28:46 +02:00
Gilles De Mey 86ac40418d Alerting: Do not count rule health for totals (#89349) 2024-06-19 16:28:00 +02:00
Oleg Zaytsev ef921fee3d Document Unix ms format for time type parsing (#89147)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-06-19 17:19:40 +03:00
Karl Persson 3fe29809be Zanzana: database migrations (#89390)
* Zanana: Use grafana migrations to run openFGA migration files and initilize store.

* Add feature toggle

* Zanzana: return noop client if feature toggle is disabled
2024-06-19 15:59:47 +02:00
Ashley Harrison e1be01f482 Chore: Fix drone build (#89407)
sign drone
2024-06-19 14:30:39 +01:00
Jo bffe086cea Update IAM for more fine grained mentions (#89333)
Update IAM for more fine grained mentions
2024-06-19 15:24:39 +02:00
Michael Mandrus 8a8f97b0e4 CloudMigrations: Implement snapshot management apis (#89296)
* add new apis

* add payloads

* create snapshot status type

* add some impl

* finish implementing update

* start implementing build snapshot func

* add more fake build logic

* add cancel endpoint. do some cleanup

* implement GetSnapshot

* implement upload snapshot

* merge onprem status with gms result

* get it working

* update comment

* rename list endpoint

* add query limit and offset

* add helper method to snapshot

* little bit of cleanup

* work on swagger annotations

* manual merge

* generate swagger specs

* clean up curl commands

* fix bugs found during final testing

* fix linter issue

* fix unit test
2024-06-19 09:20:52 -04:00
Joey d928fac5c3 Datasources: Upgrade data source configs for several data sources (#89365)
Upgrade data source configs for several data sources
2024-06-19 13:39:41 +01:00
Ashley Harrison ceaf510a7d Chore: SCSS cleanup (#89355)
* remove/migrate normalize.scss

* fix typo

* migrate _explore styles

* make json-formatter styles global
2024-06-19 13:28:00 +01:00
Stéphane Cazeaux 6b876f1e38 Prometheus: Fix interpolating adhoc filters with template variables (#88626)
* Prometheus: replace variables on adhoc filters

Fixes #87979

Signed-off-by: Stéphane Cazeaux <stephane.cazeaux@orange.com>

* Prometheus: replace variable filters on adhoc variables also when promQLScope=true

Signed-off-by: Stéphane Cazeaux <stephane.cazeaux@orange.com>

---------

Signed-off-by: Stéphane Cazeaux <stephane.cazeaux@orange.com>
2024-06-19 14:02:17 +02:00
Alexander Zobnin b3907ca5ec Zanzana: Simple logger wrapper for openfga (#89396)
* Zanzana: Simple logger wrapper for openfga

* don't export
2024-06-19 13:55:31 +02:00
Dominik Prokop d46df10d30 DashboardScene: Show dashboard not found view (#89342)
* DashboardScene: Show dashboard not found view

* Test fix

* Use correct selector
2024-06-19 13:33:29 +02:00
Steve Simpson 8eabef1f91 Alerting: Update remote alertmanager to use extended receivers API. (#89253)
* Alerting: Update remote alertmanager to use extended receivers API.

* Update integration test and Mimir image

* Update Mimir image in more places
2024-06-19 12:40:22 +03:00
Josh Hunt db78604bd4 I18n: Add utility for locale-aware duration formatting (#89351)
* I18n: Add utility for locale-aware duration formatting

* fix message

* add fallback
2024-06-19 10:37:20 +01:00
Josh Hunt b43411631b Echo: Don't notify if PerformanceBackend errors when flushing (#89379) 2024-06-19 10:00:49 +01:00
Nihal a9736cf7dc InfluxDB: Fix query builder produces invalid SQL query when using wildcard column name (#89032)
* influx: changes to not wrap * with double quotes for column name

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* added unit test for https://github.com/grafana/grafana/issues/88008

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

---------

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
2024-06-19 08:39:53 +02:00
Victor Marin 51c858f32e Fix dashboard crash on dashboard leave in panel edit (#89353)
* Fix dashboard crashing when leaving dashboard in panel edit

* add test

* test
2024-06-19 09:31:01 +03:00
ismail simsek e5a50a7db8 InfluxDB: Fix sending range info on variable editor (#89347)
send range info in range field
2024-06-19 08:23:21 +02:00
ismail simsek dfcda2b14a InfluxDB: Don't interpolate bucket keyword in flux language if it is part of a join query (#89298)
don't interpolate bucket keyword if it is part of a join query
2024-06-19 08:22:16 +02:00
ismail simsek 76047d9365 Prometheus: Don't use match[] parameter if there is no metric (#89352)
don't use match[] parameter if there is no metric
2024-06-19 08:19:49 +02:00
Yuri Kotov a5e02f033a Prometheus: Fix query builder visualization when a query has by() clause for quantile (#88480)
Prometheus query builder: add support for by() clause for quantile aggregation
2024-06-19 08:19:27 +02:00
Leon Sorokin 74bcfb284c Heatmap: Use dashboard timeRange for auto-sizing x buckets (#89382) 2024-06-18 21:51:20 -05:00
Alexander Weaver 7c69f3657b Notifications: Redact URL from errors (#85687)
* Remove url logs and redact

* Reinclude redacted URL
2024-06-18 16:02:33 -05:00
Dave Henderson 3bbc821131 Metrics: Add ability to disable classic histogram for HTTP metric (#88315)
metrics: Add ability to disable classic histogram for HTTP metric

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-18 15:37:44 -04:00
Ryan McKinley 9b7f9ae22e K8s: Rename origin.key to origin.hash (#89337) 2024-06-18 22:27:16 +03:00
Joao Silva b0c043de5f Fix: Portuguese Brazilian wasn't loading translations (#89302) 2024-06-18 18:06:35 +01:00
Travis Patterson 59f255bb7f Add info tooltips to logs that have been sampled by adaptive logs (#89320)
* Add info tooltips to logs that have been sampled by adaptive logs

* review commends and linter changes

* make warnings match info

* fix betterer results
2024-06-18 19:54:14 +03:00
Matias Chomicki 966cee864a LogRows: add missing call to close the popover (#89370) 2024-06-18 19:34:39 +03:00
Josh Hunt 6597bed9f7 Chore: Bump ws (#89371) 2024-06-18 19:26:02 +03:00
Fabrizio f0270d8e31 Update code owners for O11Y package (#89334) 2024-06-18 18:05:55 +02:00
Laura Benz 34b3dbdbf3 RestoreDashboards: Adjust path (#89233)
* refactor: change path

* fix: page headline

* refactor: remove condition
2024-06-18 17:24:48 +02:00
Kristin Laemmert 50244ed4a1 Experimental Feature Toggle: databaseReadReplica (#89232)
This adds a version of the SQLStore that includes a ReadReplica. The primary DB can be accessed directly - from the caller's standpoint, there is no difference between the SQLStore and ReplStore unless they wish to explicitly call the ReadReplica() and use that for the DB sessions.

Currently only the stats service GetSystemStats and GetAdminStats are using the ReadReplica(); if it's misconfigured or if the databaseReadReplica feature flag is not turned on, it will fall back to the usual (SQLStore) behavior.

Testing requires a database and read replica - the replication should already be configured. I have been testing this locally with a docker mysql setup (https://medium.com/@vbabak/docker-mysql-master-slave-replication-setup-2ff553fceef2) and the following config:

[feature_toggles]
databaseReadReplica = true

[database]
type = mysql
name = grafana
user = grafana
password = password
host = 127.0.0.1:3306

[database_replica]
type = mysql
name = grafana
user = grafana
password = password
host = 127.0.0.1:3307
2024-06-18 11:07:15 -04:00
dependabot[bot] 791bcd93df Bump ws from 7.5.6 to 7.5.10 (#89362)
Bumps [ws](https://github.com/websockets/ws) from 7.5.6 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.6...7.5.10)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 17:05:43 +02:00
Ivan Ortega Alba 3fdc66d284 Scenes: Setting default_home_dashboard_path returns blank page and no controls (#89304) 2024-06-18 16:17:59 +02:00
Agnès Toulet f0e63c6fd5 Doc: Update image rendering with HTTPS configuration (#88505)
* Doc: Update image rendering with HTTPS configuration

* add version

* Update docs/sources/setup-grafana/image-rendering/_index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-06-18 16:11:59 +02:00
Dominik Prokop ae04580e5f DashboardScene: Make Grafana usable when custom home dashboard is invalid (#89305)
* DashboardScene: Make Grafana usable when custom home dashboard is invalid

* Tests

* Remove console.error
2024-06-18 16:08:16 +02:00
Ashley Harrison 50dd95c09b Chore: Remove betterPageScrolling toggle (#89339)
* remove betterPageScrolling toggle

* add scrollTo test shim
2024-06-18 14:33:08 +01:00
Tom Ratcliffe 3badf73b45 Alerting: Fix setting of existing Telegram Chat ID value (#89287) 2024-06-18 14:24:23 +01:00
Ashley Harrison 890482052a Login: Fix Skip button alignment (#89332)
fix login skip button alignment
2024-06-18 15:35:45 +03:00
Agnès Toulet 44a40f8e0c E2E: Add SMTP tester (#88392)
* E2E: Add SMTP tester

* fix loadlocation issue when running tests on alpine

* temporary update

* add log

* update run-suite

* Update run-suite

* Update run-suite

* Update run-suite

* Update yarn.lock

* apply suggestions + cleanup logs

* update yarn.lock & package.json

* fix swagger
2024-06-18 14:32:19 +02:00
Kristin Laemmert cc1d3d0f8d Chore(TeamService): remove extra Transaction from getTeamMember (#89308)
remove extra Transaction from getTeamMember
2024-06-18 07:51:50 -04:00
Mihai Doarna d074cc7892 Auth: Implement reload function for LDAP (#89267)
* keep config in a separate struct in LDAP

* implement reload function for LDAP

* remove param from sso service constructor

* update unit tests

* add feature flag

* remove nil params

* address feedback

* add unit test for disabled config
2024-06-18 14:31:27 +03:00
Sofia Papagiannaki 0afbaa39df Dashboards: Fix restoring dashboard to root folder (#89020)
* Fix restoring dashboard to root folder

* use a root folder representation instead of nil

* change root folder by general folder

---------

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2024-06-18 14:21:40 +03:00
Ezequiel Victorero b4c5c62f59 Chore: Update api docs reporting (#88878)
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2024-06-18 08:16:58 -03:00
Ivan Ortega Alba 3532d13f0c Chore: Regenerate OpenAPI specs to fix swagger (#89336) 2024-06-18 12:38:19 +02:00
Karl Persson 606a74d0af Zanzana: Initial work to run openFGA as embedded or standalone service (#89211)
* Zanana: Initial work to run zanana as ebeddedn or standalone

* Add addr settings for when remote client is used.

* sync dependencies

* Lock mysql driver version
---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-06-18 10:04:18 +02:00
Pepe Cano d0cf8956e2 Alerting docs: update Introduction page (#89155)
* Update Introduction page

* Update `How alerting works` image

* Update docs/sources/alerting/fundamentals/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Fix `alt` attribute

* alert instance are sent `in` notifications

* Clarify `Notification policies`

* Clarify Notification Policy responsibilities

* Edit existing image captions

* change `configure a contact point` to `choose a contact point`

* Update image `caption/alt`

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-18 09:44:56 +02:00
Levente Balogh 1d6c9d4690 Plugin extensions: Return react components from usePluginComponents() (#89237)
feat: return with react components from `usePluginComponents()`
2024-06-18 09:40:25 +02:00
antonio 0cc67bb93d alerting: notes on label matchers (#89269)
* alerting: notes on label matchers

* routing clarification

* Update docs/sources/alerting/alerting-rules/templating-labels-annotations.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/templates.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-18 09:22:23 +02:00
Ronan 3c5f07201e Tempo: Virtualized search dropdowns for attribute values (#88569)
* TraceQL: Make the search field component use the virtualized prop for performance gains

* Use act on timers to eliminate warningsd

* Update more timers to use act to fix testing library warnings

* Fix linting failure

* Run make commands

---------

Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
2024-06-18 08:20:06 +01:00
Ryan McKinley ea7f6ea32f Explore: Avoid sending panelId header unless we are in a dashboard (#88255) 2024-06-18 07:31:42 +03:00
Gabriel MABILLE 5f83fdef2c AuthZ: GRPC client init and config options (#89161) 2024-06-18 06:13:24 +02:00
Kyle Cunningham 3776c44c33 Table component: Fix sub-table rows not displaying correctly (#89082)
* Fix expanded height issue

* Prettier

* 🙅‍♂️ to console.log
2024-06-18 03:19:00 +07:00
Adam Yeats 0bdd613f3b Azure Monitor: Add validation for namespace field in AdvancedResourcePicker when entering a forward slash (#89288)
* Add validation for namespace field in AdvancedResourcePicker when entering a forward slash

* Add test

* Fix formatting

* Remove unused import
2024-06-17 18:43:27 +01:00
ismail simsek 92233350f8 InfluxDB: Add custom metadata to the first frame via header (#88698)
* add custom metadata via header to the response

* use strings.CutPrefix instead of regex
2024-06-17 20:02:53 +03:00
Kim Nylander 2e918cbb9b [DOC] Add feature toggle for admin page (#88954)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-17 18:01:31 +01:00
Ivan Ortega Alba 0abe4fc709 Scenes: Be able to show/hide dashboard controls in Kiosk mode (#88920) 2024-06-17 17:58:48 +02:00
Ashley Harrison 7bb883e375 Analytics: Fix ApplicationInsights integration (#89299)
change ApplicationInsights backend to use SystemJS to load
2024-06-17 16:19:12 +01:00
Matias Chomicki 8c5a925202 LogRows: remove app restriction from popover menu (#89276)
* LogRows: remove app restriction from popover menu

* chore: update tests

* Prettier
2024-06-17 16:56:15 +02:00
Brendan O'Handley 8fddf30621 InfluxDB: Flight SQL test, add function to search for free port (#89255)
* add function to search for free port

* Update pkg/tsdb/influxdb/fsql/fsql_test.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

* Update pkg/tsdb/influxdb/fsql/fsql_test.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

* fix test

* fix go linting issue

* fix go lint

---------

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-17 09:16:52 -05:00
Josh Hunt 51c0644e41 RestoreDashboards: add IsDeleted and PermanentlyDeleteDate to deleted search (#89283)
RestoreDashboards: add IsDeleted and PermanentlyDeleteDate to deleted items in Search
2024-06-17 14:26:23 +01:00
Sonia Aguilar e75fbe10ca Alerting: Central alert history (part1) (#88593)
* WIP

* Add barchart panel with scenes

* Fix timerange in barchart panel

* Refactor: component names

* Remove not used css styles and rename panel title

* Remove unnecessary HistoryEventsListObject class and update text in labels filter

* add padding top for filter

* Add translations

* update limit labels constant

* Update showing state reason

* Fix scene object

* Address review comments

* Update icons

* use endpoints instead of the autogenerated hook

* Address review comments

* Add tooltip for alert name

* use private polling interval

* fix autogenerated translations

* Address pr rewview comments

* Address review comments

* Update text in placeholder

* Rename variable and remove spaces in Trans children
2024-06-17 14:54:15 +02:00
Mihai Doarna 32d21356b9 Auth: Keep config in a separate struct in LDAP (#89149)
keep config in a separate struct in LDAP
2024-06-17 15:34:06 +03:00
Bogdan Matei 94e6bcd329 Scopes: Deduplicate the list of suggested dashboards (#89169) 2024-06-17 13:44:22 +03:00
Sergej-Vlasov 212c1477c2 DashboardScene: Adjust a11y tests errors (#89275)
adjust a11y tests errors
2024-06-17 13:31:52 +03:00
Steve Simpson 43a246f431 Alerting: Improve performance of /api/prometheus for large numbers of alerts. (#89268)
* Alerting: Optimize sorting alert instances.

* Also change other Labels fields for consistency
2024-06-17 12:25:47 +02:00
Darren Janeczek a7726ff813 fix: "Feature toggles" sentence casing on menu item (#89249)
fix: sentence casing on menu item
2024-06-17 11:22:11 +01:00
Josh Hunt 8a891dcdc4 RestoreDashboards: Clear cached parent folders after restoring a dashboard (#89162)
* RestoreDashboards: Refresh parent folders after restoring a dashboard

* actually, just clear the cache

* less log

* refactor
2024-06-17 11:15:37 +01:00
Bogdan Matei 67f2d93281 Scopes: QoL UI fixes (#89158) 2024-06-17 13:00:20 +03:00
Ida Štambuk ab2af9b8f7 Feature management: Add openSearchBackendFlowEnabled feature toggle (#89208) 2024-06-17 11:41:50 +02:00
Josh Hunt d4bba872a1 LibraryPanels: Use new folder picker when creating a library panel (#89228)
LibraryPanels: Use new folder picker when creating a Library Panel
2024-06-17 10:19:57 +01:00
Tobias Skarhed 0107754da8 Select: Add orange indicator to selected item (#88695)
* Initial experiment

* Add pill and underline

* Text decoration for hover

* Only set underline on the title

* Remove underline from hover

* Remove underline alltogether
2024-06-17 10:39:28 +02:00
Dominik Prokop ae80ed02e4 DashboardScene: Emit meta analytic view event (#89094)
* DashboardScene: Emit view event

* check fix
2024-06-17 09:14:27 +02:00
Diego Augusto Molina b9812a0784 Unified Storage: Fix data races and context usage in broadcaster (#88955)
* Fix several broadcaster data races and error handling

- Separate concerns between sender and receiver sides in channel usage
- broadcaster: Fix data race between Subscribe/Unsubscribe and start
- Fix Subscribe error to be io.EOF when broadcaster is terminated
- Fix Watch never unsubscribing
- General cleanup
- fix usage of context
- add a huge amount of documentation about channels
2024-06-15 02:46:14 -03:00
Alexander Weaver 8491e02caf Alerting: Instrument outbound requests for Loki Historian and Remote Alertmanager with tracing (#89185)
* Add TracedClient

* Handle errors and status codes

* Wire up tracing to normal ASH and loki annotation mapping

* Add tracing to remote alertmanager

* one more spot

* and not or

* More consistency with other grafana traces, lower cardinality name
2024-06-14 13:24:12 -05:00
Dave Henderson 6262c56132 chore(perf): Pre-allocate where possible (enable prealloc linter) (#88952)
* chore(perf): Pre-allocate where possible (enable prealloc linter)

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* fix TestAlertManagers_buildRedactedAMs

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* prealloc a slice that appeared after rebase

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-14 14:16:36 -04:00
Drew Slobodnjak e53e6e7caa Geomap: Fix data fit (#89247) 2024-06-14 10:09:47 -07:00
Darren Janeczek 79540a20b9 datatrails: persist search terms and use them to reduce retrieved metric names (#87884) 2024-06-14 12:36:35 -04:00
Kevin Minehart a250706305 CI: Make pkg/build its own module, remove unused Grafana modules in go.mo… (#89243)
* Make pkg/build its own module, remove unused Grafana modules in go.mod/go.sum

* fix go.work format

* log errors on file close errors
2024-06-14 19:35:30 +03:00
Jack Baldry 7b02cfddd8 Fix typo in dashboard-variables destinations and also use Grafana Cloud docs if they exist (#89244)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-14 17:27:22 +01:00
Adela Almasan c3b772618a Tooltip: Add tooltip support to Histogram (#89196)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-06-14 11:23:25 -05:00
Jack Baldry f5468542ba Use ref URIs with the reference style links (#89204)
* Use ref URIs with the reference style links

If I remember correctly, the UI needs reference style links so it can substitute its own link destinations.
ref URIs work both inline and as the destination for reference style links.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Remove unused ref URI

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Remove unused Data frames link

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-14 15:44:29 +01:00
Josh Hunt 15c81b2a8b Move RecentlyDeleted into browse-dashboards (#89214)
* Move RecentlyDeleted into browse-dashboards

* refactor: change path

---------

Co-authored-by: Laura Benz <laura.benz@grafana.com>
2024-06-14 17:25:19 +03:00
Jack Westbrook 3bfa1ed9ed Datasource Config: Return error object on failed updates (#88661)
feat(datasource-config): return error if ds update fails
2024-06-14 16:19:48 +02:00
Josh Hunt 90c3d74955 LibraryPanels: Replace 'General' folder with 'Dashboards' (#89220)
Show 'Dashboards' for library panels not in a folder
2024-06-14 14:01:18 +01:00
Ryan McKinley 23d9af7175 Reporting: Add basic read-only apiserver (#89140) 2024-06-14 15:49:08 +03:00
Dave Henderson afc1e148b2 ci(chore): Lint all Go code, upgrade golangci-lint action (#89221)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-14 15:42:09 +03:00
Laura Benz d44ddba996 RestoreDashboards: Fix counting bug (#89201)
Fix restore modal showing incorrect counts

Co-authored-by: joshhunt <josh@trtr.co>
2024-06-14 14:30:05 +02:00
Ieva 4e3294cd8d RBAC: Fix the check for whether an action set should be added (#89219)
fox the check for whether an action set should be added
2024-06-14 14:23:29 +02:00
Ieva b2864d6dfb Docs: add information about overrideRole provisioning option to docs (#89181)
add information about overrideRole provisioning option to docs
2024-06-14 13:16:16 +01:00
Sofia Papagiannaki 63c4d7373a Update cloud_migrations.go (#89218)
Remove unnecessary newline
2024-06-14 15:14:37 +03:00
Tom Ratcliffe 2dd44e2f58 Alerting: Remove duplicated alertRule handlers file and usage (#89100) 2024-06-14 13:42:00 +02:00
Erik Sundell 72241dbf5f Plugin extensions: Add e2e tests (#89048)
* add custom plugins

* update bundles

* provision app plugins and their dashboards

* add one more script that run e2e tests using e2e test server

* add e2e tests

* regenerate jsonnet dashboards

* ignore custom plugins and playwright report

* use minified

* cleanup tests

* update codeowners

* add leading slash

* document new script

* document custom-plugins

* cleanup

* twist modules

* add readme
2024-06-14 13:41:17 +02:00
Tom Ratcliffe a9171aa9fe Alerting: Fix display of falsy alert values in state history (#89156) 2024-06-14 13:41:01 +02:00
Leonor Oliveira 1691d80412 Refactor enrichObj function (#89210) 2024-06-14 13:13:59 +02:00
Leonor Oliveira e1145472c4 For now, only compare if names are the same in playlists (#89206) 2024-06-14 13:13:49 +02:00
Ashley Harrison 7c5c01cb6c Chore: Tidy up more font-awesome SCSS (#89207)
* migrate pull-right/pull-left

* remove fa-rotate and fa-flip

* remove _stacked

* remove font-awesome _list

* remove font-awesome _larger

* remove fa fixed-width

* remove fa animated styles

* move sr-only to global styles

* condense remaining font-awesome stuff into 1 file

* extract out spin animation into util folder
2024-06-14 11:35:32 +01:00
Tom Ratcliffe 26233e98a8 Alerting: Fix saving telegram contact point to Cloud AM config (#89182)
* Add test for saving telegram contact point to AM config

* Fix default value for select options in AM config
2024-06-14 10:56:25 +01:00
Ashley Harrison 84590901e5 Chore: Migrate some more deprecated SCSS (#89160)
* migrate pull-right/pull-left

* remove fa-rotate and fa-flip

* remove _stacked

* remove font-awesome _list

* remove font-awesome _larger

* remove fa fixed-width
2024-06-14 10:46:44 +01:00
renovate[bot] 063082acbc Update dependency @grafana/scenes to v5.0.3 2024-06-14 12:06:17 +03:00
Leonor Oliveira fd44f2ee4f Init dualwriter metrics (#89003)
* Pass prometheus registerer to the dual writer

* Fix tests

* Remove unused var

* Fix tests

* Uncomment test

* Remove leading line

* Fix tests. Reuse registerer if there's already one

* Lint

* Improve double registering logic

* Rebase main
2024-06-14 11:01:49 +02:00
Torkel Ödegaard e3da5ed35d Scenes: Upgrade to latest URL sync system (#88836)
* Urlsync updates

* Update

* Fixing tests

* Update to latest canary

* fix

* Update

* Update

* Update

* Fix data trails issue

* Data trails fixes

* Update

* correctly sync scene object graph with url state

* Update
2024-06-14 10:23:51 +02:00
Steve Simpson dd3c3b5857 Alerting: Update grafana/alerting. (#88914) 2024-06-14 09:19:04 +02:00
Ryan McKinley 2173429ce2 Identity: Add static requester struct (#89190) 2024-06-14 09:04:06 +03:00
github-actions[bot] 4ee754d69b I18n: Download translations from Crowdin (#89175)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-14 08:17:36 +03:00
Ryan McKinley f2b6a9aa3d K8s: Add numeric revisionVersion helpers to grafanaMetaAccessor (#89191) 2024-06-14 02:35:23 +03:00
Isabel Matwawana e807f4201b Docs: Fixes for 11.1 visualizations docs (#89193)
* Updated table wrapping and auto wording

* Fixed formatting to match other lists

* Fixed admonition styling and moved content out of note into body

* Added note re feature toggle

* Fixed typo

* Added comma

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>

---------

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-06-13 16:57:51 -04:00
grafana-delivery-bot[bot] 40e3601982 Release: Bump version to 11.2.0-pre (#89184)
* "Release: Updated versions in package to 11.2.0-pre"

* fix newline

---------

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-06-13 15:08:07 -05:00
Kristin Laemmert e2f65dda0c chore: remove redundant transactions from Dashboard (get) sql queries (#89186)
* chore: remove redundant transactions from sql queries
* remove unused parameter
2024-06-13 15:32:01 -04:00
Ryan McKinley 57b760824f Chore: Remove pkg/infra/x/persistentcollection (#89139) 2024-06-13 21:46:52 +03:00
Michael Mandrus 9d3a4e236d CloudMigrations: Refactor API for async work (#89084)
* rename some stuff

* more renaming

* clean up api

* rename more functions

* rename cms -> gms

* update comment

* update swagger gen

* update endpoints

* overzealous

* final touches

* dont modify existing migrations

* break structs into domain and dtos

* add some conversion funcs

* fix build

* update frontend

* try to make swagger happy
2024-06-13 17:58:59 +00:00
Matias Chomicki 06c0ce4325 LogDetailsRow: customize filters tooltip according to the current app (#89183)
* LogDetailsRow: customize filters tooltip

* Update tests
2024-06-13 20:54:33 +03:00
Ieva bd35fa10f1 RBAC: Resolve action sets when GetPermissions is called (#89046)
* resolve action sets when GetPermissions is called

* a fix to ensure that dashboard permissions that override parent folder permissions are displayed on top of the inherited permission

* linting

* linting pt2
2024-06-13 20:06:37 +03:00
Ieva eb535e163d Docs: Add parameter definition to swagger for RBAC debug endpoint (#89097)
add parameter definition to swagger for RBAC debug endpoint
2024-06-13 20:01:12 +03:00
Matias Chomicki 6a125fd59f Logs panel: do not pass default handlers if context is not defined (#89174) 2024-06-13 19:56:50 +03:00
Ieva 3853f90528 RBAC: Include action sets in dashboard and folder permission filter (#89133)
take action sets into account in dashboard and folder permission filter
2024-06-13 19:40:47 +03:00
Artur Wierzbicki 627d77c365 chore: change codeowner of /pkg/components/imguploader (#89167)
* change owner for imguploader

* Update .github/CODEOWNERS

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>

---------

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>
2024-06-13 18:18:29 +03:00
grafana-delivery-bot[bot] ffcb13b7ab Changelog: Updated changelog for 10.4.4 (#89173)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-13 18:08:26 +03:00
Ivana Huckova 375be77f32 Elasticsearch: Add developer documentation (#89050)
* Elasticsearch: Add developer documentation

* Update

* Update

* Add code comments

* Update

* Update public/app/plugins/datasource/elasticsearch/docs/developer_documentation.md
2024-06-13 18:05:50 +03:00
Kyle Brandt 82aa000e9d SSE: (Chore) Update log line with context (trace) (#89172)
Improves log line to help with debugging in Server Side Expressions. In particular, the traceId, datasourceType, and datasourceUid will now be included.
2024-06-13 10:58:39 -04:00
Juan Cabanas b7180c17b8 ShareDrawer: Add confirm action (#89001) 2024-06-13 11:11:26 -03:00
Bogdan Matei 07ec1a303e Scopes: Remove basic selector (#89098) 2024-06-13 17:02:40 +03:00
Juan Cabanas 59d83bc55a PublicDashboards: Fix error message when deleting (#89166) 2024-06-13 10:39:35 -03:00
Sam Jewell 2d0a3953c1 Transformations: Move transformation variables to general availability (#89111) 2024-06-13 07:18:21 -06:00
Will Browne 74230937f4 Plugins: Update plugin SDK Go to 0.235.0 (#89153)
update plugin SDK go to 0.235.0
2024-06-13 15:14:39 +02:00
Tobias Skarhed 5e2f08de31 New Select: Initial scaffolding (#89114)
* Initial scaffolding

* Extend props from Input

* Rename to Combobox

* Use search icon

* Remove use of SelectableValue

* Remove unused import

* Memoize
2024-06-13 13:41:14 +02:00
Gabriel MABILLE afcb5a855c AuthZ: embed an authorization server (#89018)
* AuthZ: embed an authorization server

* CODEOWNERS

* Remove swagger

* WIP

* Flatten structure and inject wireset

* sync mod files

* Rename authorization package

* Fix swagger gen

* CODEOWNERS

* Use itf instead of impl

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-06-13 11:41:35 +02:00
Oscar Kilhed 99e5e1c8bd Dashboard scenes: Duplicated panels should maintain size of source panel (#89152)
Maintain size of duplicated panel
2024-06-13 11:24:29 +02:00
github-actions[bot] 025309a303 I18n: Download translations from Crowdin (#89142)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-13 12:17:43 +03:00
Ieva 1ac395b785 RBAC: Only store action sets for dashboards and folders (#89053)
* don't store action sets for resources other than dashboards and folders

* remove unneeded comment
2024-06-13 12:06:48 +03:00
Matias Chomicki 7e9e5f5346 Chore: bump @grafana/experimental (#89119)
* Chore: bump @grafana/experimental

* chore: upgrade all package.json
2024-06-13 08:46:59 +00:00
Pepe Cano 35fba3833b Alerting docs: fix example (#89132)
* Fix matching label example

* Update some wording

* Update docs/sources/alerting/fundamentals/notifications/notification-policies.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Minor Timing options summary clarification

* Clarify `Disable grouping`

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-13 10:08:15 +02:00
Ivan Ortega Alba 080adaf987 Inspect: Include only BOM char for excel files (#88994) 2024-06-13 09:41:50 +02:00
Laura Benz ca2df58ab0 RestoreDashboards: Implement restore workflow (#88753)
* feat: create interactable elements

* feat: add i18n

* feat: add restoment process

* refactor: move restore endpoint

* refactor: adjust some API things

* refactor: adjust i18n

* Run i18n abstraction

* refactor: clean up

* refactor: update comment

* refactor: update text in modal

* refactor: correct translation keys

* refactor: add changes from code review

* refactor: add styling

* Update go.work.sum
2024-06-13 09:12:10 +02:00
Mitch Seaman 25f65cee29 Update description of Grafana OSS (#89088)
* Update description of Grafana OSS

Reorder info and change examples to include only OSS data sources

* ran prettier

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-13 08:18:26 +02:00
Ryan McKinley 99d8025829 Chore: Move identity and errutil to apimachinery module (#89116) 2024-06-13 07:11:35 +03:00
Nathan Marrs 12a45fdeca Canvas: Refactor scene.tsx for better maintainability (#88517)
Co-authored-by: drew08t <drew08@gmail.com>
2024-06-13 03:33:42 +03:00
Drew Slobodnjak 2fcc4d8cd7 Table: Fix row count during filter (#89004)
* Table: Fix row count during filter

* Fix pagination ranges
2024-06-12 13:54:39 -07:00
William Wernert c62cc25513 Alerting: Configure recording rule writer from config.ini (#89056) 2024-06-12 16:04:46 -04:00
Juan Cabanas 7664b89209 ShareModal: Share externally (#88259) 2024-06-12 17:02:06 -03:00
Ryan McKinley ed400f0bbf EntityStore: Use standard user identifier rather than custom version (#89080)
user uid string
2024-06-12 19:39:34 +03:00
Marcus Efraimsson 1abaa825c6 Tracing: Only enable traces to profiles for api servers for now (#89126) 2024-06-12 19:36:31 +03:00
Torkel Ödegaard 636910e57e DashboardScene: Fixes issue removing override rule (#89124) 2024-06-12 18:35:10 +02:00
Josh Hunt c58d09fd81 BrowseDashboards: Prepend subpath to New Browse Dashboard actions (#89109) 2024-06-12 17:22:00 +01:00
Ashley Harrison 822644714a Navigation: Remove ApplyAdminIA logic (#89113)
make admin IA more normal
2024-06-12 16:45:13 +01:00
Taewoo K 5bb10d84e0 add catchpoint to plugin list (#87438)
* add catchpoint to plugin list

* fix format

* bump the plugins number
2024-06-12 10:05:07 -04:00
Kevin Minehart c6d807e015 CI: Trigger release pr workflow when a release is completed (#89062) 2024-06-12 08:48:50 -05:00
Ashley Harrison 13d00e09ab Chore: Migrate some more SCSS to emotion (#89038)
* migrate section-heading

* move fonts to global styles

* migrate code styles to emotion globals

* migrate spacings styles and leave some in angular

* padding should be 2 here not 1
2024-06-12 14:46:20 +01:00
Isabella Siu 9877aa7039 Cloudwatch: Metrics Query Builder should clear old query (#88950) 2024-06-12 09:31:05 -04:00
Bogdan Matei 423c03912b Scopes: Remove disabled flag on nodes search input (#89041) 2024-06-12 16:18:09 +03:00
Ryan McKinley 3ae95a6eb1 K8s: Update grafana resource metadata accessor (#89074) 2024-06-12 14:39:37 +03:00
github-actions[bot] 58f7032b39 I18n: Download translations from Crowdin (#89054) 2024-06-12 11:19:30 +01:00
Edvard Falkskär 6998bf40d7 BarChart: Fix type error when there are no series (#89087)
BarChart: Fix reference error when there are no series
2024-06-12 02:59:03 -07:00
Sergej-Vlasov c512d10362 DashboardScene: Adjust plugin-e2e for dashboardScene FF (#89052)
adjust plugin-e2e for dashboard scene ff
2024-06-12 11:37:16 +02:00
Sergej-Vlasov 8d0e437287 DashboardScene - Add various-suite to scenes e2e (#88911)
* duplicate various-suite in scenes e2e

* restore original various-suite

* adjust various-suite e2e tests for scenes

* adjust workflow for test run

* adjust flaky exemplars test

* remove old dash script and restore workflow

* duplicate e2e/various-suite/keybinds.spec.ts into e2e/scenes

* restore original e2e/various-suite/keybinds.spec.ts

* add new keybinds e2e test

* restore workflow file after test run
2024-06-12 11:36:11 +02:00
Joao Silva dc03798c34 Chore: Remove gf-forms from alertmanager and graphite datasources (#88933) 2024-06-12 10:13:13 +01:00
Santiago b7120c5a30 Alerting: Fix missing argument in call to createRemoteAlertmanager() (#89101) 2024-06-12 11:57:22 +03:00
Pepe Cano 57c9207a74 Alerting docs: Update Timing Options (#89036)
* first wip

* Complete changes

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Edit sentence refering the previous example

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-12 10:46:00 +02:00
kay delaney 195c17da60 Scenes: Add support for viewing variable dependency graph in settings (#87577)
* Scenes: Add support for viewing variable dependency graph in settings

* Fix failing e2e test

* Add test for createDependencyNodes/Edges

* Refactor for better separation between old architecture and scenes

* Add internationalization

* run maker

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2024-06-12 10:40:52 +02:00
Ieva 34c40f959f RBAC: Add and resolve action sets when searching user's permissions (#88694)
* include and resolve action sets when fetching user's permissions

* expand both action and action prefix (returns an empty set for the one that isn't specified)
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* if action is specified, check for exact match; also extend tests
2024-06-12 11:20:19 +03:00
Santiago 12d5251c12 Alerting: Alertmanager configuration sync loop (#88822)
* make the config sync happen on each call to ApplyConfig(), fix tests

* send autogen config

* add fake autogen function for tests

* update stale comments, tidy things up, make linter happy

* add auto-gen routes only if the feature toggle is enabled

* remove unnecessary fake autogen function

* throttle configuration syncs

* restore pkg/services/store/entity/sqlstash/sql_storage_server.go

* test sync loop in ApplyConfig, skip invalid autogen routes

* restore conf/defaults.ini

* restore conf/defaults.ini

* avoid skipping invalid auto-gen routes in SaveAndApplyConfig

* test that autogenFn is called and its errors are returned

* add debug message about the sync interval not having elapsed

* collapse two log lines into one
2024-06-12 10:13:34 +02:00
Eric Leijonmarck c85d10d6c3 Auth: Removal of conflicting users check upon creation (#89045)
fix: removal of check for conflicting users
2024-06-12 09:19:06 +02:00
Joseph Perez f09f21b5bb Docs: Edit of data requests and breaking changes docs (part 4 of Contribute doc quality project) (#88858)
* Docs: data requests and breaking changes edit

* Update contribute/architecture/frontend-data-requests.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Fixes from review

* Update contribute/architecture/frontend-data-requests.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update contribute/architecture/frontend-data-requests.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update contribute/breaking-changes-guide/breaking-changes-guide.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Fix from review

* Update contribute/breaking-changes-guide/breaking-changes-guide.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update contribute/breaking-changes-guide/breaking-changes-guide.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Fix from review

* Update contribute/breaking-changes-guide/breaking-changes-guide.md

Co-authored-by: Beverly Buchanan <131809838+BeverlyJaneJ@users.noreply.github.com>

* Fixes from review

* Update contribute/breaking-changes-guide/breaking-changes-guide.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Fix from review

* Fix from review

* Fix alt text

* Remove 1st person

* Fix from review

* Eliminate 'in case'

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Beverly Buchanan <131809838+BeverlyJaneJ@users.noreply.github.com>
2024-06-11 14:57:22 -07:00
Jay Clifford 465efbf802 feat: Updated whats-new-in-v11-0.md with release video (#87953)
Update whats-new-in-v11-0.md

Grafana 11 release video added.
2024-06-11 15:56:20 -04:00
Larissa Wandzura 59fbc0d9e3 Docs: Updates to the Grafana enterprise data source intro page (#89065)
removed a dupe, deprecated data source and cleaned up a page name
2024-06-11 14:10:03 -05:00
Señor Performo - Leandro Melendez 404617b33d Added Grafana Play Links to Panel visualization docs (#88995)
* Update index.md on Node panels to Grafana Play link

* Update index.md add Traces docs link to Grafana Play

* Update index.md News documentation link to Grafana Play

* Update index.md Alert list documentation link to Grafana Play

* Update index.md Alert list fixed missing link

* Update index.md Fixed title

* Update index.md Trying code fix

* Ran prettier command

* Matched link text to dashboard titles

* Replaced URL with ref URI key

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2024-06-11 14:57:03 -04:00
Ryan McKinley a559a66544 FeatureFlags: Update creation timestamps (#88966) 2024-06-11 21:23:12 +03:00
Jacob Valdemar eb76ea47a0 Alerting: Add ha_reconnect_timeout configuration option (#88823)
* Docs: Update "Configure high availability" guide with ha_reconnect_timeout configuration

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-06-11 13:25:48 -04:00
Haris Rozajac 2d370f3983 Explore: Logs pinning in content outline (#88316)
* wip: working version

* add delete buttons, put pinned logs on top,

* Use already available onPinLine prop

* cleanup

* Fix alignment of pinned log

* Limit to 3 pinned log lines

* Format tooltip message

* Lower to font size and adjust padding so pinned log title is fully visible

* Add internationalization support in Explore Logs

* Update json for i18n

* Test remove button

* Open content outline after pinning a log

* Remove console.log statements

* Minor changes

* Conflict stuff
2024-06-11 11:15:36 -06:00
Alexander Akhmetov 667fea6623 Alerting: use hash of labels instead of labels string as the alert state cache key (#88956)
* Alerting: use hash instead of labels as the cache key
* Use data.Labels.Fingerprint to calculate the cache key
2024-06-11 18:34:58 +02:00
Alexander Weaver d004f8a98d Alerting: Recording rules understands errors embedded in dataframes (#88946)
* Make MakeDependencyError public for tests in another package

* Create tests for errors in eval results

* Extract logic to pull frame errors out into exported function

* Maybe we can drop cyclomatic complexity lint suppression now?

* extract frame errors and fail recording rules if frames contain error

* Fix up retry logic to actually work

* Do not retry non retryable errors
2024-06-11 10:37:10 -05:00
Dominik Prokop 45c601acc4 Grafana live: Add tests and missing code to amendTable (#89031)
* Grafana live: Add tests and missing code to amendTable

* Betterer
2024-06-11 17:34:58 +02:00
Ashley Harrison 89dd710ca9 Chore: Add extra check in keybinds e2e test to prevent flake (#89034)
add extra check
2024-06-11 16:28:47 +01:00
brendamuir 5a9e8a20f6 Docs: fixes overview text height (#89044)
* Docs: fixes overview text height

* deletes word documentation
2024-06-11 17:17:01 +02:00
Josh Hunt 994ddf7e6f RecentlyDeleted: Remove search box (#89043)
* RecentlyDeleted: Remove search box

* i18n
2024-06-11 17:45:10 +03:00
Josh Hunt c71f8b8b1f Keybinds: Allow move time range shortcuts (t left / t right) to be chained (#88904)
* Allow for chaining timeshift shortcuts

* ignore repeated shortcuts
2024-06-11 15:13:49 +01:00
Matias Chomicki ff0c9bd66a Log: Added panel support for filtering callbacks (#88980)
* chore: update stale comment

* Logs Panel: add props for interactive callbacks

* LogsPanel: type guard unknown props

* chore: add comments

* chore: rename popover filtering callbacks prop names

* chore: format panelcfg

* Formatting

* LogsPanel: add default label filter handlers using panel context

* Formatting

* chore: add tests for new props
2024-06-11 16:54:41 +03:00
Leon Sorokin f32afbcb0a BarChart: Fix bar widths changing when toggling series (#89010) 2024-06-11 16:43:39 +03:00
Misi 2e811c5438 Chore: Use OrgRoleMapper in Grafana.com client (#89013)
* Use OrgRoleMapper in Grafana.com client

* Clean up
2024-06-11 14:53:05 +02:00
Kevin Minehart 4b853922a6 CI: Add release-pr workflow (#89005)
* Add release-pr workflow

* update CODEOWNERS
2024-06-11 07:50:52 -05:00
brendamuir 5481399c53 Docs: landing page for OSS/Enterprise (#89030)
* Docs: landing page for OSS/Enterprise

* adds alt text for image in alerting

* Update docs/sources/_index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/_index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/_index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* changes according to jacks feedback

* more fixes

* ran prettier

* adds upgrade tile

* adds better description

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-11 14:36:14 +02:00
Steve Simpson d440d86bbb Alerting: Fix erroneous use of grafana-cli/logger. (#89037)
Can't see how this was intentional, likely just a typo.
2024-06-11 14:29:56 +02:00
Ashley Harrison 55dfc76b23 Chore: replace General with Dashboards (#89017)
replace General with Dashboards
2024-06-11 13:10:25 +01:00
Galen Kistler 1f967a89b6 Frontend: InteractiveTable fix - prevent styles from leaking into tables added in expanded rows (#88948)
* fix: prevent styles from leaking into tables added in expanded rows
2024-06-11 06:40:29 -05:00
github-actions[bot] c00fa995f7 I18n: Download translations from Crowdin (#89035)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-11 11:23:00 +00:00
Ashley Harrison 09dfdef378 Calendar: Add labels for next/previous month (#89019)
add labels for next/previous month
2024-06-11 11:49:02 +01:00
Ivana Huckova 09e74acc94 Loki: Respect pre-selected filters in adhoc filter queries (#89022)
* Loki: In adhoc filters, respect pre-selected filters

* improve test,fix quotes

* Refactor
2024-06-11 13:09:29 +03:00
Oscar Kilhed 558aaf22bd Dashboard scenes: Allow undefined filter prop in adhoc variable when comparing two adhoc variables. (#88993)
* Allow undefined filter prop in adhoc variable when comparing two adhoc variables

* set mock implementation before each test

* mock console.warn in each test
2024-06-11 11:06:19 +02:00
Santiago cdbc9d801f Alerting: Use the internal Alertmanager to test templates and receivers (remote primary) (#88988) 2024-06-11 11:06:07 +02:00
Ieva 095ca66d9f RBAC: List only the folders that the user has access to (#88599)
only check folder permissions when listing folders
2024-06-11 10:37:16 +03:00
Ieva 10857c5400 Docs: Use bearer auth not basic auth in IAM doc examples (#88984)
use bearer auth not basic auth in examples
2024-06-11 10:35:22 +03:00
Mihai Doarna 3d40caf819 SSO: Add LDAP fallback strategy for SSO settings service (#88905)
* add root and client certificate value fields for LDAP

* update error messages for connection error

* add LDAP fallback strategy for SSO settings service

* fix params for sso service provider

* fix params for sso service provider

* sort imports

* sort imports

* replace json.Number with int64 in config map

* remove type assertions
2024-06-11 10:22:53 +03:00
Yuri Tseretyan d4b0ac5973 Alerting: Fix rule storage to filter by group names using case-sensitive comparison (#88992)
* add test for the bug
* remove unused struct
* update db store to post process filters by group using go-lang's case-sensitive string comparison

--------

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2024-06-10 19:05:47 -04:00
Dave Henderson ee8a549fdd CI: Add Trivy GitHub Action (#88987)
* CI: Add Trivy GitHub Action

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* Remove obsolete Snyk workflow

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-10 16:53:48 -04:00
Señor Performo - Leandro Melendez c98b7a712f Update index.md for Node, adding video to docs (#88941) 2024-06-10 19:52:16 +02:00
Kristina aab83303da Ensure running server from VSCode enables dev mode (#88986) 2024-06-10 10:30:03 -05:00
Mihai Doarna 0f936e2939 Auth: Add root and client certificate value fields in LDAP config (#88746)
* add root and client certificate value fields for LDAP

* update error messages for connection error
2024-06-10 18:13:15 +03:00
Ashley Harrison 06c30ee165 Chore: Migrate more SCSS styles (#88780)
* remove animations mixins

* move drop and drop-element to angular file

* migrate submenu scss
2024-06-10 16:10:54 +01:00
Santiago 5f4d07bb75 Alerting: Enable remote primary mode using feature toggles (#88976) 2024-06-10 17:07:13 +02:00
Torkel Ödegaard db25886f9c DashboardScene: Fixes lack of re-render when updating field override properties (#88796)
* DashboardScene: Fixes lack of re-render when updating field override properties

* Added unit test
2024-06-10 16:42:25 +02:00
Aaron Godin 59a6a6513f Prevent moving a k6 folder (#88884)
* iam-716 - prevent a folder move operation when the folder's uid or any of its parents uids begin with k6-app

* fox folder move check and only list non-k6 folders to users

* adding tests for moving

* add a test for listing folders

* fix the other tests

* use method that adds folder parent

---------

Co-authored-by: IevaVasiljeva <ieva.vasiljeva@grafana.com>
2024-06-10 09:17:51 -05:00
Leon Sorokin 89a0bec208 Transformations: Keep original field.labels.name when joining frames (#88873) 2024-06-10 09:16:58 -05:00
Juan Cabanas 03a000e1b5 ConfirmModal: Reuse confirm content (#88577) 2024-06-10 11:14:25 -03:00
Leonor Oliveira b30c81b1ad Add and fix tests for playlists in mode1 (#88543)
* Add and fix tests for playlists in mode1

* Make etcd tests pass mode1 for now

* Fix mode1 and add more tests for playlists in mode 1

* Remove repeated test

* Fix test setup
2024-06-10 16:11:01 +02:00
Ashley Harrison f78fb4ff16 Chore: Remove hardcoded wait in keybinds e2e test (#88895)
* remove hardcoded wait in keybinds test

* review comments
2024-06-10 15:09:15 +01:00
Kristin Laemmert 90418dc00b Chore: update sample.ini file (#86941)
rebase
2024-06-10 09:22:16 -04:00
Piotr Jamróz 0a05ac6aed Correlations: Remove flakey test (#88912)
* Make the flakiness error more verbose

* Fix linting

* Remove a flaky test and make assertion failures more verbose
2024-06-10 15:14:38 +02:00
kay delaney 207672365a @grafana/data: Introduce new getTagKeys/getTagValues response interface (#88369)
* @grafana/data: Introduce new getTagKeys/getTagValues response interface
2024-06-10 13:48:40 +01:00
Yulia Shanyrova 80bdfbe2eb Plugins: Fix Explore button visibility for datasource plugins (#88614)
Use hasAccessToExplore method at datasource list
2024-06-10 14:27:17 +02:00
David Harris 60bec80672 Cloudwatch: add keywords (#88855)
---------

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2024-06-10 08:11:47 -04:00
Santiago e15e40fbd3 Alerting: Skip setting up clustering in remote primary/only modes (#88968)
* Alerting: Skip setting up clustering in remote primary mode

* Update pkg/services/ngalert/notifier/multiorg_alertmanager.go

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>

---------

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>
2024-06-10 13:51:11 +02:00
Ieva 35d0597367 RBAC: Only check for the write action when listing editable dashboards/folders (#88518)
* only check for the write action when listing editable resources

* test fix
2024-06-10 14:44:34 +03:00
Laura Fernández 84b638fb26 PinNavItems: Create feature toggle (#88975) 2024-06-10 13:40:03 +02:00
Diego Augusto Molina 4378f89fd9 fix data race in dev runtime (#88887) 2024-06-10 08:30:17 -03:00
Misi 9a44296bc2 Auth: Add org to role mappings support to AzureAD/Entra integration (#88861)
* Added implementation and tests

* Add docs, simplify implementation

* Remove unused func

* Update docs
2024-06-10 12:08:30 +02:00
Pepe Cano ee75fc3852 Alerting docs: update Introduction > Notification policies (#88656)
* Alerting docs: Notification policies and grouping

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/notification-policies.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/notification-policies.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Change `alt` text in a diagram

* Clarify `siblings` and `child` policies

* Fix spelling error

* minor change

* Rewrite routing

* Update docs/sources/alerting/fundamentals/notifications/notification-policies.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/notification-policies.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Rewrite Routing

* extend routing

* Minor `Group by` example

* Clarify how Grafana groups alerts by the alert rule

* Skip bold style for `group` options

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-10 12:06:46 +02:00
Gábor Farkas a6a12d7f2e fixed yarn.lock (#88971) 2024-06-10 12:33:49 +03:00
Matias Chomicki 3237fc1cc2 Loki: Added support for negative numbers in LogQL (#88719)
Loki: Add support for negative numbers in LogQL
2024-06-10 10:30:34 +02:00
Bogdan Matei 56ce88dea3 Filters: Introduce enrichFiltersRequest (#88913) 2024-06-10 09:09:59 +02:00
Adela Almasan 52fe19249e VizTooltip: Fix heatmap histogram display (#88945) 2024-06-08 02:33:49 +03:00
Isabella Siu 114a136378 CloudWatch: Fix labels for raw metric search queries (#88943) 2024-06-07 17:37:19 -04:00
Diego Augusto Molina 7ca3ec7518 Infra: fix data race in usagestats service (#88881)
fix data race
2024-06-07 17:52:21 -03:00
Kyle Cunningham e1530224dd Table Panel: Add docs for text wrapping (#88949)
Add docs for text wrapping
2024-06-08 03:51:09 +07:00
Todd Treece 22989acf95 K8s: Improve response writer error handling (#88926)
---------

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-06-07 16:10:02 -04:00
Adela Almasan d608ef4bf3 Docs: Update XY Chart docs (#88918) 2024-06-07 14:49:32 -05:00
Adela Almasan 4b55776256 Docs: Add maxWidth to tooltip docs (#88932) 2024-06-07 14:36:48 -05:00
Dave Henderson 81019f1669 chore(ci): Lint only pkg/ code, and lint all Go modules (#88940)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-07 13:54:47 -04:00
Marcus Efraimsson 4a97ff45fe API Server: Enhanced profiling with godeltaprof (#88939) 2024-06-07 19:39:45 +02:00
William Wernert 63e9969c1b Alerting: Recording rule mapping logic for data frames to Prometheus metrics (#88550)
* Add stub Prometheus writer with mapping logic

* Add tests
2024-06-07 20:00:22 +03:00
lean.dev 330da7916d Chore: Add unit test for cloudmigration package (#88868) 2024-06-07 13:46:19 -03:00
Dave Henderson 3a8b59f5e8 chore(ci): Run golangci-lint in GitHub Actions (#88916)
* chore(ci): Run golangci-lint in GitHub Actions

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* chore(ci): Remove lint-backend step from Drone

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-07 12:30:31 -04:00
Alexander Weaver 58fdb24b0b Alerting: Recording rules appear as type=recording in Prometheus API + better abstraction for type (#88805)
* Wire status through to prom API

* Regenerate swagger
2024-06-07 11:24:06 -05:00
Sonia Aguilar b761153812 Alerting: Fix permissions for silences list view (#88908) 2024-06-07 19:19:28 +03:00
Kyle Cunningham 8aa1bbe27c Table Panel: Enable text wrapping (#86895)
* Calculate row height

* Move things around

* Update getItemSize to use text bounding box

* Update types

* Cleanups and reminders

* Calculate line height

* Update line height calculation

* Remove debugging

* Add cell option editing

* Prettier

* Use field configured for text wrapping

* Add TODO

* Make sure column configuration is correct

* Update height heuristic and hover behavior

* Disable overflow on hover with text wrapping

* Update heuristic

* Clean things up

* Color background cell options

* Fix tests

* Prettier

* React deps

* Remove old hook dep

* Fix type errors

* Update label and description for editor

* Fix non-wrapped case

* Make sure color background works

* Prettier

* Address review comments

* fix prettier

* Add heuristic for field sizing

* Fix up logic

* Prettier

* Fix test

* Oh prettier 🙈

* Don't wrap text on non-string fields

* Add wrapping to color text cell

* Prettier

* Fix option not showing for auto cell type

* Move longest field guessing into function

* Clean things up

* Add tests

* Make sure text won't flake

* Prettier

* Remove spurious import

* Ignore any in this case

* Add alpha label

* Prettier

* Fix typecheck

* Fix crash when sampling when there are undefined records

* Update heuristic to take into account long strings

* Prettier

* Update scale factors

* Update field index selection

* Prettier

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-06-07 23:15:33 +07:00
Drew Slobodnjak 694499ae6d StateTimeline: Fix bug with state labels using stale y position cache during panel resize (#88818)
* StateTimeline: Check for change in height

* probably it!

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-06-07 09:12:25 -07:00
Levente Balogh ebe42e1ada Plugins: Allow apps to expose components. Update the extensions API. (#87236)
* feat: introduce exposable components and update the public APIs

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* tests: fix the tests for `usePluginComponent()`

I broke them when I wrapped the component with the PluginContextProvider which fetches the plugin metadata.

* fix: typo

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2024-06-07 18:05:00 +02:00
Fayzal Ghantiwala 27a791db12 Alerting: Update dependency owners in go.mod (#88928)
Update codeowners in go.mod
2024-06-07 16:50:13 +01:00
Yuri Tseretyan 32ea1801aa Alerting: Support AWS SNS integration in Grafana (#88867) 2024-06-07 11:49:49 -04:00
Alexander Weaver f1dc63565e Alerting: Fix go-swagger extraction and several embedded types from Alertmanager in Swagger docs (#88879)
Drop redundant swagger model comments
2024-06-07 10:47:47 -05:00
Marcus Efraimsson 40931b6da6 Tracing: Enable traces to profiles (#88896) 2024-06-07 16:58:24 +02:00
Piotr Jamróz c9271edfa1 Feature Toggles: Validate if a GA toggle is enabled or not explicitly (#88277) 2024-06-07 16:21:54 +02:00
Gilles De Mey 1be5c52a35 Alerting: Update SNS description mistakes (#88832)
update SNS description mistakes
2024-06-07 15:32:19 +02:00
Eric Leijonmarck 39bd13f877 User: add second migration for lowercasing login/email of users (#88915) 2024-06-07 15:07:14 +02:00
Jack Westbrook 0e73c4d387 Storybook: Bump to 8.1.6 (#88899)
* chore(storybook): bump to latest 8.1.6

* chore(yarn): dedupe yarn.lock post storybook update

* chore(typescript): align react types across repo
2024-06-07 14:31:31 +02:00
Karl Persson f3efd95bb4 Auth: Add org to role mappings support to Google integration (#88891)
* Auth: Implement org role mapping for google oauth provider

* Update docs

* Remove unused function

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-06-07 14:07:35 +02:00
Usman Ahmad 5095ea84b2 added youtube video link (#88901)
* added youtube video link

* Update index.md
2024-06-07 12:42:19 +02:00
Ashley Harrison c6d07194cc Chore: Migrate DashboardRow SCSS styles (#88768)
migrate dashboard-row styles
2024-06-07 11:31:58 +01:00
Sonia Aguilar 372c9d46d5 Alerting: Fix possible undefined value in the form not being protected (#88860)
Fix possible undefined value in the form not being protected
2024-06-07 13:29:09 +03:00
Zoltán Bedi a1851b4c0a SQL: change buttons aria-label to title (#88744) 2024-06-07 11:40:11 +02:00
Steve Simpson 56ea7fd2c4 Alerting: Update grafana/alerting (#88888) 2024-06-07 10:07:23 +02:00
Jack Westbrook 036c878843 Plugins: Improve frontend loader cache (#87488)
* do it

* set empty child version to parent version

* feat(plugins): use pluginId for loader cache keys

* feat(plugins): apply caching to all js and css files systemjs loads

* remove old code and add comment

* test(plugins): update systemjs hooks tests in line with better caching

* test(plugins): wip - comment out failing backend loader tests

* fix tests and improve comment

* Update public/app/features/plugins/loader/cache.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

---------

Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-06-07 10:03:41 +02:00
github-actions[bot] 897b81e566 I18n: Download translations from Crowdin (#88851)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-07 06:35:14 +00:00
Dave Henderson c931a44503 storage: Avoid panic when no previous versions in history (#88880)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-06 21:33:08 -04:00
Yuri Tseretyan 003e3efce9 Alerting: Update mute timings provisioning API to support optimistic locking (#88731)
* add version to time-interval models
* set time interval fingerprint as version
* update to check provided version
* delete to check if version is provided in query parameter 'version'
* update integration tests
* update specs
2024-06-06 18:06:37 -04:00
Alexander Weaver a2e21d61f8 Alerting: Remove dead evalRunning guard in rule routine (#88312)
Remove dead guard
2024-06-06 16:15:01 -05:00
ismail simsek 56bf666b0c Chore: Bump promlib to v0.0.6 (#88876)
bump promlib v0.0.6
2024-06-06 22:13:01 +02:00
Steve Simpson acbb6a1119 Alerting: Update CODEOWNERS. (#88872)
Assigns ownership of Alerting backend components to grafana/alerting-backend, due
to deprecation of the existing grafana/alerting-backend-product team.
2024-06-06 21:51:54 +02:00
Isabella Siu cd15e9732d Cloudwatch: Use the metric map from grafana-aws-sdk (#88733) 2024-06-06 21:25:54 +03:00
Adela Almasan 79f9d529d3 VizTooltip: Format header value (#88726) 2024-06-06 13:08:05 -05:00
William Wernert d359591dac Alerting: Support recording rule struct in provisioning API (#87849)
* Support record struct in provisioning API

* Update api spec

* Use record field

* Restrict API endpoints following toggle

* Fix swagger spec

* Add recording rule validation to store validator
2024-06-06 21:05:02 +03:00
ismail simsek 808cf75ff8 InfluxDB: Use json-iterator package for json operations (#88562)
* return error early

* enable gzip between grafana and influxdb

* use json-iterator package for json operations

* revert gzip changes

* update test

* go mod tidy
go work sync
2024-06-06 20:14:53 +03:00
Dave Henderson e21d357d67 chore: Updating linter, fixing some new warnings (#88863) 2024-06-06 13:01:27 -04:00
Andreas Christou c9778c3332 AzureMonitor: Prometheus exemplars support (#87742)
* Update types

* Mark datasource as supporting traces

* Add logic to transform exemplar query to traces query

* Render appropriate editor

* Run trace query for exemplars

* Refactor out common functions

- Add function to retrieve first/default subscription

* Add route for trace exemplars

* Update logic to appropriately query exemplars

* Update traces query builder

* Update instance test

* Remove unneeded import

* Set traces pseudo data source

* Replace deprecated function calls

* Add helper for setting default traces query

* Don't show resource field for exemplars query

* When resetting operation ID for exemplars set query to default

- Update tests

* Update query header to appropriately set the service value

* Fix response frame creation and update tests

* Correctly select resource

* Convert subscriptionsApiVersion to const

* Add feature toggle
2024-06-06 17:53:17 +01:00
Ashley Harrison 5f33943397 Select: Revert "preserving custom value" changes (#88856)
* revert Select changes as we can handle it outside of the base select component

* update scenes

* update scenes properly

* revert changes to azure-monitor e2e tests
2024-06-06 17:33:31 +01:00
Adela Almasan 3ad03d869d VizTooltip: Allow setting the maxWidth option (#88652) 2024-06-06 11:20:58 -05:00
David Harris f8f44f28d3 chore: update mssql readme (#88859)
Adds better docs link
2024-06-06 17:18:43 +01:00
Torkel Ödegaard bdfa96a6d3 DashboardScene: Fixes inspect with transforms issue (#88843)
* DashboardScene: Fixes inspect with transforms issue

* Update
2024-06-06 18:15:23 +02:00
Diego Augusto Molina ae84c5fef9 Unified Storage: Fix Entity Server unconditionally starting (#88857)
fix Entity Server unconditionally starting
2024-06-06 12:17:46 -03:00
Josh Hunt be96971289 Keybinds: Add wait to e2e test to hopefully mitigate flakiness (#88854)
Revert "remove anti-patterns"

This reverts commit 55eb0fa32a.
2024-06-06 17:55:15 +03:00
Jack Baldry 62fc451f7a [docs/sources/fundamentals] Replace docs/reference shortcode with ref URIs (#88080) 2024-06-06 15:42:40 +01:00
Joao Silva c2dd44bc5a AppChrome: Add display flex to prevent multiple scrollbars (#88512) 2024-06-06 15:34:28 +01:00
renovate[bot] 504f64e248 Update opentelemetry-js monorepo (#88850)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-06 15:31:16 +01:00
Will Browne 7d8722b561 API server: Add shutdown func to interface (#88827)
add shutdown func to interface
2024-06-06 15:18:54 +01:00
Staton Hysell 0e62c200dd Update QuerySuggestionItem.tsx (#86950)
* Update QuerySuggestionItem.tsx

Adjusts the styling of the "no" button in the explainer feedback section to a standard secondary variant instead of the success styling

* run prettier for drone

---------

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2024-06-06 17:17:01 +03:00
Timur Olzhabayev 9704186017 Docs: Updating documentation for angular_support_enabled (#88840)
fixing docs
2024-06-06 07:15:21 -07:00
Bogdan Matei 8d36949f61 Scopes: UI Improvements (#88026) 2024-06-06 16:00:56 +02:00
renovate[bot] d88f2734ae Update dependency type-fest to v4.19.0 (#88844)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-06 14:44:52 +01:00
Gilles De Mey cf6a2b9f39 Alerting: Clarify that we are adding subling policies (#88829)
clarify that we are adding subling policies
2024-06-06 15:42:38 +02:00
Gilles De Mey 755fcc9838 Alerting: Update search examples for notification policies (#88830)
update search examples for notification policies
2024-06-06 15:42:26 +02:00
Timur Olzhabayev 8690e97c92 Chore: disable proxy trailing slash keep by default (#88842)
disable proxy trailing slash keep by default
2024-06-06 16:28:11 +03:00
antonio 000b5dd6ea docs: alerting: clarify which panels support alerts (#88756)
* alerting: clarify which panels support alerts

* changed note placement

* small change to link

* added links

* Update docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/alerting-rules/create-mimir-loki-managed-rule.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/time-series/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/time-series/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-06 15:19:59 +02:00
Timur Olzhabayev 1909ad6fa8 Chore: Removing editor.html from angular patterns (#88845)
Removing editor.html from angular patterns
2024-06-06 16:12:51 +03:00
Dave Henderson ca1379bad3 chore: A few updates for the pkg/build/wire fork (#88813)
* chore: A few updates for the pkg/build/wire fork

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* chore: run go work sync

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-06 16:09:27 +03:00
brendamuir beb8397be8 Alerting docs: adds notification policy update (#88515)
* Alerting docs: adds notiification policy update

* Adds insert below or above

* ran prettier

* few grammar adds

* Changes to child policy terminology

* adds sibling terminology

* ran prettier

* updates with new terminology

* updates child policy info

* corrects typo

* ran prettier

* changes description for child policy
2024-06-06 14:59:04 +02:00
renovate[bot] bc7a8d6dfa Update dependency @grafana/scenes to v4.26.3 2024-06-06 12:48:28 +00:00
renovate[bot] c6720f1c06 Update dependency nx to v19.2.0 (#88833)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-06 14:10:36 +02:00
Josh Hunt 51b3116730 Keybinds: E2E tests (#88752)
* Attempt at a keybinds e2e test

* another one, thank you

* polish e2e tests, remove console.log

* an extra test

* remove anti-patterns
2024-06-06 14:10:11 +03:00
github-actions[bot] 2cc59f1cb3 I18n: Download translations from Crowdin (#88810)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-06 13:38:47 +03:00
renovate[bot] b0e73590ef Update dependency eslint-plugin-jsdoc to v48.2.8 2024-06-06 10:22:39 +00:00
renovate[bot] a11ef646e4 Update dependency @grafana/scenes to v4.26.2 2024-06-06 10:03:21 +00:00
Joao Silva a23174849c TimePicker: Fix bug where recent timeranges is cut off (#88795) 2024-06-06 10:49:59 +01:00
Matias Chomicki a21a9b9c6c Loki: Kick start your query now applies templates to the current query (#87658)
* Kick start your query: keep pipe operations in the original query

* QueryPatternsModal: define keep operations from the operations list

* QueryPatternsModal: resolve deprecation

* QueryPatternsModal: use the correct import

* QueryPatternsModal: use category instead of order rank

* QueryPatternsModal: add unit test case

* Chore: change button cta
2024-06-06 12:47:17 +03:00
Karl Persson d3b06f09ae Users: remove unused store function (#88784) 2024-06-06 11:43:51 +02:00
renovate[bot] 7e2305418a Update dependency stylelint to v16.6.1 (#88792)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-06 12:42:33 +03:00
Victor Marin c79ea234db Simplify lib panel creation in dashboard (#88681)
simplify lib panel creation in dashboard
2024-06-06 11:37:44 +03:00
Misi 4f2a9a47f3 Auth: Add org to role mappings support to Okta integration (#88770)
* Add org mapping support to Okta

* Update docs and configs

* Prettier docs

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Improve tests

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-06-06 10:35:06 +02:00
Victor Marin 50b3269ef0 Dashboard Scenes: Add replace lib panel functionality (#87109)
* add replace lib panel functionality

* refactor

* locales
2024-06-06 11:34:45 +03:00
Ryan Crutchfield 8fb12cd63d Remove invisible character in SAML certificate command (#87057)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-06 07:26:13 +01:00
Andre Pereira 277067ac9d AnnotationsPlugin2: Implement support for rectangular annotations in Heatmap (#88107)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-06-05 16:48:37 -05:00
Marcus Efraimsson 2403665998 Chore: Remove legacydata package (#88790)
* Chore: Remove legacydata package

* remove unused dependency

* sdk v0.234.0
2024-06-05 22:31:06 +02:00
ismail simsek 08276bd8e7 InfluxDB: Revert calculation of maxPointsEnforced value (#88809)
revert calculation of maxPointsEnforced
2024-06-05 21:43:04 +02:00
ismail simsek a87c155c06 Chore: Return influxdb query error early before parsing the result (#88549)
return error early
2024-06-05 21:36:13 +02:00
Tom Ratcliffe 170d476bdc Alerting: Add RBAC logic for silences creation (#87322)
* Remove role requirement for editing silence (instead handled by silence editor displaying error)

* Send query params for metadata/access control silence logic

* Add new access control types to enum

* Add folder-specific checks for silences

* Remove filtering in alert manager picker

* fix flakey rule viewer test and update permissions helper

* Use `returnTo` in rule viewer page

* Fix incorrect display of duration

* Clean up some mock server behaviour in rule details tests

* Tweak styles for silences alerts table

* Remove alertmanager picker from silences drawer

* Add error if user cannot edit a silence

* Show alert rule name in silences table and consume RBAC logic

* Update mocks to include RBAC access control logic

* Update silences tests

* Update silences type to include access control info

* Update comment for missing alertmanager

* Update mock handlers and query param logic

* Tweak query params again

* Update access control mock

* Revert AM picker fix as user may not have access to Grafana AM

* Swap ternary order

* Change text for no alert rule targeted

* Don't show error alert from RTKQ query and remove alert instance preview in case of error

* Add missing translations

* Fix test adding missing mock for getting alert rule

* Add missing translations in SilencesTable

* Add translations autogenerated files

* fix allowing edit silence in external alert manager

---------

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-06-05 15:09:26 -04:00
Dave Henderson 20c90ff60d Chore: bump Go to 1.22.4 (#88794)
* chore: bump Go to 1.22.4

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* use go-version-file for ephemeral instances workflows too

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-05 14:29:27 -04:00
owensmallwood 1059441ec6 GRPC Service: Use native histogram when enabled (#88804)
* use native histogram when enabled

* enable native histograms permanently for grpc service histogram
2024-06-05 12:25:09 -06:00
Diego Augusto Molina 5fc580b401 Unified Storage: Testing For Fix Create, Update and Delete wrt Resource Versions (#88568)
Add testing harness
2024-06-05 15:18:33 -03:00
Diego Augusto Molina 6fcd7d9e03 Unified Storage: Fix Create, Update and Delete wrt Resource Versions (#88183)
* add sqltemplate utilities, improve tests and documentation

* bunch of things

* remove unnecessary message

* add queries

* add queries

* add queries

* add folders support

* fix diff

* fix linters

* fix diff

* fix linters

* fix linters

* fix typo

* fix linters

* fix linters

* fix linters

* several fixes

* several fixes

* temporarily disable k8s integration tests for Entity Server

* postpone some tests

* postpone documentation changes

* Fix bug in create

* improve error reporting

* fix PostgeSQL parameters

* fix MySQL sqlmode

* fix MySQL-5.7

* reduce but document the number of database connection options

* remove unused code and improve docs
2024-06-05 14:23:32 -03:00
Alexander Weaver cbe7521a56 Alerting: Upgrade grafana/alerting (#88803)
* upgrade grafana/alerting

* Go work sync
2024-06-05 20:23:00 +03:00
Alexander Weaver 820ee6e9db Alerting: Make all in api generator tooling now actually makes all (#88793)
* Make all now actually makes all

* Clean depends on clean-go
2024-06-05 11:52:31 -05:00
Fayzal Ghantiwala 80f54778f3 Alerting: Add option to use Redis in cluster mode for Alerting HA (#88696)
* Add config option to use Redis in cluster mode

* Use UniversalOptions
2024-06-05 17:02:25 +01:00
Carl Bergquist 16cc75b02c Scopes: Add Handler for returning dashboards related to a list of scopes. (#87758)
- Adds a find endpoint to return dashboard bindings that match any of the scopes. For example /apis/scope.grafana.app/v0alpha1/namespaces/default/find/scope_dashboard_bindings?scope=s1&scope=s2
- Updates the ScopeNode find endpoint to a new path, /find/scope_node_children , makes the key "items" for all find endpoints (instead of mix of "found" and "items"), and makes the list item type a ScopeNode instead of its own type.
- Updates kubectl get commands to return more information about scopes, scopenodes, and scopedashboard bindings to display more fields in table output

---------

Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Todd Treece <todd.treece@grafana.com>
2024-06-05 11:47:36 -04:00
Ivana Huckova 023857625a Elasticsearch: Remove enableElasticsearchBackendQuerying feature toggle (#88668)
* wip

* Fix newly introduced any

* Remove toggle

* Remove unused code in LegacyQueryRunner
2024-06-05 17:03:29 +02:00
renovate[bot] 8dcbd74803 Update dependency rc-drawer to v7.2.0 (#88785)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 16:03:06 +01:00
Andreas Christou d6a259f110 Azure: Update e2e image (#88778)
* Update e2e image

* Comment for testing
2024-06-05 08:35:09 -06:00
Ryan McKinley 41e0430f83 K8s/Dashboards: Add frontend api to switch between implementations (#88632) 2024-06-05 17:34:23 +03:00
Karl Persson f28905f8c4 Auth: Add org to role mappings support to Gitlab integration (#88751)
* Conf: Add org_mapping and org_attribute_path to github and gitlab conf

* Gitlab: Implement org role mapping

* Update docs
---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-06-05 16:15:53 +02:00
renovate[bot] 1ceb9e8e9d Update babel monorepo to v7.24.7 2024-06-05 14:14:01 +00:00
Ashley Harrison 2297687ae1 Chore: Ensure all react-transition-group animations use nodeRef (#88604)
* ensure all react-transition-group animations pass nodeRef

* clone children instead of wrapping in div

* remove div wrapper

* revert back to div
2024-06-05 15:01:50 +01:00
Ivana Huckova a2f7e208fd Elasticsearchl: In version check, include / (#88779)
Elasticsearchl: In version check, include /
2024-06-05 15:54:04 +02:00
renovate[bot] 0188fc3e1f Update dependency rc-cascader to v3.26.0 (#88777)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 14:52:25 +01:00
Marcus Efraimsson 0fffa31931 Chore: Remove unused code in legacydata package (#88772) 2024-06-05 15:37:32 +02:00
Dave Henderson df784917e4 Alerting: Improve performance of tupleLablesToLabels function (#88736)
* Alerting: Improve performance of tupleLablesToLabels function

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* use %s for string rather than %v

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

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2024-06-05 16:19:09 +03:00
renovate[bot] 3a6034b58e Update dependency prettier to v3.3.1 (#88771)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 14:18:22 +01:00
renovate[bot] a58ac462c1 Update dependency knip to v5.17.4 (#88759)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 15:18:39 +03:00
Dmitry Bashkatov 17525ad43f Logs: Added support for numeric log levels (#87366)
* logs: add support for numeric loglevels

* Log types: add a numeric level map to LogLevel

* getLogLevelFromKey: adapt to support numeric levels

* Formatting

* getLogLevelFromKey: accept strings or numbers

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2024-06-05 13:56:36 +02:00
Carl Bergquist f262880b68 Scopes: Add field to disable selecting multiple scope under a ScopeNode (#88767)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-06-05 14:43:22 +03:00
Marcus Efraimsson fe3e5917f1 Plugins: Preserve trailing slash in plugin proxy (#86859)
* Plugins: Preserve trailing slash in plugin proxy

* enable toggle by default
2024-06-05 13:36:14 +02:00
Andreas Christou 17f03882d4 Azure: Update resource group (#88690)
Update azure e2e tests
2024-06-05 12:02:46 +01:00
Gilles De Mey 33d4e59ffb Alerting: Use folder_uid instead of file for Grafana managed alert rules (#88497) 2024-06-05 12:46:23 +02:00
renovate[bot] cd5f485df7 Update dependency tslib to v2.6.3 2024-06-05 10:08:51 +00:00
Gabriel MABILLE b1520e93f1 Fix: Regenerate token on failed encryption/decryption (#88732)
* Add function to rotate the extsvc token

* Recover from failed token decryption

* add log

* Remove error check

* Log outside error
2024-06-05 11:56:54 +02:00
renovate[bot] 4443438fab Update dependency @types/node to v20.14.2 2024-06-05 09:48:36 +00:00
Matias Chomicki ec9aecd82b Loki: remove query formatting (#88636)
* Loki: remove query formatting

* Loki formatting: remove feature flag

* chore: remove test

* Formatting
2024-06-05 12:46:28 +03:00
renovate[bot] 9bec35563a Update dependency @grafana/plugin-e2e to v1.3.2 2024-06-05 09:20:09 +00:00
renovate[bot] b101b37e2c Update dependency @grafana/lezer-logql to v0.2.4 (#88745)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 09:53:23 +01:00
renovate[bot] 45336105b2 Update dependency glob to v10.4.1 (#88717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 09:32:39 +01:00
Ryan McKinley b640b6e8d1 K8s: Improve k8s dashboard query (#88629) 2024-06-05 11:21:51 +03:00
Karl Persson 7bc7ae2e8c Docs: Update feature toggle information for generic oauth (#88740) 2024-06-05 09:55:51 +02:00
Ieva e653003c73 Docs: Document the UIDs of basic roles (#88742)
document the UIDs of basic roles
2024-06-05 10:30:07 +03:00
Torkel Ödegaard e735573852 DashboardScene: Fixes issue with some query editors to not adapt to width changes (#88718)
DashboardScene: Fixes issue with panel editor causing moncao query editors to not adapt to width changes
2024-06-05 08:14:45 +02:00
Ryan McKinley 71be5c6eb4 K8s: Remove action metadata key (#88591)
* remove action

* remove action

* remove action

* fix test
2024-06-05 07:37:36 +03:00
Leonardo Boleli d83818f8cc Cloudwatch: Update AWS DynamoDB Metrics (#88418) 2024-06-04 15:22:15 -04:00
Santiago 9f9928d41a Alerting: Update grafana/alerting (#88363)
* Alerting: Update grafana/alerting

* make tests pass by implementing yaml unmarshallers and deleting fields with omitempty in their yaml tags

* go mod tidy

* fix tests by implementing not calling GettableApiAlertingConfig.UnmarshalYAML from GettableApiAlertingConfig.UnmarshalJSON

* cleanup, reduce diff

* fix more tests

* update grafana/alerting to latest commit, delete global section from configs in tests

* bring back YAML unmarshaller for GettableApiAlertingConfig

* update alerting package dependency to point to main

* skip test for sns notifier
2024-06-04 20:29:37 +02:00
Ihor Yeromin 618c51e193 Stat: Cut the top of the chart issue (#88640)
* fix(stat): update config on range change
2024-06-04 19:09:10 +02:00
Ryan Watts f1dce0c7d7 XYChart: Use same auto-ranging logic for X and Y axes (#88584) 2024-06-04 11:58:59 -05:00
Matias Chomicki cd3dab2736 Logs: Infinite scrolling in Explore enabled by default (#87493)
Logs: enable infinite scrolling
2024-06-04 18:23:20 +02:00
github-actions[bot] 9bbf96d9e6 I18n: Download translations from Crowdin (#88676)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-04 19:16:36 +03:00
Matias Chomicki 1cfb21a74c Logs: improve deduplication supporting code and fix duplicated frames (#88716)
* Logs: change refId approach to deduplicate infinite scrolling rows

* Chore: update tests

* chore: add comment

* Prettier
2024-06-04 19:09:33 +03:00
Jack Westbrook a1d41a8932 Docs: Put back section on how to work with frontend plugins (#88713)
revert(developer-guide): put back section on how to work with frontend plugins in monorepo
2024-06-04 17:57:22 +02:00
renovate[bot] 404de83b06 Update dependency eslint-webpack-plugin to v4.2.0 (#88715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 18:44:58 +03:00
renovate[bot] 93b223f1e9 Update dependency esbuild-plugin-browserslist to ^0.12.0 (#88705)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 16:27:12 +01:00
Andreas Christou f787418e4b AzureMonitor: Fix bug detecting app insights queries (#88572)
Make regexp case insensitive
2024-06-04 16:16:31 +01:00
Marcus Efraimsson 0af2931672 Plugins: Don't forward cookies for app plugins (#88663) 2024-06-04 16:55:54 +02:00
renovate[bot] aaf95f7a08 Update dependency centrifuge to v5.2.0 (#88699)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 15:28:39 +01:00
Kyle Hounslow 36c66e3e94 Update proxy/index.md (#88261)
* Update index.md

Specify proxy support is for SOCKS5 in Title. So it is clear this is not for TCP or HTTP proxy

* update title to match header
2024-06-04 09:08:53 -05:00
Diego Augusto Molina 62b3983d08 fix bug in Makefile enabling Go Race Detector in make run (#88687)
fix bug in Makefile that always enables Go Race Detector when run with make run
2024-06-04 11:02:09 -03:00
renovate[bot] d4c28aa757 Update dependency @types/react-highlight-words to v0.20.0 (#88693)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 14:54:22 +01:00
Andrej Ocenas 048194597f Explore: Align time filters properly to day boundaries in query history (#88498) 2024-06-04 15:04:36 +02:00
renovate[bot] b8cd5bb57c Update dependency @types/node to v20.14.1 (#88689)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 13:58:08 +01:00
Yuri Tseretyan a63ef42816 Alerting: Mute Timing service to prevent changing provenance status to none (#88462)
* use relaxed validation to not introduce breaking changes for now but to be able to use the service
in non-provisioning APIs.
2024-06-04 08:54:33 -04:00
Mihai Doarna 25c57f21cd SSO: Add the new role value fields for SSO SAML strategy (#88561)
added the new role value fields for SSO SAML strategy
2024-06-04 15:47:27 +03:00
Mihai Doarna 6b7e4b223d Docs: Update the SAML role mapping docs with the new fields added (#88529)
* mention the auto_assign_org_role in saml role sync

* add role_values_viewer to docs
2024-06-04 15:45:37 +03:00
Sarah Zinger 4d002d85f9 Cloudwatch Logs: Fix bug where we did not return errors to user (#87190) 2024-06-04 08:43:36 -04:00
Sonia Aguilar 2090270a13 Gops: Fix data field in incidents query (#88682)
Remove data field in incidents query
2024-06-04 14:42:56 +02:00
renovate[bot] ee157949e4 Update dependency @grafana/scenes to v4.26.0 (#88677)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 13:29:20 +01:00
Joey a52f99246f Tempo: Send current filters when retrieving tags for AdHocFilters (#88270)
* Send current filters when retrieving tags

* Tests

* Syntax update

* Update if
2024-06-04 13:20:06 +01:00
renovate[bot] 66bc0fa9e9 Update dependency nx to v19.1.2 2024-06-04 11:06:10 +00:00
renovate[bot] de2d8fadcc Update dependency @grafana/plugin-e2e to v1.3.1 2024-06-04 10:38:46 +00:00
Laura Benz adbb005d38 RestoreDashboards: Populate page (#88555)
* feat: add search input and filters

* feat: add state management v0

* feat: update search view and add to trash page

* refactor: fix some errors

* feat: page population

* feat: fix error

* Run betterer checks locally

* Run i18n abstraction

* refactor: clean up after merging main

* refactor: clean up after merging main

* Run i18n abstraction

* refactor: remove browse view
2024-06-04 12:08:18 +02:00
Fayzal Ghantiwala b66cd7ef79 Alerting: Add filters for RouteGetRuleStatuses (#88295)
* Placeholder commit with rule_uid change

* Add new filters to grafana rule state API

* Revert type change

* Split rule_group and rule_name params

* remove debug line

* Change how query params are parsed

* Comment
2024-06-04 10:57:55 +01:00
github-actions[bot] 783aa1c0b4 I18n: Download translations from Crowdin (#88665)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-04 09:40:54 +00:00
Sven Grossmann 2fb63cd2e6 Loki: Fix editor history in wrong order (#88666) 2024-06-04 11:40:04 +02:00
Ashley Harrison 3f7017a471 Chore: Remove nestedFolderPicker toggle (#88660)
remove nestedFolderPicker toggle
2024-06-04 12:16:12 +03:00
renovate[bot] de67734871 Update dependency @react-awesome-query-builder/ui to v6.5.2 (#88630)
* Update dependency @react-awesome-query-builder/ui to v6.5.2

* fix type errors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-06-04 12:15:16 +03:00
Ashley Harrison 9f95841c45 Chore: Fix typo in lint rule file name (#88662)
rename file
2024-06-04 12:08:37 +03:00
Tobias Skarhed 4d4cfaefce Devenv: Longer provisioning update intervals (#88623)
* Change devenv provision updateinterval to one hour

* Update bulk-dashboards and bulk-folders

* Clear bulk-folders before creating new ones

* Update devenv/bulk-folders/bulk-folders.sh
2024-06-04 11:00:23 +02:00
Ryan McKinley b02a5d6e07 FeatureFlags: Update creation timestamps (#88654) 2024-06-04 10:40:18 +02:00
Josh Hunt 407bbe1f4b Keybinds: Vendor Mousetrap (#88603)
* vendor mousetrap

* fix js lint errors

* name to .ts - start refactoring to typescript

* refactor Mousetrap to valid typescript

rename local functions/variables
update types of CallbackInfo
Specify MouseCallback and cleanup types

* Use vendored mousetrap

* use vendored mousetrap

* add globalBind, and remove dependency on external mousetrap

* Update public/app/core/services/keybindingSrv.ts

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

---------

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2024-06-04 09:35:19 +01:00
Ashley Harrison 1cb701c304 Chore: Move Switch SCSS to emotion/angular (#88553)
move switch scss to emotion/angular
2024-06-04 09:34:38 +01:00
Tobias Skarhed 799ae387ff Docs: Remove custom branding screenshot (#88657)
Update index.md
2024-06-04 10:34:17 +02:00
Pepe Cano 7372c446a4 Alerting docs: Specify Grafana alert rule evaluation (#88250)
* Alerting docs: Specify Grafana alert rule evaluation

* Mention alerts can display the same evaluation timestamp

* Specify `concurrent` behavior in alert rule evaluation

* Include a minor `Evaluation strategies` section
2024-06-04 10:31:21 +02:00
Sonia Aguilar 88a2485cc2 Alerting: Update translations in GrafanaEvaluationBehaviour component (#88638)
* Update translations

* Fix key in translations

* Interpolate point char in the Trans children text

* Use interpolation correctly in Trans component
2024-06-04 11:19:53 +03:00
github-actions[bot] dca8ba7acd I18n: Download translations from Crowdin (#88658)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-04 08:18:10 +00:00
Oscar Kilhed 0f89f4b2d2 Grafana UI: stop input element of the react select component from overflowing and causing layout issues. (#88372)
* Grafana UI: stop input element of the react select component from overflowing the input container

* update snapshot since the css changed

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-06-04 10:13:43 +02:00
Carl Bergquist c99fe4f970 Scopes: Add DashboardTitle to scopedashboardbinding (#88609)
scopes: add title to scopedashboardbinding

Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-06-04 10:36:03 +03:00
Pepe Cano 3af72bdeee Alerting docs: fix Alertmanagers title (#88625) 2024-06-04 09:10:28 +02:00
Laura Benz b6bd9e5352 Laura/refactor/rename trash section (#88617)
* refactor: move and rename page component

* refactor: change codeowners

* refactor: change naming in backend

* refactor: change wording of subtitle
2024-06-04 10:03:33 +03:00
Brendan O'Handley eeabb6f066 Prometheus: Add hints for native histograms (#87017) 2024-06-03 16:59:06 -05:00
Matthew Jacobson 31d5dd0a12 Alerting: Prevent updating rule uid matcher for silences (#88519)
Prevents updating the `__alert_rule_uid__` equality matcher (used for rule-specific silences) on existing silences
2024-06-03 17:39:06 -04:00
ismail simsek f458e57523 InfluxDB: Fix custom variable support (#88642)
* fix variable support

* prettier
2024-06-03 23:47:27 +03:00
Yuri Tseretyan 043e19afb5 SSE: Fix threshold unmarshal to avoid panic (#88521) 2024-06-03 16:16:13 -04:00
Señor Performo - Leandro Melendez 63ca00dd10 Docs: Add Installation YouTube Videos to documentation pages. (#88465)
* Added Installation video index.md

* Update index.md adding video for Debian and Ubuntu installs

* Update index.md adding install video in macOS

* Update index.md adding video to install RHEL or Fedora

* Update index.md adding install video for SUSE

* Update index.md adding video for Windows installer

* Update _index.md Updated from suggestions

* Update index.md from suggestions

* Update index.md from suggestions

* Update index.md from suggestions

* Update index.md from suggestions

* Update index.md from suggestions

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

Applied Chris' suggestion

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/setup-grafana/installation/debian/index.md

Applied Chris' suggestion

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/setup-grafana/installation/mac/index.md

Applied Chris' suggestion

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/setup-grafana/installation/redhat-rhel-fedora/index.md

Applied Chris' suggestion

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/setup-grafana/installation/suse-opensuse/index.md

Applied Chris' suggestion

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/setup-grafana/installation/windows/index.md

Applied Chris' suggestion

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-06-03 11:38:02 -06:00
Leon Sorokin 87cafbf9af XYChart2: Implement color-by-field (#88467) 2024-06-03 11:53:59 -05:00
Gilles De Mey e419c76842 Alerting: update CODEOWNERS (#88628)
update CODEOWNERS
2024-06-03 16:25:43 +00:00
Artur Wierzbicki 6523bf4b8e Chore: fix typo in contribute/developer-guide.md to make codespell happy (#88639)
make codespell happy
2024-06-03 19:12:28 +03:00
Ashley Harrison 3f3f95fe0c Betterer: force update results file (#88637)
force update results file
2024-06-03 18:43:47 +03:00
Ashley Harrison 16099c9913 Drawer: Fix overflow to stop drag handle being cut off (#88500)
fix drawer overflow to stop drag handle being cut off
2024-06-03 15:35:46 +01:00
EduardZaydler dbec8465e5 Graphite: Fix splitting expressions in tag_value with template variables (#86958)
fix spilitting expressions in tag_value with template variables
2024-06-03 09:27:14 -05:00
renovate[bot] f902e16d26 Update dependency @grafana/plugin-e2e to v1.3.0 (#88624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-03 15:08:02 +01:00
github-actions[bot] 034a43d066 I18n: Download translations from Crowdin (#88535) 2024-06-03 14:49:07 +01:00
Pepe Cano 2a8a6d755f Alerting: update Set evaluation behavior text (#88301)
* Alerting: update `Set evaluation behavior` text

* Update `Evaluation group` description for the `Evaluation group` modal view
2024-06-03 15:41:34 +02:00
renovate[bot] 54a3ed1c7c Update dependency yaml to v2.4.3 2024-06-03 13:32:11 +00:00
Ieva c16f502ec5 Access Control: Clean up permissions for deprovisioned data sources (#88483)
* make sure that DS permissions get correctly cleaned up when a DS is deleted through provisioning

* don't attempt to delete a DS if it's not found

* fixes for tests

* fix ds tests

* rename DS service used by DS provisioner to BaseDataSourceService to avoid confusions with the full DS service
2024-06-03 16:19:53 +03:00
renovate[bot] f204dd5bf1 Update dependency type-fest to v4.18.3 2024-06-03 13:05:43 +00:00
renovate[bot] 0ba54152dc Update dependency ts-jest to v29.1.4 2024-06-03 12:27:33 +00:00
Misi eacf6e0a4d Auth: Add org to role mappings support to GitHub integration (#88537)
* wip: add extra tests for verifying current logic

* Add OrgRole mapping and tests

* Update docs

* Clean up

* Update docs/sources/setup-grafana/configure-security/configure-authentication/github/index.md

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

* Update docs with None role

* Apply suggestions from code review

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Fix

* Prettier docs

* Cleanup tests

---------

Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-03 14:24:58 +02:00
Alexa V e147c58a7b Dashboard: Fix Variables query hides fields with non-supported datasources (#88516)
* Show queryVariable editor even if the variable does not support variables

* Fix VariableQueryRunner unit test, now takes into account the new function
2024-06-03 13:58:30 +02:00
renovate[bot] 44c62dd536 Update dependency sass to v1.77.4 2024-06-03 11:44:55 +00:00
brendamuir b6145fcb4c Alerting docs: delete screensbots (#88608)
* Alerting docs: delete screensbots

* deletes screenshot 2
2024-06-03 13:42:58 +02:00
renovate[bot] 6003d26088 Update dependency rudder-sdk-js to v2.48.8 2024-06-03 10:50:13 +00:00
Tobias Skarhed 44ca89fe77 KeyboardShortcuts: Support panel attention for scenes (#88476)
* Support panel attention for scenes

* Remove console.log

* Bump scenes version for good measure

* Mock appEvents

* Remove unused import
2024-06-03 12:49:13 +02:00
Ashley Harrison e781716a38 Chore: move PageHeader component to angular folder (#88556)
move page-header component to angular folder, scss to angular.scss
2024-06-03 11:47:47 +01:00
renovate[bot] cdb6b13c7e Update dependency rollup-plugin-dts to v6.1.1 2024-06-03 10:13:07 +00:00
renovate[bot] 59894ef7db Update dependency reselect to v5.1.1 2024-06-03 09:45:08 +00:00
nerda-codes 12232dde54 [docs/sources/datasources/prometheus/configure-prometheus-data-source] Replace outdated text content in the Grafana UI with updated content (#88548) 2024-06-03 12:42:34 +03:00
ismail simsek c73bbf19a1 InfluxDB: Introduce maxDataPoints setting for flux variable query editor (#87935)
* Introduce custom variable support

* Remove comment lines

* introduce maxDataPoints

* fix tests

* update

* fix unit tests

* remove new line
2024-06-03 12:09:33 +03:00
Pepe Cano 3e57576770 Alerting docs: Contact points updates (#88582)
* Update `Intro>Notifications>Contact points`

* Mention `OnCall` integration
2024-06-03 11:01:54 +02:00
Pepe Cano 68c44f1dd9 Alerting docs: Update Alertmanager docs (#88567)
* Remove alertmanager page and set redirects

* Update internal alertmanager links

* Update `Alertmanager` docs

* Change heading to `Configure Alertmanagers`
2024-06-03 11:00:52 +02:00
renovate[bot] 02182620db Update dependency msw to v2.3.1 2024-06-03 09:00:33 +00:00
Joseph Perez 2c7569e004 Docs: Fix two broken links to plugin-tools/reference (#87278)
Fix two broken links
2024-06-03 10:58:23 +02:00
renovate[bot] fcc89351d1 Update dependency @pmmmwh/react-refresh-webpack-plugin to v0.5.15 (#88594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-03 09:38:18 +01:00
renovate[bot] afec695e42 Update dependency @types/gtag.js to ^0.0.20 (#88571)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-03 09:17:16 +01:00
Victor Marin e86784200a Create lib panel and replace it in scene (#88504)
* Create lib panel - also replace it in scene

* refactor

* refactor

* refactor
2024-06-03 11:02:41 +03:00
Karl Persson 68f2585712 Cli: Fix bug where password is hashed twice (#88589) 2024-06-03 09:14:55 +02:00
Eric Leijonmarck 221e036233 Docs: add pinning of terraform for migration (#88528)
* Docs: update with terraform version

* added the terraform version pinning

* formatting

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* formatting

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-02 13:30:15 +02:00
Nathan Marrs 9e82c85849 Canvas: Chore fix *remaining* betterer issues (#88491) 2024-05-31 13:33:31 -07:00
Isabella Siu be2e420e6b CloudWatch: Handle permissions error and update docs (#88524) 2024-05-31 14:36:38 -04:00
Arati R 73905695e3 Storage: Remove dual writing mode feature flags (#88573)
Remove dual writing feature flags
2024-05-31 20:18:09 +02:00
Leon Sorokin a257b74d6e TooltipPlugin: Fix console error when data updates while anchored (#88546) 2024-05-31 13:17:54 -05:00
Arati R 36f42853dd Storage: Read desired mode from config instead of feature flags (#88353)
* Read desired mode from config
* Update playlist integration tests
* Add mode 1 playlist integration tests
* Add mode 0 dual writing to playlist integration tests
* Add documentation for the different dual writing modes
2024-05-31 19:29:59 +02:00
renovate[bot] d3fa52a730 Update dependency react-i18next to v14.1.2 2024-05-31 17:21:34 +00:00
renovate[bot] 968dfcbf6e Update dependency react-hook-form to v7.51.5 2024-05-31 15:53:32 +00:00
William Wernert 7a744a746b Alerting: Update docs with rule read RBAC changes (#88565)
* Remove ref to `datasources:query` for rule read

* Remove more refs to `datasources:query`

* Run prettier
2024-05-31 11:50:44 -04:00
Diego Augusto Molina c582744207 Chore: Allow using the Go race detector locally for tests and adhoc run binaries (#88509)
enable Go race detector locally for tests and adhoc run binaries
2024-05-31 12:30:51 -03:00
Pepe Cano 81af1d2208 Alerting docs: update Introduction > Notifications (#88530)
* Update Notifications intro page

* Update intro image

* Update docs/sources/alerting/fundamentals/notifications/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-05-31 17:28:15 +02:00
renovate[bot] a9f805b7a2 Update dependency re-resizable to v6.9.17 2024-05-31 15:21:30 +00:00
Tom Ratcliffe dfd64ed469 Alerting: Ensure we fetch AM config before saving new configuration (#88458) 2024-05-31 17:19:01 +02:00
renovate[bot] aec8412af9 Update dependency nx to v19.1.1 2024-05-31 14:58:43 +00:00
renovate[bot] ddcc0ce9bc Update dependency ml-regression-simple-linear to v3.0.1 2024-05-31 14:38:36 +00:00
renovate[bot] 641c6624c6 Update dependency ml-regression-polynomial to v3.0.1 2024-05-31 14:21:17 +00:00
Piotr Jamróz 1e70cd8dad Docs: Clarify that some GA flags may be disabled by default (#88284) 2024-05-31 16:18:54 +02:00
renovate[bot] 0ab0900f00 Update dependency i18next to v23.11.5 2024-05-31 13:04:49 +00:00
Bruno 33b9544047 Cloud migrations: create route to delete token (#88297)
* Cloud migrations: create route to delete token

* gcom.DeleteToken returns ErrTokenNotFound instead of a boolean

* remove unnecessary comment

* make openapi3-gen && yarn run rtk-query-codegen-openapi ./scripts/generate-rtk-apis.ts

* gcom stub: implement DeleteToken
2024-05-31 10:03:43 -03:00
Scott Schreckengaust 3e872bb77e Cloudwatch: Add Kendra metrics (#86809) 2024-05-31 09:02:29 -04:00
renovate[bot] ae11e54403 Update dependency dompurify to v3.1.5 2024-05-31 12:46:06 +00:00
Bruno 83543c6b12 Cloud migrations: create route to fetch cloud migration token (#88176)
* Cloud migration: create route to fetch cloud migration token

* implement gcomStub.ListTokens

* fix swagger for POST /cloudmigration/migration

* fix swagger for POST /cloudmigration/migration

* fix swagger for POST /cloudmigration/migration
2024-05-31 09:39:10 -03:00
renovate[bot] b640921dfd Update dependency @grafana/scenes to v4.25.0 (#88541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-31 15:25:57 +03:00
Fayzal Ghantiwala 67b9e3b269 Alerting: Update HA Redis TLS docs (#88538)
* Update HA Redis TLS doc

* Add test for regular TLS

* Update docs

* Update prom registry
2024-05-31 13:23:45 +01:00
Ashley Harrison 9317e2e1b2 Chore: fix betterer results (#88539)
fix betterer results
2024-05-31 15:01:15 +03:00
Ashley Harrison 8811c14aeb AdHoc filters: add support for groups in adhoc filters + fix group styling (#88430)
add support for groups in adhoc filters + fix group styling
2024-05-31 11:04:19 +01:00
renovate[bot] 06121bb054 Update dependency eslint-plugin-react to v7.34.2 2024-05-31 09:56:48 +00:00
Piotr Jamróz ce23a455c3 Explore: Show a modal to edit query template before saving it (#88211)
* Create a mock modal

* Add basic form handling

* Update tests

* Extract translations

* Disable auto-star switch

* Keep disabled input uncontrolled
2024-05-31 11:55:01 +02:00
renovate[bot] 287e3868ed Update dependency @prometheus-io/lezer-promql to v0.52.1 (#88531)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-31 12:27:54 +03:00
Ashley Harrison 8c88f605e4 Chore: Migrate some more scss styles (#88484)
* migrate some more styles

* migrate typeahead styles

* migrate tagsinput styles
2024-05-31 10:04:25 +01:00
renovate[bot] a14a7580ed Update dependency @prometheus-io/lezer-promql to v0.52.1 (#88513)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-31 09:32:15 +01:00
Mihai Doarna d83288b8c5 Docs: Improve the SSO settings API docs (#87599)
* improve SSO settings API docs

* address feedback
2024-05-31 11:22:54 +03:00
Sofia Papagiannaki 17ca61d7f8 Alerting: Export and provisioning rules into subfolders (#77450)
* Folders: Optionally include fullpath in service responses
* Alerting: Export folder fullpath instead of title
* Escape separator in folder title
* Add support for provisiong alret rules into subfolders
* Use FolderService for creating folders during provisioning
* Export WithFullpath() folder service function

---------

Co-authored-by: Tania B <yalyna.ts@gmail.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-05-31 11:09:20 +03:00
Mihai Doarna e1aedb65b3 SSO: Add oldSettings param to the Validate function from SSO settings (#88245)
* add oldSettings param to the Validate function from SSO settings

* update unit tests adding the missing param to Validate
2024-05-31 11:08:52 +03:00
Joseph Perez 9d8052830f Docs: Edit of "ISSUE_TRIAGE" and other topics (part 3 of doc quality project) (#88106)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-05-31 08:31:53 +01:00
Jon Cole ba4c1fcf76 AzureMonitor: Retrieve Azure clouds from SDK (#87944)
* AzureMonitor: get the list of azure clouds from the SDK instead of from a hard coded list

* add azure-sdk to yarn.lock

* merge legacy with custom options

* Normalize legacy cloud names

* Workaround: send new credential format to backend while we wait to migrate to the new format

* Lint fix

* resolveLegacyCloudName should not return undefined

* re-add undefined handling in resolveLegacyCloudName so that we fallback to getDefaultAzureCloud when not defined

---------

Co-authored-by: Jeremy Angel <jeremyangel@microsoft.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-05-30 23:40:05 +01:00
Drew Slobodnjak 1c339db7ad Geomap: Improve Pan and Zoom Performance (#88202)
* Geomap: Improve pan and zoom performance

* Remove unused code
2024-05-30 14:41:59 -07:00
Nick Richmond 7ec93edec1 ExploreMetrics: Adjust wording to improve clarity (#88319)
refactor: change wording add clarity
2024-05-30 16:00:57 -04:00
Joseph Perez 2c8e869799 Docs: Edit of README and other topics in Contribute (part 1 of doc quality project) (#85832)
* Docs: Technical edit of 4 files in Contributing

* Fix admonitions

* Fix admonition

* Fix from code review

* Fix from code review

* Update contribute/create-pull-request.md

* Update contribute/merge-pull-request.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Minor fix

* Update contribute/merge-pull-request.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update contribute/merge-pull-request.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update contribute/merge-pull-request.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update contribute/merge-pull-request.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update contribute/merge-pull-request.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Fix from code review

* Update contribute/triage-issues.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Run prettier

---------

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-05-30 10:41:02 -07:00
Nick Richmond fddf77ee35 CodeEditor: Fix broken styles (#88495)
* fix: remove erroneous container

* fix: update selector

* fix: pass data attrs via `wrapperProps`

* fix: ensure `toBeInTheDocument` checks have unique markup
2024-05-30 20:34:00 +03:00
Matthew Jacobson 09cb3a6048 Alerting: Add optional metadata via query param to silence GET requests (#88000)
* Alerting: Add optional metadata to GET silence responses

- ruleMetadata: to request rule metadata.
- accesscontrol: to request access control metadata.
2024-05-30 12:04:47 -04:00
Ashley Harrison 413013a000 update results file 2024-05-30 17:10:10 +03:00
renovate[bot] 9a0482e7f2 Update dependency eslint-plugin-no-barrel-files to v1.1.1 2024-05-30 17:10:10 +03:00
Misi ed6b3e9e7c Auth: Introduce pre-logout hooks + add GCOM LogoutHook (#88475)
* Introduce preLogoutHooks in authn service

* Add gcom_logout_hook

* Config the api token from the Grafana config file

* Simplify

* Add tests for logout hook

* Clean up

* Update

* Address PR comment

* Fix
2024-05-30 15:52:16 +02:00
renovate[bot] de201c5cdd Update dependency eslint-plugin-jsdoc to v48.2.7 2024-05-30 13:34:49 +00:00
Edvard Falkskär 24d65fa32f Docs: How to access Grafana in fundamentals tutorial (#88488)
* Docs: How to access Grafana in fundamentals tutorial

* All pretty, no pity

* note on login

---------

Co-authored-by: tonypowa <tonypowa@gmail.com>
2024-05-30 15:04:17 +02:00
renovate[bot] e3fac9bf72 Update dependency dompurify to v3.1.4 2024-05-30 13:02:45 +00:00
Ivan Ortega Alba c5ae0bbba2 Scenes: Update to latest 4.23.1 -> 4.24.4 (#88485)
# v4.24.4 (Thu May 30 2024)

#### 🐛 Bug Fix

- `@grafana/scenes`
  - VizPanelRenderer: Emit SetPanelAttention event [#716](https://github.com/grafana/scenes/pull/716) ([@tskarhed](https://github.com/tskarhed))

#### Authors: 1

- Tobias Skarhed ([@tskarhed](https://github.com/tskarhed))

---

# v4.24.3 (Thu May 30 2024)

#### 🐛 Bug Fix

- `@grafana/scenes`
  - Macros: Resolve browser timezone for `$__timezone` [#759](https://github.com/grafana/scenes/pull/759) ([@ivanortegaalba](https://github.com/ivanortegaalba))
  - Variables: Prioritize showing adhoc variable key and operator [#750](https://github.com/grafana/scenes/pull/750) ([@oscarkilhed](https://github.com/oscarkilhed))

#### Authors: 2

- Ivan Ortega Alba ([@ivanortegaalba](https://github.com/ivanortegaalba))
- Oscar Kilhed ([@oscarkilhed](https://github.com/oscarkilhed))

---

# v4.24.2 (Wed May 29 2024)

#### 🐛 Bug Fix

- `@grafana/scenes`
  - MultiValueVariable: Fixes issue when value is all value but all value is not enabled [#757](https://github.com/grafana/scenes/pull/757) ([@torkelo](https://github.com/torkelo) [@ivanortegaalba](https://github.com/ivanortegaalba))

#### Authors: 2

- Ivan Ortega Alba ([@ivanortegaalba](https://github.com/ivanortegaalba))
- Torkel Ödegaard ([@torkelo](https://github.com/torkelo))

---

# v4.24.1 (Tue May 28 2024)

#### 🐛 Bug Fix

- Plugin.json: update schema reference URL in scenes-app [#754](https://github.com/grafana/scenes/pull/754) ([@leventebalogh](https://github.com/leventebalogh))
- `@grafana/scenes`
  - Allow drag and dropping rows in valid states [#756](https://github.com/grafana/scenes/pull/756) ([@mdvictor](https://github.com/mdvictor))
  - fix: undefined check on RefreshPicker.autoOption [#751](https://github.com/grafana/scenes/pull/751) ([@darrenjaneczek](https://github.com/darrenjaneczek))

#### Authors: 3

- Darren Janeczek ([@darrenjaneczek](https://github.com/darrenjaneczek))
- Levente Balogh ([@leventebalogh](https://github.com/leventebalogh))
- Victor Marin ([@mdvictor](https://github.com/mdvictor))

---

# v4.24.0 (Mon May 27 2024)

#### 🚀 Enhancement

- `@grafana/scenes`
  - SceneFlexLayout: Min width/height option was ignored [#749](https://github.com/grafana/scenes/pull/749) ([@edvard-falkskar](https://github.com/edvard-falkskar))

#### Authors: 1

- Edvard Falkskär ([@edvard-falkskar](https://github.com/edvard-falkskar))

---
2024-05-30 15:02:31 +02:00
renovate[bot] fabed77d1f Update dependency css-loader to v7.1.2 2024-05-30 12:44:55 +00:00
Misi 8a98e29fba Docs: Update Okta docs (#88352)
* Update Okta docs

* Fixes

* Improvements
2024-05-30 14:42:24 +02:00
Carl Bergquist 6c79f63c04 Auth: Pass ctx when updating last seen (#88496)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-05-30 14:25:54 +02:00
renovate[bot] 4b62be37f5 Update dependency core-js to v3.37.1 2024-05-30 12:11:46 +00:00
Kristin Laemmert 876ed9bf0b chore: decrease frequency of updating last_seen (#88461) 2024-05-30 08:09:22 -04:00
kay delaney 8f45003192 LibraryPanels/RBAC: Ignore old folder permission check when deleting/patching lib panel (#88422)
* LibraryPanels/RBAC: Ignore old folder permission check when deleting lib panel

* Same for patching
2024-05-30 12:23:20 +01:00
Sofia Papagiannaki 4f999f2b6c Dashboards: Fix regression when deleting folder (#88311)
* Fix regression when deleting folder

* Apply suggestion from code review
2024-05-30 14:21:34 +03:00
Gilles De Mey f6a1ed3581 Alerting: Replace Strong component (#88186) 2024-05-30 13:05:37 +02:00
Konrad Lalik 93870c1cd8 Alerting: Use new endpoints to fetch single GMA rule on view and edit pages (#87625) 2024-05-30 12:55:06 +02:00
brendamuir b07b6771e8 Alerting docs: adds pause and resume evaluation (#88489) 2024-05-30 12:47:38 +02:00
renovate[bot] 0c572e8db7 Update dependency @types/node to v20.12.13 2024-05-30 10:45:34 +00:00
Laura Fernández 98dcb3818c Chore: Add no-untranslated-strings rule to betterer (#88479) 2024-05-30 12:45:22 +02:00
Gilles De Mey b7db268798 Alerting: Correctly handle duplicating notification templates (#88487)
Co-authored-by: Alex Petrov <alex.petrov.vt@gmail.com>
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
Co-authored-by: Alex Petrov <apetrov@fastly.com>
2024-05-30 12:43:03 +02:00
renovate[bot] c5c38b57c4 Update dependency @types/lodash to v4.17.4 2024-05-30 09:52:46 +00:00
Josh Hunt 5190e68ab1 Chore: Refactor betterer eslint to use overrides (#88442)
* Chore: Refactor betterer eslint to use overrides

* more comments
2024-05-30 10:09:30 +01:00
Sonia Aguilar 650f291054 Gops: Fix incidents url adding plugin twice in it (#88472)
Fix incidents url adding plugin twice in it
2024-05-30 11:05:20 +02:00
Yasir Ekinci 56a544668f DashboardAI: Reformat prompts to have a single system prompt (#88429) 2024-05-30 02:46:05 -06:00
Agnès Toulet d12c808279 Docker: Fix renderer plugin in custom Dockerfile (#88223)
* Docker: fix renderer plugin in custom Dockerfile

* Update Dockerfile
2024-05-30 10:27:26 +02:00
Tom Ratcliffe 5bb7d4da4c Alerting: Remove regex reference in silences filter tooltip (#88455) 2024-05-30 09:05:34 +01:00
Ieva 1c2ae2c72d Dashboards: Correctly display Admin access to dashboards in the UI (#88439)
* include folder wildcard scope in dash permission inheritance

* Update pkg/services/accesscontrol/ossaccesscontrol/permissions_services.go

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-05-30 10:06:01 +03:00
Diego Augusto Molina 990ad860df Chore: Allow using the Go race detector locally (#88380)
* use the Go race detector for local testing only

* add recipe to check if Go race detector is enabled
2024-05-29 20:34:16 -03:00
Nathan Marrs 98152b2f84 Stat: Add docs for stat percent change color options (#88454)
update docs
2024-05-29 14:13:01 -07:00
Bogdan Matei 011becb39e Scopes: Use Grafana namespace instead of default (#88451) 2024-05-29 23:48:17 +03:00
Kyle Cunningham f5346e3e2a Table Panel: Move inspector into drawer component (#88196)
* Move inspector into drawer component

* Fix up naming

* fix betterer lint issue

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-05-30 03:33:05 +07:00
Nick Richmond 7334f71e09 CodeEditor: Improved styles when the code editor is loading (#88102)
* fix: monaco loading state

* chore: betterer

* test: leverage e2e selectors

* refactor: prefer HOC to wrap with testid

* refactor: add clarity

* docs: add clarity

* refactor: loading messaging

* test: rename vars to improve clarity

* test: rename vars to improve clarity
2024-05-29 15:55:18 -04:00
William Wernert 5de7d4d06d Alerting: Create writer interface for recording rules (#88459)
* Create writer interface for recording rules

Also create fake impl + use it for stub in scheduler
2024-05-29 22:38:33 +03:00
Joseph Perez 4e99cd2860 Docs: Edit of "Developer Guide" and other topics (part 2 of doc quality project) (#86072)
* Edit deprecation-policy

* Edit drone-pipeline

* Docs: Edit of 4 files, part 2 of quality improvement

* Update contribute/developer-guide.md

* Update contribute/developer-guide.md

Co-authored-by: J Stickler <julie.stickler@grafana.com>

* Changes from feedback

* Properly style UNIX

* Update contribute/drone-pipeline.md

* Update contribute/feature-toggles.md

Co-authored-by: J Stickler <julie.stickler@grafana.com>

* Format with prettier

---------

Co-authored-by: J Stickler <julie.stickler@grafana.com>
2024-05-29 11:08:41 -07:00
Ezequiel Victorero e81f48ef95 Dashboards: Do not expose datasource name and uid on dashboard external export (#88382)
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2024-05-29 14:36:48 -03:00
Bogdan Matei 55ea077c3e Scopes: Select scope even without data retrieval (#87988)
* Scopes: Select scope even without data retrieval

* Pass entire scope and not only the spec to Prometheus

* Enrich ScopeSpec that is sent to Prometheus

* add name to BE

---------

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2024-05-29 20:09:27 +03:00
Señor Performo - Leandro Melendez 8b5c9e3e2a Docs: Add Installation YouTube Videos to documentation pages. (#88443)
* Added Installation video index.md

* Update index.md adding video for Debian and Ubuntu installs

* Update index.md adding install video in macOS

* Update index.md adding video to install RHEL or Fedora

* Update index.md adding install video for SUSE

* Update index.md adding video for Windows installer
2024-05-29 10:56:15 -06:00
Tom Ratcliffe 3adb07cf4d Alerting: Make regex notification routing preview consistent with notification policies implementation (#88413)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-05-29 17:04:35 +01:00
renovate[bot] 2a65a8a1d1 Update dependency @reduxjs/toolkit to v2.2.5 2024-05-29 15:42:32 +00:00
renovate[bot] dfae694cff Update dependency @react-types/shared to v3.23.1 2024-05-29 15:22:25 +00:00
Carl Bergquist 0e6464fc96 Don't use transaction for updating last seen for an user. (#88426)
dont use transaction for updating last seen

Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-05-29 18:13:04 +03:00
Sonia Aguilar 289ce61855 Alerting: Add the feature toggle for the new central alert state history feature (#88346)
* Add the feature toggle for the new central alert state history feature

* WIP

* Revert "WIP"

This reverts commit 80b8879d4e.
2024-05-29 18:01:38 +03:00
renovate[bot] e1d7ef30ec Update dependency @react-types/overlays to v3.8.7 2024-05-29 14:47:24 +00:00
Sven Grossmann f81e8e04aa LogsTable: Fix default sort by time (#88398) 2024-05-29 16:46:26 +02:00
renovate[bot] 144e476840 Update dependency @react-types/menu to v3.9.9 2024-05-29 14:30:54 +00:00
Darren Janeczek 763108ce10 datatrails: in Components, model.useState(), instead of model.state (#88432)
fix: in Components, `model.useState()`, instead of `model.state`

Generally, it is better practice. More succinct.
It could also eliminate subtle state bugs.
2024-05-29 10:29:57 -04:00
renovate[bot] 633486e4f1 Update dependency @react-types/button to v3.9.4 2024-05-29 14:10:56 +00:00
brendamuir c8bbc9d6e5 Alerting docs: adds template selector docs (#88412)
* Alerting docs: adds template selector docs

* adds line about single save
2024-05-29 15:39:22 +02:00
renovate[bot] e63037fe51 Update dependency @playwright/test to v1.44.1 2024-05-29 13:34:47 +00:00
renovate[bot] 8fa48ceb76 Update dependency @kusto/monaco-kusto to v10.0.22 2024-05-29 12:53:14 +00:00
renovate[bot] c5b27c809a Update dependency @grafana/faro-web-sdk to v1.7.3 2024-05-29 11:55:28 +00:00
Gilles De Mey 781f67dfb6 Alerting: Support alertingDisableSendAlertsExternal feature toggle (#88384) 2024-05-29 13:54:07 +02:00
renovate[bot] e93169b66c Update dependency @grafana/faro-web-sdk to v1.7.3 2024-05-29 11:30:50 +00:00
Ana Ivanov c977653811 Add navigation config for grafana-csp-app (#88360)
Add navigation config for grafana-csp-app
2024-05-29 14:28:33 +03:00
Laura Fernández a47e71fd34 Chore: create the no-untranslated-literals rule (#88271) 2024-05-29 13:03:59 +02:00
Fayzal Ghantiwala 543f0ae37e Alerting: Update ListAlertRulesQuery to take a slice of RuleGroups (#88385)
* Change ListAlertRulesQuery to take RuleGroup slice instead

* Change func name

* Change func name

* Fix fakes

* Fix function arg
2024-05-29 11:50:33 +01:00
renovate[bot] 4c8ce76929 Update dependency @grafana/faro-core to v1.7.3 2024-05-29 09:55:43 +00:00
Andres Martinez Gotor 0f32c2bff9 Revamp tests for Add/Update Datasource (#88386) 2024-05-29 04:54:11 -05:00
renovate[bot] 2d18de7e84 Update dependency @floating-ui/react to v0.26.16 (#88409)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-29 12:28:26 +03:00
renovate[bot] 48d49b4502 Update dependency cypress to v13.10.0 (#84140)
* Update dependency cypress to v13.10.0

* updated cypress-version in config

* updated configs

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-05-29 11:10:42 +02:00
Ben Sully 2455c0cc37 Add Kubernetes icon (#86677) 2024-05-29 09:49:59 +01:00
github-actions[bot] d8b662e8d5 Update make docs procedure (#88404)
Co-authored-by: grafanabot <bot@grafana.com>
2024-05-29 08:12:13 +00:00
Gabriel MABILLE 5eecc01123 VSCode: Launch Grafana with Storage server (#88351)
* VSCode: Launch Grafana with Storage server

* Fix module_server_test
2024-05-29 10:02:35 +02:00
antonio 1f90123f35 alerting>tutorials>get-started v2 (#88373)
* alerting>tutorials>get-started v2

* admon fix

* link fix

* pretty face

* Update docs/sources/tutorials/alerting-get-started/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* suggestions

* All pretty, no pity.

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-05-29 10:00:37 +02:00
Leonor Oliveira ade96dbdbd Introduce Comparator interface (#88016)
* Introduce Comparator interface

* Add compare implementation everywhere

* Add comment explaining what Compare should do

* Lint
2024-05-29 09:42:24 +02:00
Tobias Skarhed 06304894a1 Dashboard: Keyboard and mouse panel shortcuts improvement (#87317)
* Add custom attention state to dashboard

* Add attention state to DashboardGrid

* Remove old functionality

* Add attention state to keybindingSrv

* Create PanelAttentionService

* Add PanelAttentionService with scenes support

* Remove unused code

* Use viz panel key instead of VizPanel

* Add type assertion

* Add e2e test

* Update comments

* Use panel id for non-scenes use case

* Support undefined service use case

* Memoize singleton call

* Debounce mouseover

* Set panelAttention with appEvents

* Use AppEvents for Scenes

* Remove panelAttentionSrv

* Wait in e2e to handle debounce

* Move subscription to KeybindingSrv

* Remove imports and reset keyboardShortcuts from main

* Fix on* event handlers
2024-05-29 09:11:23 +02:00
Larissa Wandzura 66d6b3d83b Docs: Update Grafana Teams documentation (#86942)
* added config doc

* added content

* added new topic docs and made updates

* minor updates

* updates based on feedback

* ran prettier , made updates

* removed original doc, updates to topic docs

* removed old index doc

* fixed format issue

* Update docs/sources/administration/team-management/administering-grafana-teams.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/administration/team-management/configure-grafana-teams.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/administration/team-management/configure-grafana-teams.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/administration/team-management/configure-grafana-teams.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/administration/team-management/configure-grafana-teams.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/administration/team-management/administering-grafana-teams.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/administration/team-management/_index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/administration/team-management/configure-grafana-teams.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/administration/team-management/configure-grafana-teams.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/administration/team-management/configure-grafana-teams.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/administration/team-management/configure-grafana-teams.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* edits based on feedback

* updates based on feedback

* improved some wording

* ran prettier

* minor correction

* added aliases

* Update docs/sources/administration/team-management/configure-grafana-teams.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* added contractions

* Removed .nx

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-05-29 08:22:45 +03:00
Andreas Christou 3eea71cc6b Azure: Basic Logs support (#88025)
* Azure monitor: Basic Logs frontend (#85905)

* adds datasource level config for enabling basic logs

* add basiclogsquery type to query json

* add toggle between basic and analytics

* adds basic logs toggle from UI, blocks time picker to only dashboard if basic logs is selected

* add check to remove UI if alerting

* tests for logsmanagement component

* tests for logs query editor

* tests for time mangement control

* remove unused imports

* clears query whenever toggle changes from basic <-> analytics

* add test to account for clearning query

* Update public/app/plugins/datasource/azuremonitor/components/ConfigEditor/BasicLogsToggle.tsx

wording

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* Update public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsQueryEditor.tsx

spelling

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* Update public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsQueryEditor.tsx

spelling

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* update dependency list

* clear basic logs if resources change

* fix tests

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* Azure Monitor: Basic Logs modal acknowledgement (#86244)

* adds datasource level config for enabling basic logs

* add basiclogsquery type to query json

* add toggle between basic and analytics

* adds basic logs toggle from UI, blocks time picker to only dashboard if basic logs is selected

* add check to remove UI if alerting

* tests for logsmanagement component

* tests for logs query editor

* tests for time mangement control

* remove unused imports

* add confirm modal

* clears query whenever toggle changes from basic <-> analytics

* add test to account for clearning query

* adds modal acknowledgement for basic logs query

* tests for handling modal logic

* basic logs ack type

* Update public/app/plugins/datasource/azuremonitor/components/ConfigEditor/BasicLogsToggle.tsx

wording

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* Update public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsQueryEditor.tsx

spelling

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* Update public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsQueryEditor.tsx

spelling

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* update dependency list

* clear basic logs if resources change

* remove modal from config page

* remove basic logs query ack type

* add modal acknowledgement to toggle between basic and analytics

* clear query if resources change

* fix tests

* fix tests

* Update public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsManagement.tsx

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* fix tests

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* Azure Monitor: Basic Logs Backend (#87653)

* fix logic for showingBasicLogsToggle

* move to utils function and add basiclogsquery in apply template variable

* add backend safeguards for basiclogsqueries

* adds support for calling search or query apis based on whether it is basic logs or not

* add tests for utils

* initial test for basic logs query in the backend

* tests for basic logs

* remve comment

* simplify checks for basic logs

* adds fromAlert prop for azure monitor backend services

* adds fromAlert check fo basic logs

* fix working and empty tags

* add telemetry for basic logs

* remove import from grafana core package

* change fromAlert true in tests

* change the way tests catch errors

* Update pkg/tsdb/azuremonitor/loganalytics/utils.go

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* Update pkg/tsdb/azuremonitor/loganalytics/utils.go

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* Update pkg/tsdb/azuremonitor/loganalytics/utils.go

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* Update pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* restructure code to only run basic logs checks if basiclogsflag is true

* data retention warning

* tests for calculate time range

* Simplify determining if request is from alerting

* Fix lint and bool check

* Fix tests

* clarify data retention

---------

Co-authored-by: Jocelyn <jcolladokuri@microsoft.com>
Co-authored-by: jcolladokuri <jocelyncollado52@gmail.com>

* Azure Monitor: Basic Logs data volume notification (#88009)

* frontend changes for data ingested warning

* initial logic for getResource

* payload processing

* create basicLogs usage function

* add utils for converting time and getting the data volume query for basic logs

* frontend updates for showing the data ingested for the given query

* frontend tests

* add check for when no dataIngested is returned

* remove backend.logger prints

* comment on what function does

* fix merge

* make resource URI regex case insensitive

* add support for workspace variables in basic logs flow

* add undefined check

* structure and add tests for variable support

* Update pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* add tracing for basic logs usage request

* clean up data volume query struct

* use async/await instead of callback

* fix parameters for getApiURL

* restrict time on usage query to 8 days max

* add time to dependency array to refetch basic logs usage

* move time check implementation to backend

* fix utils tests

---------

Co-authored-by: Jocelyn <jcolladokuri@microsoft.com>
Co-authored-by: jcolladokuri <jocelyncollado52@gmail.com>

---------

Co-authored-by: jcolladokuri <jcolladokuri@microsoft.com>
Co-authored-by: jcolladokuri <jocelyncollado52@gmail.com>
2024-05-28 18:06:27 +01:00
Stephen J. Smith 0b2fab9967 Azure Monitor: Fix typo that may cause an API request to fail (#88320)
Fix typo
2024-05-28 17:58:06 +01:00
Alexander Weaver b926b6336d Alerting: Scheduled recording rules execute their queries (#88309)
* Basic eval flow

* Wiring-up

* fix

* Extend todo

* Start with tests

* Include some relevant tests, skip ones that seem to have timing-based race conditions

* Some tests, touch up linter and todo

* Solve TODO

* Add tracing

* Tests to make sure an eval went through

* Wire up feature toggles

* Update pkg/services/ngalert/schedule/recording_rule.go

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>

* Update pkg/services/ngalert/schedule/recording_rule_test.go

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>

* Update pkg/services/ngalert/schedule/recording_rule_test.go

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>

* Update pkg/services/ngalert/schedule/recording_rule_test.go

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>

---------

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>
2024-05-28 10:59:21 -05:00
Eric Leijonmarck 910553df20 Actionsets: Add cfg option for only writing actionsets (#88367)
* test

* test

* missed test

* fix review comments
2024-05-28 16:32:23 +01:00
Andrej Ocenas 5f326e98c1 NodeGraph: Add msagl and the layered layout code (#88375) 2024-05-28 17:04:03 +02:00
Bruno 07debd66c2 Ephemeral instances: fetch the grafana version from the package.json file (#88300) 2024-05-28 11:52:00 -03:00
Matthew Jacobson 8418aca823 Alerting: Add single rule checks to alert rule access control (#88307)
* Alerting: Add single rule checks to alert rule access control

Modifies ruler api single rule read to no longer fetch entire groups and instead
 use the new single rule ac check.
Simplifies provisioning api getAlertRuleAuthorized logic to always load a single
 rule instead of conditionally loading the entire group when provisioning
 permissions are not present.

* Swap out Has/AuthorizeAccessToRule for Has/AuthorizeAccessInFolder
2024-05-28 10:49:24 -04:00
Eric Leijonmarck ebbb64059f LBAC datasource: Add swagger updates (#88383)
add swagger updates
2024-05-28 15:28:12 +01:00
Jack Baldry 26c2391c7e [docs/sources/datasources] Replace docs/reference shortcode with ref URIs (#88078) 2024-05-28 15:17:49 +01:00
Jeroen Op 't Eynde e1685cb44b fix: set schemaVersion on dashboard schema (CUE) (#87712)
* fix: set schemaVersion on dashboard schema (CUE)

* docs: add comment to migration code

* fix: run make gen-cue
2024-05-28 16:16:20 +02:00
Leonor Oliveira ef07dfa3bb Add latency metrics to mode2 (#88011)
* Also call storage on mode1. Add metrics

* Update comment

* Don't use compare function for now

* Remove very important space

* Improve code readability on modes 1 and 2

* Fix tests

* Return error from legacy write

* Renume useless defer

* Start adding logging for mode2

* Retrurn errors is storage read fails

* Finish adding latency metrics to mode2

* Emit kind to metrics instead

* Fix var name

* Return if legacy delete list fails

* Unify latency calls

* Fix get function
2024-05-28 16:15:53 +02:00
Alex Khomenko c4aca053e5 DateTimePicker: Return cleared value in onChange (#88377)
* DateTimePicker: Return cleared value in onChange

* Update story
2024-05-28 17:11:15 +03:00
Mihai Doarna 12e4a94d63 SSO: Use removeSecrets() instead of setting.RedactedValue() (#88180)
* use removeSecrets() instead of setting.RedactedValue()

* replace with redacted value only if secret is not empty
2024-05-28 17:03:54 +03:00
Andres Martinez Gotor 60ce523b72 Refactor plugin context initialization (#88343) 2024-05-28 16:59:06 +03:00
Ashley Harrison ecfe50439b Chore: Remove last of the SCSS from grafana/ui (#88302)
* remove last of scss from grafana/ui

* add comment about legacySelect classes
2024-05-28 14:58:51 +01:00
Ashley Harrison b4e49e3114 Select: Ensure screenreader correctly narrates options (#88118)
* replace select aria-label with data-testid

* update in copy pasted places as well

* update plugin-e2e to 1.2.2
2024-05-28 14:51:47 +01:00
timo 6205236f25 NodeGraph: Use values from fixedX/fixedY column for layout (#86643)
* NodeGraph: Use values from fixedX/fixedY column for layout

* Cleanup some code, typings and naming

* Add test

---------

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2024-05-28 15:34:35 +02:00
Kyle Brandt a738cb42d8 Prometheus: Update dependency to v0.52.0 (#87809)
* Prometheus: Update dependency to v0.52.0

* go work sync

* fix panics in tests

* go work sync

* prometheus v0.52.0

* handle errors

* Update pkg/services/ngalert/sender/sender_test.go

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>

* Update pkg/services/ngalert/sender/sender_test.go

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>

---------

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-05-28 15:22:20 +02:00
Leonor Oliveira 502bd5612e Storage: Extract returned object hydration into function (#88012)
* Extract returned object hydration into function

* Finish writing tests for utils func

* Lint

* Update pkg/apiserver/rest/dualwriter_mode2.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Better var naming

* Remove duplicated logic

* Lint

* Fix test

* Lint

* Make type private

* Fix one more test

* Fix test

---------

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
2024-05-28 15:14:27 +02:00
Andreas Christou 4f3ab51d69 AzureMonitor: Fix service selection in E2E tests (#88378)
Use selectall to replace text
2024-05-28 14:09:20 +01:00
Sofia Papagiannaki d2f44816fd TeamLBAC: add missing swagger tag (#88374) 2024-05-28 15:34:30 +03:00
Jack Westbrook 5ce68c50e3 Docs: add decoupled plugin commands to developer guide (#88286)
* docs(developer-guide): add development commands for building decoupled plugins

* docs(developer-guide): add subheading, tidy up tone

* Apply suggestions from code review

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* docs(developer-guide): plugins section to identify which plugins need additional cmds

---------

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2024-05-28 14:28:18 +02:00
Ashley Harrison f1dbe39533 Chore: Improve typings (#88282)
* remove some type assertions

* some more type assertion fixes

* nicer

* shortcircuit while loop when hitting something that isn't an HTMLElement
2024-05-28 13:20:57 +01:00
Tobias Skarhed c8ab138dbf TimeRangePicker: Use native scrollbar (#88327)
* Use native scrollbar

* Native overflow scroll

* Fix feedback

* Make scrollbars thin
2024-05-28 13:41:31 +02:00
Ashley Harrison 7e25ff5756 Select: Support option groups in virtualised Selects (#88232)
* change select group headers to always be visible

* remove unnecessary SelectOptionGroup

* hacky change to work with virtualised lists

* undo this change

* add top border

* remove children from the category header

* don't virtualize story

* bit of renaming

* comments

* add new story for virtualized options
2024-05-28 10:49:43 +01:00
Jack Westbrook cd3c10d905 Chore: Sync sass with theme (#88340)
chore(sass): run theme:generate to sync sass with theme
2024-05-28 11:49:02 +02:00
github-actions[bot] 4817156ba3 I18n: Download translations from Crowdin (#88365)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-28 12:18:19 +03:00
Matias Chomicki 97cb92eb1e Logs: Added multi-line display control to the "wrap lines" option (#88144)
* LogRowMessage: strip new lines when wrapping is disabled

* LogRowMessage: prevent conflicts between failed json parsing and unwrapping

* LogRowMessage: expand multi-line unwrapped logs when opening details

* Add unit test

* Prettier

* chore: update comment
2024-05-28 11:59:11 +03:00
Ashley Harrison 6f9527b4c2 DashboardGrid: Ensure drag handle always follows the cursor (#88099)
use flushSync in react-grid-layout
2024-05-28 09:46:04 +01:00
Gabriel MABILLE 3d9908f363 Fix: Prevent ExtSvcTokens from containing nil characters (#88243)
* Fix: Prevent ExtSvcTokens from containing nil characters

* Rebase

* Add more logs

* Nit. nil -> NUL

* Nit. Part -> Parts

* Back to const

* Account for comments

Co-authored-by: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>

---------

Co-authored-by: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
2024-05-28 10:39:46 +02:00
Laura Benz f6a83432a5 RestoreDashboards: Create trash section (#88278)
* feat: add feature toggle to docs

* feat: create page in BE

* feat: create page in FE

* refactor: set feat toggle as a condition

* refactor

* refactor

* refactor

* feat: add permission conditions

* refactor

* feat: add subtitle to translations

* feat: add to codeowners

* refactor: fix docs situation

* refactor

* Merge main branch into feat branch
2024-05-28 10:26:06 +02:00
gng0 f772056296 DataLinks: Fixes datalinks with onClick and variables in url not being interpolated (#86253)
* Use replaceVariables method on link url, fix and add unit tests

* Refactor href processing for links

* Prettier
2024-05-28 08:16:55 +02:00
Andres Martinez Gotor 0b526acf09 Fix provisioning for a missing plugin (#88354) 2024-05-28 01:47:45 +03:00
Sofia Papagiannaki 39298a656a Swagger: sync specs with enterprise (#88355) 2024-05-28 01:12:54 +03:00
Laura Fernández 6d98f53e8b Chore: Remove returnToPrevious feature toggle (#88332) 2024-05-27 17:47:57 +02:00
Steve Simpson 08b18113d2 Alerting: Wire up alertmanagerRemoteOnly feature toggle. (#88329)
* Alerting: Wire up alertmanagerRemoteOnly feature toggle.

Though the mode isn't feature complete yet, it will be useful to have the
feature toggle wired up in order to start testing.

* Apply suggestions from code review

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>

* Formatting

---------

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2024-05-27 16:18:46 +02:00
Misi aac6e6dfd9 Auth: Update SAML lib to improve HTTP-Post binding (#88287)
* Update lib and docs for HTTP-Post binding

* Improve docs

* fix spelling

* Regenerate go.sum and go.work.sum
2024-05-27 14:56:52 +02:00
Dominik Prokop 6e9543e0ad Preserve variables and time range when navigating between dashboards (#87966)
* POC preserve filters and group by when navigating between dashboards

* Save all variables and time range

* minor refactor

* Add feature toggle

* Update feature toggle usage

* Delete local storage item if nothing to preserve

* Structural changes

* Simplify restore params code

* Use session storage

* Add tests

* Merge fix

* Remove unused code

* And make it better, errrrrr

* Minor deduplication refactor

* last minor
2024-05-27 14:28:06 +02:00
Marcus Efraimsson 0b1aec6767 Tracing: Various improvements (#88308) 2024-05-27 14:21:40 +02:00
Ivan Ortega Alba 66950c96f6 Dashboards: Discard the entire panel if it is newly added (#87562) 2024-05-27 13:46:02 +02:00
kay delaney c0881cc970 Dashboards: Detect unsaved folder change (#88293) 2024-05-27 12:43:31 +01:00
Luis Felipe Dominguez Vega 4248ff4688 ValueFormats: Add Uruguay peso currency (#88260) 2024-05-27 11:45:37 +01:00
Giuseppe Guerra 2b54ce6c51 Chore: Bump google.golang.org/grpc to 1.64.0 (#88219)
* Bump google.golang.org/grpc to 1.64.0

* Address grpc.Dial deprecation notices

* go mod tidy

* Update go.work.sum

* go work sync
2024-05-27 12:44:39 +02:00
Piotr Jamróz 0530b296d0 Correlations: Enable feature toggle by default (on-prem) (#88208)
* Correlations: Enable feature toggle for on-prem

* Update Loki test
2024-05-27 12:04:37 +02:00
Joao Silva 45faefa8b3 TimeRangePicker: Allow users to navigate quick ranges with arrows instead of Tab (#88138) 2024-05-27 10:33:53 +01:00
Joao Silva 3014103f41 Chore: Remove gf-form from OrganizeFieldsTransformerEditor (#88240) 2024-05-27 10:26:47 +01:00
Levente Balogh f77f47ff00 Plugins: Update the plugin.json schema with UI extensions meta-data (#88288)
* feat: change the `generated` property

* refactor: update the schema description for the "extensions" field
2024-05-27 11:13:46 +02:00
Timur Olzhabayev 4761326568 Fix: Proper plugin logo loading depending on staging (#88247)
* making logos respect the staging

* making it work when served from subfolders

* fixing helper test
2024-05-27 10:26:30 +02:00
Fabrizio e7f05f4ff2 Tempo: Support standard span convention (#88268) 2024-05-27 10:10:04 +02:00
Mihai Doarna e28a34f126 Docs: Add a note about deprecating the settings update API (#87552)
* add a note about deprecating the settings update API

* Update docs/sources/setup-grafana/configure-grafana/settings-updates-at-runtime/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-05-27 11:08:19 +03:00
Mihai Doarna 934c510dda Docs: Update SAML docs after the integration with SSO settings API (#87512)
* update SAML docs after the integration with SSO settings API

* fix link

* address feedback

* address feedback
2024-05-27 11:07:24 +03:00
Drew Slobodnjak 14957953db Stat: Add percent change color modes (#88205)
* Stat: Add percent change color modes

* Apply color mode to percent change component

* Remove todo

* Create percent change color function and add tests

* drew08t/stat-percent-change-color-modes/ maybe fix import error?

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-05-24 14:45:02 -07:00
Steve Simpson ed42119907 Alerting: Pass metrics Registerer into NewExternalAlertmanagerSender. (#88313)
* Alerting: Pass metrics Registerer into NewExternalAlertmanagerSender.

I will work on a separate change to export the metrics from Grafana, this
is a little more complicated.

* Typo
2024-05-24 23:03:34 +02:00
renovate[bot] bbef011e43 Update dependency nx to v19.1.0 (#85487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-24 22:01:56 +01:00
Darren Janeczek 80a0de511f data trails: alternate legend display for missing label value (#88153)
* fix: alternate legend display for missing label value

* Update public/app/features/trails/ActionTabs/BreakdownScene.tsx

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

* Update public/app/features/trails/ActionTabs/BreakdownScene.tsx

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

---------

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
2024-05-24 15:41:20 -04:00
Darren Janeczek a7d304a871 datatrails: on histogram breakdowns, show label value in legend (#88154)
fix: on histogram breakdowns, show label value in legend
2024-05-24 15:41:00 -04:00
Tim Levett b5cf90ce78 API: Add in theme support to /render/* endpoint (#88304)
add in theme support to render endpoint
2024-05-24 14:12:31 -05:00
renovate[bot] d843209ee4 Update babel monorepo to v7.24.6 2024-05-24 18:13:19 +00:00
Steve Simpson 8bcf589301 Alerting: Pass logger into NewExternalAlertmanagerSender (#88256) 2024-05-24 20:11:26 +02:00
Darren Janeczek 5c29052219 datatrails: refactor: move related code to trails/MetricSelect subdir (#88262)
refactor: move related code to trails/MetricSelect subdir
2024-05-24 13:45:21 -04:00
Juan Cabanas f0ab501075 Chore: Add sharing squad as codeowners in render file (#88306) 2024-05-24 14:28:17 -03:00
Jon Cole 61db22f4b4 Prometheus: get Azure clouds from SDK (#87676)
* Prometheus: get the list of azure clouds from the SDK instead of from a hard coded list

* Update yarn.lock

* Fix lint

---------

Co-authored-by: Jeremy Angel (from Dev Box) <jeremyangel@microsoft.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-05-24 17:56:53 +01:00
Jon Cole 67b90ceba5 Azure: Load custom clouds from ini file (#87667)
* Load custom clouds from config file

* Update docs

* Use the correct list of clouds, add test, fix error condition handling

* Remove on custom cloud from sample.ini and docs

* Remove unnecessary else block

* Use cached json instead of serializing with each request

* Update grafana-azure-sdk-go version to v2.0.4

* update configure-grafana entry for clouds_config

* fix lint errors

* fix lint errors

---------

Co-authored-by: Jeremy Angel (from Dev Box) <jeremyangel@microsoft.com>
2024-05-24 17:40:04 +01:00
renovate[bot] 9f23e9a53b Update React Aria 2024-05-24 16:28:31 +00:00
Jack Westbrook a079343fe3 Chore: bump Nx to 19 (#88298)
* chore(npm): bump nx to v19

* build(icons): make sure icons are generated before attempting typecheck
2024-05-24 17:57:12 +02:00
Ryan McKinley ffc2702552 Plugins: Support Admission validation hooks (#87718) 2024-05-24 18:45:16 +03:00
Andrej Ocenas b1eb4b7dad Chore: Remove msagl related config in yarnrc (#88292) 2024-05-24 17:32:46 +02:00
Agnès Toulet f866157f99 Page: add scrollbar ID to use in image renderer (#88214) 2024-05-24 17:28:43 +02:00
Gilles De Mey 99b5259cc1 Alerting: New list view UI – Part 1 (#87907) 2024-05-24 16:40:49 +02:00
Pepe Cano 51e27200a6 Alerting: add NeedHelpInfo for Configure No data and error handling (#88145) 2024-05-24 15:30:12 +02:00
Sergej-Vlasov fbb5fd71f9 DashboardScenes: Optimise e2e test and add panels suite (#88170)
* refactor tests after adding additional data-testids

* add panels-suite e2e tests

* wip: add missing selectors

* finalise panels-suite tests

* clean up

* adjust workflow for test run

* restore workflow
2024-05-24 16:22:11 +03:00
Tom Ratcliffe 859b3ff78b Alerting: Fix "copy link" not including full URL (#88210) 2024-05-24 15:02:46 +02:00
brendamuir 26a01c42a6 Alerting docs: adds settings feature (#88294)
* Alerting docs: adds settings feature

* ran prettier
2024-05-24 15:01:15 +02:00
Tom Ratcliffe ebdad80dfa Alerting: Fix rules deleting when reordering whilst filtered (#88221) 2024-05-24 13:49:52 +02:00
Domas 60f9817303 ButtonSelect: Render option custom component (#88272)
allow providing custom component to button select
2024-05-24 14:38:59 +03:00
Sonia Aguilar caeb9bcea2 Alerting: Template selector in contact points form (#87689)
* WIP

* Refactor and update how we display these fields in the form

* Add test for getTemplateOptions and udpate parseTemplates to handle minus simbol

* fix betterer

* Fix wrapper

* Create new usePreviewTemplate to be reused from TemplatePreview and TemplateContentAndPreview

* remove unnecessary check

* track interactions

* Include the whole content of the template in the preview

* Update parseTemplates function to return default templates

* handle nested templates in parseTemplates function

* Missing border fixed, whitespaces preserved and no empty space at the bottom

* remove unused styles and add a comment in test

* Add missing error in getPreviewResults

* fix styles for template selector containers

* Alerting: PR feedback to move default templates into RTKQ (#88172)

Move default templates to RTKQ API + constant

* move parseTemplates to a utils file and refactor last part of this function

* Keep selected options when loading exising input and when switching between tabs

* Update descritpion in tabs

* Fix not previewing when loading existing values

* Update text addressing Brenda's feedback

* Add test for matchesOnlyOneTemplate function

* Add minheight to viewer container and fix getContentFromOptions function

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-05-24 13:35:48 +02:00
Oscar Kilhed 6775bcb0a3 Dashboard scenes: Fix variable saving inconsistencies (#88163)
* Fix variable saving inconsistencies

* add tests

* for variable changes to be detected, save variables need to be true

* Fix for issue with buildNewDashboardSaveModel creating filter variable withouth filter property

* remove unused import
2024-05-24 13:33:05 +02:00
github-actions[bot] 4bf284cfff I18n: Download translations from Crowdin (#88267)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-24 10:52:38 +00:00
Eric Leijonmarck c45eecad95 Anon: Doc add feature toggle displayAnonymousStats in docs (#88218)
* update with feature toggle in docs

* fmt

* Update index.md

* Update index.md
2024-05-24 09:17:19 +01:00
Pepe Cano 3d7fc8c927 Alerting docs: Update Intro - alert rule labels and annotations (#88230)
* Update `Labels & Annotations`

* Complete labels and annotations

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-05-24 10:09:35 +02:00
brendamuir 01d5744433 Alerting docs: adds note on provisioning to main page (#88264) 2024-05-24 09:44:21 +02:00
Alexander Weaver 65793440d3 Alerting: Test infrastructure for recording rules (#88200)
* Add test rule generator support for recording rules

* Remove accidental add

* Recording rules appear in GetRulesForScheduling

* A couple more tests, updates, count

* No need to capture rule defs
2024-05-23 16:27:07 -05:00
Lucy Chen e8625ecd4a Snapshots: Prevent creation of snapshot of nonexistent dashboard (#86806)
* Add validation to check for existence of dashboard before creation

* add service mock for FindDashboard

* update tests

* reorder function

* update logic change to bool

* update naming validate dashboard

* add tests

* update return val

* remove bool return val

* simplify return statement

* update test

* remove extra spacing

* update mock

* remove unncessary space
2024-05-23 15:17:55 -04:00
Ryan McKinley 42b0f802de QueryTypes: Add feature toggle to show query types in datasource apiservers (#88213)
* initial attempt

* show query types

* show query types

* with formatting

* with formatting

* more cleanup

* add feature toggle

* fix build
2024-05-23 18:46:28 +02:00
William Wernert 006d0021e3 Alerting: Remove requirement for datasource query on rule read (#87349)
* Remove requirement for datasource query for rule read

* Address PR comments
2024-05-23 12:44:30 -04:00
Matthew Jacobson bc5d077b30 Alerting: separate out silence auth service preconditions checks (#87998)
* Alerting: separate out silence auth service preconditions checks

Will be useful for subsequent PR that adds metadata to silence response

* Add silence read wildcard scope to precondition for read all silences
2024-05-23 12:34:42 -04:00
Pepe Cano 33db776c91 Alerting docs: fixes missing alt attributes (#88235)
* Fix missing `alt` text in images

* Fix `canonical` setting in AlertManager docs

* Fix `.`(dot) position in hyperlinks due to a temporary styling issue

* Revert "Fix `canonical` setting in AlertManager docs"

This reverts commit 65354b3642.
2024-05-23 18:07:52 +02:00
Pepe Cano 643018f94a Alerting docs: Fix Alertmanager canonical setting (#88236) 2024-05-23 17:57:22 +02:00
Sonia Aguilar 738d862b15 Gops: Update text in irm configuration tracker for sending an oncall demo a… (#88242)
Update text in irm configuration tracker for sending an oncall demo alert
2024-05-23 18:41:03 +03:00
Isabel Matwawana 197ce3042d Docs: Rename variables pages (#87844)
* Renamed Manage variables page to Add variables

* Renamed Inspect variables page to Manage and inspect variables

* Updated H1 on Add variables

* Moved Manage variables content to from Add varibles page to Manage and inspect variables page and updated text to fit

* Updated link style to ref URIs in Manage and inspect variables
2024-05-23 11:31:49 -04:00
Sonia Aguilar e8e14a5e53 Gops: Fix wrong endpoint for incidents check (#88238)
Fix wrong endpoint for incidents check
2024-05-23 18:23:50 +03:00
Alex Khomenko 69108d3cac DateTimePicker: Add clearable prop (#88215)
* DateTimePicker: Add clearable prop

* Docs/story

* Separate func

* Cleanup

* Remove disabled style
2024-05-23 18:21:25 +03:00
Laura Fernández 2aa67c7a47 A11y: Adjust placeholder text color to pass a11y tests (#84357) 2024-05-23 16:55:57 +02:00
Juan Cabanas a85c1b69d5 PublicDashboards: Remove publicDashboardUid from DashboardMeta (#85126) 2024-05-23 11:21:21 -03:00
Ezequiel Victorero 6e88802cab Snapshots: Add e2e test for Scenes view (#88003) 2024-05-23 10:35:03 -03:00
Avery Gottesman 56fe0102a6 Prometheus Variable Editor: Fix typo - double "Enter" in help text (#88204)
Fix double "Enter" in help text
2024-05-23 14:46:32 +02:00
Steve Simpson 8421919cb5 Alerting: Feature toggle to disallow sending alerts externally (#87982)
* Define feature toggle

* Implement feature toggle
2024-05-23 14:29:19 +02:00
Ieva bd2b248f0e RBAC: Clean up action set code (#88147)
* remove unused action set code, refactor the existing code

* fix import ordering

* use a separate interface for permission expansion after all, to avoid circular dependencies

* add comments, fix a test
2024-05-23 12:14:01 +01:00
Piotr Jamróz 84ef99c1dc Explore: Add a query template to query library from query history (#88047)
* Add basic button for adding a query template

* Add hook to create a template

* Handle notifications

* Add tags to invalidate cache

* Generate translations

* Updates types

* Add tests

* Simplify code

* Add a better default title
2024-05-23 11:38:17 +03:00
Mathieu Parent b8c9ae0eb7 OIDC: Support Generic OAuth org to role mappings (#87394)
* Social: link to OrgRoleMapper

* OIDC: support Generic Oauth org to role mappings

Fixes: #73448
Signed-off-by: Mathieu Parent <math.parent@gmail.com>

* Handle when getAllOrgs fails in the org_role_mapper

* Add more tests

* OIDC: ensure orgs are evaluated from API when not from token

Signed-off-by: Mathieu Parent <math.parent@gmail.com>

* OIDC: ensure AutoAssignOrg is applied with OrgMapping without RoleAttributeStrict

Signed-off-by: Mathieu Parent <math.parent@gmail.com>

* Extend docs

* Fix test, lint

---------

Signed-off-by: Mathieu Parent <math.parent@gmail.com>
Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
2024-05-23 09:55:45 +02:00
Agnès Toulet 42126398be Rendering: add userID in rendering log (#88132) 2024-05-23 09:41:53 +02:00
Arati R 0ffc4c441b Storage: Add mode reconciliation for modes 1 and 2 (#87919)
* Add skeleton implementation for mode reconciliation between 1 and 2
* Track mode for each dual writer
* Add test for setting dual writer
* Include context when setting dual writing mode

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-05-23 00:12:46 +02:00
Scott Lepper cac40795a5 sql expressions - logging (#88193)
* sql expressions - logging
2024-05-22 17:18:46 -04:00
Isabel Matwawana 2fd51bb672 Docs: Fixed heading level (#88188)
Fixed heading level
2024-05-22 15:39:05 -04:00
Gaurav Agrawal fdaa091a4d Alerting: Support custom API URL for PagerDuty integration (#88007)
* fix assert in LINE
* fix pagerduty asserts

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-05-22 15:31:55 -04:00
Ashley Harrison c706166a24 Select: Change Select group headers to always be visible (#88178)
* change select group headers to always be visible

* remove unnecessary SelectOptionGroup

* add top border
2024-05-22 20:25:27 +03:00
Marcus Efraimsson 8ea0b336d5 API Server: Include traceID in HTTP request logs (#88179) 2024-05-22 17:56:34 +02:00
Jack Westbrook 10f600a6e9 Build: Set Nx inputs for theme-generate (#84761)
build(nx): set inputs for theme-generate to reduce reruns of task
2024-05-22 17:07:50 +02:00
Diego Augusto Molina 8b02b6b76a Unified Storage: create kind_version table migration, add SQL and fix db (#87977)
* fix database interfaces

* add queries

* fix queries

* fix linters

* add owner to imported go library

* remove unused funcs

* run go work sync

* improve critical section fix in data race fix

* fix linters

* remove sync

* fix typo

* improve data embedding

* fix linters

* fix migration

* remove unnecessary comments

* fix linters

* improve SQL templates readability

* remove group_version from kind_version for consistency in History method

* add created_at and updated_at columns to kind_version table
2024-05-22 11:59:40 -03:00
Jack Baldry 6744dae806 Ensure all Panels and visualizations pages have /docs/grafana links too (#88165) 2024-05-22 15:40:20 +01:00
Ihor Yeromin b4c368e72c Canvas: Fix emotion style property error (#88162)
fix(canvas): emotion style property error
2024-05-22 16:20:40 +02:00
Pepe Cano a035040630 Alerting docs: update Intro/Queries and Conditions (#88164) 2024-05-22 15:34:07 +02:00
Marie Cruz 285567573e docs: update alert list visualization (#87815)
* docs: update alert list visualization

* Apply suggestions from code review

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

* fix: linting errors

* docs: add youtube video

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-22 09:33:52 -04:00
Kristin Laemmert 16b1e285ea Chore: Use cache for all signed in user lookups (#88133)
* GetSignedInUser unexported (renamed to getSignedInUser)
* GetSignedInUserWithCacheCtx renamed to GetSignedInUser
* added a check for a nil cacheservice (as defensive programming / test convenience)
2024-05-22 08:58:16 -04:00
Ashley Harrison a5414020f8 SCSS: Remove some more scss (#88129)
remove some more scss
2024-05-22 13:48:34 +01:00
Tobias Skarhed fb1acb45a2 Search: Announce to screen reader when query returns no result (#87382)
* Add alert role to not-found variant

* Provide role prop and apply for two cases
2024-05-22 14:15:56 +02:00
Joey 38fdfe43f5 Tempo: Update lezer autocomplete (histogram, quantile) and add missing functions (#88131)
* Update version

* Update autocomplete, add new functions

* Update highlighting

* Update yarn.lock
2024-05-22 13:03:51 +01:00
Ashley Harrison 5f3cd4b900 SCSS: Remove _icons.scss and associated icons (#88127)
remove _icons.scss and associated icons
2024-05-22 12:37:03 +01:00
Jack Baldry c97b728c08 [docs/sources/dashboards] Replace docs/reference shortcode with ref URIs (#88085) 2024-05-22 09:55:17 +01:00
Leonor Oliveira dd771e818e Also call storage on mode1. Measure latency (#87739)
* Also call storage on mode1. Add metrics

* Update comment

* Don't use compare function for now

* Remove very important space

* Finish add logging in mode2.
Also call US in mode1 in a non blocking way

* Improve code readability on modes 1 and 2

* Fix tests

* Rename vars

* Lint

* Return error from legacy write

* Renume useless defer

* [REVIEW] improvements

* Pass kind instead of name

* Use kind instead of name in metrics

* Only call latency metrics once

* Return error on writes to legacystore in mode1

* Move accesssor logic into the goroutine as well
2024-05-22 10:23:29 +02:00
Jack Westbrook 7c5c62f617 Fix: Plugin dev command should watch all decoupled plugins (#88160)
fix(frontend): update plugin scripts to watch all plugins and remove ignore flags
2024-05-22 10:15:09 +02:00
Gabriel MABILLE 9dfe961013 Plugins: Add logging to plugin envvars (#88143)
Add logging to plugin envvars

Co-authored-by: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
2024-05-22 09:04:41 +02:00
Alexander Weaver 89b54d06e9 Alerting: Schedule a shim implementation for recording rules (#87939)
* Add shim rule implementation for recording rules

* Give ruleFactory access to the original rule definition

* Schedule shim implementation if the rule is a recording rule

* Fix or suppress linter

* Fix nolint
2024-05-21 16:42:58 -05:00
Pepe Cano fc11350554 Alerting docs: remove Namespaces/folders/groups doc from Alert rules Intro (#88146)
Alerting docs: remove Namespaces/folders/groups doc from Alert rules Intro
2024-05-21 22:43:36 +02:00
Alexander Weaver 49c8deb1ea Alerting: Add recording rules to ruler API and validation (#87779)
* Read path, main API

* Define record field for incoming requests

* Refactor several alerting specific validators into two paths

* Refactor validateCondition actually contain all the condition validation logic

* Move condition validation inside rule path

* Validators for recording rules

* Wire feature flag through to validators

* Test for accepting a valid recording rule

* Tests for negative case, no UID

* Test for ignoring alerting fields

* Build conditions based on recording rules as well

* Regenerate swagger docs

* Fix CRUD test to cover the right thing

* Re-generate swagger docs with backdated v0.30.2 version

* Regenerate base spec

* Regenerate ngalert specs

* Regenerate top level specs

* Comment and rename

* Return struct instead of modifying ref
2024-05-21 14:39:28 -05:00
Marie Cruz fa319f36fb docs: update dashboard list visualization (#87494)
* docs: update dashboard list visualization

* docs: add youtube video

* Apply suggestions from code review

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

* Ran prettier

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2024-05-21 14:04:48 -04:00
linoman 40aff085fb multi-tenant Azure AD follow-up (#88134)
* Follow up comments from docs team
2024-05-21 17:17:55 +02:00
Jack Baldry c16699e70d [docs/sources/panels-visualizations] Replace docs/reference shortcode with ref URIs (#88081) 2024-05-21 16:16:47 +01:00
Gilles De Mey 8cc944f64f Alerting: Docs feedback (#88125)
update OK to Normal label, matching instances to instances
2024-05-21 18:10:12 +03:00
Ieva 3e77768144 RBAC: Expand action sets when fetching permissions (#87967)
* logic to expand action set to the underlying actions when permissions are fetched from the DB

* updates needed for dependency injection

* clean up some code, also deduplicate scopes when grouping scopes and actions

* expand on a comment

* rename a method
2024-05-21 15:09:26 +01:00
William Wernert cb0bcb6fe4 Alerting: Fix/update alerting API spec (#88130) 2024-05-21 10:06:44 -04:00
github-actions[bot] 10171a48bf I18n: Download translations from Crowdin (#88092)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-21 16:59:12 +03:00
linoman 3359025abd IAM Docs: Describe the setup for a multitenant configuration with AzureAD (#87836)
* Describe the setup for a multitenant configuration with AzureAD
2024-05-21 15:17:26 +02:00
Aaron Godin 0072e4a92d Update DS Proxy to use RBAC action (#87517)
iam-team: Update DS Proxy to use RBAC action
2024-05-21 08:05:16 -05:00
Jack Baldry 410e3b17e9 [docs/sources/alerting] Replace docs/reference shortcode with ref URIs (#88079) 2024-05-21 15:43:21 +03:00
brendamuir fe78563faa Alerting docs: vale fixes (#88039)
* Alerting docs: vale fixes

* ran prettier
2024-05-21 14:26:40 +02:00
ismail simsek 9bdfb6ee13 InfluxDB: Introduce custom variable support (#87903)
* Introduce custom variable support

* Remove comment lines

* betterer
2024-05-21 13:46:41 +02:00
Andrej Ocenas a2aea70100 Tempo: Don't modify the passed time range when using timeShiftEnabled (#87980)
Don't modify the passed range
2024-05-21 13:12:27 +02:00
Marcus Efraimsson 9e6f18c947 API Server: Add temporary request log for queries (#88103) 2024-05-21 13:07:47 +02:00
Tom Ratcliffe dbf258b837 Alerting: Center "need help" icons (#87981) 2024-05-21 12:04:10 +01:00
Oscar Kilhed 059e412344 Dashboards: timeRangeUpdatedDuringEditOrView should not be persisted (#88119)
Fix persisting timeRangeUpdated that should not be persisted
2024-05-21 11:41:28 +02:00
Piotr Jamróz 03650f76f1 Explore: Convert kebab-case styles to camel-case (#88048) 2024-05-21 09:38:05 +00:00
Joey a398188e69 Revert: Tempo: Always use time range even if timeShiftEnabled is false (#88095)
Revert "Tempo: Always use time range even if timeShiftEnabled is false (#85477)"

This reverts commit e91136338a.
2024-05-21 10:03:31 +01:00
Usman Ahmad 6bf69d141e Docs/usman plugin mgmt (#85424)
* fixed text and better formatting

* added examples of community and partners plugins

* added more clarity to apps plugin usage

* added and also fixed more

* added clarity to the server and org admin roles

* run prettier

* fixed some minor typos

* Apply suggestions from code review

thanks. looks good now-

Co-authored-by: David Harris <david.harris@grafana.com>

* Technical edit

* restorted the changes in panel and datasource examples as requested

* revert duplicated change

* Apply suggestions from code review

Thanks Jack for the suggestions. Looks good!!

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* added minor adjustment

* fixed typo

* added bash syntax

* revert changes

* added changes from PR 87168 for index.md file

* Delete docs/sources/shared/find-and-use-plugins.md

removed this file from the PR as was not intended to be part of this PR.

This PR is only for the Grafana OSS and not for the Grafana Cloud

* run prettier

* Apply suggestions from code review

Co-authored-by: David Harris <david.harris@grafana.com>

* Update docs/sources/administration/plugin-management/index.md

Co-authored-by: David Harris <david.harris@grafana.com>

* Update docs/sources/administration/plugin-management/index.md

Co-authored-by: David Harris <david.harris@grafana.com>

* added a small text fix

* added cloud tag in product labels

* run prettier

* Apply suggestions from code review

thanks for the review

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

* fixed typo for note section

* run prettier to fix

---------

Co-authored-by: David Harris <david.harris@grafana.com>
Co-authored-by: Joe Perez <joseph.perez@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2024-05-21 10:24:26 +02:00
Tristan bffd87107b CloudWatch: Add additional AWS/KinesisAnalytics metrics (#88101) 2024-05-21 09:50:19 +02:00
Nathan Marrs 3d980f1d8d Canvas: Chore clean up more betterer warnings (#88010) 2024-05-20 21:27:27 -06:00
knuzhdin 28992f0488 Dashboard: Make dashboard search faster (#88019) 2024-05-20 13:42:24 -04:00
Sergej-Vlasov e324a346f6 DashboardScene: Re-enabled skipped scenes e2e tests due to bugs (#87723)
* enabled skipped tests

* adjust to wait for loading indicator

* adjust typos

* adjust e2e workflow for test PR run

* restore workflow

* adjust workflow for test run

* restore workflow to sheduled runs
2024-05-20 20:30:35 +03:00
Leonardo Boleli e1e33d2f31 Cloudwatch: Add AWS/Events Metrics (#88097) 2024-05-20 11:46:57 -04:00
Jack Baldry 01cd2efbef [docs/sources/developers] Replace docs/reference shortcode with ref URIs (#88088) 2024-05-20 16:29:57 +01:00
Ryan McKinley 6d10797812 Errors: Update errutil to be compatible with k8s errors (#87605) 2024-05-20 18:11:37 +03:00
Santiago 60e7a4e746 Alerting/Chore: Remove unused parameters (#88045)
Alerting/Chore: Remove unused parameters from redisPeer.receiveLoop() and ReceiverService.shouldDecrypt()
2024-05-20 16:37:39 +02:00
Yuri Tseretyan 8c2a382788 Alerting: Fix typo in JSON response for rule export. (#88028) 2024-05-20 09:39:39 -04:00
Mihai Doarna 860dd7f58b SSO: enable api_url validator for azuread (#85967)
enable api_url validator for azuread
2024-05-20 16:13:43 +03:00
Mihai Doarna 295b31ccd7 Auth: Update ssoSettingsSAML flag to public preview (#87548)
* update ssoSettingsSAML flag to public preview

* generate files
2024-05-20 16:13:05 +03:00
Kristina c8d237dd56 Explore / Query Library: Enable run button (#87882)
* Enable run button

* First pass of shared component, tests half-implemented

* cleanup
2024-05-20 08:05:59 -05:00
Ashley Harrison 3800b97a5b Chore: Clean up some @grafana/ui SCSS (#87986)
* clean up drawer and slider styles

* clean up cascader styles
2024-05-20 12:51:34 +01:00
Andrej Ocenas 20294b0fb6 NodeGraph: Remove msagl lib and layered layout option (#87905)
* Remove msagl lib

* Change drone.yml

* update signature
2024-05-20 13:50:08 +02:00
Ashley Harrison 429bcbe67f Select: Preserve value when allowCustomValue is set (#87843)
* initial working poc with some better types

* move logic inside SelectBase

* add unit tests

* cleaner logic

* simpler

* update comments

* more comments

* use onMenuClose

* undo changes to cleanValue

* fix unit tests

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-05-20 11:01:38 +01:00
Joao Silva cf407fe8de Button: Allow disabled button to still be focused (#87516) 2024-05-20 10:39:52 +01:00
Ashley Harrison 8f6dcfee8b Icon: Remove hardcoded color from ai icon (#87996)
* remove hardcoded color from ai icon

* remove opacity from icon

* adjust icon in grafana-icons as well
2024-05-20 10:32:37 +01:00
Ryan McKinley e8b7b6aa66 ResourceClient: Add generateName (eg UID) helper (#88037) 2024-05-20 12:18:53 +03:00
Pepe Cano f3be9d009e Alerting docs: Fix H3 headings in Configure Grafana alert rules. (#88040)
Configure Grafana alert rules: Fix `H3` headings
2024-05-20 10:41:27 +02:00
Piotr Jamróz d09f5abec9 Correlations: improve error handling (#87810)
Improve error handling
2024-05-20 10:35:47 +02:00
Olivier Giniaux e91136338a Tempo: Always use time range even if timeShiftEnabled is false (#85477)
* Tempo: Always use time range even if timeShiftEnabled is false

* Fix unused import and failing test
2024-05-20 09:28:07 +01:00
Torkel Ödegaard fe991a9a7b PanelOverrides: Only filter out override properties that do not exist (#87904) 2024-05-20 09:48:07 +02:00
Pepe Cano 8e5ce99f72 Update Configure no data and error handling and State & Health (#87985)
* Update `Configure no data and error handling` and State & Health

* Update docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/alert-rule-evaluation/state-and-health.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-05-20 09:39:30 +02:00
Pepe Cano 67f434dc73 Remove Single and multi-dimensional rule from Configure alert rules (#87951)
* Remove `Single and multi-dimensional rule` from `Configure alert rules`

* Do not change H3 titles
2024-05-20 09:34:00 +02:00
Pepe Cano 54eab4db59 Alerting docs: Relocate Resolved stale alert instances section (#87965)
Relocate `Resolved stale alert instances` section
2024-05-20 09:33:14 +02:00
Karl Persson 78d1b2a250 Authn: Share key retriever between id and access token verifiers (#87978) 2024-05-20 09:13:46 +02:00
Alex Khomenko 0a10793840 Store: Enable adding extra middleware (#87984)
* Store: Enable adding extra middleware

* Fix type
2024-05-20 08:34:00 +03:00
Andreas Christou 58d382e5dd CloudMonitoring: Fix query type selection issue (#87990)
* Use deepEqual to ensure migratedQuery is only returned when query is unchanged

* Add selectors for query editors

* Add more tests for query editor component

* Clarifying comments

* Fix how state is set

* Simplify query editor loading and migration
2024-05-17 14:06:05 -04:00
Yuri Tseretyan 05d6813a09 Alerting: Fix scheduler to sort rules before evaluation (#88006)
sort rules scheduled for evaluation to make sure that the order is stable between evaluations.
This is especially important in HA mode.
2024-05-17 11:38:19 -04:00
Ieva da1a99d729 Team: Add an endpoint for bulk team membership updates (#87441)
* add an endpoint for bulk team membership updates

* update comment

* schema gen

* test fix

* add swagger parameter definition
2024-05-17 13:41:41 +03:00
Xavi Lacasa 7726631fe8 IAM docs: Update Azure AD OAuth2.0 docs after rename to Entra ID (#87925) 2024-05-16 20:36:52 +02:00
Ryan McKinley 778d9eb69d Live: Add more devenv dashboards (#87952) 2024-05-16 20:37:24 +03:00
Ezequiel Victorero 42d75ac737 Dashboards: Add feature restore dashboards backend (#83131)
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2024-05-16 14:36:26 -03:00
Andreas Christou edae5fc791 Azure: Fix for username assertion (#87853)
Fix for username assertion

- Allow setting username assertion in INI
- Correctly set the azsettings value
- Update tests
2024-05-16 11:50:02 -05:00
Adela Almasan 1957cfe6af XY Chart: Fix series editor index (#87942) 2024-05-16 11:18:13 -05:00
Matias Chomicki 82796fad98 Elasticsearch: queries no longer executed on-change (#87652)
* Elasticsearch: queries no longer executed on-change

* Elasticsearch: run query if it was previously undefined
2024-05-16 19:09:50 +03:00
Tom Ratcliffe 938fcab1c8 Alerting: Skip flakey silencing test (#87994) 2024-05-16 18:49:18 +03:00
Ezequiel Victorero 5ce2d4e1a7 Snapshots: Render Dashboard controls in Scenes View (#87972) 2024-05-16 12:22:14 -03:00
antonio c7d2a7a19c grafana fundamentals fix (#87975)
* grafana fundamentals fix

* pretty face
2024-05-16 16:56:32 +02:00
Isabel Matwawana 80e2af5d25 Docs: public dashboards fixes (#87870)
* Made minor style fixes

* Converted docs ref links to ref URIs and updated note style to admonitions

* Fixed link text and version syntax
2024-05-16 09:16:39 -04:00
Kyle Brandt 1ab8208e07 Prometheus: Add interpolation of groupByKeys query parameters into expr (#86360)
---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-05-16 08:36:03 -04:00
Marcus Efraimsson 961272a76d Datasources: Enable native histograms for datasource response size metric (#87962) 2024-05-16 13:48:51 +02:00
github-actions[bot] c46c0c9eb9 Update make docs procedure (#87950)
Co-authored-by: grafanabot <bot@grafana.com>
2024-05-16 12:00:32 +01:00
Alex Khomenko 4c2c717fed Banner: Add nav link (#87885)
* Notification Banner: Add feature toggle

* Add banner node to general section
2024-05-16 13:21:24 +03:00
Ashley Harrison 82eb160f5c Chore: SCSS tidy up (#87956)
* more scss tidy up

* replace some scss
2024-05-16 11:20:29 +01:00
antonio 086def3f57 alerting: contact points - links (#87955)
* alerting: contact points - links

* fundamentals: alerting instructions update

* updated steps

* prettier
2024-05-16 12:19:44 +02:00
Santiago e41434c332 Alerting: Promote configuration in the remote Alertmanager (#87388) 2024-05-16 12:06:03 +02:00
Daniele Stefano Ferru fbda55316d K8s: Set X-Remote-Extra-User-Instance-Role header for SignedInUser (#87958) 2024-05-16 12:57:49 +03:00
Karl Persson 5c27f223af Authn: Support access token wildcard namespace (#87816)
* Authn+ExtJWT: allow wildcard namespace for access tokens and restructure validation
2024-05-16 10:47:20 +02:00
Arati R 4867fd3069 Storage: Test mode 2 dual writer in playlist tests (#87938)
Add mode 2 feature flag to playlist tests
2024-05-16 10:39:30 +02:00
Tom Ratcliffe 9e29c215c3 Alerting: Update silences creation to support __alert_rule_uid__ and move into drawer (#87320) 2024-05-16 09:34:07 +01:00
Gabriel MABILLE e7d5622969 RBAC: No need to filter permissions on cache hit (#87941) 2024-05-16 09:53:20 +02:00
Nathan Marrs 431fdd4bab Canvas: Adhere editing state to dashboard editable state (#87883) 2024-05-15 17:17:50 -07:00
Liza Detrick a17340ea8b Applinks: Adds grafana-attributions-app to Cost Management nav (#87765)
* Applinks: add attributions under cost management -> metrics
2024-05-15 14:26:18 -07:00
Isabel Matwawana 47b42c9d42 Docs: Add annotated image and updated feature overview list (#87833)
Added annotated image and updated feature overview list
2024-05-15 16:22:49 -04:00
Yuri Tseretyan f410c7fca1 Alerting: use logger with same context within rule scheduling loop (#87934) 2024-05-15 15:38:00 -04:00
Kyle Cunningham e4db00903b Format String Transformation: Add applicability function (#87777)
* Add applicability function

* Prettier
2024-05-16 02:29:30 +07:00
Tom Ratcliffe aae6b5312a Alerting: Fix "evalutation" typo (#87930) 2024-05-15 19:05:45 +03:00
Tom Ratcliffe f4d55d2612 Alerting: Restructure mock server handlers slightly and remove unnecessary handlers (#87759) 2024-05-15 16:53:16 +01:00
Ashley Harrison 1af4256a7c Switch: Improve disabled active state (#87694)
* add subtle active disabled state + fix story

* make toggle disabled color when disabled

* add icon in checked state

* undo placement changes

* readd positioning changes

* remove extra css
2024-05-15 16:50:24 +01:00
Usman Ahmad 9f543fa8d6 Update helm docs - removed enterprise tag from product labels (#87922)
Update index.md
2024-05-15 10:15:33 -05:00
SeamusGrafana 7f58a5b239 Disable Requirement for SSL in 'cloak.sql' (#86919)
Disable Requirment for SSL in 'cloak.sql'

Disable the Requirement for SSL on External Sites in Keycloak Database for Grafana Realm
2024-05-15 17:12:51 +02:00
Torkel Ödegaard ce18b2f983 Dropdown: Fixes missing calls to onVisibilityChange causing wrong caret states (#87923) 2024-05-15 17:07:59 +02:00
Scott Lepper 93acc0c932 sqlexpressions - fix escape quote (#87921) 2024-05-15 10:55:58 -04:00
Pepe Cano 608a3faacd Alerting docs: Last changes State and Health (#87920)
* Last changes `State and Health`

* Add additional explanation for `Keep last state`

* Minor clarification
2024-05-15 16:44:52 +02:00
Alexander Weaver 1badcf4b63 Alerting: Allow NoData and ExecErrState to be fully blank on recording rules (#87868)
* Allow empty NoData and ExecErrState on recording rules

* remove TODO about this
2024-05-15 09:35:54 -05:00
Dominik Prokop fa63e03df3 MultiSelect: Respect value passed to the component regardless of custom value being allowed or not (#87906)
* MultiSelect: Respect value passed to the component regardless of custom value being allowed or not

* reset input for test

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-05-15 16:24:30 +02:00
Fabrizio 953c8f838f Loki: Lower log level when retrieving metadata (#87910)
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-05-15 17:08:03 +03:00
antonio e2f062d16d alerting: Improve documentation regarding linking and visualizing alert rules in dashboards (#87892)
* commit 4

* commit 5
2024-05-15 15:50:32 +02:00
Jack Westbrook 65b2834420 Grafana UI: Bump to Storybook 8 (#87722)
* chore(storybook): run yarn dlx storybook@latest upgrade

* chore(storybook): remove storybook/blocks patch

* chore(yarn): clean up storybook dependencies

* feat(storybook): migrate to v8 config via migration codemods

* refactor(storybook): update stories to use v8 types via codemod

* refactor(storybook): update stories to use preview-api instead of client-api

* refactor(storybook): replace mdx usage of ArgsTable with PureArgsTable

* refactor(storybook): migrate remaining mdx files to v8 storybook/blocks api

* refactor(storybook): clean up mdx imports and blocks component names

* chore(storybook): clean up typescript configuration

* fix(frontend): align types/react versions across monorepo so grafana ui can be built

* fix(storybook): pub back react-docgen-typescript and use ArgTypes so props tables work

* chore(storybook): patch blocks package to expose Preview component

* revert(storybook): revert changes related to using Canvas component in mdx files

* Storybook upgrade: Fix icon typing (#87793)

fix iconOptions typing

* refactor(storybook): prefer as const over asserting types

* revert(storybook): put back correct case in box.mdx

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-05-15 15:49:00 +02:00
Bogdan Matei 6127dfd322 Scopes: Adapt for new API (#87841)
* Implement changes for new Scopes API

* Update from linkID to linkId

* Fixes

* Fix tests

* prom/scopes: change query model to recieve []ScopeSpec

* Move to basic backend service

---------

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2024-05-15 16:28:09 +03:00
Alex Khomenko 6c1e9a9717 Grafana/ui: Update IconRenderer (#87914) 2024-05-15 16:27:05 +03:00
Juan Cabanas a6d64c6ed5 PublicDashboards: Public dashboard refreshed when access token changes (#87913) 2024-05-15 10:20:00 -03:00
Kevin Minehart 90970d5f58 CI: In promotions, set the --go-version when building Grafana packages (#87912)
* Specify drone-version when building in promotions

* Specify drone-version when building in promotions
2024-05-15 16:10:06 +03:00
Sonia Aguilar 3aae2b7e04 Alerting: Assume built-in AM is receiving alerts in case of not having admin config (#87893) 2024-05-15 14:51:28 +02:00
lean.dev 639ab6cca7 Tempo: Implement PDC for gRPC client (#85867) 2024-05-15 14:39:02 +02:00
Konrad Lalik 1cf1c5f03a Alerting: Add hide plugins rules filter (#87445)
* Add hide plugins rules filter

* Change the filter label and available values

* Setup plugins hook in tests

* Fix lint errors

* remove unused code
2024-05-15 14:09:56 +02:00
ismail simsek 4fef6ff30d Chore: Use TemplateSrv from @grafana/runtime in influxdb datasource (#87813)
use templatesrv from @grafana/runtime
2024-05-15 12:42:09 +02:00
Torkel Ödegaard 699c5bfe79 DashboardScene: Skip panel repeats when values are the same (#87788)
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-05-15 12:29:46 +02:00
Ida Štambuk 272cfa83b1 Feature Management: Move awsDatasourcesNewFormStyling to GA (#87696) 2024-05-15 12:23:24 +02:00
Oscar Kilhed d52381b744 Dashboard scenes: Fix issue going from view panel to edit panel when dashboard is not in edit mode (#87487)
Fix issue going from view panel to edit panel
2024-05-15 11:53:02 +02:00
Pepe Cano 37d1d1c0a0 Alerting docs: Update State and health of alerts docs (#87846)
* Update `View alert state and history`

* first edit `State and Healths of alerts`

* Complete `State and health of alerts`

* Update docs/sources/alerting/fundamentals/alert-rule-evaluation/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-05-15 10:49:16 +02:00
Sonia Aguilar 28bf5a4577 Gops: Add tracking for data source check (#87886)
Add tracking for data source check
2024-05-15 10:35:36 +02:00
antonio f24eb3165b alerting: adding links to get-started tutorial (#87811)
* alerting: adding links to get-started tutorial

* Update index.md

* Update create-grafana-managed-rule.md

* Update _index.md

* Update _index.md

* Update docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* pretty

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-05-15 08:57:12 +02:00
Nathan Marrs d92ec98ecc Transformations: Add string type check to field value in substring value matcher (#87782) 2024-05-14 16:56:46 -07:00
grafana-delivery-bot[bot] 012ee1d557 Changelog: Updated changelog for 9.5.19 (#87873)
Co-authored-by: grafanabot <bot@grafana.com>
2024-05-14 17:19:30 -04:00
Scott Lepper 14a814a280 [sql expressions] fix: use ast to read tables (#87867)
* [sql expressions] fix: use ast to read tables

* can't run tests during ci yet.  need to install duckdb

* skip for now.  need duckdb cli
2024-05-14 17:05:29 -04:00
grafana-delivery-bot[bot] 7d386dc26b Changelog: Updated changelog for 10.1.10 (#87869)
Co-authored-by: grafanabot <bot@grafana.com>
2024-05-14 16:52:30 -04:00
Alexander Weaver b8a284fb81 Alerting: Fix xorm serialization of Record field struct, add tests for storing and reading (#87857)
Fix sub struct ser and deser, add tests
2024-05-14 14:50:06 -05:00
Tom Glenn 1e2c58fc80 Docs: Adds video embed for the Understanding Dashboards youtube video (#87449)
* Adds video embed for the Understanding Dashboards youtube video

* Moved video to Use dashboards page

---------

Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2024-05-14 15:03:56 -04:00
grafana-delivery-bot[bot] a50bcaca57 Changelog: Updated changelog for 10.2.7 (#87847)
Co-authored-by: grafanabot <bot@grafana.com>
2024-05-14 12:59:33 -04:00
owensmallwood 557c3a9cdd Unified Storage: Adds metrics for database query counts (#87781) 2024-05-14 10:17:38 -06:00
Ieva 4b24019bae Dashboards: Don't set dashboard creator/updater if the action is done by an API key (#87704)
don't parse userID if entity isn't user or service account
2024-05-14 17:02:03 +01:00
Ieva b382cea9c8 RBAC: Update role picker in team page, fix a bug with roles being removed upon team setting update (#87519)
immediately update team roles through team role picker in team settings page instead of doign apply + update flow
2024-05-14 17:00:04 +01:00
Ivana Huckova f99c722ecf FeatureBadge: Update FeatureBadge to support current release stages (#87555)
* FeatureBadge: Update avalaiable FeatureState

* Move to separate folder

* Add private preview state
2024-05-14 18:58:47 +03:00
Joey 225755b2da Tempo: Check for histogram in isTraceQlMetricsQuery (#87840)
Check for histogram in isTraceQlMetricsQuery
2024-05-14 16:55:57 +01:00
Diego Augusto Molina cbcd945251 Unified Storage: in SQL template, also handle output data, improve API, examples and docs (#87560)
* preview of work so far

* stylistic improvements

* fix linters

* remove golden tests, they may cause the system to be too rigid to changes

* remove unnecessary code for golden tests

* remove white space mangling in Execute

* also handle output data, improve API, examples and docs

* add helper methods

* fix interface
2024-05-14 12:32:21 -03:00
Dominik Prokop c747e344bf SelectMenu: Fix potential undefined problem (#87835) 2024-05-14 18:16:00 +03:00
Kyle Brandt ea1845edbe Scopes: Change JS linkID to linkId (#87831) 2024-05-14 11:01:21 -04:00
ttshivers b07b927a94 Tempo: Escape backslash in span name for promsql query (#83024)
* Tempo: Escape backslash in span name for promsql query

In promsql, backslashes in regexes must be doubly escaped for them to be
interpreted as a literal backslash character.

Fixes #79791

* Fix regex replace

---------

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2024-05-14 16:57:35 +02:00
Sergej-Vlasov 5f147644d4 DashboardScene: Default hoverHeaderOffset to 0 (#87561)
* remove hoverHeaderOffsetBehavior and force offset to 0

* force headerHoverOffset in addPanel flow
2024-05-14 17:50:59 +03:00
Sonia Aguilar ca0dae6812 Gops: Add configuration tracker on the existing IRM page (#85838)
* WIP

* add configure irm componet and pass it to Nav

* add check if theres datasource for Alerts

* update incident steps links

* uncomment done property in the interface

* Fix not having data sources in store and removing warning using wrong Icon name type

* call incidents api in done step

* Show checked steps with an icon instead of a badge

* Implemnt check contact point ready in essentials

* Fix codeowners and prettify file

* Check if there is one oncall integration in at least one contact point

* Refactor

* Check for oncall integration being created

* Add the test oncall integration action

* Do not hide any card in irm page, and refactor

* Refactor: move hooks to a separate file

* Implement oncall chatops checks

* update incidents hook

* Show new irm page only on cloud and for admins

* fix prettier in irmhooks

* remove unused import

* fix prettier in irm hooks

* fix axios method

* Add progress bar on essentials

* Update texts and some styles

* Refactor

* fix api call

* fix check is plugin is installed

* fix async call

* fix lint

* Do not show check icon when done field is undefined in a step

* refactor

* Add test for Essentials

* check if incident plugin installed

* call incidents api to get steps

* add the new api to get config

* fix prettier

* memoize the api call

* fix lint

* add proper api call

* check if response is valid

* fix typo

* use state to save the values

* fix lint

* fix response schema

* fix prettier

* update incident steps copy

* udapte texts in respond tooltips

* Fix confiure IRM route check

* Fix logic for the data source check: check if there is a data source that is alerting compatible

* Use existing header prop in NavLandingPage instead of creating a new prop

* fix wrong updated file

* Update logic for default contact point check and update some links

* Update texts and show only one item for oncall integration with alerting checks

* Update texts following suggestions in the doc

* Fix getting default contact point and update oncall link for slack tab

* Update texts, buttons and checks following last meeting action items

* remove unnecessary component drawer

* Track interactions: user open or close essentials drawer

* Refactor

* remove unnecessary createMonitoringLogger for tracking irm events

* remove unnecessary style

* refactor

* refactor

* Add fallback links and labels for action buttons when step is done

* Update irm card styles

* remove extra space after progress bar numbers

* remove progress bar border

* Address pr review comments

* remove unnecessary AlertmanagerProvider

* fix logic behind default contact point check

* update test

* Address pr review comments part1

* add aria and properties role for Progressbar

* Reorganize hooks into separate folders/files for each app

* move done field to the step level

* Handle empty dropdown options

* Handle loading state

* Update tooltip for connecting alerting to oncall

* Use RTKQ for incidents

* handle loading for oncall hooks

* refactor getting configuration for each app

* fix incident rtkq query to be a query instead of mutation

* refactor: rename variable

* Address some nits in the review

---------

Co-authored-by: reemtariqq <reem.tariq@grafana.com>
2024-05-14 16:42:22 +02:00
renovate[bot] 367af27d7a Update dependency @grafana/scenes to v4.21.1 2024-05-14 16:14:34 +02:00
Ryan Crutchfield c912cb399b Update JWT auth page (#87523) 2024-05-14 15:11:05 +01:00
Gábor Farkas c0333130af postgres/mysql: improve macro docs (#87434) 2024-05-14 15:10:27 +01:00
grafana-delivery-bot[bot] 8b77e7b417 Changelog: Updated changelog for 10.3.6 (#87819)
Co-authored-by: grafanabot <bot@grafana.com>
2024-05-14 16:00:54 +02:00
Steve Simpson 67fa96f88d Alerting: Pass logger into NewAnnotationBackend. (#87812)
* Alerting: Pass logger into NewAnnotationBackend.

Make it possible to pass loggers into more places for code reuse.

* Mistake in passing logger
2024-05-14 15:51:27 +02:00
David Allen 5678012f0f docs: add dashboard list play link (#87807) 2024-05-14 09:49:41 -04:00
William Wernert 563fcb8bf4 Alerting: Encode query model map to string in rule export to avoid html escape sequences (#87663)
* Encode query model map to string to avoid html escape sequences

* Remove insignificant whitespace in test request
2024-05-14 09:29:50 -04:00
Ryan McKinley 62d326cf04 Plugins: Add baseMiddleware support (#87799) 2024-05-14 16:27:40 +03:00
Fayzal Ghantiwala 7a2fbad0c8 Alerting: Add options to configure TLS for HA using Redis (#87567)
* Add Alerting HA Redis Client TLS configs

* Add test to ping miniredis with mTLS

* Update .ini files and docs

* Add tests for unified alerting ha redis TLS settings

* Fix malformed go.sum

* Add modowner

* Fix lint error

* Update docs and use dstls config
2024-05-14 14:21:42 +01:00
Alexander Weaver e39658097f Alerting: Wire recording rules feature toggle into limits struct (#87778)
Wire toggle into limits
2024-05-14 07:44:14 -05:00
Adela Almasan fa66816be4 BarChart: Add check for empty series (#87761)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-05-14 07:38:29 -05:00
Karl Persson 9977258d04 AuthN: Set uid during authentication (#87797)
* Identity: Remove GetNamespacedUID and use GetUID instead

* Authn: Set uid for users and service accounts
2024-05-14 14:13:50 +02:00
Arati R 6836bfe1ea Storage: Customise setting dual writing modes (#87668)
* Add feature toggles for mode 2 and 3 playlist dual writing
* Make current mode customised based on kind
* Check feature flags when initialising dual writer
* Fix linting
* Refactor NewDualWriter
2024-05-14 14:11:56 +02:00
Andres Martinez Gotor d8904f3ca4 Add apiVersion to plugin models (#87510) 2024-05-14 13:58:27 +02:00
renovate[bot] 2f11cf84e8 Update dependency @grafana/experimental to v1.7.11 2024-05-14 11:51:13 +00:00
Torkel Ödegaard 6f1fce7540 TestData: Fixes query interpolation (#87803) 2024-05-14 13:40:54 +02:00
grafana-delivery-bot[bot] a3838c0dbe Changelog: Updated changelog for 10.4.3 (#87804)
Co-authored-by: grafanabot <bot@grafana.com>
2024-05-14 13:31:41 +02:00
Fabrizio bd4e9d102b Update version to 11.0.0 2024-05-14 12:54:11 +02:00
Torkel Ödegaard 9cd7c87b48 DashboardScene: Fixing major row repeat issues (#87539)
* DashboardScene: Fixing major row repeat issues

* Fixing edit scope

* Use dashboard variableDependendency to notify row repeat behaviors

* update scenes lib

* Do not repeat if values are the same

* Update public/app/features/dashboard-scene/scene/DashboardScene.tsx

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

* Updated scenes

* Update

* Update

* Do not render row actions for repeated rows

* Fixed e2e

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-05-14 12:39:10 +02:00
Ezequiel Victorero c9c6445554 Chore: Refactor render via http (#84613) 2024-05-14 07:24:18 -03:00
Ashley Harrison a7a503501a Select: Ensure virtualised menu scrolls active option into view when using arrow keys (#87743)
scroll option into view whenever current focusedIndex changes
2024-05-14 10:36:28 +01:00
Brendan O'Handley 7569fa6297 Prometheus: Add native histogram types metric explorer to allow filter by type (#87090)
* add native histogram type and give them the right type

* add tests for native histograms

* fix test
2024-05-14 11:23:44 +02:00
grafana-delivery-bot[bot] da800a026f Changelog: Updated changelog for 11.0.0 (#87790)
Co-authored-by: grafanabot <bot@grafana.com>
2024-05-14 10:45:16 +02:00
Tobias Skarhed aa7a01a87e TimeRangePicker: Announce to screen reader when time range is updated (#87692)
Add aria live to TimeRangePicker
2024-05-14 10:20:15 +02:00
Piotr Jamróz fd218edca4 Explore: List query templates (#86897)
* Create basic feature toggle

* Rename context to reflect it contains query history and query library

* Update icons and variants

* Rename hooks

* Update tests

* Fix mock

* Add tracking

* Turn button into a toggle

* Make dropdown active as well

This is required to have better UI and an indication of selected state in split view

* Update Query Library icon

This is to make it consistent with the toolbar button

* Hide query history button when query library is available

This is to avoid confusing UX with 2 button triggering the drawer but with slightly different behavior

* Make the drawer bigger for query library

To avoid confusion for current users and test it internally a bit more it's behind a feature toggle. Bigger drawer may obstruct the view and add more friction in the UX.

* Fix tests

The test was failing because queryLibraryAvailable was set to true for tests. This change makes it more explicit what use case is being tested

* Remove active state underline from the dropdown

* Add basic types and api methods

This is just moved from the app. To be cleaned up and refactored later.

* Move API utils from Query Library app to Grafana packages

* Move API utils from Query Library app to Grafana packages

* Move API utils from Query Library app to Grafana packages

* Add basic table for query templates

* Add sorting

* Style cells

* Style table cells

* Allow closing Query Library drawer from the toolbar

* Remove Private Query toggle

It will be moved to the kebab

* Add empty state

* Remove variables detection for now

Just to simplify the PR, it's not needed for Explore yet.

* Simplify getting useDatasource.tsx

* Rename cell

* Move QueryTemplatesTable to a separate folder

* Use RTK Query to get list of query templates

* Clean up query templates table

* Simplify useDatasource hook

* Add a test

* Retrigger the build

* Remove unused code

* Small clean up

* Update import

* Add reduxjs/toolkit as a peer dependecy

* Revert "Add reduxjs/toolkit as a peer dependecy"

This reverts commit aa9da6e442.

* Update import

* Add reduxjs/toolkit as a peer dependecy

* Revert "Add reduxjs/toolkit as a peer dependecy"

This reverts commit 2e68a62ab6.

* Add @reduxjs/toolkit as peer dependency

* Add @reduxjs/toolkit as peer dependecy

* Move reactjs/toolkit to dev dependecies

* Minor clean up and use react-redux as a peer dependency

* Move query library code to core features

* Update code owners

* Update export

* Update exports

* Use Redux store instead of APIProvider

* Await for query templates to show during the test

* Add more explicit docs that the feature is experimental

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
2024-05-14 10:05:39 +02:00
Sonia Aguilar 6b1a662f6b Alerting: Fix deleting rules when silencing/resuming rule from a panel alert tab (#87710)
* Fix deleting rules when silencing/resuming rule from a panel alert tab

* fix test and return early when no group target is found

* address pr review comment
2024-05-14 10:01:08 +02:00
ismail simsek 194039c429 InfluxDB: Update alias regex pattern (#87713)
* use frontend mode alias regex

* remove comment
2024-05-14 09:53:18 +02:00
Stephanie Hingtgen bbb4323f7e K8s: add server run options (#87784) 2024-05-14 07:11:11 +03:00
J Stickler 56054e2e87 docs: Update link to Loki Get Started (#87772) 2024-05-13 16:01:52 -05:00
Andrew Hackmann 9bf9f8e457 List Azure CosmosDB as an enterprise plugin (#87575) 2024-05-13 15:57:53 -05:00
Ezequiel Victorero 56766abcc8 Scenes: Fix snapshot rendering (#87769) 2024-05-13 16:15:39 -03:00
Kyle Brandt ff6d1f4977 Scopes: Add intregation tests for scopeNodes based on example (#87646) 2024-05-13 14:12:33 -04:00
Marie Cruz 6fbb35736e docs: update news visualization (#87443)
* docs: update news visualization

* docs: add use case

* Apply suggestions from code review

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

* Removed future tense

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2024-05-13 13:12:27 -04:00
kay delaney da0f7a5036 Chore: Convert TeamPages from class component to function component (#87602) 2024-05-13 17:58:27 +01:00
Nick Richmond 18f8f2324a Graphite: Fix alignment of elements in the query editor (#87662)
style: ensure elements in query builder rows are aligned
2024-05-13 12:51:32 -04:00
Isabel Matwawana b7d024c426 Docs: update headings and add release info (#87058)
* Updated headings and to align with release life cycle stages and adding release info

* Update generated files

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-05-13 12:44:14 -04:00
David Allen 351d36caea docs: add flame graph play link (#87498) 2024-05-13 12:32:09 -04:00
David Allen fc425983b3 docs: add text panel play link (#87497) 2024-05-13 12:31:47 -04:00
owensmallwood 3bf39d6d9a Unified Storage: Fixes bug with postgres connection string and adds tests (#87656) 2024-05-13 10:16:26 -06:00
renovate[bot] 8c585c4a79 chore(deps): update dependency stylelint to v16.5.0 (#87726)
Update dependency stylelint to v16.5.0

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 16:42:16 +01:00
David Allen 5705952d85 docs: add geomap play link (#87469) 2024-05-13 11:21:59 -04:00
Carl Bergquist 3160a4d909 ScopeNodes: Add naive filter functionality for scopenode.titles (#87721) 2024-05-13 18:21:09 +03:00
David Allen 3eba57dc98 docs: add histogram play link (#87466) 2024-05-13 11:20:29 -04:00
David Allen d61c661a90 docs: add heatmap play link (#87464) 2024-05-13 11:15:18 -04:00
David Allen 788c50527f docs: add canvas button example play link (#87462) 2024-05-13 11:12:31 -04:00
renovate[bot] 18f5a831f5 Update dependency sass to v1.77.1 (#87725)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 16:10:26 +01:00
renovate[bot] 4b5aa3f3ec Update dependency msw to v2.3.0 (#87719)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 15:50:12 +01:00
Isabel Matwawana c2e8384090 Docs: What’s new & Upgrade guide & Breaking changes v11.0 (#86369)
* Updated g11-preview pags for g11 release

* Added items to breaking changes guide

* Added and updated What's new content from latest Cloud file

* Updated link text

* Removed Azure Monitor item
2024-05-13 10:27:45 -04:00
owensmallwood 77686da969 Unified Storage: Adds sql metrics (#87651)
* registers sql metrics for unified storage and removes single quotes from postgres connection string format

* uses db logger

* only register US sql metrics when connecting to another postgres or mysql db

* use engine
2024-05-13 08:09:25 -06:00
Artur Wierzbicki e34e9f4b12 Chore: change grpc server ownership (#87148)
add limitation
2024-05-13 16:00:58 +02:00
renovate[bot] d5fe1699e5 Update dependency knip to v5.15.1 (#87716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 16:41:01 +03:00
Ivana Huckova 336b6dafb6 Elasticsearch: Fix setting of default maxConcurrentShardRequests (#87703)
* Elasticsearch: Fix setting of default maxConcurrentShardRequests

* Add float test scenario

* Add comment
2024-05-13 16:39:37 +03:00
renovate[bot] 17f6f75bd2 Update dependency jest-fail-on-console to v3.3.0 (#87715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 16:22:54 +03:00
renovate[bot] 7afbeca3da Update dependency @grafana/scenes to v4.20.0 (#87714)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 16:04:37 +03:00
Duologic e6669c835c Revert "fix: in generated file"
This reverts commit 724d198be1.
2024-05-13 14:49:23 +02:00
Duologic 724d198be1 fix: in generated file 2024-05-13 14:45:09 +02:00
renovate[bot] 54d026f576 Update dependency immer to v10.1.1 (#87709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 12:55:12 +01:00
renovate[bot] 02e0ece87d Update dependency rimraf to v5.0.7 2024-05-13 11:25:12 +00:00
Andres Martinez Gotor ae152af119 Upgrade grafana-plugin-sdk-go to v0.230.0 (#87706) 2024-05-13 13:23:30 +02:00
github-actions[bot] 391edf8c80 I18n: Download translations from Crowdin (#87705)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-13 14:17:43 +03:00
renovate[bot] 0597265344 Update dependency immutable to v4.3.6 2024-05-13 11:04:06 +00:00
antonio 11e970c580 tutorials: alerting get started url fix (#87697) 2024-05-13 04:03:18 -07:00
Ashley Harrison 9bf3adabd8 Spinner: Change spinner icon when prefers-reduced-motion is set (#87641)
* change spinner icon when prefers-reduced-motion is set

* update mock

* remove outdated comment

* fix matchMedia mocks

* update spinner aria label
2024-05-13 11:32:02 +01:00
Jack Westbrook 58e554b67f Chore: Bump ejs to 3.10.0 (#87701)
chore(npm): bump ejs to 3.1.10 for dependabot
2024-05-13 13:29:56 +03:00
renovate[bot] b536b6d7de Update dependency glob to v10.3.15 2024-05-13 10:24:30 +00:00
Josh Hunt 1033c8407d Chore: Bump lerna and tar (#87699)
* Chore: Bump lerna to 8.1.3

* Chore: Bump transitive tar to 6.2.1
2024-05-13 13:22:07 +03:00
renovate[bot] dfa9e8f4f4 Update dependency dompurify to v3.1.3 2024-05-13 10:05:11 +00:00
Tom Ratcliffe 08884f16af Chore: Remove redux-rtl test helper (#87596) 2024-05-13 11:03:21 +01:00
Ashley Harrison 2cdb7d923f EmptyState: Don't apply animation when prefers-reduced-motion is set (#87638)
* don't apply animation when prefers-reduced-motion is set

* bail quicker

* early return
2024-05-13 10:48:41 +01:00
Leonor Oliveira b214f9cc3a Add metrics utils to the dualwriter (#87693)
* Add metrics utils

* Ignore lint temporarily

* Lint
2024-05-13 11:36:24 +02:00
antonio 1191992226 alerting: PD - typo fix (#87674)
typo fix
2024-05-13 11:34:02 +02:00
Alex Khomenko f3953b4955 Notification Banner: Add feature toggle (#87686) 2024-05-13 12:32:34 +03:00
renovate[bot] 8681965be0 Update dependency @kusto/monaco-kusto to v10.0.21 2024-05-13 09:08:08 +00:00
Karl Persson 7125a2e455 Anon: Add support to resolve anonymous identity (#87486) 2024-05-13 11:06:14 +02:00
renovate[bot] 1983043b71 Update dependency @floating-ui/react to v0.26.14 (#87690)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 11:42:58 +03:00
renovate[bot] 89f6845739 Update dependency eslint-plugin-jest to v28.5.0 (#87654)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 09:25:33 +01:00
Jack Westbrook f785a71aae Fix: Angular detection in plugin loader (#87323)
fix(plugins): make sure angular detection is passed to loader
2024-05-13 09:55:26 +02:00
Torkel Ödegaard a6076d8d05 TestData: Do not mutate query in applyTemplateVariables (#87680) 2024-05-13 08:24:54 +02:00
Bruno 14ccf7f6d1 Cloud migrations: return errutil.Error in http responses (#87448) 2024-05-13 00:22:46 -04:00
Bruno 6a3ab71d77 cms: clean up model file (#87179)
* move CreateAccessTokenResponseDTO to api.go

* remove unused types

* run make swagger-clean && make openapi3-gen
2024-05-13 00:22:19 -04:00
Karl Persson 0f3080ecb8 AuthN: Fix signout redirect url (#87631)
* Add missing return

* Use sign out redirect url from auth config if configured

* remove option from auth.jwt that is not used
2024-05-12 19:53:19 +02:00
renovate[bot] 3dab7e44ec Update dependency glob to v10.3.15 2024-05-12 10:37:20 +00:00
antonio 7e8b71d882 alerting: docs - pagerduty (#87604)
* alerting: docs - pagerduty

* pretty
2024-05-11 11:00:28 +02:00
Adela Almasan f706c78ea1 Chore: Refactor tooltip scrollable prop (#87671) 2024-05-11 03:19:42 +03:00
Adela Almasan ddde7f1056 XYChart: Use global range for mapped size field (#87661)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-05-10 18:59:03 -05:00
Torkel Ödegaard f83366fcdd GenAI: Fixes multiple calls to settings and health (#87623)
* GenAI: Fixes multiple calls to settings and health

* swap order of tests given new caching

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-05-10 20:52:59 +02:00
Michael Mandrus ef51a64b57 Feature Toggles: Hide featureToggleAdminPage toggle from docs and note that it is cloud only. (#87660)
update featureToggleAdminPage feature toggle to be hidden from docs and specify cloud only
2024-05-10 21:34:53 +03:00
Domas 708bcda76a VizLegend: Represent line style in series legend and tooltip (#87558)
* wip

* aand finished

* remove console log

* use css for styling

* user boerder for solid as well

* misc fixes

* attempt css based approach

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-05-10 21:27:09 +03:00
Ryan McKinley f880abc292 QueryService: Move raw http.Handler to rest.Connector (#87595)
* query connector

* improve error wrappers

* return 400 for missing datasource (not 404)

* fix errors

* message
2024-05-10 21:01:17 +03:00
Leon Sorokin f43ed7e6d7 BarChart: Refactor and VizTooltip fixes (#87160)
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2024-05-10 12:58:53 -05:00
renovate[bot] 8bfd7e5106 Update dependency @types/react-test-renderer to v18.3.0 (#87649)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 19:29:46 +03:00
Ashley Harrison 396e75dadf Chore: Type improvements (#87634)
* improve typings in opentsdb datasource

* couple of influx improvements

* couple more

* more

* more more more

* 3 more

* changes to variables/inspect/utils

* some graphite improvements
2024-05-10 17:28:44 +01:00
Andreas Christou 49e6bf26b3 AzureMonitor: Refactor Log Analytics backend (#87429)
* Remove unneeded error check

* Refactor to reduce cyclomatic complexity

* Add util function for parsing resultformat

* Make use of util

* Remove unneeded types

* Move types to their own file

* Move getApiUrl to utils

* Move traces functions to separate file

- Add separate helper for building trace string queries

* Add helper for determining resources

* Add test for RetrieveResources

* Don't append twice

* Refactor tests
2024-05-10 17:11:54 +01:00
Andreas Christou 95667f6a53 CloudMonitoring: Improve legacy query migrations (#86069)
* Match backend and correctly migrate metricType

Update tests

* Ensure project is migrated or set if not defined

* Improve migrations logic
2024-05-10 16:57:18 +01:00
renovate[bot] b226ddfa53 Update dependency @react-types/shared to v3.23.0 (#87643)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 18:21:42 +03:00
renovate[bot] b8c55a35a8 Update dependency @grafana/scenes to v4.19.0 (#87642)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 18:21:03 +03:00
Joao Silva 4bab530375 Chore: Remove gf-forms from SubMenuItems and RangeMatcherEditor (#87633) 2024-05-10 16:18:40 +01:00
renovate[bot] e6f662a180 Update dependency react-redux to v9.1.2 2024-05-10 14:33:00 +00:00
renovate[bot] b31193f172 Update dependency @reduxjs/toolkit to v2.2.4 2024-05-10 17:21:37 +03:00
Torkel Ödegaard fcda8c235f MixedDataSource: Support multi value data source variable that issues a query to each data source (#87586)
* Revert "Revert "MixedDataSource: Support multi value data source variable tha…"

This reverts commit 979d87f46f.

* fix issue
2024-05-10 16:03:25 +02:00
Konrad Lalik c203a030e8 Alerting: Fix MatcherFilter onChange handling (#87511)
* Fix input onChange handler

* Remove unused variables
2024-05-10 15:42:23 +02:00
renovate[bot] be1bb04e9b Update dependency semver to v7.6.2 2024-05-10 13:32:47 +00:00
renovate[bot] e9ed62a7b6 Update dependency i18next to v23.11.4 2024-05-10 13:31:14 +00:00
Ashley Harrison 670960f70c Chore: Upgrade redux (#86877)
* update packages

* fix type errors

* upgrade redux toolkit as well

* don't need eslint-disable command

* remove comment

* fix unit tests

* call rtk query selector directly

* remove unnecessary checks
2024-05-10 14:28:51 +01:00
linoman 926ee0f62e SAML: add referemce to azure ad limitations (#87571)
* update the url for Azure AD limitations

* add warnings of using Azure AD with SAML
2024-05-10 15:12:31 +02:00
renovate[bot] 329f4b1243 Update dependency glob to v10.3.14 2024-05-10 16:11:50 +03:00
Andrej Ocenas d912703634 Chore: Updated go.work.sum file (#87622)
* Updated file

* fix quote character issue in workspace check

---------

Co-authored-by: Todd Treece <todd.treece@grafana.com>
2024-05-10 14:59:44 +02:00
renovate[bot] 0793a9033a Update dependency @types/lodash to v4.17.1 (#87419)
* Update dependency @types/lodash to v4.17.1

* fix grafana-data

* simpler grafana-data fix

* simpler code

* commit a betterer crime (it was already doing this implicitly before...)

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-05-10 13:56:27 +01:00
Dominik Prokop 39aafde8cb AdHocFilters: Use queries in ad hoc filters api calls (#87624) 2024-05-10 14:54:07 +02:00
Tobias Skarhed fa95b41715 TimeSeries: Improve keyboard focus and fix spacebar override (#86848)
* Make GrpahNG focusable

* Move to VizLayout instead

* Update uPlot plugins for better keyboard support

* Remove unrelated changes

* different fix

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-05-10 14:07:12 +02:00
Torkel Ödegaard 459673b539 Dropdown: Fixes double call to onVisibilityChange (#87607)
* Dropdown: Fixes double call to onVisibilityChange

* Update

* update
2024-05-10 14:06:53 +02:00
Christian Simon ad78dec7c3 [DOC] Adds missing link to Pyroscope core data source (#85493)
[DOC] Add missing link to Pyroscope

Grafana Pyroscope is a core shipped data source.
2024-05-10 13:03:13 +01:00
Ivana Huckova 1130369a12 Docs: Add Configuring Elasticsearch documentation for required privileges (#87593)
* Docs: Add Configuring Elasticsearch documentation for required privileges

* Update docs/sources/datasources/elasticsearch/configure-elasticsearch-data-source.md

* Update docs/sources/datasources/elasticsearch/configure-elasticsearch-data-source.md

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-05-10 13:59:23 +02:00
renovate[bot] d2c492cae5 Update dependency eslint-plugin-jsdoc to v48.2.4 2024-05-10 14:59:15 +03:00
linoman cd98aaf89b Chore: Add login protection when user is trying different uppercase letters (#87588)
* add login protection when the user is trying different uppercase letters
2024-05-10 13:49:59 +02:00
Christian Briones 867d36fe59 Explore: lookup datasource by name when present in legacy URLs (#85222)
* [explore] lookup datasource by name when present in legacy compact URLs

* update unit test

* prettier fix

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
2024-05-10 06:48:42 -05:00
renovate[bot] dce39237c4 Update dependency @prometheus-io/lezer-promql to v0.52.0 (#87554)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 12:40:20 +01:00
renovate[bot] 23ed1b2d9e Update dependency systemjs to v6.15.1 (#87594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 12:39:48 +01:00
kay delaney cadc551a3c Chore: Remove deprecated re-exported template variable types (#87459)
Chore: Remove deprecated re-exported template varible types
2024-05-10 12:00:41 +01:00
kay delaney cbe868b118 Chore: Use getNextRefId instead of deprecated getNextRefIdChar (#87460) 2024-05-10 12:00:17 +01:00
Ieva 167151b211 Chore: Remove use of deprecated method in AC code (#87541)
* switch from using cfg to using featuremgmt for checking a feature toggle in AC code

* merge test fixes
2024-05-10 11:56:52 +01:00
Karl Persson 8c7b8542f1 Chore:: Update authlib version (#87603)
update authlib version
2024-05-10 12:55:12 +02:00
Sonia Aguilar 4b720206d4 Alerting: Reduce number of request fetching rules in the dashboard view using rtkq (#86991)
* Reduce number of request fetching rules in the dashboard view using rtkq

* Fix UnifiedAlertStatesWorker work

* refactor ungroupRulesByFileName

* Address review comments and fix test

* fix DashboardQueryRunner test

* Fix tests

* Update AlertStatesDataLayer to use RTKQ

* Fix PanelAlertTabContent test

* Fix PanelAlertTabContent test after adding RTKQ

* fix test and address PR review comments

* Update useCombinedRuleNamespaces to have both dashboardUID and panelId as optional params and rename the hook

* Address review pr comment

* remove test about template variables

* Use poll interval in useCombinedRules
2024-05-10 12:27:06 +02:00
Ashley Harrison d9d25dc649 Chore: Remove some more old SCSS (#87506)
* remove some more old styles and consolidate any angular ones into their own file

* few more
2024-05-10 10:52:51 +01:00
Sven Grossmann 1c8a77a43d Loki: Fix log context when no label types are present (#87587) 2024-05-10 11:52:41 +02:00
Andrej Ocenas 8213e8a2a6 Flamegraph: Add collapse and expand group buttons to toolbar (#87395) 2024-05-10 11:51:09 +02:00
Alexander Zobnin 0302b75721 Access control: Use search options for computing permissions cache key (#87589) 2024-05-10 12:06:52 +03:00
Misi 896882b004 Chore: Implement GetOAuthProviders in FakeSocialService (#87590)
Implement GetOAuthProviders in FakeSocialService
2024-05-10 11:48:05 +03:00
Andrew Hackmann 5e19aa7bd1 Azure data sources: Set selected config type before save (#87481)
* set selected config type before save

* use effect once and move in mssql

* add to prom

* Update ConfigurationEditor.tsx

* Update ConfigurationEditor.tsx

* Delete public/app/plugins/datasource/mssql/configuration/ConfigurationEditor.tsx

* omadsfdsa

* remove unneeded assign
2024-05-10 03:54:24 +03:00
Nathan Marrs eae2ce38e8 Canvas: Fix infinite panning editor description (#87582) 2024-05-10 01:13:42 +03:00
Drew Slobodnjak dfdf119f7f Canvas: Improve connection vertex logic (#87580)
Canvas: Prevent machine error causing logic swap
2024-05-09 14:38:43 -07:00
Kristina 979d87f46f Revert "MixedDataSource: Support multi value data source variable that issues a query to each data source" (#87579)
Revert "MixedDataSource: Support multi value data source variable that issues…"

This reverts commit 700d378c98.
2024-05-09 16:16:28 -05:00
Alexander Weaver a6a9ab4008 Alerting: Do not store series values from past evaluations in state manager for no reason (#87525)
Do not store previous execution results on states
2024-05-09 15:51:55 -05:00
Dave Henderson c6a0175c04 ci: use go.mod as source of truth for actions/setup-go action (#87574)
* ci: use go.mod as source of truth for actions/setup-go action

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* updating upgrading-go-version.md doc

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-05-09 15:30:13 -04:00
Chris Marchbanks 49cd917b08 Prometheus: Use correct datasources:write permission (#87454)
The datasources:edit permission does not exist and should have been write to begin with.
2024-05-09 14:20:34 -05:00
lean.dev b009536329 Caching: Implement mtls-enabled memcached integration (#84171)
* fix merge

* fix conflicts

* updating generated feature toggle code

* Fix go mod owner

* fix merge

* add dependency

* fix dependencies

* workspace sync

* go get

* work sync

* trying something

* fix

* add docs for tls config

* work sync

* adjust go mod

* try something

* move import to the correct file

---------

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2024-05-09 15:12:08 -04:00
Todd Treece 00684682d7 Chore: Update go workspace check error message (#87576) 2024-05-09 21:31:46 +03:00
timo 935076c349 SQL Query Editor: Fix label-for IDs, associate "Table" label (#86944)
* SQL Query Editor: Fix label-for IDs, associate "Table" label

* Fix mysql e2e test

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2024-05-09 20:30:33 +02:00
Nathan Marrs 99262c53b6 Canvas: Chore clean up betterer (#87477) 2024-05-09 10:59:49 -07:00
Yuri Tseretyan 356a29592b Alerting: Add two sets of provisioning actions for rules and notifications (#87149) 2024-05-09 13:19:07 -04:00
Alexander Weaver 36ef611cf4 Alerting: Add database migration for recording rule fields (#87012)
* Create recording rule fields in model

* Add migration

* Write to database, support in version table

* extend fingerprint

* Force fields to be empty on validate

* Another storage spot, tests for fingerprint

* Explicitly set defaults in provisioning API

* Tests for main API validation

* Add diff tests even though fields are unpopulated for now

* Use struct tag approach instead of FromDB/ToDB hooks as it better handles nulls when deserializing

* test for deser

* Backout RecordTo for now since it's not decided in the doc

* back out of migration too

* Drop datasourceref for now

* address linter complaints

* Try a single outer struct with all fields embedded
2024-05-09 12:12:44 -05:00
Jev Forsberg 9bd44aed2e Transformations: Fix true inner join in joinByField transformation (#87409)
* baldm0mma/inner_join_fix/ init commit

* baldm0mma/inner_join_fix/ first attempt at an tabular inner join

* baldm0mma/inner_join_fix/ add innerTabular

* baldm0mma/inner_join_fix/ add innerJoin option to editor

* baldm0mma/inner_join_fix/ add editor option

* baldm0mma/inner_join_fix/ update joinInnerTabular function behavior

* baldm0mma/inner_join_fix/ add js docs

* baldm0mma/inner_join_fix/ update jsdocs

* baldm0mma/inner_join_fix/ update docs

* baldm0mma/inner_join_fix/ remove unused console.logs

* baldm0mma/inner_join_fix/ update tests

* baldm0mma/inner_join_fix/ simplify getValue

* baldm0mma/inner_join_fix/ update tests

* baldm0mma/inner_join_fix/ update docs builder

* baldm0mma/inner_join_fix/ add tables to Outer join (for tabular data)

* baldm0mma/inner_join_fix/ update docs

* baldm0mma/inner_join_fix/ build docs

* baldm0mma/inner_join_fix/ remove innertab for inner

* baldm0mma/inner_join_fix/ rename innertab

* baldm0mma/inner_join_fix/ update tests

* baldm0mma/inner_join_fix/ rem con logs

* baldm0mma/inner_join_fix/ rem comment

* baldm0mma/inner_join_fix/ rem sample data

* baldm0mma/inner_join_fix/ remove irrelevant test

* baldm0mma/inner_join_fix/ update docs

* Update packages/grafana-data/src/transformations/transformers/joinDataFrames.test.ts

Co-authored-by: Nathan Marrs  <nathanielmarrs@gmail.com>

* baldm0mma/inner_join_fix/ update test description

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-05-09 11:00:59 -06:00
Drew Slobodnjak 06a27911a4 Canvas: Fix bug for connection first vertex (#87534) 2024-05-09 09:17:23 -07:00
Kyle Brandt baed7d6dbe Scopes: Fix logic in find call (#87565)
With Find, if the parent query parameter is empty or not provided, we want to list the top level of the forest.
2024-05-09 11:52:56 -04:00
Oscar Kilhed c3936bbae2 DashboardScene: Discard panel changes disabled/enabled depending of changes (#87137)
---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-05-09 18:48:20 +03:00
Sergej-Vlasov 588abbb177 DashboardScene: Adjust failing scenes e2e (#87553)
* adjust failing scenes e2e

* remove .only from test

* restore e2e workflow
2024-05-09 18:12:03 +03:00
Todd Treece fa2f6578b3 Chore: Add info about K8s folder structure to README (#87508)
---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-05-09 16:43:07 +03:00
kay delaney d5c781b9c5 Templating: Fix issue where updated custom var options weren't persisted (#86804)
* Templating: Fix issue where updated custom var options weren't persisted
2024-05-09 14:11:03 +01:00
renovate[bot] c1a2051c1e Update dependency @playwright/test to v1.44.0 (#87550)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-09 13:57:49 +01:00
Stephanie Hingtgen 1bc6738d92 Chore: Upgrade go from 1.21.0 to 1.21.10 (#87479) 2024-05-09 15:57:08 +03:00
renovate[bot] 116a7ad1d1 Update dependency @grafana/scenes to v4.17.3 2024-05-09 12:02:41 +00:00
Torkel Ödegaard 700d378c98 MixedDataSource: Support multi value data source variable that issues a query to each data source (#83356)
* MixedDataSource: Support multi value data source variable

* go work sync

* fix typo

* if it is not interpolated use the actual uid

* Update tests

* prettier

* go work sync

* add more unit test case

* Update tests to use scene variables

* merge main

* Update

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-05-09 13:27:09 +02:00
renovate[bot] df12007f80 Update dependency @opentelemetry/semantic-conventions to v1.24.1 (#87544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-09 13:55:15 +03:00
renovate[bot] a901c512a0 Update dependency @grafana/scenes to v4.17.2 2024-05-09 10:36:05 +00:00
Ashley Harrison 62db9b01b8 new yarn version 2024-05-09 11:04:02 +01:00
renovate[bot] 25dfc865d5 Update Yarn to v4.2.2 2024-05-09 11:04:02 +01:00
antonio 3a2c9f4898 alerting: integrations > small update (#87538)
* added links to list

* changed heading
2024-05-09 11:31:28 +02:00
Ieva 105313f5c2 RBAC: Adding action set resolver for RBAC evaluation (#86801)
* add action set resolver

* rename variables

* some fixes and some tests

* more tests

* more tests, and put action set storing behind a feature toggle

* undo change from cfg to feature mgmt - will cover it in a separate PR due to the amount of test changes

* fix dependency cycle, update some tests

* add one more test

* fix for feature toggle check not being set on test configs

* linting fixes

* check that action set name can be split nicely

* clean up tests by turning GetActionSetNames into a function

* undo accidental change

* test fix

* more test fixes
2024-05-09 10:18:03 +01:00
Jack Westbrook 6380a01543 Frontend: Improve barrel file detection in codemod (#87389) 2024-05-09 10:49:47 +02:00
Diego Augusto Molina acf17c7fb1 Unified Storage: Add SQL template package (#87524)
* added sqltemplate package

* addded example

* fix linting issues

* improve code readability

* fix documentation
2024-05-08 17:58:18 -03:00
Scott Lepper 4b38253b20 Sql Expressions: use display name for sql tables (#87530) 2024-05-08 16:43:55 -04:00
Andrew Hackmann 85fdc3db16 Azure Monitor: Update grafana-azure-sdk-go to v2.0.3 (#87480)
* update

* update
2024-05-08 23:40:57 +03:00
Adela Almasan 3d56257b34 Timeseries: Fix incorrect threshold style (#87521) 2024-05-08 23:14:43 +03:00
Todd Treece 80f10e2a09 GRPC Server: Add README (#87442) 2024-05-08 15:29:43 -04:00
Bruno be260e9713 Ephemeral instances: update go version (#87526) 2024-05-08 22:06:12 +03:00
Todd Treece 6e4d35e1ee Scopes: Add a /find query endpoint (#87457)
---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-05-08 13:35:11 -04:00
renovate[bot] 01d28e01d2 Update dependency semver to v7.6.1 2024-05-08 17:21:38 +00:00
renovate[bot] 27ce73edce Update dependency react-hook-form to v7.51.4 2024-05-08 16:52:03 +00:00
renovate[bot] 5cbef194bf Update dependency rc-tree to v5.8.7 2024-05-08 16:32:25 +00:00
Todd Treece de438eae2e K8s: Prevent the use of arbitrary namespaces (#83636) 2024-05-08 09:30:08 -07:00
renovate[bot] 9d8507cded Update dependency @types/webpack-env to v1.18.5 2024-05-08 15:33:46 +00:00
Todd Treece f342217158 K8s: Add path rewriter filter (#87456) 2024-05-08 18:08:43 +03:00
renovate[bot] 04ce2d2f5a Update dependency @types/prismjs to v1.26.4 2024-05-08 14:53:35 +00:00
renovate[bot] 98435a67f5 Update dependency @types/node to v20.12.11 2024-05-08 16:08:44 +02:00
Alexander Zobnin d1c582815a Access control: Fix searching permissions from cache (#87489)
* Fix searching permissions from cache

* Write permissions to cache
2024-05-08 16:08:21 +02:00
Marcus Efraimsson 41b29ff93c Chore: Migrate to use buf for protobuf generation (#87407)
* Chore: Migrate to use buf for protobuf generation

* fix codeowners

* fixes after review

* docs/tooling for installing buf

* add back codeowners

* Update upgrading-dependencies.md

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

* sdk v0.229.0

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2024-05-08 15:42:40 +02:00
Alexa V 2dc19a0241 Chore: Update deprecated layout components HorizontalGroup and VerticalGroup in dashboard scene code (#87447)
* Chore: update deprecated layout components in scene code

* Add missing css for missing selectionOptionsForm
2024-05-08 15:42:36 +02:00
renovate[bot] 3e2e06179e Update dependency @types/jquery to v3.5.30 2024-05-08 13:39:13 +00:00
github-actions[bot] 2eebcd2642 I18n: Download translations from Crowdin (#87501)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-08 16:21:59 +03:00
Joao Silva f32e4810ab GrafanaUI: Add tabular prop to Text component for tabular numbers (#87440) 2024-05-08 14:03:21 +01:00
Josh Hunt c41ec46b29 I18n: Fix and reenable verify-i18n CI check (#87496)
* I18n: Change verify-i18n script to use node_deb image with make in it

* remove swagger from i18n make

* make verify-i18n fail ci

* fix incorrect and unextracted nav translations

* fix more copy paste
2024-05-08 14:01:17 +01:00
Haris Rozajac b383cafd35 Explore: Logs in content outline (#86431)
* wip filtering

* Remove corresponding children from parentlessItem ref on register

* wip filtering

* Remove corresponding children from parentlessItem ref on register

* Highlighting filters

* OMG

* Handle updating highlight field inside context

* Toggling legend from the content outline

* Support multiple selects for log filters in content outline

* Remove commented out code

* Fix an issue with loki datasource; use same datastructure for logsVolume in Logs and LogVolume panel

* Fix registering logic

* cleanup

* Don't register outline items when having multiple log volume levels

* Remove checking mergeSingleChild logic because in context because ContentOutline does it

* Fix logic so it works for elasticsearch

* Better logic

* Add log color and sort

* Show items at full opacity

* Remove commented sort

* Do not highlight if all are selected, and highlight = 100% opacity, active = 30%

* dont auto collapse after filter unselect

* Remove console logs

* No partial opacity, add height for consistent display

---------

Co-authored-by: Piotr Jamroz <pm.jamroz@gmail.com>
Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
2024-05-08 07:58:37 -05:00
Tobias Skarhed ef37b78631 Revert "Panel: Keyboard focus shortcuts prioritization" (#87213)
Revert "Panel: Keyboard focus shortcuts prioritization (#86772)"

This reverts commit 3e450ec4bf.
2024-05-08 14:53:20 +02:00
renovate[bot] f1e5a02af5 Update dependency rc-cascader to v3.25.0 (#86045)
* Update dependency rc-cascader to v3.25.0

* fix type errors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-05-08 15:24:01 +03:00
Ieva 9a824bdf0a RBAC: Don't set empty action sets (#87398)
* don't set empty action sets

* extend comment
2024-05-08 15:09:46 +03:00
Karl Persson be5ced4287 Identity: Use typed version of namespace id (#87257)
* Remove different constructors and only use NewNamespaceID

* AdminUser: check typed namespace id

* Identity: Add convinient function to parse valid user id when type is either user or service account

* Annotations: Use typed namespace id instead
2024-05-08 14:03:53 +02:00
antonio d83cbe4d85 alerting/webhook doc update (#87492)
* alerting/webhook doc update

* text formath

* fixed admonition

* typo

* headings

* formatted headings and prettified it all

* one more heading
2024-05-08 13:49:55 +03:00
renovate[bot] 8ca4d73c40 Update dependency @grafana/scenes to v4.17.1 (#87490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-08 12:15:21 +03:00
Torkel Ödegaard 0c2f58bdae DashboardScene: Fixes editing transformations after toggling table view (#87397) 2024-05-08 08:58:19 +02:00
Torkel Ödegaard e7c39f18be DashboardDataSource: Fixes issue where sometimes untransformed data could be returned (#87433)
* DashboardDataSource: always return a result key

* Update

* Update
2024-05-08 08:25:19 +02:00
Charandas d13e175328 K8s: upgrade authlib with correct IDTokenClaims (#87461) 2024-05-07 14:09:02 -07:00
Stephanie Hingtgen d365d442fa Chore: Upgrade go to 1.22.3 (#87463) 2024-05-07 15:23:21 -05:00
Dan Cech 1884b03511 Provisioning: Look up provisioned folders by UID when possible (#87465)
look up provisioned folders by uid when possible
2024-05-07 15:38:53 -04:00
Charandas a9da6ce1d5 ext_jwt: streamline expected aud in access tokens and id tokens (#87401) 2024-05-07 11:20:16 -07:00
Alexander Weaver 6c47968f6c Alerting: Do not retry rule evaluations with "input data must be a wide series but got type long" style errors (#87343)
add typed error for series must be wide, do not retry
2024-05-07 11:31:07 -05:00
Nihal 5fb87de321 Auth: Added support to filter for parent teams in GitHub connector's team membership filter (#86754)
* added changes for parent teams in team_ids. see https://github.com/grafana/grafana/issues/85916

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* added unit test

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* addressed review comments to consider case where parent object can be null

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* addressed review comment

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

---------

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
2024-05-07 18:19:20 +02:00
Karl Persson 2d8570e85e IDToken: Reuse claims from authlib (#87437)
* bump authlib version

* Reuse claims from authlib
2024-05-07 16:46:43 +02:00
Ashley Harrison 27fa544f72 SCSS: remove some low hanging dead fruit (#87260)
* remove some low hanging fruit

* restore json_explorer
2024-05-07 15:26:43 +01:00
David Harris a4d296559c Plugins: Catalog to show all plugins by default (#87168)
* update plugin install filter to show all by default

* make pretty

* remove aria-label on lock icon

* wip: attempt to fix overflow

* switch to stack, add aria label back for testing

* make pretty

* switch to TextLink

* remove learn more link from catalog

* add hover text

* docs: update plugin install to reflect state filter change

* Revert "docs: update plugin install to reflect state filter change"

This reverts commit 16222aee0b.
2024-05-07 16:48:09 +03:00
Eric Leijonmarck 6b218b11cf Actionsets: fix remove printf (#87439)
fix: remove printf
2024-05-07 16:36:01 +03:00
Ieva 0239cf8766 Docs: Link to generic oauth docs from team sync page (#87381)
link to generic oauth docs from team sync page
2024-05-07 14:31:57 +01:00
Alexander Zobnin 82dea4b3e5 Access control: Cache basic roles and teams permissions (#87043)
* RBAC: Cache basic roles permissions

* Cache teams permissions

* Set cache TTL to 1 minute

* Add OSS implementation

* Fetch basic role permissions correctly

* fix conflict_user_command

* Fix teams permissions query

* Add traces for GetUserPermissions

* Fix folders tests

* Fix colflict user command

* Update store mock

* Fix linter error

* Reuse GetUserPermissions for fetching basic roles

* tests for GetTeamsPermissions

* pre-allocate slice capacity

* Fix linter
2024-05-07 15:23:11 +02:00
Leonor Oliveira ee2f6a7b49 Force interface implementation also on legacy storage (#87414)
* Force interface implementation also on legacy storage

* Add DeleteCollection to folders and dashboards

* Fix integration tests

* Fix tests
2024-05-07 15:02:30 +02:00
Ivana Huckova 12a87c0899 Logs panel: Fix spacing when log details disabled (#87431)
* Logs panel: Fix spacing when log details disabled

* Fix error spacing
2024-05-07 15:27:44 +03:00
Tom Ratcliffe a597300027 Chore: Allow MenuItems to have role=menuitem when URL is set (#86886)
Allow passing a role into a MenuItem component, and fallback to default behaviour if not passed
2024-05-07 13:12:02 +01:00
Oscar Kilhed c6975e06d2 Dashboard scenes: Fix view panel breadcrum when going to edit from view single panel (#87411)
Fix view panel breadcrum when going to edit from view panel
2024-05-07 14:02:52 +02:00
Karl Persson 37af1ae58e IDToken: Set typ header (#87430)
TokenSigning: Set typ header
2024-05-07 13:59:23 +02:00
kay delaney bc67b88301 Chore: Rewrite alerting css using object styles (#87114)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-05-07 10:57:25 +01:00
kay delaney 1654b719e9 Chore: Fix lint error in grafana-prometheus (#87421) 2024-05-07 12:40:55 +03:00
kay delaney b68f40d5c5 Chore: Rewrite grafana-prometheus css using object styles (#86835) 2024-05-07 10:11:49 +01:00
renovate[bot] 6733f43781 Update dependency @types/diff to v5.2.1 2024-05-07 09:08:14 +00:00
Ashley Harrison 37ef6df3b2 Chore: replace calls to defaultProps (#87310)
* replace calls to defaultProps

* make linksGetter optional
2024-05-07 10:07:16 +01:00
renovate[bot] 0c702d335e Update dependency @grafana/faro-web-sdk to v1.7.2 (#87341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-07 09:35:50 +01:00
antonio 1bde17c8d5 alerting: config notif page improvement (#87140)
* alerting: config notif page improvement

* Update docs/sources/alerting/configure-notifications/template-notifications/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update _index.md

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-05-07 10:26:04 +02:00
Gábor Farkas 4f7ed97aad mysql: fix dispose-method not called in external-mode (#87330) 2024-05-07 09:54:30 +02:00
Leonor Oliveira 0a2c5065a0 Choose mode. Turn DualWriter into a real interface. Better Logging (#87291)
* Choose mode. Add log field on top level dualwriter

* Add logs

* Turn DualWriter into a full interface. Fix tests

* Lint

* Use struct for dualWriter interface

* Use struct

* Default should be legacyStore for all entities

* Fix test. Get rid of extra concrete type

* Remove comment

* Add comment

* Temp set dualwriter mode 2 for playlists while configs are not in place

* Add modes type + add comment on what each mode does

* Don't require watcher interface for now

* Use storage implementation on mode 2

* Update pkg/apiserver/rest/dualwriter_mode2.go

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>

* Pass log values to the context

* test

* Update pkg/apiserver/rest/dualwriter_mode3.go

Co-authored-by: Dan Cech <dcech@grafana.com>

---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Dan Cech <dcech@grafana.com>
2024-05-06 23:18:28 +02:00
Aaron Godin 0bc8992dfa Revert #86466 (#87405)
Revert "Apply plugin route ReqAction to ds_proxy authorization (#86466)"

This reverts commit 53f94ac50d.
2024-05-06 14:40:32 -05:00
Dan Cech 41bee274fd Chore: Fix error handling in postDashboard, remove UserDisplayDTO, fix live redis client initialization (#87206)
* clean up error handling in postDashboard and remove UserDisplayDTO

* replace GetUserUID with GetUID and GetNamespacedUID, enforce namespace constant type

* lint fix

* lint fix

* more lint fixes
2024-05-06 14:17:34 -04:00
jackyin ba8b4bde3a fix ipv6 startup fail #81870 (#87108)
* fix ipv6 startup fail #81870

* ipv6 startup fail

* ipv6 startup fail
2024-05-06 14:17:03 -04:00
Nick Richmond fae9bfccb2 Prometheus: Place custom inputs first when using regex filter values in the query builder (#87360)
* fix: place custom inputs first when using regex filter values

* fix: remove confusing messaging
2024-05-06 12:07:04 -04:00
Pepe Cano 7dd05998fd Alerting docs: Update and restructure Introduction/Alert rule evaluation (#87331)
* Migrate and update `Alert rule evaluation`

* Minor change

* Update internal links to new URLs
2024-05-06 17:33:14 +02:00
Pepe Cano 1b69d647be Alerting docs: update Comparison between alert rule types (#87252) 2024-05-06 17:32:33 +02:00
github-actions[bot] 10afa5a5a0 I18n: Download translations from Crowdin (#87336)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-06 14:26:57 +00:00
Gilles De Mey 19e8dca09c Alerting: Allow editing of provisioned mutable Alertmanagers (#87385) 2024-05-06 14:29:28 +02:00
Kristina 8173bd89bf Explore: Only let nodeGraph frames process through nodeGraph visualization (#87198)
* Only let nodeGraph frames process through nodeGraph

* add metadata to test frames to be processed

* Revert "add metadata to test frames to be processed"

This reverts commit fc366a0ab4.

* Revert "Only let nodeGraph frames process through nodeGraph"

This reverts commit b8be50e219.

* Only send node graph frames to node graph logic

* remove unnecessary logic
2024-05-06 07:13:09 -05:00
Yuri Kotov 33170c4d07 Loki: Use label/<name>/values API instead of series API for label values discovery (#83044)
* Loki: Add label values API selector to setting and use label_values API when selected

* remove CHANGELOG change

* add docs

* Support Loki 2.7+ only, so unconditionally use /labels API

* Correct doc for fetchLabels and fetchLabelValues functions

* Fixes after merge

* Do not encode query parameter twice

* return getLabelKeys in Completion Provider

* docs

* Add test for LabelParamEditor

* Update public/app/plugins/datasource/loki/LogContextProvider.test.ts

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* toHaveBeenCalledWith

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2024-05-06 13:47:49 +02:00
Andrej Ocenas 9c254c7e1e Flamegraph: Add diff mode color legend (#87319) 2024-05-06 12:28:57 +02:00
brendamuir 526be4fa2b Alerting vale fixes (#87380) 2024-05-06 11:43:34 +02:00
Eric Leijonmarck 601485c74d Actionsets: Fix downgrade of permission to add the actionset permission (#87328)
* check for missingActions empty and add actionset

* spelling
2024-05-06 10:16:26 +01:00
Fabrizio f99d4ee92d Tempo: Fix sorting for nested tables (#87214) 2024-05-06 10:41:47 +02:00
Larissa Wandzura 57038e8dfa Docs: added note to RBAC doc from support escalation (#85311)
* added admonition and API info

* Update docs/sources/administration/roles-and-permissions/access-control/_index.md

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-05-06 09:27:46 +02:00
Misi 9236c5a5cf Auth: Add OrgRoleMapper service (#86973)
* Add OrgRoleMapper

* Address feedback, add more tests

* Prevent resetting assignments when global org mapping fails

* Provide a parsing function instead of recalculating the org_mapping on every mapping

* Introduce strict role parsing/mapping

* Introduce MappingConfiguration

* Handle other edge case

* Add tests

* lint

* Apply documentation update suggestions

* Apply GetDefaultOrgMapping suggestions from code review

* Apply suggestions for cleaning up unnecessary err in ParseOrgMappingSettings

* Apply suggestions from code review

* Address feedback suggestions

* Cleanup

* Reduce cognitive complexity of ParseOrgMappingSettings

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-05-06 09:25:47 +02:00
Ryan McKinley 333ed377d6 Prometheus: Avoid parsing unused legacy datasource property (#87224)
* query cleanup

* parse query

* more comments
2024-05-05 15:00:53 +03:00
Jon Cole 8e96821c16 Azure: get custom cloud list from grafana-azure-sdk-go package (#86717)
* Get custom cloud list from grafana-azure-sdk-go for frontend settings

* Remove getAzureClouds() and call CustomClouds() directly

* remove unused type
2024-05-04 13:17:51 +03:00
Nathan Marrs 5e4722fe2e Canvas: Fix canvas style regression (#87363) 2024-05-04 02:47:30 +03:00
Nathan Marrs 1ef1cc7e3f Canvas: Add support to rotate a group of elements (#87358) 2024-05-03 15:58:51 -07:00
Adela Almasan 7bcda34b55 XY Chart: Prevent crash when deleting a series (#87356) 2024-05-03 17:21:46 -05:00
Adela Almasan 8a96fcedb2 XyChart: Fix legend (#87155) 2024-05-04 01:06:05 +03:00
Nathan Marrs 68fa2110d6 Canvas: Fix phantom connections persisting after element deletion (#87285) 2024-05-03 14:17:05 -07:00
Isabel Matwawana 386baf83cd Docs: add data link cell type information (#87350)
Add data link cell type information
2024-05-03 16:22:48 -04:00
Charandas 0c59baf62d ext_jwt: switch to new authlib (#87157) 2024-05-03 12:59:37 -07:00
Matthew Jacobson babfa2beac Alerting: Hook up GMA silence APIs to new authentication handler (#86625)
This PR connects the new RBAC authentication service to existing alertmanager API silence endpoints.
2024-05-03 15:32:30 -04:00
Darren Janeczek e9b932c8f6 datatrails: reloaded trail bugs related to no selected metric (#87344)
* fix: reloaded scene first step topScene

The top scene was not being initialized
when reloading trails, causing it to use
the top scene of whatever was selected
previously.

* fix: select new metric node not reloading right

On reloading trails, any metric node that
was 'green' with a undefined metric due to
clicking on the "select new metric" button,
was reloading with the metric of the step
directly before it (in index order).
2024-05-03 21:29:54 +03:00
Alex Khomenko 683390a4ec PanelHeaderCorner: Remove font-awesome icons (#87303)
* PanelHeaderCorner: Remove font-awesome

* Fix mode styles

* Remove unused styles

* Cleanup

* Simplify styles

* Fixes

* Remove unused variable
2024-05-03 20:05:03 +03:00
renovate[bot] 1fb1e1bb64 Update dependency @grafana/faro-web-sdk to v1.7.0 (#87339)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-03 19:41:46 +03:00
Darren Janeczek f93c330b66 datatrails: only fetch metrics metadata when using the language provider, avoid redundant fetch of metric names (#87067)
* fix: only fetch metrics metadata, not metric names
2024-05-03 12:24:18 -04:00
Darren Janeczek 6524febbd4 datatrails: quick bugfix: handle undefined step (#87337)
fix: handle undefined step
2024-05-03 19:22:23 +03:00
Ashley Harrison 1d6d5cc2cd Chore: improve typings (#87306)
* some fixes

* some more fixes

* some canvas fixes

* use removeProperty instead

* few more

* fixy fix

* undo changes to ticks for now
2024-05-03 17:21:37 +01:00
renovate[bot] 43ed6a8218 Update dependency @grafana/faro-core to v1.7.0 (#87329)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-03 17:21:12 +01:00
Laura Benz ecd7357049 Dashboards: Add toggle for folder names in dashboard list panel (#87288)
* refactor: add switch

* refactor: add functionality

* refactor: fix test
2024-05-03 17:52:10 +02:00
Darren Janeczek 5b424ed6bb scenes: update to v4.14.0: opt-in to useQueriesAsFilterForOptions (#87244)
* fix: opt-in to `useQueriesAsFilterForOptions`

With updating the scenes library, dashboards must now explicitly
opt in to `useQueriesAsFilterForOptions`.
2024-05-03 18:47:57 +03:00
Isabella Siu 5aeaeb6e90 Cloudwatch: Update grafana-aws-sdk to fix sts endpoints (#87326)
Cloudwatch: update grafana-aws-sdk to fix sts endpoints
2024-05-03 11:43:28 -04:00
Gilles De Mey 5e25afe6e9 Alerting: New settings page (#84501) 2024-05-03 17:42:42 +02:00
Darren Janeczek 046eedaa4c datatrails: recently loaded trails modify parent variables when making new steps (#87284)
* fix: loaded trails modified parent var on new step

This ensures that recently loaded trails won't have variable changes
which create new steps modify the previous step.
2024-05-03 11:38:47 -04:00
Sergej-Vlasov 6433053479 DashboardScene: Restrict dashboard in read only state (#87316)
---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-05-03 18:33:49 +03:00
renovate[bot] 6a696a976b Update Yarn to v4.2.1 (#87325)
* Update Yarn to v4.2.1

* add new yarn version

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-05-03 18:10:51 +03:00
Juan Cabanas d1434fad3a ShareModal: Share link redesign under newDashboardSharingComponent FF (#87011) 2024-05-03 12:02:18 -03:00
Prem Saraswat 196134b0b4 Storage Server: Avoid incorrect parsing of connection string (#85293)
Storage Server: avoid incorrect parsing of connection string

In storage server, a connection string is generated to connect to the
backing database. In case of Postgres, we were generating the string
like `"user=grafana pass= host=postgres.example port=4567"`.

This triggered an edge case in `pq` (the go postgres driver) to parse
`pass` to be equal to `host=postgres.example`, and host being reset to
default value.

Using single quotes in the connection string fixed this.

Signed-off-by: Prem Kumar <prem.saraswat@grafana.com>
2024-05-03 10:54:39 -04:00
Andreas Christou 28df41fd96 MSSQL: Add HostName method (#87309)
* Add HostName method

* Add test

* Fix lint
2024-05-03 15:45:34 +01:00
renovate[bot] ac8f3f6e86 Update dependency yaml to v2.4.2 2024-05-03 14:44:59 +00:00
Chris Marchbanks d6c93c12bf Prometheus: Add reqAction to Prometheus routes (#87208)
Add reqAction to Prometheus routes

This should allow provisioned service accounts that do not have a role to use the /proxy endpoints for Prometheus. This
is desired for some integrations that need to query for labels or other data not part of /ds/query.
2024-05-03 16:09:06 +02:00
renovate[bot] 2924b37628 Update dependency rudder-sdk-js to v2.48.7 2024-05-03 14:08:50 +00:00
renovate[bot] 7b71464c62 Update dependency re-resizable to v6.9.16 2024-05-03 13:31:56 +00:00
ismail simsek 9fbca6c035 Datatrails: Fix overflow of labels (#87301)
Fix overflow of labels
2024-05-03 09:26:30 -04:00
renovate[bot] 346dbab768 Update dependency lru-cache to v10.2.2 2024-05-03 12:58:12 +00:00
renovate[bot] bb771e3501 Update dependency i18next to v23.11.3 2024-05-03 12:26:42 +00:00
Scott Lepper 1a2bbd61fd sql expressions: improve parser (#87277)
sql expressions: improve parser
2024-05-03 08:08:07 -04:00
renovate[bot] 48f77cdebe Update dependency dompurify to v3.1.2 2024-05-03 12:00:28 +00:00
Santiago b76a9e4d31 Alerting: Implement GetStatus in the remote Alertmanager struct (#84887)
* Alerting: Implement GetStatus in the remote Alertmanager struct

* update tests

* fix tests, extract AlertmanagerConfig from PostableConfig

* get the remote AM config instead of the Grafana one from the remote AM

* pass grafana AM config in test

* return error in GetStatus instead of logging it (internal AM)
2024-05-03 13:59:02 +02:00
Andres Martinez Gotor b6f899d953 Migrate wrong datasource UIDs (#86598) 2024-05-03 13:32:07 +02:00
renovate[bot] b25f193be0 Update dependency @types/node to v20.12.8 2024-05-03 11:25:38 +00:00
Gilles De Mey 7a12c5e0ef Alerting: Add OAuth2 to HTTP settings for vanilla Alertmanager / Mimir (#87272)
add OAuth2 to HTTP settings for vanilla Alertmanager / Mimir
2024-05-03 13:23:37 +02:00
Gilles De Mey 12fa9e56e6 Alerting: Fix max alerts (#87271) 2024-05-03 13:22:42 +02:00
Domas 4b496a907d Tempo: Option to not show variable options in "search" editor (#87126)
* allow disabling variable options in Tempo "search" editor

* also for GroupByField

* set addVariablesToOptions true by default
2024-05-03 14:22:03 +03:00
renovate[bot] 39a88bae44 Update dependency @swc/helpers to v0.5.11 (#87296)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-03 12:07:54 +01:00
ismail simsek 3317691615 InfluxDB: Support cardinality queries with backend mode (#87264)
support cardinality queries
2024-05-03 12:50:00 +02:00
renovate[bot] 253ab5efd3 Update dependency @react-types/overlays to v3.8.6 2024-05-03 10:39:01 +00:00
renovate[bot] 0ecb1ddf2c Update dependency @react-types/menu to v3.9.8 2024-05-03 10:12:28 +00:00
Eric Leijonmarck a98328b092 Auditlogging: add docs about dsquery (#87218)
* add docs for dsquery

* update the generic actions
2024-05-03 11:11:46 +01:00
kay delaney b3f173f153 Dashboard: Fix issue where changes to panel in row weren't detected in panel edit (#87195)
Closes #87171
2024-05-03 11:50:10 +02:00
renovate[bot] 95028b65f3 Update dependency @react-types/button to v3.9.3 2024-05-03 09:49:45 +00:00
renovate[bot] 7d84ae04aa Update dependency @pmmmwh/react-refresh-webpack-plugin to v0.5.13 (#87283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-03 09:54:03 +01:00
Georges Chaudy dd0e646e92 k8s: remove dependency on app_mode development (#85474)
* k8s: remove dependency on app_mode development

* remove dev conditions on storage server

* remove logic to drop entity tables
2024-05-03 11:28:15 +03:00
github-actions[bot] fd58168c3b I18n: Download translations from Crowdin (#87240)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-03 08:21:27 +00:00
Carl Bergquist 7a6bef8f9c Scopes: Adds kinds for browsing the scope node tree. (#86975)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-05-03 09:48:54 +02:00
Alex Khomenko c4c313d20f Grafana/ui: Update Button and IconButton components to accept icon as component (#87243)
* Saga-icons: Forward SVG attributes

* Icon prop as component

* Add IconRenderer

* Cleanup

* Fix types

* Update size prop

* Revert storybook

* Update IconButton
2024-05-03 09:22:22 +03:00
renovate[bot] 85170d51dd Update dependency @kusto/monaco-kusto to v10.0.20 2024-05-03 02:51:04 +00:00
Karl Persson a22350f8f4 IDToken: add namespace (#87242) 2024-05-02 18:55:28 -07:00
renovate[bot] 75401ea857 Update dependency @grafana/scenes to v4.13.2 2024-05-03 00:31:17 +00:00
renovate[bot] 4d0a3de6fb Update dependency @floating-ui/react to v0.26.13 (#87273)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-02 23:11:39 +01:00
Tom Glenn e95eaa9302 docs: Minor tweaks to the Grafana Fundamentals tutorial (#86777)
* Minor tweaks to the Grafana Fundamentals tutorial

* Replaced old note style with admonition shortcode

* trigger CI

* Fixed shortcode

Co-authored-by: Danielle Broadwater <danibroadwater@outlook.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Danielle Broadwater <danibroadwater@outlook.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-05-02 16:44:59 -04:00
Nick Richmond 21afe3dc62 Prometheus: Ensure values in metric selector are visible (#87150)
* fix: ensure selectable values are visible

* refactor: remove unnecessary ternaries, strengthen types

* docs: fix typo

* style: comply with `betterer` guidelines

* refactor: add clarity

* fix: remove border for consistency's sake
2024-05-02 16:06:40 -04:00
Scott Lepper cbe3e3a5e0 fix: sql expressions parser with join (#87263) 2024-05-02 14:48:05 -04:00
Drew Slobodnjak 6c7485129b Canvas: Fix datalinks using field variable (#87265) 2024-05-02 11:29:43 -07:00
Isabel Matwawana f8d9f8541b Docs: add panel options shared content (#87258)
* Added panel options shared file

* Added panel options shared file to visualizations pages

* Fixed version interpolation syntax and added Cloud links

* Fixed heading level of title
2024-05-02 14:17:23 -04:00
renovate[bot] 79b5fb9f1f Update babel monorepo to v7.24.5 2024-05-02 18:10:10 +00:00
Marie Cruz 7db41222c6 docs: update flame graph visualization (#86615)
* docs: update flame graph visualization

* fix: linting issues

* docs: add example data

* Apply suggestions from code review

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

* Removed Wikipedia link

* Fixed punctuation

* Updated max image width

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

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

* fix: linting issues

* docs: add links to pyroscope docs about flame graph and profile types

* Ran prettier

* docs: add flame graph video

* Updated wording

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2024-05-02 13:37:05 -04:00
Eric Leijonmarck cdb9eeb7fc TeamLBAC: Add scenario 6 to the docs (#87215)
* add task 6

* Apply suggestions from code review

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

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-05-02 17:38:26 +01:00
renovate[bot] dd9fb83606 Update React Aria (#87253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-02 17:27:29 +01:00
Ashley Harrison 84c59e1134 Chore: Add tracking for total number of scss files (#87259)
* add tracking for total number of scss files

* need this comma :o
2024-05-02 19:10:31 +03:00
Nicholas P. Cole 64d5440c5a Docs: Fix link to values.yaml file (#87014)
Fix link to values.yaml file

Linking to the "edit" URL fails if the reader doesn't have write access
to the repo: they'll be prompted to fork the repo or to sign in to
GitHub. Instead link to the "blob" URL which is accessible to all
readers.
2024-05-02 10:39:51 -05:00
Laura Benz 3e12fd8a2c Renovate: Add Slate and related packages to ignore list (#87250)
refactor: add Slate and related dependencies to ignore section
2024-05-02 18:36:32 +03:00
Galen Kistler 840aeddbd1 Logs: Explore panel default visualization feature flag (#87189)
* add logsExploreTableDefaultVisualization feature flag

* use feature flag in calculating initial visualization type

* add feature flag to tracking
2024-05-02 10:28:15 -05:00
Ashley Harrison 8afaea8a56 Navigation: show img as backup if icon doesn't exist (#87247)
show img as backup if icon doesn't exist
2024-05-02 16:24:06 +01:00
kay delaney bc9010a95b Scenes: Adjust styles to allow shrinking of variable selectors (#87085) 2024-05-02 16:23:29 +01:00
Ryan McKinley b7df129b78 FeatureToggles: Write enabled flags to the logs on startup (#87225) 2024-05-02 18:19:34 +03:00
Torkel Ödegaard 281d785442 Select: Fixes issue preserving search term (input) when selecting a value (#87013) 2024-05-02 17:13:53 +02:00
Arati R 4db5ec28a1 Storage: Enable mode 2 dual writing for playlists (#87245)
Enable mode 2 dual writing for playlists
2024-05-02 16:52:29 +02:00
Gilles De Mey 0dffdc1756 Scenes: Add endLineNumber to json diff (#87049) 2024-05-02 16:41:13 +02:00
Sergej-Vlasov 838e36bd99 DashboardScenes: Pin go version to go.mod file in scenes e2e workflow (#87238)
* adjust workflow to use correct go version

* finalise wokflow adjustments
2024-05-02 17:30:08 +03:00
Fayzal Ghantiwala df25e9197e Alerting: Get grafana-managed alert rule by UID (#86845)
* Add auth checks and test

* Check user is authorized to view rule and add tests

* Change naming

* Update Swagger params

* Update auth test and swagger gen

* Update swagger gen

* Change response to GettableExtendedRuleNode

* openapi3-gen

* Update tests with refactors models pkg
2024-05-02 15:24:59 +01:00
Arati R 9e6de035c0 Storage: Add mode 2 dual writing improvements (#87204)
* Fix mode 2 List test
* Set origin timestamp during conversion to k8s resource
* Add instructions for updating a playlist
* Handle partial deletions of a collection in mode 2
2024-05-02 16:06:51 +02:00
Darren Janeczek b1d98939e1 datatrails: include step index and number of steps when reporting trail step navigation usage (#87068)
* fix: include step index and number of steps
2024-05-02 09:55:58 -04:00
Alexa V eae1cafebd Dashboard Scene: Chore - Add missing unit test to PanelDataQueryTab (#87139)
* Create basic structure PanelDataQueriesTab unit test

* Add more test cases to the PanelDataQueriesTab test

* Update public/app/features/dashboard-scene/panel-edit/VizPanelManager.tsx
2024-05-02 15:54:50 +02:00
Mihai Doarna 2eab915b80 SSO: Collect user save attempts from OAuth provider forms (#87233)
collect user save attempts from OAuth provider forms
2024-05-02 16:54:07 +03:00
Sergej-Vlasov afbd02c4ec DashboardScene: adjust lib panel as a dashboard datasource refresh logic (#87120)
* activate library viz panel and adjust id extractor

* revert parts that are fixed in #87125

* clean up after activation handler
2024-05-02 16:20:35 +03:00
Gabriel MABILLE 8802282ebc RBAC: fix panic role not found permission sync (#87217) 2024-05-02 15:19:56 +02:00
Kevin Yu 6851ad9f8c CloudWatch: Fix apostrophes in dimension values not being escaped (#87182) 2024-05-02 06:15:11 -07:00
Mihai Doarna a979417700 SSO: Update ssoSettingsApi flag to general availability (#87216)
* update ssoSettingsApi flag to general availability

* generate files
2024-05-02 16:00:52 +03:00
Karl Persson d8fbbdefea Identity: Use typed namespace id (#87121)
* Use typed namespace id
2024-05-02 14:50:56 +02:00
Scott Lepper 4fd2cb6014 fix: sql expressions - sql parser table name case (#87196)
* fix: sql parser table name case
2024-05-02 08:43:20 -04:00
Kristin Laemmert ac07a9794b Chore: update go.mod (#87194)
* Chore: update go.mod
2024-05-02 08:11:19 -04:00
Sergej-Vlasov 37ca484aad DashboardQueryEditor: Adjust options filtering in scenes (#87174)
adjust options filtering for dashboard datasource in scenes
2024-05-02 15:10:06 +03:00
Sergej-Vlasov 4d37e11ce9 DashboardScene: Remove min height on viz picker scroll container (#87172)
removed min height prop
2024-05-02 15:07:13 +03:00
Gilles De Mey 1d06f33a8e Alerting: Prevent search from locking the browser (#87132) 2024-05-02 14:41:33 +03:00
Serge Zaitsev ad5613d7d4 Chore: Remove cfg from folder service (#87212)
remove cfg from folder service
2024-05-02 13:18:54 +02:00
Josh Hunt 08121dc193 E2C: Restore Disconnect modal (#87223) 2024-05-02 11:57:51 +01:00
github-actions[bot] 544b22a6b2 I18n: Download translations from Crowdin (#87170)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-02 10:42:10 +00:00
Gábor Farkas d7ff3213f3 postgres: decouple the frontend-part (#87131) 2024-05-02 12:25:25 +02:00
Ieva 28dd1ddd8e RBAC: Do not set permissions on data sources with wildcard UID in OSS (#87220)
do not set permissions on DS with wildcard UID
2024-05-02 13:18:29 +03:00
Jack Westbrook b5a084611f Fix: Always fetch plugin css with Systemjs (#87211)
* fix(plugins): fetch strategy should always be used for css/json/wasm/html

* refactor(plugins): prefer checking for js file type rather than list of other file types
2024-05-02 11:55:20 +02:00
Esteban Beltran 9f5ab38477 FE Sandbox: Fix innerHTML distortion causing issues with DOMPurify inner works (#87117)
* FE Sandbox: Fix innerHTML distortion causing issues with DOMPurify inner works

* Add a comment explaining the fix
2024-05-02 11:17:04 +02:00
Tobias Skarhed a59e7e14b1 AnnotationList: Fix link for annotation with no panel or dashboard (#87048)
* Handle case for no associated panel or dashboard

* Convert to CSS object

* Add tests and extend type to cover null use case
2024-05-02 11:30:19 +03:00
Serge Zaitsev 6ddb8aeae3 Chore: Moving to slog (folders) (#87000)
* moving folders to slog

* trying to fix the tests

* fix per-logger filters in slog

* allow using slog.Default()

* bring cfg back to keep the pr small

* fix tests

* back to the roots
2024-05-02 09:14:12 +02:00
Jack Westbrook a6b7fc51a8 Chore: Add back node-forge npm package (#87136) 2024-05-02 08:39:02 +02:00
Isabel Matwawana 90b594e998 Docs: add standard options shared content (#87199)
* Added standard options shared file

* Added missing option to shared file and added shared file link to visualizations pages

* Fixed links
2024-05-01 18:30:24 -04:00
Isabel Matwawana d5cfcc8187 Docs: add field overrides shared content (#87197)
* Added field overrides shared file

* Added link to overrides file in visualizations pages

* ihm/010524-field-override-shared-content/ run lint

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-05-01 18:10:06 -04:00
Isabel Matwawana 1ef0e240e9 Docs: Add data links shared content (#86893)
* Added data link options shared file and added file to relevant visualizations

* Updated some text and links in canvas

* Added shared file to xy chart

* Fixed list of visualizations using shared file

* Removed unneeded level offset

* Removed future tense

* Update data links description

* Updated wording

* Removed redundant sentence
2024-05-01 16:51:12 -04:00
Adela Almasan ee4422d1e2 XYChart: Fix default point size (#87192) 2024-05-01 21:19:54 +03:00
owensmallwood efff4c0bbd Unified Storage: Redacts logged env var values for entity api db password (#87191)
redacts logged env var values for entity api db password
2024-05-01 12:15:44 -06:00
owensmallwood 40558899e4 Unified Storage: Adds health check service for entity server (#86471) 2024-05-01 11:36:44 -06:00
Ieva a9ac648cf6 Chore: Improve some confusing logs (#87185)
improve some confusing logs
2024-05-01 19:42:05 +03:00
lean.dev 0719f73f35 Cloud Migration: Remove ID migration in favor of UID (#86550)
* - Added migration to add a new collumn UID to both migration and migration_run tables.
- Added migration to set UID for records already existent in the database before adding a new column.
- Added UID field to CloudMigration and CloudMigrationRun dtos (model.go)

* Fix db migration

* Updating store and model

* Updating API to use UID

* fix typo

* update openapi specs and generated endpoints

* fix spec

* update openapi specs and generated endpoints

* Fixing db mapping

* Fix frontend

* fix migration

* remove migration uid from run fetch endpoint

* Revert "merge"

This reverts commit d654e4c530, reversing
changes made to 5fe0b483eb.

* manual merge

* rename some funcs for consistency

* make interfaces consistent

* validate uids

* update generated frontend api

* fix enterprise spec

* manually resolve api

* try again

* try yet again

* once more

---------

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
2024-05-01 12:29:25 -04:00
Reem Tariq fcb40e601d GrafanaUI: Add two icons add-user and clip-attach (#87112)
* add two icons add-user and clip-attach

* rename clip-attach to attach
2024-05-01 17:27:27 +01:00
dependabot[bot] 49e82eb4c1 Chore(deps): Bump github.com/Masterminds/sprig/v3 from 3.2.2 to 3.2.3 (#87020)
Bumps [github.com/Masterminds/sprig/v3](https://github.com/Masterminds/sprig) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/Masterminds/sprig/releases)
- [Changelog](https://github.com/Masterminds/sprig/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Masterminds/sprig/compare/v3.2.2...v3.2.3)

---
updated-dependencies:
- dependency-name: github.com/Masterminds/sprig/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 11:24:37 -04:00
Alexa V 9ea1042329 Dashboard: POC to run existing e2e with dashboardScene feature toggle (#84598)
* Standarize e2e for addDashbaord e2e flow

* WIP: Duplicate e2e dashboard flows and smoke test for scene e2e tests

* Fix autoformatting mistake for bash file

* Enable dashboardScene using local storage and only for the scene folder

* Add missing folders

* Set the feature toggle in the before of all tests

* Revert "Standarize e2e for addDashbaord e2e flow"

This reverts commit 6b9ea9d5a4.

* Add missing e2e selectors to NavToolbarActions, and modify addDashboard scene flow

* e2e: panels_smokescreen.spec.ts migrated

* e2e smokeTestSceneario migrated

* Start migrating dashbaord-suite e2e

* WIP create variable types

* adjust tests for scenes

* restore dashboard json file

* update scenes version

* restore pkg/build/wire/internal/wire/testdata modifications

* finalising test adjusments

* restore pkg/build/wire/internal/wire/testdata files

* add latest scenes version and update tests

* add drone setup for dashboard scenes tests

* update to latest scenes version

* adjust drone errors

* adjust indentation in drone yml file

* drone adjustments

* add github workflow to run scenes e2e

* restore drone file

* adjust github workflow

* wip: github workflow adjustments

* test remove gpu

* bump

* undo formating changes

* wip: github workflow debugging

* adjusting flaky tests

* update to latest scenes

* clean up workflow file

* adjust flaky test

* clean up pr

* finalise worflow logic and add to codeowners

* clean up launching old arch dashboards e2e separately

---------

Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
Co-authored-by: Jeff Levin <jeff@levinology.com>
2024-05-01 17:56:48 +03:00
Adela Almasan 0fbfb67b15 XY Chart: Show mapped size/color fields in tooltip (#87153) 2024-05-01 09:55:11 -05:00
Krishna Dhakal deb6d27406 Core: Replace deprecated jest matcher toBeCalledWith (#86635)
* Replace depredated matcher from jest

* perform rechecks

---------

Co-authored-by: joshhunt <josh@trtr.co>
2024-05-01 15:33:26 +01:00
Jack Baldry c5217aa632 Update doc-validator workflow to support ref URIs (#86423) 2024-05-01 15:05:08 +01:00
Torkel Ödegaard 4034a26972 DashboardScene: Fixes issue referring to library panel in dashboard data source (#87125)
* DashboardScene: Fixes issue using a library panel as source for dashboard data source

* Added test
2024-05-01 14:30:54 +02:00
Laura Benz f806b9749d refactor: replace static placeholders with translatable ones (#87130)
* refactor: replace static placeholders with translatable ones

* refactor

* refactor: keep default option

* refactor: improve expression

* refactor: run extraction after merging fix
2024-05-01 13:17:53 +02:00
Josh Hunt b0f1222a21 Chore: Restore pseudoizer dep (#87166) 2024-05-01 12:45:34 +03:00
Torkel Ödegaard 7a5c17d613 DashboardScene: Fixes issue with panel edit options pane and data (#87161) 2024-05-01 11:17:48 +02:00
Ashley Harrison f15f21a13f Dashboard: Only show Starred as parent breadcrumb for starred dashboards (#87145)
don't update pageNav to have folder if sectionNav is starred
2024-05-01 09:55:31 +01:00
Joey 5cee521dc9 Tempo: Use ellipsis when trace view header url is too long (#86417)
* Limit url length

* Update styles to use objects

* Update width

* Add url to tooltip
2024-05-01 09:20:37 +01:00
Arati R 61f3d08c3f Storage: Add List support for pagination (#87093)
* Add origin keys to List request
* Check origin keys requirement in the sql entity server's List method
* Refactor mode 2 List
* Check origin keys before making Storage List call

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-05-01 08:42:47 +02:00
Isabel Matwawana 406fe8c85a Docs: Add thresholds shared content (#87009)
* Added thresholds shared files

* Added shared files to visualizations and updated shared files

* Removed future tense

* Fixed prettier
2024-04-30 16:33:31 -04:00
Isabel Matwawana dad3069594 Docs: add legends shared content (#86814)
* Updated shared file name and added missing options

* Added legend options 1 shared file to relevant visualizations

* Updated shared file name and corrected options

* Added legend options 2 shared file to relevant visualizations

* Updated legend content for heatmap and pie chart

* Added where shared legend files are used in each file

* Moved intro text out of viz pages into legend options shared files

* Added reasoning to front matter of shared files

* Added reasoning to front matter of shared files

* Fixed version interpolation and added cloud links

* Updated links in shared files
2024-04-30 15:40:07 -04:00
bornohin6 7ce1254913 CloudMigration: Remove details from the migration run list (#87104)
Remove details from the migration run list
2024-04-30 11:44:35 -07:00
Adela Almasan 4312f2accd XYChart2: Fix tooltip mode (#87147) 2024-04-30 13:19:37 -05:00
Kevin Yu a54df47976 CloudWatch: Add labels for Metric Query type queries (#85766)
* CloudWatch: Fix metric query with group by not being labelled in alerts

* just use one key for the labels

* not needed

* unused function

* add tests

* pr comments

* fetch dimensions to build labels for MetricQuery type queries

* pr comments

* group cache related tests and use fresh cache for non-cache related tests

* don't cache empty values
2024-04-30 09:06:16 -07:00
Tom Ratcliffe b0f6913ef6 Alerting: unify alert rule actions between list and detail view (#86071)
* Add mock method for getting a plugin

* Update tests to find "more" button via label

* Remove test for Silence action in rule details

* Unify alert rule actions to pull from same place

* Restore behaviour of only showing incident button when firing

* Fix identifier and pause permission/logic

* Remove TODO comment related to refactor

* Update snapshot for useAbilities

* Undo optional param

* Rename alert rule menu hook to component

* Refactor hook to component

* Rename Rule action buttons component

* Chore: update style syntax for RuleDetails

* Add tests for refactored alert rule menu

* Only re-fetch Grafana managed alerts after pausing/resuming

* Remove console log and check for extensions

* Improve share rule generation of GMA rules

* Rename component

* Update action

* Refactor plugins and fix tests

* lint

---------

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-04-30 16:17:55 +01:00
William Wernert 93519f70ca Alerting: Also fix HCL field name for MuteTimeIntervals (#87079)
* Correct HCL field name for MuteTimeIntervals

* Update test
2024-04-30 16:14:01 +01:00
Ieva 5e060d2d99 Data source: Maintain the default data source permissions when switching from unlicensed to licensed Grafana (#87119)
set managed data source permissions upon resource creation for unlicensed Grafana, remove them on deletion
2024-04-30 16:05:30 +01:00
Alex Khomenko 86aceb7a10 Saga-icons: Forward SVG attributes (#87138) 2024-04-30 15:58:25 +01:00
antonio 1ddbcc3f61 alerting/notifications: links (#87122)
* added links to each section

* ref fix

* ref fix2

* link fix
2024-04-30 16:34:18 +02:00
antonio 99f2de0847 alerting:config-notifications links (#87127)
* alerting:config-notifications links

* link fix

* linked blog post to examples section
2024-04-30 16:34:06 +02:00
Aaron Godin 53f94ac50d Apply plugin route ReqAction to ds_proxy authorization (#86466)
* Apply plugin route ReqAction to ds_proxy authorization

Co-authored-by: Eric Leijonmarck <eleijonmarck@users.noreply.github.com>

* fix: move ds_proxy route Evaluator out of plugins pkg

* move DataSourceProxy route authorization to method

---------

Co-authored-by: Eric Leijonmarck <eleijonmarck@users.noreply.github.com>
2024-04-30 09:19:34 -05:00
Steve Simpson 5c89b8fe12 gRPC Server: Make message size limits configurable. (#86982)
* gRPC Server: Make message size limits configurable.

* Fix mistake, don't add opts twice

* Apply suggestions from code review

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>

---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2024-04-30 16:18:03 +02:00
ismail simsek 4cc6b53a6d Chore: InfluxDB unit testing overhaul (#86586)
* move mocks into the __mocks__ folder

* refactor datasource.test.ts

* refactor datasource_backend_mode.test.ts

* add dbName tests

* prettier

* betterer
2024-04-30 09:59:42 -04:00
Gábor Farkas 3d80693456 postgres: simpler test (#86331) 2024-04-30 15:27:20 +02:00
Marcus Efraimsson 2fc99375df Chore: Upgrade otel dependencies (#86994)
* Chore: Upgrade otel dependencies

* sdk changes

* ignore deprecated go.opentelemetry.io/otel/exporters/jaeger for now

* use latest commit from sdk branch

* sdk v0.228.0
2024-04-30 15:12:45 +02:00
Mihai Doarna 76d94b35c9 SSO: fix settings merge for SAML fields (#86970)
* fix sso settings merge for saml fields

* change func name
2024-04-30 15:10:27 +03:00
Andreas Christou 125ac18fa3 AzureMonitor: Enable session ID header for Log Analytics (#86320)
* Enable option

- Update sdk

* Sync go.work
2024-04-30 13:10:04 +01:00
Karl Persson a2cba3d0b5 User: Add tracing (#87028)
* Inject tracer in tests

* Annotate with traces

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-04-30 13:15:56 +02:00
Alex Khomenko 7f1b2ef205 Select: Add data-testid to Input (#87105)
* Select: Add custom input component

* Forward data-testid

* Add input selector

* Props check
2024-04-30 14:04:58 +03:00
Arati R ec6f59a678 Chore: Update protoc-gen-go (#87116)
Update protoc-gen-go
2024-04-30 12:14:33 +02:00
antonio 9203f84bc8 docs / alerting / fundamentals / templates (#86983)
* docs / alerting / fundamentals / templates

* renamed and adjusted front matter

* pretty

* frontmatter

* admonition fix

* admo

* restructuring

* Update docs/sources/alerting/fundamentals/notifications/templates.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/templates.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/templates.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/templates.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/notifications/templates.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* amended admonition

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-04-30 12:06:25 +02:00
Tim Mulqueen 6dbc44920c Dashboard Scene - Variable Fix: cancel out margin-bottom of placeholder in loading state (#87107)
fix: cancel out margin-bottom of placeholder in loading state
2024-04-30 10:54:25 +02:00
Konrad Lalik 9369f07e32 Alerting: Immutable plugin rules and alerting plugins extensions (#86042)
* Add pluginsApi

* Add rule origin badge

* Make plugin provided rules read-only

* Add plugin settings caching, add plugin icon on the rule detail page

* Add basic extension point for custom plugin actions

* Add support for alerting and recording rule extensions

* Move plugin hooks to their own files

* Add plugin custom actions to the alert list more actions menu

* Add custom actions renderign test

* Add more tests

* Cleanup

* Use test-utils in RuleViewer tests

* Remove __grafana_origin label from the label autocomplete

* Remove pluginsApi

* Add plugin badge tooltip

* Update tests

* Add grafana origin constant key, remove unused code

* Hide the grafana origin label

* Fix typo, rename alerting extension points

* Unify private labels handling

* Add reactive plugins registry handling

* Update tests

* Fix tests

* Fix tests

* Fix panel tests

* Add getRuleOrigin tests

* Tests refactor, smalle improvements

* Rename rule origin to better reflect the intent

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-04-30 10:34:52 +02:00
Andreas 'count' Kotes 78cda7ff5c Schema: add missing insertNulls to GraphFieldConfig (#85861)
add missing insertNulls to GraphFieldConfig

Co-authored-by: joshhunt <josh@trtr.co>
2024-04-30 10:21:49 +03:00
Misi 1cb3f332a1 Chore: Remove extra sql select from the Insert function of userimpl.store (#87060)
Remove getAnyUserType
2024-04-30 08:54:20 +02:00
Jack Westbrook 0f4db3f5ad Fix: yarn build in DockerFile (#86858) 2024-04-30 07:58:25 +02:00
Yuri Tseretyan 052082a927 Alerting: Refactor Alert Rule Generators (#86813) 2024-04-29 21:52:15 -04:00
kay delaney 8bb9b06e48 Chore: Rewrite grafana-sql css using object styles (#87052) 2024-04-29 22:34:10 +01:00
Adela Almasan e3719471d5 Heatmap: Fix histogram highlighted series (#86955) 2024-04-29 16:02:38 -05:00
Scott Lepper 7505af2886 Chore: Update go-duck dependency to v0.0.18 (#87073)
* Chore: Update go-duck dependency to v0.0.18
2024-04-29 14:46:19 -04:00
Andrej Ocenas 16395f9f23 Pyroscope: Add adhoc filters support (#85601)
* Add adhoc filters support

* Add tests

* refactor tests

* Add comment

* Removed empty param docs
2024-04-29 20:41:40 +02:00
William Wernert 70ff229bed Alerting: Use expected field name for receiver in HCL export (#87065)
* Use expected field name for receiver in hcl

Terraform provider expects `contact_point` instead of `receiver` in
notification settings on a rule.
2024-04-29 18:13:29 +01:00
Larissa Wandzura 3845033308 Docs: Update Explore Metrics doc based on feedback (#87062)
* changed from private preview to public preview

* commented out pivot to logs and traces
2024-04-29 12:09:47 -05:00
Isabella Siu 7b392d40a0 Auth: Sign sigV4 request after adding headers (#87063) 2024-04-29 13:07:45 -04:00
Gilles De Mey b679a32fad Alerting: Allow deleting contact points referenced only by auto-generated policies (#86800) 2024-04-29 17:48:54 +01:00
Santiago 36a0499128 Alerting: Implement CreateSilence in the forked Alertmanager (remote primary mode) (#85716) 2024-04-29 18:47:25 +02:00
Drew Slobodnjak 49fbe970fb Canvas: Fix connection hyperbolic bug (#87002)
* Canvas: Connection original persistence check

* Canvas: Fix connection hyperbolic bug
2024-04-29 09:16:01 -07:00
Julien Duchesne 8d8f19b84f Regenerate OpenAPI spec (#87050)
Issue: https://github.com/grafana/grafana/issues/86453
The endpoints were documented in enterprise Grafana
2024-04-29 16:27:59 +01:00
Santiago 1af2e69625 Alerting: Implement DeleteSilence in the forked AM (remote primary) (#85721) 2024-04-29 17:23:41 +02:00
Drew Slobodnjak 7590f4afe1 Canvas: Connection original persistence check (#86476)
* Canvas: Connection original persistence check

* modify current connection state directly instead of copying and needing to call "onChange"

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-04-29 08:23:26 -07:00
Alex Khomenko 4e6ba433de Grafana/ui: Fix traces icon (#86984) 2024-04-29 17:55:55 +03:00
Tom Ratcliffe 0a02508415 Add more robust error handling for stringifying API responses 2024-04-29 14:15:48 +01:00
Tom Ratcliffe a34d22dcbf Include alertmanager param on creation 2024-04-29 14:15:48 +01:00
Tom Ratcliffe e0ee0b09db Add test to check that a broken alertmanager will handle errors correctly 2024-04-29 14:15:48 +01:00
Tom Ratcliffe aa2f52a2a1 Tidy up error message handling 2024-04-29 14:15:48 +01:00
Tom Ratcliffe fd07b3d431 Link silence test handlers together more clearly and test more cases 2024-04-29 14:15:48 +01:00
Tom Ratcliffe 31231cf5bf Change test render method to use locationService 2024-04-29 14:15:48 +01:00
Tom Ratcliffe a34c02fcf2 Address misc PR feedback 2024-04-29 14:15:48 +01:00
Tom Ratcliffe 9860117399 Add more fine grained tag invalidation/providing for Silences 2024-04-29 14:15:48 +01:00
Tom Ratcliffe 4fb1ac2bec Check error state more reliably 2024-04-29 14:15:48 +01:00
Tom Ratcliffe a0373c66c3 Add fallback for alertmanager alerts 2024-04-29 14:15:48 +01:00
Tom Ratcliffe 9bf2cf0a52 Rename silences RTKQ tag 2024-04-29 14:15:48 +01:00
Tom Ratcliffe 4d4bf39184 Check for server received body
This is not ideal! Preference would be to have a more robust mock server
that responds to the received silence and appends it to a stateful list for the test
and then resets afterwards
2024-04-29 14:15:48 +01:00
Tom Ratcliffe 0dc003aadc Split handlers out into separate files 2024-04-29 14:15:48 +01:00
Tom Ratcliffe f419c9b53a Add comment explaining reset in silences editor 2024-04-29 14:15:48 +01:00
Tom Ratcliffe df5c62b8ad Misc tidy up 2024-04-29 14:15:48 +01:00
Tom Ratcliffe 21a3f4817a Add correct tag invalidation after creating a silence 2024-04-29 14:15:48 +01:00
Tom Ratcliffe cdfc6baea4 Remove unused fetchAlerts method 2024-04-29 14:15:48 +01:00
Tom Ratcliffe f397830098 Refactor Silences test 2024-04-29 14:15:48 +01:00
Tom Ratcliffe 10fcd541e3 Add handlers to mock server 2024-04-29 14:15:48 +01:00
Tom Ratcliffe 341449f4f5 Remove unused actions/reducers 2024-04-29 14:15:48 +01:00
Tom Ratcliffe a1d2a9670b Restructure Silences components for better separation of concerns 2024-04-29 14:15:48 +01:00
Tom Ratcliffe 11ed882c84 Add mock server handlers necessary for Silences 2024-04-29 14:15:48 +01:00
Tom Ratcliffe 8f27ec2521 Add silences RTK Query API 2024-04-29 14:15:48 +01:00
kay delaney 6f875188b7 Chore: Clean up package.json files (#86951)
* Chore: Clean up package.json files

Removes any unused packages, adds missing peer dependencies
2024-04-29 14:03:01 +01:00
Haris Rozajac b52e349639 Explore and Correlations: Replace deprecated layout components (#86967)
Replace deprecated layout components
2024-04-29 13:50:03 +01:00
Piotr Jamróz 5830d6761d ifrost/fix-link (#86965)
* Fix link label

* Switch to lowercase
2024-04-29 14:33:00 +02:00
Matias Chomicki f1e8d2645f Loki: update HorizontalGroup deprecation (#86995)
* Loki: update HorizontalGroup deprecation

* Update betterer
2024-04-29 13:14:06 +01:00
Ashley Harrison c151a97110 Chore: Enable no-unreduced-motion and fix errors (#86572)
* enable `no-unreduced-motion` in betterer

* move all animation calls inside handleReducedMotion

* fix violations + enable rule

* update rule README

* remove unnecessary transition from <Collapse>

* remove handleReducedMotion utility and add handleMotion to theme

* update to use new theme value

* handle Dropdown and IconButton

* handle AppChromeMenu and update lint message

* keep rotation at a reduced speed

* handle DashboardLoading
2024-04-29 13:12:36 +01:00
Eric Leijonmarck 8a1f43a65d User: Remove the lowercasing in the query for login conflict (#87032)
* refactor: remove the lowercasing in the query for login conflict

* refactor: move function into the closure gs
2024-04-29 12:24:14 +01:00
Ieva cee713e34c Chore: Add tracing to team service (#86999)
* add tracing to team service

* another test fix

* pass in context for team creation and membership checking
2024-04-29 11:32:03 +01:00
Steve Simpson fbaa847a3c Alerting: Pass logger into NewRemoteLokiBackend. (#87029)
Tiny refactor to allow a logger to be passed into NewRemoteLokiBackend.
2024-04-29 12:10:23 +02:00
github-actions[bot] 706110be62 I18n: Download translations from Crowdin (#86807)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-29 11:50:15 +02:00
Thomas Wikman 7fab894e9b DateTimePicker: Alternate timezones now behave correctly (#86750)
* Add failing tests for timezone handling

* Fix `DateTimePicker.tsx` timezone handling

- Resolves `onBlur` issue
- Resolve Calendar and TimeOfDay issues
- Update test to cover different timezone

* Handle `console.warn` in test

* Handle `console.warn` in test #2

* Better handling of invalid date

When parsing date string with `dateTime`, adding a second `formatInput` aids in both parsing the actual string and avoid `console.warn` when `moment` reverts to be using `Date`.

* add more test cases

* Ash/proposed changes (#86854)

* simplify

* only need this change

* formatting

* const > let

* add test to ensure calendar is always showing the matching day

* separate state

* undo story changes

* update util function comments

* fix for selecting date in the calendar

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-29 10:46:44 +01:00
Dai Nguyen ccd2bff8b0 Docs: Create the Azure AD application section has outdated information. (#71498)
Update index.md
2024-04-29 10:24:49 +01:00
Levente Balogh e89f6daeda Plugins: Add an auto-generated part to the plugin.json schema (#86520)
feat: update the plugin.json schema
2024-04-29 11:04:03 +02:00
Torkel Ödegaard a4bb4c8400 DashboardScene: Fixes issues with relative time range in panel edit (#86862)
* DashboardScene: Fixes deleting dirty dashboard

* Update

* Progress

* Update

* Update

* Update

* Update

* Update

* Update

* update

* Update
2024-04-29 10:53:57 +02:00
Torkel Ödegaard 01f8301504 DashboardScene: Fixes issue with dashboard links and variables (#86910)
* DashboardScene: Fixes issue with dashboard links and variables

* Update
2024-04-29 10:28:41 +02:00
Victor Marin 8705e03d57 Home dashboard test (#86961)
home dashboard test
2024-04-29 10:56:06 +03:00
Gábor Farkas 500558bb72 mysql decouple frontend part (#86308)
* mysql decouple frontend part

* eslint "fix"

* package version update
2024-04-29 09:55:09 +02:00
Dominik Prokop 67968df70e DashboardDataSourceBehaviour: Handle loading library panel (#86980)
* DashboardDataSourceBehaviour: Handle loading library panel

* Remove timeout

* FIx test
2024-04-29 09:49:46 +02:00
Oscar Kilhed fdc1023586 Dashboard scenes: Fix min interval not saving (#86962)
* Fix min interval not saving

* Add tests

* Fix test
2024-04-29 09:41:43 +02:00
Karl Persson c4cfee8d96 User: support setting org and help flags though update function (#86535)
* User: Support setting active org through update function

* User: add support to update help flags through update function
2024-04-29 08:53:05 +02:00
brendamuir 7077a5850e Alerting docs: more vale (#86978) 2024-04-27 09:59:42 +02:00
Juan Cabanas b77763bbcc ShareModal: Differentiate between panel and dashboard share for tracking (#86992) 2024-04-26 15:35:39 -03:00
Isabel Matwawana d5fde99c6d Docs: Add value mappings shared content (#86996)
* Added value mappings shared file

* Fixed name of file

* Fixed list of visualizations using shared file

* Added shared file to visualizations

* Updated shared file and added to canvas

* Updated shared file intro text

* Removed future tense
2024-04-26 14:32:01 -04:00
kay delaney 1dbb3bfdea Scenes/PanelVizTypePicker: Use default tab if listMode is unsupported (#86885)
Closes #84565
2024-04-26 18:44:18 +01:00
Ben Sully f2ca115913 Scenes: support interpolations in TemplateSrv.replace (#86990)
TemplateSrv.replace takes an optional 'interpolations' argument which
records information about the variables which were found during the
interpolation. Until [this Scenes PR][scenes PR] this wasn't supported
by Scenes so the interpolations argument was being ignored if dashboard
scenes were enabled. This commit bumps the scenes version and passes
the interpolations array along to the scenes function.

[scenes PR]: https://github.com/grafana/scenes/pull/708
2024-04-26 16:44:36 +01:00
Darren Janeczek 9af4607e78 datatrails: fix bookmark/recent trail detection, prevent duplications, save trail on browser close/reload (#85677)
* fix: persistence trail detection, save on unload

- fixes detection on bookmarks and recents when current step isn't final
- now save current trail on browser close or reload (unload)
- refresh page or return to URL that corresponds to a recent trail will
   resume that trail instead of creating a duplicate recent trail
- do not create a recent trail out of an empty starting trail

* fix: bookmarks status after making new step

- clone bookmark trail state to prevent it from being changed by user
- re-evaluate bookmark status after creating new step
2024-04-26 11:35:38 -04:00
linoman 9a1f9c126f Replace deprecated layout elements (#86977) 2024-04-26 17:13:28 +02:00
Oscar Kilhed c3cde17b33 Dasbhoard scenes: Don't return null when uids are not matching for new dashboards (#86998)
Don't return null when uids not matching for new dashboards
2024-04-26 17:12:47 +02:00
Hugo Kiyodi Oshiro 7783b16e47 Plugins: Make grafana-com API URL usage consistent (#86920)
Plugins: Fix grafana-com API URL usage
2024-04-26 16:47:38 +02:00
Juan Cabanas 85c23eed38 ShareModal: Remove PublicDashboard tab when share panel (#86946) 2024-04-26 11:34:55 -03:00
Mihai Doarna 45effc48d9 Auth: ignore non-OAuth2 providers when creating social connectors (#86989)
ignore non-oauth2 providers when creating social connectors
2024-04-26 17:14:31 +03:00
Kristina e6f51536bf Explore: Add tests around query history errors (#86810)
* WIP build tests

* Fix one test :D

* Unskip, remove console logging, fix limit test

* Add back whitespace
2024-04-26 08:09:31 -05:00
Eric Leijonmarck eaad38e492 TeamLBAC: Add a limit to the docs for the number of rules (#86971)
teamlbac: update to include the limit for the rules
2024-04-26 13:01:04 +01:00
brendamuir fd30ceed3e Alerting docs: vale fixes (#86972)
* Alerting docs: vale fixes

* ran prettier
2024-04-26 12:17:06 +02:00
Eric Leijonmarck f9714b9672 Docs: Update manage rbac w. toc and reference to provisioning w. file (#81120)
* docs: toc and reference to provisioning

* Update docs/sources/administration/roles-and-permissions/access-control/manage-rbac-roles/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-04-26 10:09:08 +01:00
Marcus Efraimsson aec4a23d21 Chore: Cleanup require sections in go.mod (#86952) 2024-04-26 09:40:23 +02:00
Alex Khomenko 8117aad9af Stack: Add size props (#86900)
* Abstract sizing styles from Box

* Upd name

* Stack: Add sizing props

* Revert

* Update LoginServiceButtons
2024-04-26 08:17:16 +03:00
Darren Janeczek ff761bb7d6 Tooltips: Ensure new viz tooltips are visible within modals (alternative solution) (#86716)
fix: ensure new viz tooltips are visible within modals

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-04-25 16:27:24 -04:00
Yuri Tseretyan dff7cb9afb Alerting: Move alertmanager api silence code to separate files (#86947)
* Move alertmanager api silence code to separate files unchanged

* Replace with silence model instead interface

---------

Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>
2024-04-25 15:20:37 -04:00
kay delaney 0f98bd3b7b Chore: Rewrite dashboard component css using object styles (#86930) 2024-04-25 20:18:02 +01:00
Marcus Efraimsson fbcb9a3677 Chore: Upgrade/fix deps after thema removal (#86763)
* Chore: Upgrade/fix deps after thema removal

* github.com/deepmap/oapi-codegen v1.14.0

* github.com/deepmap/oapi-codegen v1.15.0

* github.com/deepmap/oapi-codegen v1.16.0

* fix for dep used in enterprise

* github.com/deepmap/oapi-codegen/v2 v2.0.0

* oapi-codegen/v2 v2.1.0, kin-openapi v0.122.0, sdk

* keep kin-openapi at v0.122.0 and allow SDK to use v0.124.0

* remove github.com/deepmap/oapi-codegen v1 dep

* fix owner

* add back github.com/deepmap/oapi-codegen v1 dep

* upgrade github.com/influxdata/influxdb-client-go/v2 to get rid of deepmap/oapi-codegen

* migrate to oapi-codegen/runtime

* sdk

* sdk v0.227.0
2024-04-25 20:52:09 +02:00
Juan Cabanas 9f07c37fac ShareModal: Fix share link tracking (#86940) 2024-04-25 15:38:12 -03:00
Leon Sorokin d1b67847a2 Migrations: Graph (old) percent stacked (#84335) 2024-04-25 12:51:07 -05:00
Matthew Jacobson 3397e8bf09 Alerting: Improve error when receiver or time interval used by rule is deleted (#86865)
* Alerting: Improve error when receiver used by rule is deleted

* Remove RuleUID from public error and data

* Improve fallback error in am config post

* Refactor to expand to time intervals

* Fix message on unchecked errors to be same as before
2024-04-25 13:36:00 -04:00
Eric Leijonmarck e394e16073 Auth: Force lowercase login/email for users (#86359)
* [WIP]: Force lowercase login/email for user CRUD

* warn and remove use of userCaseInsensitiveLogin check

* remove log warning

* reimplementation of the caseinsensitive

* need to decide if we want the conflict check or not

* remvoved the tests for conflict user by getEmail, getLogin

* added tests for user lowercase migration

* wip: emails next

* tests for email lowercasing

* review comments

* optimized login and email lookup before migrating
2024-04-25 17:31:17 +01:00
Ieva 748b3c855c Chore: Clean up team membership code (#86914)
remove unused code, clean up commands
2024-04-25 16:46:24 +01:00
Mihai Doarna 4bf9405ce4 SSO: add SSO settings to secrets migrator (#86913)
* add sso settings to secrets migrator

* unify SSO settings in all log lines
2024-04-25 18:30:23 +03:00
Marcus Efraimsson ac152ca416 Chore: Upgrade grpc-ecosystem/go-grpc-middleware to v2 (#86724)
* Chore: Replace deprecated prometheus grpc middleware

* go mod tidy without enterprise

* with updated sdk branch

* sdk v0.226.0

* remove deprecated opentracing support for outgoing plugin requests

* migrate to github.com/grpc-ecosystem/go-grpc-middleware/v2

* fix
2024-04-25 17:25:48 +02:00
antonio 42778de2b4 alerting>intro>templates (#86850)
* alerting>intro>templates

* restored alias url

* numbering

* diagram

* Update docs/sources/alerting/fundamentals/notifications/message-templating.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* formatting

* figure fix

* Brenda edits

* Brenda edit 2

* new diagram

* new diagram2

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-04-25 17:01:23 +02:00
Mihai Doarna 28e86c3edb Mention the migrator in the secrets service readme (#86922)
mention the migrator in the secrets service readme
2024-04-25 17:44:55 +03:00
kay delaney 917cbce448 Scenes: Remove lodash usage from DetectChangesWorker (#86683) 2024-04-25 14:42:24 +01:00
Imma Valls 262cb82132 Explore: add links to metrics and correlations editor to Explore (#86474)
add links to metrics and correlations editor
2024-04-25 15:09:38 +02:00
Todd Treece 32215adb37 Chore: Remove HorizontalGroup and VerticalGroup from storage (#86888) 2024-04-25 13:58:25 +01:00
Sonia Aguilar a68df4be88 Alerting: Skip flaky test (#86921)
Skip flacky test
2024-04-25 13:43:37 +01:00
Tom Ratcliffe f43762f39a Remove (most) occurrences of HorizontalGroup within Alerting 2024-04-25 12:54:41 +01:00
Alexa V e711d10925 Dashboard: Migration Fixes Mixed data source losing existing queries (#86883) 2024-04-25 13:06:57 +02:00
Karl Persson cd724d74aa Authn: move namespace id type (#86853)
* Use RoleType from org package

* Move to identity package and re-export from authn

* Replace usage of top level functions for identity

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-04-25 12:54:36 +02:00
Timur Olzhabayev ed89354eaa Chore: Adding debug logging to signature checks (#86915)
Adding debug logging to signature checks
2024-04-25 11:53:10 +01:00
Tobias Skarhed 18c4bee18e DashboardLinks: Make click area bigger in the list (#86481)
* DasboardLinks: Make click area bigger in the list

* Update DashboardLinkList.tsx

* Remove import
2024-04-25 10:59:04 +01:00
George Robinson c049e5bbfc Alerting: Update grafana/alerting to bb4f4f4 (#86827) 2024-04-25 10:47:01 +01:00
Erik Sundell 1c121ff764 Units: add test cases for siprefix (milli, micro, etc) (#86695) 2024-04-25 12:04:45 +03:00
Erik Sundell 0140dfdddf Chore: Add e2e selectors to alert rule page (#86909)
wip
2024-04-25 10:00:11 +02:00
Erik Sundell 4ff5a561af Fix: Update lockfile (#86901)
update lockfile
2024-04-25 08:20:02 +02:00
Dave Henderson 8ca10cfe78 Revert "ci: remove milestone check" (#86856)
Revert "ci: remove milestone check (#86452)"

This reverts commit 4bb0b78abb.
2024-04-25 01:31:29 -04:00
Erik Sundell a3ef463499 Grafana packages: Remove E2E workspace (#86416)
* remove e2e package code and any code referencing it

* update code owners

* remove more references to e2e package

* remove unrelated file
2024-04-25 07:12:43 +02:00
Kristin Laemmert f1aa6549f6 Chore: Upgrade go version to 1.22.2 (#86873)
* Chore: Upgrade go version to 1.22.2
* upgrade to latest swagger for go 1.22 compatibility
* regen openapi spec
* upgrade go in github workflows
2024-04-24 14:26:14 -04:00
Isabel Matwawana 0e81fdffbe Docs: add tooltips shared content (#86553)
* Replaced shared tooltips file with text in xy chart

* Added tooltip info for heatmap

* Updated tooltip shared files, renamed one file, updated configure tooltips

* updated tooltip shared file paths

* Added tooltips shared files in relevant visualizations

* Added where shared file is used in tooltip-options-1

* Added where shared file is used in tooltip-options-2

* Added intro text and justifications to shared files

* Removed tooltips intro text from visualizations with shared files

* Added names of files to comments in shared files
2024-04-24 12:40:27 -04:00
Darren Janeczek 53ead9904d datatrails: interpolate adhoc variables and datasource variables when opening "explore metrics" from dashboard panels (#86252)
* fix: interpolate "explore metrics" from panels

---------

Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>

* fix: remove support for legacy dashboard

- simplify code
- take advantage of scenes dashboard async and datasource api object

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-24 12:05:48 -04:00
Ieva 8028d1c3e1 Chore: Update tests to use team membership hooks (#86846)
* update tests to use team membership hooks

* linting
2024-04-24 16:55:42 +01:00
Javier Ruiz 9e54c450d7 Add onClick behaviour to links to new tooltips (#84974)
* Add onClick behaviour to new tooltips

* Prefer using DataLink component
2024-04-24 17:24:47 +02:00
Tom Ratcliffe 0582e05f8f Add PoC for different MSW approach 2024-04-24 15:57:11 +01:00
Torkel Ödegaard c965c27994 DataTrails: Exploring alternatives to history issues (#86843)
* DataTrails: Exploring alternatives to history issues

* incorporated unit tests from #86817 and #86741

---------

Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
2024-04-24 10:36:58 -04:00
Sofia Papagiannaki a5a3ee9fa3 SQLStore: Disable redundant create and drop unique index migrations on dashboard table (#86857)
SQLStore: Disable create and drop unique index migrations
2024-04-24 15:25:43 +01:00
Levente Balogh 17a3ec52b6 Plugin preloading: Fix performance measurement (#86855)
fix: measuring plugin preload performance
2024-04-24 15:37:22 +02:00
Khushi Jain 5dd8353ab1 Dashboards: Migrate from aria-label e2e selectors to data-testid (#78536)
* Dashboards: Migrate from aria-label e2e selectors to data-testid

* more changes

* addPanelwidget

* Test: Update .betterer.results

* refactor: fix e2e tests

* refactor: fix failing test

* refactor: update plugin-e2e after adding selector changes to the packege

---------

Co-authored-by: Laura Benz <48948963+L-M-K-B@users.noreply.github.com>
Co-authored-by: Laura Benz <laura.benz@grafana.com>
2024-04-24 15:16:19 +02:00
Victor Marin 38917c4e79 Fix home breadcrumbs (#86786)
* fix home breadcrumbs

* fix homepage gap

* fix tests
2024-04-24 14:54:30 +03:00
Tobias Skarhed 3e450ec4bf Panel: Keyboard focus shortcuts prioritization (#86772)
* Panel: Keyboard shortcuts prio

* Remove redundant Array.from

* Simplify

* Handle Scenes use case
2024-04-24 13:46:40 +02:00
Josh Hunt f382bd402c Chore: Remove i18n psuedo precommit hook (#86840)
Remove i18n psuedo precommit hook
2024-04-24 13:08:19 +02:00
Jack Westbrook fd1bf66d86 Plugins: Selectively load plugins using script tags (#85750)
* feat(plugins): introduce logic to selectively load fe plugins via script tags

* feat(plugins): extend cache to store isAngular flag. use isAngular in shouldFetch

* revert(plugins): remove unused prepareImport from SystemJSWithLoaderHooks type

* fix(plugins): cache[path] maybe undefined if not registered or invalidated

* Update public/app/features/plugins/plugin_loader.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-04-24 12:27:28 +02:00
Alexander Zobnin 60ed6bfc33 Search: Fix slow query when user does not have roles assigned (#86791)
* Search: Fix slow query when user does not have roles assigned

* Check all required actions and skip if not found
2024-04-24 13:23:08 +03:00
Esteban Beltran 1e1c62fef1 FE Sandbox: Get plugin module path from bootdata instead of plugin settings (#86702)
* FE Sandbox: Get plugin module path from bootdata instead of plugin settings

* Remove unnecessary async/await
2024-04-24 12:05:20 +02:00
Oscar Kilhed e7f40493e4 DashboardScene: Measure and report scene load time (#86267)
* measure scene load time

* Fix tests that fail due to performance not being the proper global performance object in jest

* add isScene parameter to tracking test
2024-04-24 11:45:32 +02:00
Charandas d46b163810 Authn (jwt_auth): add tracing spans for validating newer use cases (#86812) 2024-04-24 02:40:00 -07:00
Konrad Lalik 2db56b9c85 GrafanaUI: Add minWidth and maxWidth props to the Box component (#86607)
* Add minWidth and maxWidth props to the Box component

* Add height props, use theme spacing for sizing
2024-04-24 10:52:00 +02:00
Serge Zaitsev 522a98c126 Chore: Make Cfg field private in SQLStore (#85593)
* make cfg private in sqlstore

* fix db init in tests

* fix case

* fix folder test init

* fix imports

* make another Cfg private

* remove another Cfg

* remove unused variable

* use store cfg, it has side-effects

* fix mutated cfg in tests
2024-04-24 10:38:40 +02:00
Piotr Jamróz f6e472f879 Explore: Show a drawer with tabs for the library and query history (#86279)
* Create basic feature toggle

* Rename context to reflect it contains query history and query library

* Update icons and variants

* Rename hooks

* Update tests

* Fix mock

* Add tracking

* Turn button into a toggle

* Make dropdown active as well

This is required to have better UI and an indication of selected state in split view

* Update Query Library icon

This is to make it consistent with the toolbar button

* Hide query history button when query library is available

This is to avoid confusing UX with 2 button triggering the drawer but with slightly different behavior

* Make the drawer bigger for query library

To avoid confusion for current users and test it internally a bit more it's behind a feature toggle. Bigger drawer may obstruct the view and add more friction in the UX.

* Fix tests

The test was failing because queryLibraryAvailable was set to true for tests. This change makes it more explicit what use case is being tested

* Remove active state underline from the dropdown

* Allow closing Query Library drawer from the toolbar

* Simplify dropdown design
2024-04-24 10:32:11 +02:00
Alexa V de589b98c7 Dashboard: Migration [Panel Edit] Missing Query Editor when datasource is not found (#86789)
* Return default datasource if datasource is not found

* Set query runner datasource state to default, else refreshing will not work
2024-04-24 10:21:01 +02:00
Sven Grossmann a8424f4831 LogContext: Fix structured metadata labels being added as stream selectors (#86825)
* LogContext: Fix structured metadata labels being added as stream selectors

* use row index
2024-04-24 10:00:39 +02:00
Karl Persson 0fa983ad8e AuthN: Use typed namespace id inside authn package (#86048)
* authn: Use typed namespace id inside package
2024-04-24 09:57:34 +02:00
Marcus Andersson 804c726413 PluginExtensions: Make the extensions registry reactive (#83085)
* feat: add a reactive extension registry

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: add hooks to work with the reactive registry

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: start using the reactive registry

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "command palette" extension point to use the hook

* feat: update the "alerting" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "explore" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "datasources config" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "panel menu" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "pyroscope datasource" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "user profile page" extension point to use the hooks

* chore: update betterer

* fix: update the hooks to not re-render unnecessarily

* chore: remove the old `createPluginExtensionRegistry` impementation

* chore: add "TODO" for `PanelMenuBehaviour` extension point

* feat: update the return value of the hooks to contain a `{ isLoading }` param

* tests: add more tests for the usePluginExtensions() hook

* fix: exclude the cloud-home-app from being non-awaited

* refactor: use uuidv4() for random ID generation (for the registry object)

* fix: linting issue

* feat: use the hooks for the new alerting extension point

* feat: use `useMemo()` for `AlertInstanceAction` extension point context

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-04-24 09:33:16 +02:00
Clément Boudereau d48b5ea44d Docs: Fix data source (jaeger, zipkin, tempo) provisioning yaml TracesToLog query example (#86606) 2024-04-24 07:42:29 +01:00
nextMJ 309adcaa7f Typo fix in User API doc example (#81890)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-04-24 06:13:51 +01:00
kay delaney b7995ae18a Chore: Rewrite grafana-flamegraph css using object styles (#86816) 2024-04-23 23:28:37 +01:00
Nathan Marrs 5dea949433 Canvas: Match connection anchor points to elements (#85421)
Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
2024-04-23 14:26:53 -07:00
Josh Hunt fc5007b0d5 Dashboards: Fix minor i18n papercuts that snuck through (#86802)
* fix two issues in dashboards i18n

* import

* fix another
2024-04-23 19:30:11 +01:00
dependabot[bot] 2c5b684b85 Chore(deps): Bump google.golang.org/api from 0.162.0 to 0.176.0 (#86794)
* Chore(deps): Bump google.golang.org/api from 0.162.0 to 0.176.0

Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.162.0 to 0.176.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.162.0...v0.176.0)

---
updated-dependencies:
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* but does it work across all workspaces

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kristin Laemmert <mildwonkey@users.noreply.github.com>
2024-04-23 12:32:16 -04:00
Pepe Cano 14789db1b7 Docs: add Provisioning section to Install on Kubernetes docs (#83875)
* Docs: add `Provisioning` section to `Install on Kubernetes` docs

* prefix k8s object names with `grafana-`

* Fix `suplying` typo
2024-04-23 18:24:25 +02:00
Nathan Marrs 709d78b8b5 Chore: Fix CVE-2024-22363 (#86738) 2024-04-23 09:24:02 -07:00
Kyle Cunningham 37d086d49c Table Panel: Fix images not showing on hover with multiple data links (#86732)
* Fix issue

* Prettier

* codeincarnate/image-table-fix/ lint

* Make linter happy by using div with role of button + improve a11y

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-04-23 23:03:24 +07:00
dependabot[bot] ca7f41be11 Chore(deps): Bump buf.build/gen/go/parca-dev/parca/protocolbuffers/go from 1.28.1-20221222094228-8b1d3d0f62e6.4 to 1.33.0-20240414232344-9ca06271cb73.1 (#86092)
Chore(deps): Bump buf.build/gen/go/parca-dev/parca/protocolbuffers/go

---
updated-dependencies:
- dependency-name: buf.build/gen/go/parca-dev/parca/protocolbuffers/go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-23 12:02:36 -04:00
dependabot[bot] 18a4c56539 Chore(deps): Bump go.opentelemetry.io/collector/pdata from 1.0.1 to 1.5.0 (#86091)
* Chore(deps): Bump go.opentelemetry.io/collector/pdata

Bumps [go.opentelemetry.io/collector/pdata](https://github.com/open-telemetry/opentelemetry-collector) from 1.0.1 to 1.5.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.0.1...pdata/v1.5.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/collector/pdata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* go work sync

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kristin Laemmert <mildwonkey@users.noreply.github.com>
2024-04-23 11:58:17 -04:00
Kristin Laemmert 9553923eb7 Chore: Fix failing ssosettingimpl test (#86792)
Chore: Fix failing ssosetting test
2024-04-23 11:36:34 -04:00
Drew Slobodnjak 173ba73a8a Canvas: Ensure tangency for first segment (#86543) 2024-04-23 07:54:42 -07:00
George Robinson 2049f766c6 Remove fmt.Println of client certificate (#86773) 2024-04-23 15:15:52 +01:00
Laura Fernández 2fb38a34ac Navigation: Add a return to previous button when navigating to different sections (#86764) 2024-04-23 15:56:04 +02:00
Mihai Doarna 3dabc3ff5d SSO: filter out SAML from the SSO providers in UI (#86768)
* filter out saml from sso providers

* fix lint error
2024-04-23 16:55:01 +03:00
Ashley Harrison a1321d17ca TimeOfDayPicker: Fix text colours in light mode (#86771)
fix text colours in light mode
2024-04-23 14:50:42 +01:00
Mihai Doarna bf15329492 SSO: run the validation on upsert with all secrets in settings (#86579)
* run the validation on upsert with all secrets in settings

* rename social to reloadable
2024-04-23 16:50:16 +03:00
Santiago a6be12c037 Alerting: Implement SaveAndApplyConfig in the forked Alertmanager (remote primary) (#84659)
* Alerting: Implement SaveAndApplyConfiguration in the forked Alertmanager struct

* call SaveAndApplyConfig on the remote first, log errors for the internal

* add comments explaining why we ignore errors in the internal AM

* restore go.work.sum
2024-04-23 15:45:35 +02:00
Torkel Ödegaard b28e6bc5d8 DashboardScene: Fixes issue with editing panels that uses instanceState (#86687)
* DashboardScene: Fixes issue with editing panels that uses instanceState

* Minor tweak

* Update

* Update
2024-04-23 15:25:16 +02:00
antonio 7067e37971 alerting:labels-annotations elaboration (#86663)
* alerting:labels-annotations elaboration

* applied suggestions

* applied suggestions 2

* modified intro, and labels sections

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* pretty

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-04-23 15:07:29 +02:00
Steve Simpson a6ad2380bf Alerting: Refactor api_prometheus.go request handlers. (#86639)
This splits the request handlers into two functions, one which is the actual
handler and one which is independent from the Grafana `ReqContext` object. This
is to make it easier to reuse the implementation in other code.

Part of the refactoring changes the functions which get query parameters from
the request to operate on a `url.Values` instead of the request object.

The change also makes the code consistently use `req.Form` instead of a
combination of `req.URL.Query()` and `req.Form`, though I have left
`api_ruler` as-is to avoid this PR growing too large.
2024-04-23 14:50:26 +02:00
Sonia Aguilar 68564b1940 Alerting: Gops labels integration (#85467)
* Show list of labels on the alert rule form in a more visual way, and use a modal for managing them

* fix test

* Fix more tests

* Show orange badge when no labels are selected

* Remove unused datasource property in LabelsField

* Remove unused div and add comment

* Use button instead of icon for editing labels

* Use subform for labels

* Move logic fetching labels from different places in a separate hook

* Fix tests

* remove unused getLabelInput const in test

* Add ellispis and tooltip for long labels and move labels list in modal to the bottom

* Use text instead of badge when no using labels

* Fix tests after adding ellipsis and tooltip to the labels

* simplify styles

* Fix fetching values from gops when new key is used

* Address pr review comments

* Address pr review comments part2

* Fix tag on rtkq

* Remove color for no labels selected text

* Disable already used keys in the labels sub form

* Fix typo

* use the UseFieldArrayRemove type from react-hook-form

* Update some styles and text in the labels modal

* Address some review comments (nits)

* Address review comments part1

* Move logic getting labels in useCombinedLabels hook

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-04-23 14:38:31 +02:00
Santiago c77ab53819 Alerting: implement SaveAndApplyConfig in the remote Alertmanager struct (#84642)
* implement SaveAndApplyConfig in the remote Alertmanager struct

* remove ID from CreateGrafanaAlertmanagerConfig call

* decrypt, test that we decrypt, refactor

* fix duplicated declaration in test

* rephrase comment, remove unnecessary conversion to slice of bytes

* fix test
2024-04-23 14:37:10 +02:00
Santiago 8b7c2a459b Alerting: Implement SaveAndApplyDefaultConfig in the forked Alertmanager (remote primary mode) (#85668)
* Alerting: Implement SaveAndApplyDefaultConfig in the forked Alertmanager (remote primary)

* log the error for the internal AM instead of returning it
2024-04-23 14:36:40 +02:00
Esteban Beltran 0ec9c3e01a FE Sandbox: Fix worker post message not handling proxy objects correctly (#86654)
* FE Sandbox: Fix worker post message not handling proxy objects correctly

* use expect error instead of ignore

* use assertion instead of ignore

* Fix formatting
2024-04-23 14:08:34 +02:00
github-actions[bot] 3d55602fde Update make docs procedure (#86746)
Co-authored-by: grafanabot <bot@grafana.com>
2024-04-23 12:52:16 +01:00
Torkel Ödegaard 835b968b08 DashboardScene: Fixes deleting dirty dashboard (#86479)
* DashboardScene: Fixes deleting dirty dashboard

* refactor + unit test
2024-04-23 12:35:16 +02:00
Jack Westbrook e6799be13c Chore: Bump webpack-dev-middleware to 6.1.3 (#86482)
chore(npm): bump version of webpack-dev-middleware to 6.1.3
2024-04-23 12:32:17 +02:00
Jack Westbrook d10303fb05 Chore: Bump ip to 2.0.1 (#86486)
chore(npm): bump ip to 2.0.1
2024-04-23 12:31:27 +02:00
Jack Westbrook c1f70219b5 Chore: Bump express to 4.19.2 (#86487)
chore(npm): bump express to 4.19.2
2024-04-23 12:31:10 +02:00
Tom Ratcliffe 349df74578 Rename debug target to "UI" rather than Jest 2024-04-23 11:26:56 +01:00
Tom Ratcliffe 97b66c2a95 Apply prettier fixes to VSCode debug config 2024-04-23 11:26:56 +01:00
Tom Ratcliffe 37a86872db Remove port and add NODE_ENV to VSCode debug config 2024-04-23 11:26:56 +01:00
Josh Hunt 467d4231f1 E2C: Remove ModalController from MigrationTokenPage (#86709)
* Remove ModalController from MigrationTokenPage

* Dont show modal or toast for error response

* better
2024-04-23 11:23:06 +01:00
renovate[bot] c849b6beaa Update dependency react-i18next to v14 (#86753)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-23 11:11:25 +01:00
Tom Ratcliffe 08200bc533 Nav: Fix alerting links/special cases not selecting the right MegaMenu item (#85336)
* Render current MegaMenu link as `aria-current=page`

* Add overrides capability for mega menu links

* Pass pageNav into getActiveItem so we can use override capability

* Test MegaMenu special cases for starred & dashboards

* Test that overrides for megamenu util works correctly

* Alpha-sort megamenu overrides

* Refactor util for getting active item for megamenu

Update parameters to getActiveItem

Update tests for getActiveItem

* Fix test for starred dashboard and remove query param test

Query param case happens differently in real app and is fiddly to test here

* handle edge cases

* restore handling home page test

* fix dashboard settings

* handle starring properly

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-23 11:04:53 +01:00
Nicki de Wet 2d9d0e61b1 Added Caveat regarding inheritance of Mute timings (#86678)
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-04-23 10:27:24 +02:00
Thomas Wikman 99cbb5281c Grafana UI: Add timezone selector to Storybook toolbar (#86703)
* Add timezone selector to Storybook toolbar

So that it's possible to preview how components that are using date functions, behave when timezone differs from browser/client.

* Re-order imports
2024-04-23 09:09:08 +01:00
renovate[bot] 6c777519d8 Update dependency style-loader to v4 (#86749)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-23 09:08:46 +01:00
renovate[bot] b224be5940 Update dependency @grafana/scenes to v4.12.0 (#86747)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-23 08:50:02 +01:00
renovate[bot] 579cf9bd7d Update dependency esbuild to v0.20.2 (#76342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-23 08:26:02 +01:00
Mihai Doarna 4d9e35ba57 SSO: add configurableProviders list to SSO service (#86622)
* add configurableProviders list to sso service

* address feedback
2024-04-23 10:00:43 +03:00
renovate[bot] 51dcd1d9fd Update dependency eslint-plugin-jest to v28 (#86745)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-23 08:59:28 +02:00
renovate[bot] 41617b174e Update dependency css-loader to v7 (#86711)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-23 07:28:32 +01:00
Oscar Kilhed dccad4e081 Dashboard scenes: fix textbox value only set to first character of default value (#86595)
Dashboard scene: fix textbox value only set to first character in default value
2024-04-23 06:52:26 +02:00
github-actions[bot] 357276da01 I18n: Download translations from Crowdin (#86708)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-23 07:34:17 +03:00
Leon Sorokin 7754d0d4dc XYChart2: Remove common series name from tooltip items (#86739) 2024-04-23 05:24:39 +02:00
Isabel Matwawana 2b3457e6ed Docs: add snapshot deletion info (#86725)
* Added delete snapshots section

* Replicated content, updated heading, and lowered heading level
2024-04-22 18:28:15 -04:00
Isabel Matwawana 05a4b3e80d Docs: Add config guidance for embedding (#86726)
Added note re iframes
2024-04-22 17:02:45 -04:00
Fabrizio 0b2e748bd8 Loki: Fix setting of tenant ID (#86433) 2024-04-22 21:02:56 +01:00
Alexander Weaver c32953e52c Alertign: Create feature toggle for recording rules (#86696)
create toggle for recording rules
2024-04-22 12:53:16 -05:00
Lisa 59eb302fc1 Embed Managing users and permissions video to the documentation (#86387)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-04-22 17:38:11 +01:00
Yuri Tseretyan 9735a8a080 Alerting: Distinguish conflict violation errors (#86634)
* update generator to set ID = 0 and do not set 0 if unique is needed
* return proper message when the constraint violation
2024-04-22 12:28:46 -04:00
renovate[bot] de92317fc7 Update dependency rc-slider to v10.6.2 (#86704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 17:15:34 +01:00
Ashley Harrison fc45b56d9d EmptyState: Apply call-to-action variant in core (#86448)
* apply empty state in a bunch of places

* fix unit tests

* put alert back on top

* add data-testids so e2e tests keep working

* remove info boxes

* fix annotations empty state alignment with new maxWidth
2024-04-22 17:01:24 +01:00
linoman 224d61746a Remove SAML form the list of auth providers for devenv (#86684)
Update README.md

The link for SAML was broken. Since SAML is an enterprise feature, it has been removed.
2024-04-22 17:27:58 +02:00
renovate[bot] c47b4ff8c3 Update dependency mini-css-extract-plugin to v2.9.0 (#86691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 16:04:44 +01:00
Marie Cruz 50b285ac69 docs: update candlestick visualization (#86053)
* docs: update candlestick visualization

* fix: linting issues

* Apply suggestions from code review

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

* docs: add candlestick video

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-22 10:20:10 -04:00
Julian Siebert 14f018e3fc Docs: Use correct description for "og_priority" (#80889) 2024-04-22 13:53:18 +00:00
renovate[bot] 427f361f58 Update dependency @grafana/scenes to v4.11.3 2024-04-22 13:41:01 +00:00
Misi 6ab9dcde8d LDAP: Fix listing all non-matching groups (#86682)
Fix getRowId in LdapUserGroups to list all non-matching groups
2024-04-22 15:34:16 +02:00
renovate[bot] 7564d5cee7 Update dependency core-js to v3.37.0 (#86676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 14:18:57 +01:00
Oscar Kilhed 12771e49fc Dashboards: Check if dashboard.meta is undefined, if undefined handle redirect in dashboard scene. (#86674)
dashboard meta is not available if the dashboard response is a redirect
2024-04-22 15:02:40 +02:00
Kristina 2247d6c415 Short Links: Add setting for changing expiration time (#86003)
* Add setting for changing shortlink expiration time

* Add docs, add better language

* put all the numbers in the duration 🤷

* 🙄

* update language to be correct and clear

* Add max limit and more documentation
2024-04-22 07:39:24 -05:00
Alex Khomenko cad9e23e54 Login page: Fix button width (#86680)
* Fix login buttons width

* Login page: Fix button width

* Add todo
2024-04-22 15:31:11 +03:00
Konrad Lalik 7caa30bc2e Alerting: Add plugins extension point to alerting home page (#85725)
* Add basic extension point to alerting home page

* Remove home page scenes app. Improve plugins styles

* Remove unused code

* Fix home page rendering when no plugins registered

* Add row-based integrations component

* Add missing margins

* Rollback the Box component changes

* Remove unused import
2024-04-22 13:42:11 +02:00
renovate[bot] 686c8013c3 Update dependency @types/diff to v5.2.0 (#86675)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 12:01:43 +01:00
Haris Rozajac a10dcf9661 Explore (bugfix): Expanded section state (#86594)
Fix
2024-04-22 12:47:05 +02:00
Steve Simpson 54290f2ac4 Alerting: Fix TestRouteGetRuleStatuses as much as possible. (#86666)
This test has been skipped for a long time, so it doesn't work anymore. I've
fixed the test so it works again, but left some tests disabled which were
apparently flaky. If we see the other test cases flaking, we'll have to
disable it again.

Fixes:
- Use fake access control for most test cases, and real one for FGAC test cases.
- Check that "file" in API responses the full folder path, not folder title.
2024-04-22 12:36:50 +02:00
renovate[bot] 3364df27c2 Update dependency @grafana/scenes to v4.11.2 (#86671)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 12:36:11 +02:00
Konrad Lalik 1b930c341d Alerting: Fix max_alerts field handling (#86651)
Fix max_alerts field parsing
2024-04-22 12:25:04 +02:00
renovate[bot] 7dc6540ead Update dependency @grafana/faro-web-sdk to v1.6.0 (#86670)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 11:50:21 +02:00
renovate[bot] f9e73ed9a0 Update dependency @grafana/faro-web-sdk to v1.6.0 (#86668)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 11:32:30 +02:00
github-actions[bot] cda0f53f7c I18n: Download translations from Crowdin (#86603)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-22 09:18:39 +00:00
renovate[bot] e6c5dc52d2 Update dependency re-resizable to v6.9.14 2024-04-22 09:13:56 +00:00
George Robinson 30d38c1775 Update the docs for state_periodic_save_interval (#86611)
This commit updates the docs for state_periodic_save_interval following
a question in the forums about what the consequences of this change could
be.
2024-04-22 11:13:02 +02:00
dependabot[bot] 82daadf56b Bump slackapi/slack-github-action from 1.25.0 to 1.26.0 (#86562)
Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 1.25.0 to 1.26.0.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](https://github.com/slackapi/slack-github-action/compare/v1.25.0...v1.26.0)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 09:10:36 +00:00
Lisa 65e6b67b2e Embed creating alerts with Grafana video to the documentation (#86386) 2024-04-22 11:09:00 +02:00
renovate[bot] 97c05dc52d Update dependency jest-date-mock to v1.0.10 2024-04-22 08:55:16 +00:00
Tobias Skarhed b399facf2c GeoMap: Pan and zoom keyboard support (#86573)
* Make GeoMap keyboards navigable

* Remove redundant interaction boolean

* Fix tabIndex error and set role to application

* Update docs
2024-04-22 10:53:32 +02:00
Timur Olzhabayev 951916c668 Chore: Making the plugin install commands respect the config parameter (#86578)
Currently the grafana cli plugin commands are not reacting to the --config parameter. This PR make it possible to use config to define the plugin endpoints via config as an alternative to providing the --repo flag.
2024-04-22 10:29:25 +02:00
renovate[bot] 2a39f1f7ce Update dependency @grafana/faro-core to v1.6.0 (#86613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 09:28:20 +01:00
Steve Simpson f07f48616a Alerting: Fix panic when limit_alerts=0. (#86640)
Oversight in the TopK function meant if k=0, then we'd panic when checking
element zero in the heap, because no items are ever allowed into the heap.
2024-04-22 10:14:19 +02:00
Michael Mandrus 45a7f649fe CMS: Create local implementation of cloud migration for dev use (#86637)
* add developer mode property to config

* create cms stub

* cleanup

* implement and wire up gcom stub

* fix errors

* don't document the flag
2024-04-20 23:51:58 -04:00
Andreas Christou ae84d16a6f MSSQL: Simplify proxy logic (#86278)
* Simplify proxy dialer creation

- Set new dialer on connector
- Create MSSQL connector in a similar fashion to postgres

* Update test

* Fix lint

* More lint

* Use correct driver name
2024-04-19 22:03:26 +01:00
Andreas Christou ec8dfc4dda CloudMonitoring: Correctly interpolate multi-valued template variables in PromQL queries (#86391)
* Interpolate promql queries appropriately

- Use pipes for multi-valued variables in PromQL queries
- Update tests

* Don't break betterer

* Another any

* Update public/app/plugins/datasource/cloud-monitoring/datasource.ts

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

---------

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
2024-04-19 22:07:15 +02:00
ismail simsek 57bea68453 Chore: Remove unused functions form prometheus data source (#86461)
* remove createQuery

* remove redundant unit test

* update unit tests

* remove redundant mock

* exclude mocks from build

* remove it

* prettier
2024-04-19 16:00:26 -04:00
Andreas Christou 74ee675732 CloudMonitoring: Allow a custom group by value (#86288)
Allow a custom group by value
2024-04-19 20:56:12 +01:00
Andreas Christou d8a8db3750 CloudMonitoring: Ensure variables can be used in all variable queries (#86377)
* Allow specifying project when querying services

* Ensure metricType is interpolated
2024-04-19 20:52:39 +01:00
Kim Nylander d6e84dbf0a [DOC] Update the traces to profile content based upon SDK updates (#86628)
Update the traces to profile content based upon SDK updates
2024-04-19 14:17:11 -05:00
Jev Forsberg ad679c62c6 Docs: Update example docs for rename by regex (#86627)
* baldm0mma/update_regex/ update example docs

* baldm0mma/ push ts

* baldm0mma/update_regex with new exmaples

* baldm0mma/update_regex/ update images

* baldm0mma/regex_update/ update text
2024-04-19 21:04:54 +02:00
Steve Simpson 6ea97e41fb Alerting: Consistently return Prometheus-style responses from rules APIs. (#86600)
* Alerting: Consistently return Prometheus-style responses from rules APIs.

This commit is part refactor and part fix. The /rules API occasionally returns
error responses which are inconsistent with other error responses. This fixes
that, and adds a function to map from Prometheus error type and HTTP code.

* Fix integration tests

* Linter happiness

* Make linter more happy

* Fix up one more place returning non-Prometheus responses
2024-04-19 21:03:20 +02:00
Santiago 9ed616a7b3 Alerting: Fix typo ('Alert manager' -> 'Alertmanager') (#86608)
* Alerting: Fix typo ('Alert manager' -> 'Alertmanager')

* fix front-end test
2024-04-19 20:53:51 +02:00
Robert Horvath 86a9533863 Chore: Replace backend platform codeownership (#86010)
* Replace backend platform codeownership

* fix go.mod with work sync

* fix go.mod

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-04-19 19:12:59 +02:00
Laura Fernández b5335f0910 Chore: ChangePassword - Replace VerticalGroup with Stack (#86614) 2024-04-19 17:37:51 +02:00
Laura Fernández efa5e582cc Chore: UserProfileEditPage - Replace VerticalGroup with Stack (#86619) 2024-04-19 17:37:14 +02:00
Matias Chomicki aa73140564 Loki: Add label filters after label_format if present (#86124)
* Loki ad-hoc filters: add filters after label_format

* Chore: add comment explaining rationale

* Formatting

* Formatting
2024-04-19 17:31:38 +02:00
Joao Silva 8f38ef70ce Chore: Replace VerticalGroup in OrgDetailsPage and BenchmarksPage (#86621) 2024-04-19 16:28:51 +01:00
Laura Fernández db4f7cd21d Chore: UserSignup and LoginServiceButtons - Replace VerticalGroup with Stack (#86616) 2024-04-19 17:24:09 +02:00
antonio f7b82a74ad alerting: email doc >url fix (#86574)
* url fix

* pretty
2024-04-19 17:01:42 +02:00
Eric Leijonmarck ddabef9895 RBAC: Add actionsets struct and write path (#86108)
* Add actionsets struct and failing test

* update from review

* review comments

* review comments update

* refactor: create interface

* actionset service

* fix tests

* move from wireoss to wire

* Apply suggestions from code review

remove unnecessary comments

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

* nil for the actionsetservice

* Revert "nil for the actionsetservice"

This reverts commit e3d3cc8171.

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-04-19 15:38:14 +01:00
Laura Fernández a057e8be06 Chore: AppNotificationList- Replace VerticalGroup with Stack (#86612) 2024-04-19 16:21:45 +02:00
renovate[bot] e7fd2cb0fb Update dependency sass-loader to v14.2.1 2024-04-19 14:04:45 +00:00
Laura Fernández 913d7da3af Grafana UI: Text.story.tsx - Replace VerticalGroup with Stack (#86584) 2024-04-19 16:01:24 +02:00
renovate[bot] 53f5663714 Update dependency msw to v2.2.14 2024-04-19 13:46:18 +00:00
Santiago 529f55cfe8 Alerting: Remove isDefault field from receivers (Alertmanager configuration) (#86605)
Alerting: Remove isDefault field from receivers in the Alertmanager configuration
2024-04-19 15:44:20 +02:00
Brendan O'Handley 2d733a4d77 Prometheus: Do not throw error for label_join function (#86465) 2024-04-19 08:32:26 -05:00
Tobias Skarhed 95ad100cb9 RolePicker: Identity Access team as codeowners (#86602) 2024-04-19 15:21:49 +02:00
Santiago 309a7e7684 Alerting: Implement SaveAndApplyDefaultConfig in the remote Alertmanager struct (#85005)
* Alerting: Implement SaveAndApplyDefaultConfig in the remote Alertmanager struct

* send the hash of the encrypted configuration

* tests, default config hash in AM struct

* add missing default config to test

* restore build directory

* go work file...

* fix broken test

* remove unnecessary conversion to []byte

* go work again...

* make things work again with latest main branch changes

* update error messages in tests for decrypting config
2024-04-19 15:11:07 +02:00
Bruno 1f3a85824f ephemeral instances: add workflow run id env var (#86528) 2024-04-19 09:49:03 -03:00
Ashley Harrison 4a9e478a6b EmptyState: Apply completed empty state in Notifications page (#86504)
* add 'completed' variant

* apply completed empty state to notifications page
2024-04-19 13:46:03 +01:00
ismail simsek ec1af89a02 Chore: Bump promlib to v0.0.5 (#86596)
bump promlib to v0.0.5
2024-04-19 14:33:44 +02:00
renovate[bot] bcc52a91c7 Update dependency marked to v12.0.2 2024-04-19 12:31:26 +00:00
renovate[bot] c2f3bf677d Update dependency @types/react to v18.2.79 2024-04-19 11:39:32 +00:00
renovate[bot] bc97d11220 Update dependency @types/eslint to v8.56.10 2024-04-19 11:19:10 +00:00
Santiago a2ce8fefed Alerting: Use a struct when sending a Grafana AM configuration to the remote Alertmanager (#86451)
* Alerting: Use a struct when sending a Grafana AM configuration to the remote Alertmanager

* remove '-distroless' from mimir image name
2024-04-19 13:04:18 +02:00
Ivan Ortega Alba 65afe90124 IntervalVariableEditor: Do not add current value as interval prop (#86446) 2024-04-19 13:04:01 +02:00
Joao Silva aa326423ed ColorPicker: Improvements to story organization (#86539) 2024-04-19 11:58:20 +01:00
Laura Fernández 9878dfb7d9 Grafana UI: EmotionPerfTest - Replace VerticalGroup with Stack (#86588) 2024-04-19 12:55:04 +02:00
Laura Fernández 7404a631f6 GrafanaUI: PageToolbar.story.tsx - Replace VerticalGroup with Stack (#86581) 2024-04-19 12:54:20 +02:00
Ashley Harrison 63427ccd98 CommandPalette: Fix keyboard shortcut alignment (#86540)
* use full typography properties

* use Text component
2024-04-19 11:52:27 +01:00
Ashley Harrison 21588ce7e2 EmptyState: Set a max width on the empty state component (#86569)
set a max width on the empty state component
2024-04-19 12:52:16 +02:00
Steve Simpson 5f7612834e Alerting: Refactoring in api_prometheus.go to allow code reuse. (#86575)
Preparing these functions to be used by some other part of the codebase,
which does not have a `contextmodel.ReqContext`, only the normal request
structure (`url.Values`, etc). This is slightly messy because of how
Grafana allows url parameters to be in the URL or in the request body,
so we need to make sure to invoke the form parsing logic in `ReqContext`.
2024-04-19 12:52:01 +02:00
Alex Khomenko 44e1bce55a Feature toggles: Remove dashboardEmbed toggle (#86587) 2024-04-19 12:48:08 +02:00
Laura Fernández c5ca90747d Grafana UI: TagsInput.story.tsx - Delete unnecessary VerticalGroup (#86582) 2024-04-19 12:34:49 +02:00
renovate[bot] 1ea7dc9250 Update dependency @grafana/plugin-e2e to v1.1.1 2024-04-19 10:23:52 +00:00
Victor Marin 60e6dd56bf Change folder breadcrumb on folder change in general settings (#86342)
* Change folder breadcrumb on folder change in general settings

* tests and refactor

* refactor to fix broken tests

* fix test
2024-04-19 13:21:40 +03:00
ismail simsek f9a8e34b32 Prometheus: Update lezer-promql package (#85942)
* Update @lezer/lr to v1.4.0

* Update @prometheus-io/lezer-promql to v0.37.0

* Update @prometheus-io/lezer-promql to v0.38.0

* Update @prometheus-io/lezer-promql to v0.39.0

* Update @prometheus-io/lezer-promql to v0.40.0

* add jest config

* update code

* fix code to pass "handles things" test

* fix retrieving labels

* fix code to pass "handles label values" test

* fix code to pass "simple binary comparison" test

* use BoolModifier

* add changed lines as comments

* fix for ambiguous query parsing tests

* resolve rebase conflict

* fix retrieving labels, aggregation with/out labels

* add error

* fix comment

* fix "reports error on parenthesis" unit test

* fix for "handles binary operation with vector matchers" test

* fix for "handles multiple binary scalar operations" test

* fix for "parses query without metric" test

* fix indentation and import style

* remove commented lines

* add todo items and comments

* remove dependency update from tempo datasource

* apply same changes in core prometheus frontend

* prettier

* add new test case

* use old version of lezer in the root package.json

* Revert "apply same changes in core prometheus frontend"

This reverts commit 83fd6ac7

* fix indentation

* use latest version of lezer-promql v0.51.2

* Update packages/grafana-prometheus/src/querybuilder/parsing.ts

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

* enable native histogram test

---------

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
2024-04-19 11:54:56 +02:00
Steve Simpson 73873f5a8a Alerting: Optimize rule status gathering APIs when a limit is applied. (#86568)
* Alerting: Optimize rule status gathering APIs when a limit is applied.

The frontend very commonly calls the `/rules` API with `limit_alerts=16`. When
there are a very large number of alert instances present, this API is quite
slow to respond, and profiling suggests that a big part of the problem is
sorting the alerts by importance, in order to select the first 16.

This changes the application of the limit to use a more efficient heap-based
top-k algorithm. This maintains a slice of only the highest ranked items whilst
iterating the full set of alert instances, which substantially reduces the
number of comparisons needed. This is particularly effective, as the
`AlertsByImportance` comparison is quite complex.

I've included a benchmark to compare the new TopK function to the existing
Sort/limit strategy. It shows that for small limits, the new approach is
much faster, especially at high numbers of alerts, e.g.

100K alerts / limit 16: 1.91s vs 0.02s (-99%)

For situations where there is no effective limit, sorting is marginally faster,
therefore in the API implementation, if there is either a) no limit or b) no
effective limit, then we just sort the alerts as before. There is also a space
overhead using a heap which would matter for large limits.

* Remove commented test cases

* Make linter happy
2024-04-19 11:51:22 +02:00
Ryan McKinley 5a8384a245 QueryService: Add feature toggles to better support testing (#86493) 2024-04-19 12:26:21 +03:00
Will Browne 8a5c0cfdc0 Plugins: Pass cancellable context during API server creation (#86545) 2024-04-19 09:22:14 +03:00
Sofia Papagiannaki aa825f5dee Chore: Fix Swagger/OpenAPI instructions (#86541)
Update README.md
2024-04-19 09:16:38 +03:00
Matthew Jacobson a20197229e Alerting: Prevent simplified routing zero duration GroupInterval and RepeatInterval (#86561)
Prevent zero duration GroupInterval and RepeatInterval
2024-04-18 21:08:38 -04:00
Matthew Jacobson 71445002b7 Alerting: Fix simplified routing group by override (#86552)
* Alerting: Fix simplified routing custom group by override

Custom group by overrides for simplified routing were missing required fields
GroupBy and GroupByAll normally set during upstream Route validation.

This fix ensures those missing fields are applied to the generated routes.

* Inline GroupBy and GroupByAll initialization instead of normalize after
2024-04-18 21:08:14 -04:00
ismail simsek 842c8dd206 InfluxDB: Fix interpolating field keys in influxql (#86401)
* interpolate field keys

* use scopedVars
2024-04-18 19:14:29 -04:00
brendamuir b311612cf2 Alerting docs: RBAC for enterprise and cloud (#86506)
* Alerting docs: RBAC for enterprise and cloud

* rbac structure

* ran prettier

* updates to data source permissions

* adds tables for roles

* ran prettier

* adds examples for custom role

* ran prettier

* updates table

* typo fix

* ran prettier
2024-04-18 20:32:04 +02:00
timo f3fcfad2c8 NodeGraph: Fix invisible arrow tips in Editor (#86517)
NodeGraphPanel: Namespace marker IDs to fix invisible arrow tips in editor

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2024-04-18 18:39:16 +02:00
linoman 1d1ebee36b RolePicker: Adjust dynamic position (#86424)
* Adjust dynamic position
2024-04-18 17:53:34 +02:00
Sofia Papagiannaki 3ab361abfc Chore: Update swagger (#86523)
* Chore: Update swagger
2024-04-18 15:35:38 +00:00
Laura Fernández bfb79d20ff Grafana UI: Menu.story.tsx - Replace VerticalGroup with Stack (#86529) 2024-04-18 17:35:36 +02:00
Josh Hunt fe24404432 I18n: Support for Enterprise translations (#86215)
* I18n: Support for Enterprise translations

* don't attempt to link to enterprise in tests

* move extract script to makefile to optionally support enterprise

* update references to old extract script

* update docs

* thank god for unit tests
2024-04-18 16:25:27 +01:00
antonio 272b2e139a email contact point -url fix (#86538)
url fix
2024-04-18 17:24:22 +02:00
Alexa V 7a147f2ce8 Dashboard: DashboardPageProxy - Use chaining operators to prevent runtime error (#86507)
* Use chaining operators to prevent runtime error

* Fix tests

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2024-04-18 17:15:18 +02:00
Laura Fernández e65669bc0d Grafana UI: Checkbox.story.tsx - Replace VerticalGroupwith Stack (#86524) 2024-04-18 17:05:19 +02:00
Señor Performo - Leandro Melendez 0d11f9b2f4 Docs: Add GeoMaps YouTube Video (#86472)
* Update index.md on GeoMaps adding YouTube Video

Added the GeoMap YouTube video to the documentation

* Update docs/sources/panels-visualizations/visualizations/geomap/index.md

Totally agree, I tend to use those words and not realize :P

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-18 10:57:08 -04:00
Laura Fernández 18bd11ca6a Grafana UI: TextLink.story.tsx - Replace VerticalGroup with Stack (#86526) 2024-04-18 16:37:48 +02:00
ismail simsek 28a683cf28 InfluxDB: Remove influxdbSqlSupport feature toggle (#86518)
Remove influxdbSqlSupport feature toggle
2024-04-18 16:29:27 +02:00
Matias Chomicki 99f34cb1ed Common labels/displayed fields: Show label names with values (#86345)
* LogLabels: create specialized component for arrays of labels

* Logs: sort displayed fields when assigning to state

* LogsMetaRow: fix types and use specialized components

* LogLabels: show label and value

* LogsPanel: update common labels

* LogsMetaRow: use LogsLabelsList

* Update unit tests

* Formatting

* Update betterer

* Prettier

* Logs panel: update test

* LogLabels: add actual tooltip

* Logs: remove sorting of displayed fields
2024-04-18 16:25:58 +02:00
Laura Fernández bbf4281d8d Grafana UI: Dropdown.story.tsx - Replace VerticalGroup with Stack (#86521) 2024-04-18 16:13:08 +02:00
Konrad Lalik 344cea1725 Alerting: Fix external Alertmanager settings payload (#86413)
* Remove helper properties from the AM config object

* Make the omitTemporaryIdentifiers a pure function

* Add formValuesToCloudReceiver test

* Remove immer produce to prevent object freezing
2024-04-18 15:55:13 +02:00
Vanilla 817f787947 Cli: Check missing plugin parameter of plugin update command (#86410)
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2024-04-18 15:46:04 +02:00
Andres Martinez Gotor eac02a61e1 Return plugin error when requesting settings (#86052) 2024-04-18 14:29:02 +02:00
Marie Cruz 8373fc3544 docs: update heatmap visualization and add play links (#85926)
* docs: update heatmap visualization

* docs: add state timeline and status history play shortcodes

* Apply suggestions from code review

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

* docs: add heatmap video

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-18 08:22:14 -04:00
Mihai Doarna 57848bbe23 Auth: encrypt/decrypt SAML secrets in SSO settings service (#85253)
encrypt/decrypt saml secrets in sso settings service
2024-04-18 15:16:59 +03:00
Lisa bdd288d058 Add Create annotations in panel video to the documentation (#86383)
* Add Create annotations in panel video to the documentation

* Update docs/sources/dashboards/build-dashboards/annotate-visualizations/index.md

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2024-04-18 08:14:56 -04:00
Tom Ratcliffe a5c75c5ffb Remove explicit imports of whatwg-fetch from individual test files 2024-04-18 12:23:38 +01:00
Tom Ratcliffe 389250afe0 Add whatwg-fetch polyfill to jest test setup so all tests run it 2024-04-18 12:23:38 +01:00
Andres Martinez Gotor 0f4a47b180 Plugin load errors: Add more well-known errors (#85960) 2024-04-18 13:04:22 +02:00
github-actions[bot] 80e63b5206 I18n: Download translations from Crowdin (#86438)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-18 10:34:18 +00:00
Ashley Harrison 07044309f1 EmptyState: Add completed variant (#86497)
* add 'completed' variant

* add central text alignment
2024-04-18 11:22:28 +01:00
Laura Fernández bc07eedaa9 Grafana UI: Replace VerticalGroup with Stack on alerts documentation in Storybook (#86400) 2024-04-18 12:16:57 +02:00
Laura Fernández 6b21d12ce0 Grafana UI: FilterPopup- Replace VerticalGroup and HorizontalGroup with Stack (#86398) 2024-04-18 12:16:38 +02:00
ismail simsek 635d85db7a InfluxDB: Fix interpolation for floating point number values (#86396)
return number as it is
2024-04-18 11:21:41 +02:00
Ivana Huckova f3fd2de9dd Loki: Remove tracking grafana_loki_query_executed and add grafana_explore_loki_query_executed (#86484)
* Loki: Remove  and add

* Update public/app/plugins/datasource/loki/tracking.ts

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-04-18 10:57:18 +02:00
Torkel Ödegaard 1d513f66b8 DashboardScene: Fixes checkbox orienation in save forms (#86408) 2024-04-18 10:15:06 +02:00
Kristina Durivage 4e0e12bb07 add cleanup 2024-04-18 09:04:53 +01:00
Kristina Durivage bf897c1255 Add clarifying comments/docs 2024-04-18 09:04:53 +01:00
Tom Ratcliffe ab605e37df Remove unnecessary server.listen() 2024-04-18 09:04:53 +01:00
Tom Ratcliffe ef5c4b69f3 Remove unused msw import 2024-04-18 09:04:53 +01:00
Tom Ratcliffe de4510cc70 Reuse setupMswServer for alerting tests 2024-04-18 09:04:53 +01:00
Tom Ratcliffe 76c6e029a5 Fix incidental console error spy that was unneeded 2024-04-18 09:04:53 +01:00
Tom Ratcliffe 6557f5a00e Add whatwg-fetch and fixes to Playlist tests that break when polyfill is added 2024-04-18 09:04:53 +01:00
Tom Ratcliffe 2ab13071fb Add whatwg-fetch and fixes to dashboard tests that break when polyfill is added 2024-04-18 09:04:53 +01:00
Tom Ratcliffe 2674043cef Add whatwg-fetch and fixes to alerting tests that break when polyfill is added 2024-04-18 09:04:53 +01:00
Joey 80d920500b Tempo: Tidy up types in resultTransformer (#86025)
* Tidy up types

* Ternary
2024-04-18 08:53:06 +01:00
Joey 306cea7350 Tempo: Group by template vars (#86022)
* Add template variables to group by field

* Add test for interpolation

* Add test to allow selecting template vars

* Show custom value
2024-04-18 08:52:51 +01:00
Konrad Lalik 9614126cb7 Alerting: Fix instances link when served from subpath (#86432)
Fix instances link when served from subpath
2024-04-18 08:56:30 +02:00
Torkel Ödegaard 1327bdf575 DashboardScene: Fixes issue saving new dashboard from panel edit (#86477) 2024-04-18 08:46:24 +02:00
Torkel Ödegaard 3870ecd2e0 RefreshPicker: Change running state to be less distracting (#86405)
RefreshPicker: Change running state to not change button variant to destructive
2024-04-18 05:46:43 +02:00
Torkel Ödegaard a8b81e1481 DashboardScene: Fixes minor issue transitioning between dashboards (#86262)
* DashboardScene: Fixes minor issue transitioning between dashboards

* Update
2024-04-18 05:45:38 +02:00
Andreas Christou 420067a7e1 MSSQL: Add SQL_VARIANT converter and update test (#85823)
Add SQL_VARIANT converter and update test
2024-04-17 16:49:51 -05:00
Adela Almasan 38fe9fcfd1 VizTooltip: Fix heatmap mode All (#86463) 2024-04-17 23:24:13 +02:00
Nick Richmond 82dd573ea4 Expressions: Fix erroneous sorting of metrics and expressions (#86372)
chore: upgrade `dataplane/sdata`
2024-04-17 16:03:33 -04:00
Michael Mandrus df4c8c3cbc CloudMigrations: Move business logic out of api layer (#86406)
* move run migration to the cloudmigrationimpl layer

* add migration run list logic down a layer

* remove useless comments

* pull cms calls into their own service
2024-04-17 15:43:09 -04:00
Nick Richmond 00256d3fdd Prometheus: Cancellable label values requests (#86403)
* feat: cancellable label values requests

* refactor: prefer more explicit `requestId`

* refactor: request options to avoid tedious test changes

* refactor: avoid `any`
2024-04-17 15:03:31 -04:00
Kristina 15ff166fb6 Explore: Mock useExplorePageTitle in every integration test (#86462)
Mock useExplorePageTitle in every integration test
2024-04-17 14:01:09 -05:00
Brendan O'Handley 61c10ed155 Prometheus: Bypass flaky E2E test (#86460)
bypass flaky test
2024-04-17 13:53:22 -05:00
Brendan O'Handley 55b2a4b0c0 Prometheus: Limit Prometheus run query event tracking to queries in Explore (#86054)
only track run query events in explore
2024-04-17 20:40:27 +02:00
Darren Janeczek 53d2714a18 Tooltips: Ensure new viz tooltips are visible within modals (#86258)
fix: ensure new viz tooltips are visible within modals
2024-04-17 13:54:10 -04:00
Kyle Brandt 46efe41e33 Prometheus: (Instrumentation) Add rawExpr (pre-interpolation) to traces (#86449) 2024-04-17 19:53:38 +02:00
Drew Slobodnjak ed8eacbc7e Canvas: Fix division by zero (#85443)
* Canvas: Fix division by zero

* Fix last add vertex control

* Apply fix to existing vertices

* Apply deltas to temporary paths

* Persist original source and target coorindates

* Add follow up TODO

* Update connection svg to handle originals

* Get rid of minimum constraints for deltas

* Apply persist coordinate system to vertex handlers

* Consolidate and rename selected value

* Update connection arcs to use new coordinates

* fix editor crashing with scenes

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2024-04-17 10:18:17 -07:00
ismail simsek e528c79689 Chore: Don't apply adhoc filters when promQLScope is enabled (#86454)
* check promQLScope

* add tests
2024-04-17 18:54:28 +02:00
Will Browne dceb83ab42 Plugins: Expose backendplugin for client proto interface (#86207)
* first pass

* tidy

* add err check

* remove comment

* simplify

* remove unused stuff

* add backend()

* use SDK commit

* add codeowners for go.mod

* fix go.mod

* bump SDK

* go work sync
2024-04-17 18:47:01 +02:00
Dave Henderson 4bb0b78abb ci: remove milestone check (#86452)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-04-17 12:06:23 -04:00
Joao Silva 1997faf617 Select: Increase size of virtualized list options (#86444) 2024-04-17 17:01:21 +01:00
Kristina 7112f1effc Explore: Deprecate local storage singular datasource key (#86250)
* add a note?

* Let Explore own the core/history folder
2024-04-17 09:48:27 -05:00
Tobias Skarhed 1c2065af60 PanelChrome: Improve accessibility landmark markup (#85863)
* Add section and use Text component to get h2 for panel

* Remove heading when collapsible

* Make button text truncate

* Update test

* Remove labelledby as it is not needed anymore

* Use testid selectors in test

* Remove async
2024-04-17 16:44:07 +02:00
Darren Janeczek 2ed7eecf2d fix: datatrail link to "open in explore" prefix with config.appSubUrl (#86375)
* fix: datatrail link to explore needs appSubUrl
* fix: use `appUrl` when creating URL for sharing
2024-04-17 16:40:40 +02:00
Matias Chomicki ec43edd8a1 Loki/Prometheus Query Editor: Disabled cmd/ctrl+f keybinding within the editor (#86418)
* Prom: disable cmd f within the editor

* Loki: disable cmd f within the editor

* Update public/app/plugins/datasource/loki/components/monaco-query-field/MonacoQueryField.tsx

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* Monaco: upgrade to 0.34.1

* Loki/Prometheus: allow native search to be displayed

* Formatting

* Monaco: upgrade to 0.34.1

https://github.com/microsoft/monaco-editor/issues/102#issuecomment-1282897640

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-04-17 16:38:43 +02:00
Leonor Oliveira 9baf96dbd2 Storage: dualwriter update implementation (#85844)
* Add update methods for the dual writer

* improve errors

* [WIP] add tests for the update method

* Move example package to its own package so it can be used by the rest package. Finish tests

* Add codeowners

* Use Pod as a dummy resource

* :int

* Lint

* [REVIEW] rename var

* [REVIEW] don't rely on legacy storage at all in mode4

* Update pkg/apiserver/rest/dualwriter_mode2.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* [REVIEW] improve comment

* Update pkg/apiserver/rest/dualwriter_mode1.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* [REVIEW] improve mode3

* Lint

* Move test files

* Update pkg/apiserver/rest/dualwriter_mode2.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Lint

* Update pkg/apiserver/rest/dualwriter_mode4_test.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Fix error

* Lint

* Update pkg/apiserver/rest/dualwriter_mode2.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Don't set the flag to true as updatedObj creates an object in case it's not found

* Lint

* Lint

* Add tests on update

* Lint

---------

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
Co-authored-by: Dan Cech <dcech@grafana.com>
2024-04-17 08:32:34 -06:00
Leon Sorokin 9682022b1d Transforms: Fix 'Filter data by values' removing rows in unrelated frames (#86087) 2024-04-17 09:07:23 -05:00
Aaron Godin d409d8e860 IAM - Fix error messages for resource permissions endpoints (#85773)
* IAM: fix many error messages in access-related code to provide more information

* Remove debug statement

* Refactor resourcepermissions package to use errutil

* Replace a few more errors with errutil and wrap errors found in users and teams services

* Apply diff of openAPI spec
2024-04-17 08:53:28 -05:00
Ashley Harrison 60abf01526 remove stray console.log (#86440) 2024-04-17 15:43:38 +02:00
Ieva 33e8292386 Docs: Clarify the docs for viewers_can_edit and editors_can_admin (#86422)
* clarify the docs for viewers_can_edit and editors_can_admin

* more changes

* more changes 2
2024-04-17 14:43:20 +01:00
Karl Persson 1a6777cb93 User: use update function for password updates (#86419)
* Update password through Update function instead

* Remove duplicated to lower

* Refactor password code
2024-04-17 15:24:36 +02:00
Ashley Harrison f99d5a1c1a EmptyState: Add call-to-action variant (#85017)
* add default variant

* enhance story

* rename to "initial" + update docs

* default to showing a CTA

* use switch

* translations

* update and use LinkButton

* update default message

* rename "initial" to "nothing-here"

* update variant name to `call-to-action`

* i18n

* add CTA svg

* extract into its own component
2024-04-17 14:23:21 +01:00
Andre Pereira 93c24403b3 Explore: Move app to under explore > traces (#86436)
Move app to under explore > traces
2024-04-17 14:18:06 +01:00
Kristina 2338cad563 Explore: Work on unskipping test (#86370)
* test unskip

* Mock getDataSourceSrv seperately

* mock the hook instead

* Remove TODO
2024-04-17 08:17:51 -05:00
Jev Forsberg f9af4675ad Reducers: Update percentile logic - move percentiles to after standard reducers (#86004)
* baldm0mma/pth_fix2/ move percentiles to after standard reducers

* baldm0mma/pth_fix2/ update ordinal suffix

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-04-17 07:01:13 -06:00
Josh Hunt 0a12ad0084 I18n: Update English phrases that have changed in code, but not extracted (#86429)
Update English phrases that have changed in code, but not extracted
2024-04-17 14:47:01 +02:00
Kristin Laemmert 03b795844c SQLStore: Improve recursive CTE support detection (#86397)
sqlstore: improve recursive CTE support detection

Vitess returns a not supported error, not a parse error

Co-authored-by: Derek Perkins <derek@nozzle.io>
2024-04-17 08:37:47 -04:00
TechVest 1ffe858e06 chore: remove repetitive words (#86412)
Signed-off-by: TechVest <techdashen@qq.com>
2024-04-17 13:08:00 +01:00
Joanna 65951c40c4 Dashboard: Fix A11y in AutoRefresh input field (#86058)
Dashboard: Fix issue with providing clear instructions for data format in Auto Refresh input field
2024-04-17 12:54:37 +02:00
Fabrizio bbae4af935 Tempo: Add waitFor in flaky test (#86277) 2024-04-17 12:32:22 +02:00
Laura Fernández 6a5bdcafa2 Chore: ForgottenPassword - Replace HorizontalGroup with Stack (#86393) 2024-04-17 11:51:49 +02:00
Laura Fernández ce092450db Chore: TimeRegionEditor- Replace HorizontalGroup with Stack (#86395) 2024-04-17 11:51:32 +02:00
Laura Fernández 3bb6de57d2 Chore: change bettererResultsToJSON format (#86381) 2024-04-17 11:51:18 +02:00
Laura Fernández 9b27d5a0c1 Chore: DataSourcePicker- Replace HorizontalGroup with Stack (#86389) 2024-04-17 11:50:58 +02:00
Leonor Oliveira dcfaf7e434 Storage: Add dualwriter test mocks (#86243)
* WIP: add mocks for dual writer

* Test dualwriter mode1

* Re-add non implementation errors

* Use testify assert

* Write tests for mode2.

* Lint

* Remove comment

* Update pkg/apiserver/rest/dualwriter_mode2_test.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* [REVIEW improve readability and call fn legacy fn

* [REVIEW] rename mocks and setupFns

* [REVIEW add missing test case

* [REVIEW] add test case with getting object from storage and not legacy

* Add deleteCollection

* Test deleteCollection

* Rename file

---------

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
2024-04-17 11:25:19 +02:00
Timur Olzhabayev 70eefea434 Chore: Remove feature toggles github action (#85714)
* remove the feature toggle cleanup github action

* removing codeowners entries that are unnecessary
2024-04-17 10:33:44 +02:00
Konrad Lalik acd3e83c1c Alerting: Take receivers into account when custom grouping Alertmanager groups (#86127)
* Take receiver into account when custom grouping Alertmanager alert groups

* Fix and add tests
2024-04-17 08:55:01 +02:00
Joey 383c310c73 Add more tracing datasources to 'Tracing in explore' docs (#85630)
* Add more tracing datasources to docs

* Remove datadog
2024-04-17 07:52:59 +01:00
Torkel Ödegaard 989e7c2c11 DashboardScene: Fixes react panels with old angular options (#86256)
* DashboardScene: Fixes react panels with old angular options

* Update
2024-04-17 08:05:23 +02:00
Torkel Ödegaard 5837def850 DashboardScene: Move add library panel view from grid item to drawer (#86257)
* DashboardScene: Add library panel in drawer

* DashboardScene: Move add libray panel view to a drawer instead of a grid item

* Update

* Update tests
2024-04-17 06:54:38 +02:00
Darren Janeczek ea90f0119c datatrails: track user interactions (#85909)
* chore: add interaction tracking
2024-04-16 15:55:07 -04:00
Isabel Matwawana d55ce5b2e8 Docs: change availability to public preview for v11 (#86390)
Changed availability to public preview
2024-04-16 15:16:31 -04:00
Isabel Matwawana 7c441011f2 Docs: add panels & visualizations landing page (#86073)
* Added landing page front structure

* Added description and overview content and card titles

* Added placeholder tile and work notes

* Finalized text and updated link type

* Updated panel overview tile link
2024-04-16 14:26:41 -04:00
Yuri Tseretyan e9d6135e33 SSE: Threshold expression to use simple functions (#86062)
* replace math expression with predicates
2024-04-16 13:35:41 -04:00
Eric Leijonmarck 9c1ef8b16e Auth: Remove caseinsensitive check on update user (#86286)
* Removal: case insensitive check on update

* refactor and removal of test for duplicate user

* refactor to still shadow user variable
2024-04-16 17:47:17 +01:00
Matthew Jacobson 533bed6d94 Alerting: Fix simplified routes '...' groupBy creating invalid routes (#86006)
* Alerting: Fix simplified routes '...' groupBy creating invalid routes

There were a few ways to go about this fix:
1. Modifying our copy of upstream validation to allow this
2. Modify our notification settings validation to prevent this
3. Normalize group by on save
4. Normalized group by on generate

Option 4. was chosen as the others have a mix of the following cons:
- Generated routes risk being incompatible with upstream/remote AM
- Awkward FE UX when using '...'
- Rule definition changing after save and potential pitfalls with TF

With option 4. generated routes stay compatible with external/remote AMs, FE
doesn't need to change as we allow mixed '...' and custom label groupBys, and
settings we save to db are the same ones requested.

In addition, it has the slight benefit of allowing us to hide the internal
implementation details of `alertname, grafana_folder` from the user in the
future, since we don't need to send them with every FE or TF request.

* Safer use of DefaultNotificationSettingsGroupBy

* Fix missed API tests
2024-04-16 12:14:39 -04:00
Arati R 79eab65f94 Storage: Add mode-specific DeleteCollection implementations (#86065)
* Add DeleteCollection methods to modes 1 and 4
* Add DeleteCollection implementations for modes 2 and 3
2024-04-16 17:05:31 +02:00
Nick Richmond d3fee607e2 Expressions: sort numeric metrics behind feature toggle (#85911)
* feat: sort numeric metrics behind feature toggle

* chore: upgrade `dataplane/sdata` to latest tag

* chore: `go work sync`
2024-04-16 10:52:47 -04:00
Ieva 036f826b87 AuthZ: Further protect admin endpoints (#86285)
* only users with Grafana Admin role can grant/revoke Grafana Admin role

* check permissions to user amdin endpoints globally

* allow checking global permissions for service accounts

* use a middleware for checking whether the caller is Grafana Admin
2024-04-16 15:48:12 +01:00
Karl Persson 0f06120b56 User: Clean up update functions (#86341)
* User: remove unused function

* User: Remove UpdatePermissions and support IsGrafanaAdmin flag in Update function instead

* User: Remove Disable function and use Update instead
2024-04-16 16:33:50 +02:00
owensmallwood 8c8885ef23 Storage Api: Adds traces (#85391)
- adds traces and improved logging to the unified storage server
- add a configurable logger to the gRPC server service
2024-04-16 08:30:51 -06:00
Kyle Brandt a12669951b Prometheus: Add BE support for Adhoc Filters (#85969)
---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-16 16:56:50 +03:00
Karl Persson 8520892923 User: Fix GetByID (#86282)
* Auth: Remove unused lookup param

* Remove case sensitive lookup for GetByID
2024-04-16 15:24:34 +02:00
Victor Marin b9285e320a Fix new dashboard save name validation (#86290) 2024-04-16 15:46:25 +03:00
Piotr Jamróz ccd660d559 Explore: Skip flaky test (#86289)
Skip flakey test
2024-04-16 12:42:22 +00:00
brendamuir 0cb3e8bc49 Alerting docs: adds roles docs (#86261)
* Alerting docs: adds roles docs

* adds header

* adds link

* spacing

* prettier

* Update docs/sources/alerting/set-up/configure-roles/index.md

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>

* Update docs/sources/alerting/set-up/configure-roles/index.md

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>

* Update docs/sources/alerting/set-up/configure-roles/index.md

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>

* Update docs/sources/alerting/set-up/configure-roles/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/alerting/set-up/configure-roles/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/alerting/set-up/configure-roles/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/alerting/set-up/configure-roles/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/alerting/set-up/configure-roles/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* prettier

* Update docs/sources/alerting/set-up/configure-roles/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* corrects link

---------

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-04-16 14:33:15 +02:00
Ezequiel Victorero 7c7cdf7c3d Docs: Update broken links to grafana play (#86233)
* Docs: Update broken links to grafana play

* Update docs/sources/datasources/graphite/template-variables/index.md

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

* Update docs/sources/datasources/influxdb/template-variables/index.md

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-16 09:32:52 -03:00
kay delaney 3795f0d5a9 Dashboards: Fix issue when importing external dashboard with datasource variables (#86273) 2024-04-16 13:29:27 +01:00
Tom Ratcliffe 8f0f0387b8 Simplify providers used for test utils method
For now, keep the providers down to just what was already in TestProvider
2024-04-16 12:23:50 +01:00
Tom Ratcliffe 45949e7684 Simplify import logic for test utils 2024-04-16 12:23:50 +01:00
Tom Ratcliffe 488c5b8396 Use PropsWithChildren and allow router configuration in test utils render 2024-04-16 12:23:50 +01:00
Tom Ratcliffe 045ec86984 Add typing for react-inlinesvg mock now its included in tsconfig 2024-04-16 12:23:50 +01:00
Tom Ratcliffe 0f88075e4c Mark TestProvider as deprecated
(up for discussion, depending on adoption of test utils. Alternative approach could be to re-use TestProvider in test-utils)
2024-04-16 12:23:50 +01:00
Tom Ratcliffe 9ad87de0b8 Alias @grafana/test-utils for easier imports in tests 2024-04-16 12:23:50 +01:00
Tom Ratcliffe c0cb36c9d6 Add initial test-utils file with render helper, wrapping in (most) required providers 2024-04-16 12:23:50 +01:00
Josh Hunt f90e3b2ebc I18N: Warn if t() called before init (#86222)
* I18N: Warn if t() called before init

* don't log in tests

* fix double assignemnt!
2024-04-16 12:47:24 +02:00
Gábor Farkas 2379498228 mysql additional decoupling steps (#86168)
* mysql additional decoupling steps

* updated snapshot test
2024-04-16 11:50:41 +02:00
Leonard Gram 2c304c5fdf Cloudmigration: org admin can migrate (#85256) 2024-04-16 11:36:10 +02:00
Josh Hunt b5337ba419 I18N: Fix untranslated descriptions in data source picker (#86216)
I18n: Remove t() call from root module scope
2024-04-16 10:28:24 +01:00
Josh Hunt f110c05797 I18N: Split loadTranslations i18next plugin into seperate file (#86217) 2024-04-16 09:53:23 +01:00
Laura Fernández f1de8940dc Grafana UI: StackingEditor and addHideFrom - Replace HorizontalGroup with Stack (#86192) 2024-04-16 10:46:01 +02:00
Alexa V 40f1b2c92c Dashboard: Migration - Add public dashboard tag in the nav bar (#86204)
Migrate public dashboard badge to scenes dashboard
2024-04-16 10:04:25 +02:00
Gábor Farkas 9015bfa3f4 mssql: decouple sqleng (#86130)
* mssql: decouple sqleng

* fix codeowners-file
2024-04-16 08:00:14 +00:00
Fabrizio 538db9ab1c Docs: Fix typos (#85651) 2024-04-16 09:58:40 +02:00
Ryan McKinley ba510d1a7d Playlists: Enable kubernetesPlaylists by default in OSS (#86259) 2024-04-16 09:19:35 +02:00
Torkel Ödegaard e15beab362 DashboardScene: Fixes saving dashboard with angular panels (#86098)
* DashboardScene: Fixes saving angularOptions

* Update

* Update
2024-04-16 03:13:42 +02:00
Torkel Ödegaard 869814ea3e DashboardScene: Fix empty row repeat issue (#86095) 2024-04-16 03:10:24 +02:00
Brendan O'Handley f85470d652 Prometheus: Use the frontend package in Prometheus and remove feature toggle (#86080)
* add history links for monaco completion provider folder

* add history links for monaco query field folder

* add history links for components folder

* add history links for configuration folder

* add history links for dashboard json folder

* add history links for gcopypaste folder

* add history link for variableMigration

* add history link for querybuilder/components/metrics-modal folder

* add history link for querybuilder/components/promqail folder

* add history links for querybuilder/components folder

* add history links for querybuilder/hooks folder

* add history links for querybuilder/shared folder

* add history links for querybuilder folder

* add history links for querycache folder

* add history links for src folder

* use frontend package and custom auth in module.ts

* remove files and fix import issues

* remove usePrometheusFrontendPackage

* remove extra files

* update betterer

* remove extra files after rebase

* fix betterer for rebase

* fix e2e flakiness
2024-04-15 16:45:23 -05:00
David Allen c9350a25c4 docs: add annotations play link (#86206)
* docs: add annotations play link

* PR feedback
2024-04-15 17:30:48 -04:00
Nick Richmond 63aa8a6035 Chore: add missing modowner (#86234)
* chore: add modowner

* fix: modowner
2024-04-15 23:17:15 +02:00
David Allen f50e29e004 docs: add thresholds play link (#86212)
* docs: add thresholds play link

* PR review
2024-04-15 17:16:04 -04:00
David Allen 19ae9377b9 docs: added logs panel play link; added dedup options, reformatted fig (#86209)
* docs: added logs panel play link; added dedup options, reformatted fig

* Update docs/sources/panels-visualizations/visualizations/logs/index.md

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

* Update docs/sources/panels-visualizations/visualizations/logs/index.md

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-15 17:08:06 -04:00
David Allen c450d61d32 docs: query data/relative time range override play link (#86213) 2024-04-15 15:51:13 -04:00
David Allen 04e127b368 Docs: added bar gauge play link (#86205)
* docs: added bar gauge play link

* Update docs/sources/panels-visualizations/visualizations/bar-gauge/index.md

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-15 15:50:53 -04:00
David Allen 5a57c31607 Docs: add template var Play link; cleanup existing (#86074)
* Docs: add template var Play link; cleanup existing

* Update docs/sources/dashboards/variables/_index.md

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

* Update docs/sources/dashboards/variables/_index.md

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

* Apply suggestions from code review

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-15 15:32:09 -04:00
Brendan O'Handley 7c156274cd Prometheus: Add native histogram functions (#86002)
* add native histogram functions to code editor

* add native histogram function types for query builder

* add functions to query builder

* add test to show parsing breaks from code to builder

* add histogram_avg to code editor

* add histogram_avg to builder and make parity between package and core

* add functions to hard coded promql file for highlighting

* remove native histogram test so that it can be added in #85942

* remove functions from core prometheus js to prevent merge conflict in #86080

* use xit for test instead of removing it
2024-04-15 14:26:51 -05:00
Charandas 2aedd9dacf K8s: add ID token to requests outbound to new query endpoint (#86214) 2024-04-15 20:34:20 +02:00
ismail simsek cc87281d71 Prometheus: Respect dashboard queries when querying ad hoc filter labels (#85674)
* use queries

* extract metric name from query

* unit tests
2024-04-15 19:05:19 +02:00
Laura Fernández 82f910c0c5 Chore: Use handleReducedMotion to smooth the animation in LoadingBar (#85808) 2024-04-15 17:27:08 +02:00
Isabel Matwawana 219c2c761e Docs: add dashboards landing page (#86001)
* Added template from existing landing page

* Added dashboards content

* Fixed front matter

* Referenced existing icon to test

* Added test icon

* Edited text

* Fixed link formatting

* Finalized description and overview text

* Updated description'

* Updated tile text

* Updated docs/ref section
2024-04-15 11:07:05 -04:00
Laura Fernández 726cd4a8a6 Chore: Fix link in UsersTable (#86152) 2024-04-15 16:56:28 +02:00
Isabel Matwawana d9a0cedd89 Docs: add panel overview (#86075)
* Added panel overview page and updated panel editor page

* Finalized panel overview intro text and added links

* Added add panel section to overview and removed section from editor

* Fixed version interpolation syntax and updated Cloud link

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Fixed version interpolation syntax

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-04-15 10:51:00 -04:00
Isabel Matwawana 918f122433 Docs: add tags section to dashboard settings docs (#85875)
Edited
2024-04-15 10:49:14 -04:00
David Allen eb46d85829 Docs: add best practices Play link (#86076) 2024-04-15 10:47:58 -04:00
Jack Westbrook 1dfd34ee79 Chore: Add codemod and betterer config to make barrel imports explicit (#80913)
* chore: add codemod for highlighting barrel imports

* style(frontend): add no-barrel-files plugin to betterer

* chore(betterer): update betterer file

* ci(frontend-metrics): track occurrences of barrel files being imported

* chore: clean up explicit barrel imports codemod script

* chore(codeowners): add explicit barrel imports script

* Add no-barrel-files plugin to betterer configuration

Co-Authored-By: LeventeBalogh <balogh.levente.hu@gmail.com>

---------

Co-authored-by: LeventeBalogh <balogh.levente.hu@gmail.com>
2024-04-15 16:36:19 +02:00
renovate[bot] 453a75b767 Update dependency @swc/helpers to v0.5.10 (#86146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 15:30:26 +01:00
Alexander Weaver 5b1498f98f Alerting: Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy (#85481)
Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy
2024-04-15 09:25:28 -05:00
Laura Fernández afbd28e160 Chore: RolePickerMenu and RolePickerSubmenu - Replace HorizontalGroup with Stack (#86145) 2024-04-15 16:12:47 +02:00
Laura Fernández 499ad35a50 Chore: ActionRow - Replace HorizontalGroup with Stack (#86143) 2024-04-15 15:57:15 +02:00
antonio b2555cfc01 alerting>tutorial>fix (#86101)
* alerting>tutorial>fix

* Update index.md
2024-04-15 15:46:19 +02:00
renovate[bot] 2868264360 Update dependency @types/react-calendar to v4 (#86132)
* Update dependency @types/react-calendar to v4

* remove @types/react-calendar since it's no longer used

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-15 15:44:12 +02:00
Kristina 0034e9f044 Explore: Change service in hook, un-skip test (#85894)
Use different service, un-skip test
2024-04-15 08:11:21 -05:00
Kristina ad3abfc695 Explore: Query history does not save filtered queries (#85825)
* Bring in datasource filterQuery in, to not save filtered queries to history

* Add test
2024-04-15 08:07:02 -05:00
renovate[bot] b07f69d1a4 Update dependency @types/marked to v6 (#86123)
* Update dependency @types/marked to v6

* remove @types/marked since it's no longer needed

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-15 15:02:22 +02:00
Gábor Farkas 7ce7584151 postgres: decouple sqleng (#86055) 2024-04-15 14:28:03 +02:00
Gábor Farkas b02317d583 mysql: decouple sqleng (#86057) 2024-04-15 14:26:15 +02:00
Dave Henderson 44adfea049 Server: Fix 'server' subcommand double-registration (#86083)
fix 'server' subcommand double-registration

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-04-15 08:21:03 -04:00
Erik Sundell ad8d505d81 Chore: Install Playwright deps manually (#86008)
* install deps manually

* use ubuntu image

* regenerate drone file

* use node bookworm image

* get node major version from variable and wait for grafana server to be ready
2024-04-15 14:19:37 +02:00
Victor Marin 6fb13842a5 Fix Canvas crashing in scenes dashboard (#86117) 2024-04-15 15:13:07 +03:00
renovate[bot] 06719e1756 Update dependency i18next to v23.11.2 2024-04-15 11:57:44 +00:00
renovate[bot] 6541be39d1 Update dependency @types/react to v18.2.78 2024-04-15 10:45:52 +00:00
Bogdan Matei d379e319d6 Implement API server client in Scopes (#85266) 2024-04-15 13:43:42 +03:00
renovate[bot] fc6cad797d Update dependency @testing-library/react to v15.0.2 2024-04-15 09:42:14 +00:00
David Allen b0c336c692 Docs: add data source type play link; cleanup (#86077) 2024-04-15 10:40:32 +01:00
Pepe Cano 656918ce35 Alerting docs: simplify Supported data sources section (#85795) 2024-04-15 10:56:01 +02:00
linoman 51da96d94e Auth: Add IsClientEnabled and IsEnabled for the authn.Service and authn.Client interfaces (#86034)
* Add `Service. IsClientEnabled` and `Client.IsEnabled` functions

* Implement `IsEnabled` function for authn clients

* Implement `IsClientEnabled` function for authn services
2024-04-15 10:54:50 +02:00
Laura Fernández 2b62167842 Grafana UI: LoginPage - Replace HorizontalGroup with Stack (#86068) 2024-04-15 10:52:28 +02:00
renovate[bot] 6ff021bb9b Update dependency @playwright/test to v1.43.1 2024-04-15 08:50:38 +00:00
Leonor Oliveira d17af78e79 Storage: dualwriter delete implementation (#86000)
* Add delete methods

* Remove duplicated const

* Add tests

* Lint

* Lint

* Remove duplicated test file

* Update pkg/apiserver/rest/dualwriter_mode2.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Update pkg/apiserver/rest/dualwriter.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Update pkg/apiserver/rest/dualwriter_mode2.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Add missing dependency

* Return if object deletion goes wrong

* Add a more complete log

---------

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
2024-04-15 10:48:31 +02:00
Giuseppe Guerra eec9d3dbc4 Plugins: Removed feature toggle pluginsDynamicAngularDetectionPatterns (#85956)
* Plugins: Removed feature toggle pluginsDynamicAngularDetectionPatterns

* re-generate feature toggles
2024-04-15 10:37:28 +02:00
renovate[bot] 41e4b95b51 Update dependency @grafana/scenes to v4.8.0 (#85887)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 10:27:59 +02:00
Ashley Harrison 5e74b6962b Chore: Add lint rule for no-unreduced-motion (#85862)
* add lint rule for no-unreduced-motion

* update to satisfy types
2024-04-15 09:18:56 +01:00
renovate[bot] 00daca7f43 Update dependency sass-loader to v14.2.0 (#86066)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 09:18:29 +01:00
Torkel Ödegaard 814ffdbc2b DashboardScene: Fixes issue moving between dashboards (#86093) 2024-04-15 09:18:02 +02:00
Domas 54e1756b49 ButtonSelect: Respect isDisabled option property (#85954)
make buttonselect respect isDisabled
2024-04-15 10:13:39 +03:00
Torkel Ödegaard 31879f1f5a useForceUpdate: Return stable function (#86094) 2024-04-15 09:13:16 +02:00
ismail simsek 23cd2d3e6f Chore: Add jest config to grafana-prometheus (#86078)
add jest config
2024-04-12 21:17:53 +02:00
Yuri Tseretyan 12605bfed2 Alerting: Update fixed roles to include silences permissions (#85826)
* update fixed roles to include silences
* add silence actions to managed permissions
* update documentation
2024-04-12 12:37:34 -04:00
Ieva 56f4664875 RBAC: add a feature toggle for action sets (#86064)
* add a feature toggle for action sets

* update feature toggle name
2024-04-12 17:19:25 +01:00
Laura Fernández f3b814a024 Grafana UI: ToolbarButton.story.tsx - Replace HorizotalGroup and VerticalGroup with Stack (#86067) 2024-04-12 18:08:43 +02:00
Prapti Sharma 930363ad12 Minor correction done in WORKFLOW.md (#80505)
Update WORKFLOW.md

Co-authored-by: Laura Benz <laura.benz@grafana.com>
2024-04-12 17:56:10 +02:00
Faye Lin a94ab259c6 Expression: Fix a bug of the display name of the threshold expression result (#85912)
* replace ReferenceVar with RefID when creating the math command for the ThresholdCommand

* Fix the Hysteresis test
2024-04-12 17:46:14 +02:00
Joao Silva 10c6ab5a17 Chore: Replace HorizontalGroup with Stack in SelectOrgPage and ChangePasswordForm (#86061) 2024-04-12 16:32:57 +01:00
renovate[bot] 6417e92ebe Update dependency sass to v1.75.0 (#86051)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 16:17:13 +01:00
Steve Simpson ad7f804255 Alerting: Fix evaluation metrics to not count retries (#85873)
* Change evaluation metrics to only count once per eval, and add new metrics.

* Cosmetic: Move eval total Inc() to orginal place.
2024-04-12 16:20:46 +02:00
Tobias Skarhed f1f02207f2 Alerting: Improve heading accessibility (#85723)
* Change from h5 to Text component

* Fix goworksum error

* Add headings for contact points and notification policies

* Alert group h2

* Reset labels and move h2 to group by

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-04-12 16:19:47 +02:00
lean.dev c8d185502b Fixes CMS url for dev environment (#86056) 2024-04-12 14:19:38 +00:00
Gábor Farkas ee1ece1cf8 sql: use resample from grafana-plugin-sdk-go (#85599)
* copied files

* add copy of Pointer

* fix the API

* forward resample to the namespaced code

* moved the aligning-code to the parent

* call namespaced resample directly

* lint fix

* lint fix

* switch to plugin-sdk-go resample

* adjusted import path
2024-04-12 15:22:28 +02:00
github-actions[bot] b295f09af6 I18n: Download translations from Crowdin (#86050)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-12 15:17:33 +02:00
renovate[bot] c1b8ee8453 Update dependency typescript to v5.4.5 2024-04-12 15:06:30 +02:00
renovate[bot] a5cd88c67e Update dependency typescript to v5.4.3 (#84470)
* Update dependency typescript to v5.4.3

* refactor: solve TS errors

* refactor: update yarn.lock

* refactor: return type

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Laura Benz <laura.benz@grafana.com>
2024-04-12 14:46:47 +02:00
Josh Hunt 3b4983695e E2C: Remove mock api (#86043) 2024-04-12 13:26:13 +01:00
Arati R aba15646b6 Storage: Add DualWriter improvements (#85968)
* Add Create tests
* Adjust mode 2 and mode 3 Get behavior

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-04-12 14:21:10 +02:00
Ashley Harrison b3401c802c EmptyState: make "message" a required prop (#86029)
* make "message" a required prop on EmptyState

* run i18n:extract
2024-04-12 13:13:28 +01:00
Leon Sorokin 2bedbcf344 TimeSeries: Fix series rendering with data links and extra fields (#86007) 2024-04-12 14:11:22 +02:00
renovate[bot] c2a81f3020 Update react monorepo 2024-04-12 11:58:02 +00:00
renovate[bot] ba80c15281 Update dependency react-hook-form to v7.51.3 2024-04-12 11:35:25 +00:00
Andre Pereira 1a62d94c55 Tempo: Return raw result from traceql query (#86032)
Return raw result from traceql query
2024-04-12 12:26:27 +01:00
renovate[bot] 44a612a96b Update dependency @types/eslint to v8.56.9 2024-04-12 11:11:55 +00:00
github-actions[bot] 5ea7a1eefd I18n: Download translations from Crowdin (#86030)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-12 10:38:51 +00:00
renovate[bot] 63d63ea9fb Update dependency @testing-library/react to v15.0.1 2024-04-12 10:27:38 +00:00
Krishna Dhakal 068bcfbdb0 Frontend Testing: Replace deprecated toBeCalledWith Jest matcher. (#85929) 2024-04-12 11:26:01 +01:00
Karl Persson 73fecc8d80 Authn: Identity resolvers (#85930)
* AuthN: Add NamespaceID struct. We should replace the usage of encoded namespaceID with this one

* AuthN: Add optional interface that clients can implement to be able to resolve identity for a namespace

* Authn: Implement IdentityResolverClient for api keys

* AuthN: use idenity resolvers

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-04-12 11:38:20 +02:00
renovate[bot] c837d95677 Update dependency @swc/helpers to v0.5.9 (#86024)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 10:34:53 +01:00
Ashley Harrison 40c148ba48 EmptyState: Provide custom messages for existing empty states (#86021)
provide custom messages for existing empty states
2024-04-12 11:08:14 +02:00
Ashley Harrison 505bdf5a8d Chore: add @types/history to renovate ignore list (#86011)
add @types/history to renovate ignore list
2024-04-12 10:00:27 +01:00
David Allen a1086836f3 Docs: add mysql data source Play link (#85982) 2024-04-12 09:47:59 +01:00
David Allen bf9df1a8d6 Docs: add graphite data source Play link (#85981) 2024-04-12 09:47:51 +01:00
Tom Ratcliffe ce5fc59d54 Use ActiveTab type for custom hook 2024-04-12 09:13:29 +01:00
Tom Ratcliffe ccaf850c09 Refactor to useTabQueryParam 2024-04-12 09:13:29 +01:00
Tom Ratcliffe d91e1a4e3a Refactor tab query param logic and add tests 2024-04-12 09:13:29 +01:00
Tom Ratcliffe 800a2e0228 Fix tests being stateful due to locationService 2024-04-12 09:13:29 +01:00
Tom Ratcliffe 94ad66998f Send tab query param through when returning from template save 2024-04-12 09:13:29 +01:00
Tom Ratcliffe 933cc3f075 Tweak ContactPoints to use query param for tab selection 2024-04-12 09:13:29 +01:00
Diego Augusto Molina e6ead667b3 Unified Storage: added pkg/util/ring package to handle queueing of notifications (#84657)
* added pkg/util/rinq package to handle queueing of notifications

* fix linters

* Fix typo in comment

Co-authored-by: Dan Cech <dcech@grafana.com>

* improve allocation strategy for Enqueue; remove unnecessary clearing of slice

* Update pkg/util/ringq/dyn_chan_bench_test.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Update pkg/util/ringq/ringq.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* refactor to move stats and shrinking into Ring

* add missing error assertions in tests

* add missing error assertions in tests and linting issues

* simplify controller closed check

* improve encapsulation of internal state in Ring

* use (*Ring).Len for clarity instead of stats

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-04-11 19:32:31 -03:00
Adela Almasan eb86fd867f Canvas: Update new element type with rotation (#85690) 2024-04-11 15:36:33 -05:00
Dave Henderson 5cfca8dbf6 chore: bump Go to 1.21.9 (#85964)
* chore: bump Go to 1.21.9

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* regen .drone.yml

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-04-11 15:37:07 -04:00
Charandas a39fe593c2 K8s: remove standalone authenticator in favor of providing one through the factory (#85901) 2024-04-11 21:30:23 +02:00
grafana-delivery-bot[bot] 1031c2f1d2 Changelog: Updated changelog for 10.4.2 (#85997)
Co-authored-by: grafanabot <bot@grafana.com>
2024-04-11 18:49:19 +00:00
Brendan O'Handley a25b59c6d8 Prometheus: Change feature toggle usePrometheusFrontendPackage to general availability (#85951)
change feature toggle to GA after testing
2024-04-11 14:13:30 -04:00
Ieva 58059da10b RBAC: Fix global role deletion in hosted Grafana (#85980)
take into account the value of RBACSingleOrganization setting when determining org
2024-04-11 18:50:23 +01:00
David Allen 623d4d580e Docs: add bar/pie visualization Play link (#85898)
* Update index.md

* pie chart equivalent commit

* Updated titles to match dashboard title

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-11 13:27:38 -04:00
David Allen 17a8de68e6 Docs: add gague visualization Play link (#85897)
* Docs: add gague visualization Play link

* Fixed typo

* Updated title to match dashboard title

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-11 13:27:07 -04:00
David Allen 765f20c555 Docs: add time series visualization Play link (#85885)
* docs/play shortcode: time series visualization

* Ran prettier

* Updated title to match title of dashboard in Grafana Play

---------

Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-11 13:17:16 -04:00
Giuseppe Guerra e42d8f0bd0 Plugins: Removed feature toggle enablePluginsTracingByDefault (#85953) 2024-04-11 18:40:47 +02:00
David Allen 83438bd231 Docs: add Table visualization Play link (#85896)
Docs: add stat visualization Play link
2024-04-11 12:13:24 -04:00
Isabel Matwawana 2798acd667 Docs: fix duplicate headings (#85903)
Added suffix to one Placement heading
2024-04-11 12:12:47 -04:00
David Allen cdfd092d11 Docs: add stat visualization Play link (#85895) 2024-04-11 12:11:48 -04:00
renovate[bot] 51d5a4c8f2 Update dependency @testing-library/dom to v10 (#85958)
* Update dependency @testing-library/dom to v10

* update @testing-library/react as well

* fix unit tests

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-11 17:29:35 +02:00
Summer 92d659527d Release: Update drone-pipeline.md (#85950)
Update drone-pipeline.md
2024-04-11 09:00:29 -06:00
Andres Martinez Gotor ab5a065256 Revamp plugin loading error management (#85939) 2024-04-11 16:18:04 +02:00
renovate[bot] bb56f4a605 Update dependency @grafana/e2e to v10 (#85952)
* Update dependency @grafana/e2e to v10

* remove @grafana/e2e dependency from @grafana/prometheus

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-11 16:16:12 +02:00
Darren Janeczek 34875344ed datatrails: fix: clear undefined query params on history step change (#85607)
* fix: clear undefined query params on history step change

* Minor tweak

* fix: resolve CodeQL check: Client-side cross-site scripting

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-11 09:52:33 -04:00
renovate[bot] b4b0a80e86 Update dependency sass to v1.74.1 (#85947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 14:32:37 +01:00
Marcus Efraimsson 78f460c4de Tracing: Allow otel service name and attributes to be overridden from env (#85937)
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-04-11 15:18:46 +02:00
renovate[bot] 0d42e025f0 Update dependency webpack-bundle-analyzer to v4.10.2 2024-04-11 12:53:27 +00:00
Joao Silva cf640717ba Chore: Upgrade uglify-js to fix vulnerability (#85889) 2024-04-11 13:51:51 +01:00
Jack Baldry 61e2a5354e Revert "Docs: Clarify open source documentation (#77077)" (#85879) 2024-04-11 13:51:24 +01:00
Bruno 69a92a7a2f CloudMigrations: include stack id in access policy and token names (#85868)
* CloudMigrations: include stack id in access policy and token names

* CloudMigrations: include slug in the display name

* formatting
2024-04-11 09:43:46 -03:00
Gábor Farkas 050105e70a plugins: update to latest go plugin sdk version (v0.222.0) (#85943)
plugins: update to latest go plugink sdk (v0.222.0)
2024-04-11 14:41:37 +02:00
Josh Hunt 6d35fb307f Chore: Run PR checks when enabling auto-merge (#85857) 2024-04-11 14:11:21 +02:00
renovate[bot] af115c1d93 Update dependency jest-fail-on-console to v3.2.0 (#85936)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 13:51:45 +02:00
Arati R 4e532b00e1 Storage: Add mode-specific List implementations (#85814)
* Add List methods to mode 1 and 4
* Refactor errors
2024-04-11 13:41:05 +02:00
renovate[bot] 4af239af39 Update dependency i18next to v23.11.1 (#85935)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 12:33:50 +01:00
Marcus Efraimsson 3e385763c5 Tracing: Improve HTTP request/middleware spans and standalone apiserver (#85715)
Fixes so that auth middleware trace/span doesn't wrap the next handlers.
Allow tracing service name to be overridden in standalone apiserver.
Change k8s api tracing operation name to KubernetesAPI from 
grafana-apiserver (which is the service name)
2024-04-11 13:28:23 +02:00
renovate[bot] 877aaf87d2 Update dependency dompurify to v3.1.0 (#85932)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 13:14:32 +02:00
renovate[bot] 6a4ef71c4e Update dependency @types/eslint to v8.56.8 2024-04-11 10:55:18 +00:00
renovate[bot] 5a471420d0 Update dependency centrifuge to v5.1.1 (#85923)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 11:29:15 +01:00
Timur Olzhabayev 116088c722 Chore: Making versioncheck url rely on config instead of being hardcoded (#85855)
* Making versioncheck url rely on config instead of being hardcoded

* Update pkg/services/updatechecker/plugins.go

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

* making the names a bit more generic and using url.url library

* fixing tests

* fixing linting

---------

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2024-04-11 12:04:53 +02:00
Adam Yeats 0ec8ccbf66 Google Cloud Monitor: Fix interface conversion for incorrect type in cloudMonitoringProm.run (#85811) 2024-04-11 11:59:34 +02:00
Fabrizio 653d9fa895 Loki: Handle X-Scope-OrgID and tenant IDs (#85726) 2024-04-11 11:51:54 +02:00
renovate[bot] 37f1ea7b57 Update dependency @playwright/test to v1.43.0 (#85918)
* Update dependency @playwright/test to v1.43.0

* update playwright image

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-11 11:45:36 +02:00
Bogdan Matei 62c512662c Dashboard: Allow auto refresh option when saving a dashboard (#85581)
Fix saving auto refresh option
2024-04-11 12:31:47 +03:00
renovate[bot] 26805906dd Update dependency @grafana/plugin-e2e to v1.1.0 (#85917)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 11:04:13 +02:00
Laura Fernández 2986273273 Grafana UI: CellActions - Replace HorizontalGroup with Stack (#85860) 2024-04-11 10:59:23 +02:00
renovate[bot] 1ed3dc22d5 Update react monorepo 2024-04-11 08:47:05 +00:00
dependabot[bot] cab7fefef5 Bump actions/checkout from 3 to 4 (#84529)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-11 09:44:09 +01:00
Josh Hunt c024d51a38 Chore: Remove a buncha stuff from Sandbox TestStuffPage (#85876) 2024-04-11 09:40:30 +01:00
renovate[bot] 8461310e36 Update dependency rc-cascader to v3.24.1 2024-04-11 08:27:47 +00:00
Karl Persson 895222725c Session: set authID and authenticatedBy (#85806)
* Authn: Resolve authenticate by and auth id when fethcing signed in user

* Change logout client interface to only take Requester interface

* Session: Fetch external auth info when authenticating sessions

* Use authenticated by from identity

* Move call to get auth-info into session client and use GetAuthenticatedBy in various places
2024-04-11 10:25:29 +02:00
Andres Martinez Gotor f375af793f Plugin loader: refactor step evaluation (#85881) 2024-04-11 09:41:05 +02:00
renovate[bot] 1e9841b1c9 Update dependency ol-ext to v4.0.18 2024-04-10 21:14:15 +00:00
Darren Janeczek 2e1e45bbb1 datatrails: ensure breakdown yaxis sync is maintained when layout changes (#85380)
fix: ensure breakdown yaxis sync is maintained when layout changes
2024-04-10 17:12:33 -04:00
renovate[bot] 486c956098 Update dependency nanoid to v5.0.7 2024-04-10 19:56:56 +00:00
renovate[bot] 9fc8599bbf Update dependency eslint-plugin-jsdoc to v48.2.3 2024-04-10 18:14:13 +00:00
Tom Ratcliffe a852b70953 Fix console.errors from edit group modal tests 2024-04-10 19:13:41 +01:00
Tom Ratcliffe fff524b54c Make quick eval buttons in group edit set dirty state on form and handle invalid case 2024-04-10 19:13:41 +01:00
Tom Ratcliffe 584d2bcb91 Remove useEffect that was setting incorrect display value for pending period 2024-04-10 19:13:41 +01:00
Sergej-Vlasov 79631bdd15 DashboardScene: prevent panel hovel header crop with scenes (#85869)
* add behaviour that adjusts hoverHeaderOffset

* clean up behaviour logic

* optimise and extract behaviour to separate file

* fix hoverHeaderOffsetBehavior unsubscribe

* update to latest scenes version

* Fix PanelOptionsTest

* fix: test value for adhoc filter url param

* Fix transformation tab tests

* bump scenes version

* Revert "Fix transformation tab tests"

This reverts commit 3ec9f5b226.

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2024-04-10 20:39:43 +03:00
Armand Grillet 212acb9bc5 Alerting: clarify alerting silences (#85853)
* Clarify alerting silences

* Update docs/sources/alerting/configure-notifications/create-silence.md

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-04-10 18:30:21 +02:00
Laura Fernández cd79fe1a7c Grafana UI: ThemeDemo - Replace HorizontalGroup and VerticalGroup with Stack and Box (#85888) 2024-04-10 18:23:31 +02:00
Josh Hunt 7aac5f6b3e Chore: Fix custom eslint rule typechecking (#85886) 2024-04-10 17:12:31 +01:00
linoman 85e66d8edb Chore: Fix position for RolePickerMenu being out of bounds (#85604)
* Fix position for RolePickerMenu being out of bounds

* adjust the offset of the role picker menu
2024-04-10 17:51:50 +02:00
Dominik Prokop 483dc02b68 Remove repeating responsibility from LibraryVizPanel (#84879)
* Remove repeating responsibility from LibraryVizPanel

* Improvements
2024-04-10 17:46:42 +02:00
Dominik Prokop 615fa73f23 DashboardScene: Enrich requests correctly in edit mode (#85883) 2024-04-10 17:38:37 +02:00
renovate[bot] b1ad46e426 Update dependency @types/node to v20.12.7 2024-04-10 15:26:09 +00:00
Todd Treece 796b15d9e0 Metrics: Prevent duplicates in MultiRegistry (#85880) 2024-04-10 10:55:24 -04:00
Kristina 60edd988ac Explore: Skip flaky test (#85878)
Skip flaky test
2024-04-10 16:05:07 +02:00
Ashley Harrison 3c69de6be5 Chore: removing some type assertions (#85839)
* fix some type assertions in loops

* some more cleanup

* some alerting fixes

* put comments in correct place to ignore rule

* couple more

* undo SilencesFilter changes
2024-04-10 14:54:31 +01:00
ismail simsek 96f49bfaee InfluxDB: Fix panic when reading concurrency count during influxql health check (#85771)
fix panic when reading concurrency count during influxql health check
2024-04-10 15:32:38 +02:00
Sergej-Vlasov 33b6f45a9e Revert "DashboardScene: prevent panel hovel header crop with scenes" (#85865)
Revert "DashboardScene: prevent panel hovel header crop with scenes (#85780)"

This reverts commit 23f1732855.
2024-04-10 16:27:53 +03:00
renovate[bot] 2fc8342248 Update dependency @kusto/monaco-kusto to v10.0.19 2024-04-10 13:24:23 +00:00
Kristina 98c575d28f Explore: Query history should gracefully handle undefined exploreId on run button (#85821)
* Gracefully handle undefined exploreId on run button

* Add test
2024-04-10 07:21:29 -06:00
Isabel Matwawana d666b92317 Docs: add unit scaling clarification (#85830)
* Added unit scaling information

* Edited
2024-04-10 09:11:59 -04:00
renovate[bot] c650b016e4 Update dependency @grafana/scenes to v4.5.7 2024-04-10 13:05:07 +00:00
Sergej-Vlasov 23f1732855 DashboardScene: prevent panel hovel header crop with scenes (#85780)
* add behaviour that adjusts hoverHeaderOffset

* clean up behaviour logic

* optimise and extract behaviour to separate file

* fix hoverHeaderOffsetBehavior unsubscribe

* update to latest scenes version

* Fix PanelOptionsTest

* fix: test value for adhoc filter url param

* Fix transformation tab tests

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2024-04-10 15:39:51 +03:00
Tobias Skarhed c602d9d6ad News: Change from h3 to h2 (#85858)
Change from h3 to h2
2024-04-10 14:00:25 +02:00
Laura Fernández 22d33bd354 Grafana UI: SecretTextArea - Replace HorizontalGroup with Stack and Box (#85849) 2024-04-10 13:41:02 +02:00
renovate[bot] d480cf4977 Update dependency @grafana/faro-web-sdk to v1.5.1 2024-04-10 11:24:40 +00:00
github-actions[bot] 3c8519816c I18n: Download translations from Crowdin (#85797)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-10 11:22:53 +00:00
renovate[bot] 8975e24b2b Update dependency @grafana/faro-web-sdk to v1.5.1 2024-04-10 10:44:24 +00:00
Alexander Zobnin 3127566a20 Access control: Use ResolveIdentity() for authorizing in org (#85549)
* Access control: Use ResolveIdentity() for authorizing in org

* Fix tests

* Fix middleware tests

* Use ResolveIdentity in HasGlobalAccess() function

* remove makeTmpUser

* Cleanup

* Fix linter errors

* Fix test build

* Remove GetUserPermissionsInOrg()
2024-04-10 12:42:13 +02:00
Karl Persson ebb4bb859e Authn: allow ResolveIdentity to authenticate in "global" scope (#85835)
* Authn: allow ResolveIdentity to authenticate in "global" scope

* Use constant
2024-04-10 11:53:45 +02:00
renovate[bot] a3ed1855ff Update dependency @grafana/faro-core to v1.5.1 2024-04-10 09:46:06 +00:00
Laura Fernández 1dce01fdd7 Grafana UI: PanelChrome - Replace HorizontalGroup with Stack in documentation and stories (#85843) 2024-04-10 11:44:03 +02:00
renovate[bot] 0585b55bb1 Update dependency @floating-ui/react to v0.26.12 (#85842)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 12:26:02 +03:00
Karl Persson fd870702c7 Chore: Remove unused function TryRotateToken (#85836)
* Chore: Remove unused function

* remove unused function
2024-04-10 11:15:43 +02:00
Josh Hunt f484519784 E2C: Refactor on-prem ConnectModal (#85799)
* Refactor on-prem ConnectModal to not use ModalProvider

* fix
2024-04-10 10:07:52 +01:00
renovate[bot] 651223fe2d Update babel monorepo to v7.24.4 2024-04-10 09:06:54 +00:00
renovate[bot] 77c97f69a9 Update opentelemetry-js monorepo (#85337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 09:28:20 +01:00
Ashley Harrison bbf874b96d ConfirmModal: Pressing enter in confirmation input now triggers primary action (#85812)
wrap confirm modal in a form
2024-04-10 09:22:22 +01:00
Tristan 8f5839fe8f CloudWatch: Add additional Glue metrics (#85798) 2024-04-09 19:31:39 +00:00
Oscar Kilhed 96abe65fe4 Dashboard scenes: Fix export tab not including variables when exporting externally (#85807)
Fix export tab not including variables when exporting externally
2024-04-09 20:39:30 +02:00
Darren Janeczek 66c0fd4dcc chore: update datatrails feature flag and enable (#85508)
* chore: update datatrails feature flag and enable

* fix: rename `datatrails` feature flag to `exploreMetrics`
2024-04-09 14:15:18 -04:00
Victor Marin b6249d6a50 Check source panel for updates in Dashboard DS panel (#85655)
* Check source panel for updates in Dashboard DS panel

* Test

* made it better

* cleanup

* cleanup and tests

* fix failing tests

* find the correct dashboard query

* revert mixed check in dashboard behaviour

* Dashboard data source: Return error when used in mixed data source (#85765)

* MixedDS: Inform about dashboard ds not being supported

* lint fix

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-04-09 20:59:37 +03:00
Matthew Jacobson f79dd7c7f9 Alerting: Persist silence state immediately on Create/Delete (#84705)
* Alerting: Persist silence state immediately on Create/Delete

Persists the silence state to the kvstore immediately instead of waiting for the
 next maintenance run. This is used after Create/Delete to prevent silences from
 being lost when a new Alertmanager is started before the state has persisted.
 This can happen, for example, in a rolling deployment scenario.

* Fix test that requires real data

* Don't error if silence state persist fails, maintenance will correct
2024-04-09 13:39:34 -04:00
Tobias Skarhed c7e4baff75 Explore: Add h1 for screen readers (#85794)
* Add h1 in Explore for screen readers

* Add i18n

* Move to ExplorePage
2024-04-09 18:15:44 +02:00
Ieva 9a2969fb4f RBAC: hide save button for users who can't save dashboard (#85758)
hide save button for users who can't save dashboard
2024-04-09 17:09:41 +01:00
Ivan Ortega Alba 27bc0c19ab DashboardScene: Detect changes when editing a panel (#85708) 2024-04-09 18:48:10 +03:00
Todd Treece 72472e5eb7 K8s: Add slog wrapper (#84680) 2024-04-09 18:39:25 +03:00
Leonor Oliveira 518d3341d5 Add Get method in dual writer (#85589)
* Add Get method in dual writer

* Update pkg/apiserver/rest/dualwriter_mode3.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Actually run the tests

* no need for t.Run()

* Update pkg/apiserver/rest/dualwriter_mode3.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Update pkg/apiserver/rest/dualwriter_mode3.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Update pkg/apiserver/rest/dualwriter_test.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Log improvements

* Fix method name

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-04-09 16:08:20 +02:00
Isabel Matwawana 1b1450e593 Docs: add updated youtube link (#85801)
Updated youtube link
2024-04-09 09:30:58 -04:00
Laura Fernández 88f116e96b CSS: use prefers-reduced-motion to let users skip animations (#85450) 2024-04-09 15:27:28 +02:00
Will Browne 698436aa29 Plugins: Update to latest go plugin sdk (v0.221.0) (#85796)
* update plugin sdk

* fix indirect
2024-04-09 15:06:05 +02:00
Kristina 5305316f5a Explore: Move Query History to be screen wide (#84321)
* WIP

* Use splitpanewrapper for drawer

* Get rich history pulling from multiple datasources

* highlight pane

* Fix datasource data handling

* create ds/explore map, move around ds lookup

* Handle no filters

* Fix tests and some errors

* Fix context menu issue

* (Poorly) enable scrolling, fix onClose to function

* Remove highlighting, use legacy key, fix casing

* fix filtering to handle non-simple data

* Fix linter, add translations

* Fixing tests~~

* Move to explore drawer and fix some more tests

* Kinda fix drawer stuff?

* Fix remaining card tests

* Fix test

* Fix tests

* Partially fix starred tab tests

* Fix integration tests

* Fix remaining tests 🤞

* Add a test and a clarifying comment behind a couple hooks

* Remove unused code

* Fix button styling and fix animation (but break width)

* Make Drawer using parent width (100%)

* Fix tests and some small catches

* Add tests for selectExploreDSMaps selector

---------

Co-authored-by: Piotr Jamroz <pm.jamroz@gmail.com>
2024-04-09 07:36:46 -05:00
Andreas Christou 3420e942ac Chore: Update RPM docs to include beta release references (#85753)
* Update RPM docs to include beta release references

* andreas/update-installation-docs/ run lint

* Don't number lists

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-04-09 14:11:22 +03:00
Laura Fernández 00be24d6b3 Chore: Create handleReduceMotion util function to manage animations (#85785) 2024-04-09 13:10:37 +02:00
kay delaney 02096c4e22 Dashboards: Add isViewing to mustKeepProps (#85748) 2024-04-09 10:33:59 +00:00
idafurjes 5c4a2de59b Add FolderUID for library elements (#83819)
* Revert "Revert "Add FolderUID for library elements" (#83776)"

This reverts commit 0dfdb2ae47.

* Fix bug, dashboard id and library element fodler_id are the corresponding values
Dashboard table hold both dahboards and tables
2024-04-09 12:27:43 +02:00
Santiago 2e7cc68394 Alerting: Remove CleanUp method from the Alertmanager (#85650)
Alerting: Remove Cleanup method from the Alertmanager
2024-04-09 12:13:27 +02:00
Ashley Harrison 4b5b738646 Time Zones: Fix relative time when using UTC timezone (#85637)
add UTC case to e2e test + let UTC pass through to moment.tz
2024-04-09 09:54:57 +01:00
Leonor Oliveira 8d75dcec04 Add better logging to the dual writer (#85594)
* Make Legacy a public field

* Remove duplicated Create method

* Add logger to dualwriter

* Use klog

* Add comment about selecting the dual writer

* Update pkg/apiserver/rest/dualwriter_mode1.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Update pkg/apiserver/rest/dualwriter_mode2.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Update pkg/apiserver/rest/dualwriter_mode3.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Update pkg/apiserver/rest/dualwriter_mode3.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Update pkg/apiserver/rest/dualwriter_mode2.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Create error var

* Lint

---------

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
2024-04-09 10:54:09 +02:00
Misi 4c12d77b98 Util: Support parsing and splitting strings enclosed in quotes in util.SplitString (#85735)
* Support parsing string enclosed in quotation marks in util.SplitString

* Support mixed formats of string list
2024-04-09 10:35:57 +02:00
Hugo Kiyodi Oshiro b200156a01 Plugins: Show update buttons when instance version is different (#85486) 2024-04-09 10:32:34 +02:00
Laura Fernández 0bdb96552a Grafana UI: Modal - Replace HorizontalGroup with Stack (#85756) 2024-04-09 10:31:11 +02:00
Erik Sundell 0f1b65a7ad Grafana E2E: Add deprecation notice and update docs (#85619)
* add deprecation notice

* update docs

* Update packages/grafana-e2e/README.md

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2024-04-09 10:10:19 +02:00
Ivan Ortega Alba df72cfd38e Dashboard: Move "add" actions into a dropdown (#85776)
* Move all add actions into a dropdown

* Hide alerts rules when editing

* Hide fav icon when editing
2024-04-09 11:09:37 +03:00
Sonia Aguilar e234d098e9 Alerting: Get oncall metada only when we have alert manager configuration data (#85622)
* Get oncall metada from url in settings only when we have alert manager configuration

* Add test in useContactPointsWithStatus hook

* Fix tests
2024-04-09 09:02:44 +02:00
Gábor Farkas 8a15ed42ae PostgreSQL: Fix the verify-ca mode (#85530)
postgres: fix the verify-ca problem
2024-04-09 08:39:45 +02:00
Torkel Ödegaard 4f290ebf99 DataTrails: Do not create a new VizPanel every activation (#85693) 2024-04-09 08:39:26 +02:00
Yuri Tseretyan 509691b416 Alerting: Introduce authorization logic for operations on silences (#85418)
* extract genericService from RuleService just to reuse it later
* implement silence service

---------

Co-authored-by: William Wernert <william.wernert@grafana.com>
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-04-08 18:02:28 -04:00
Dai Nguyen 9d7e758e04 Update teamHttpHeaders casing (#85767)
teamHTTPHeaders does not work.
teamHttpHeaders is the correct syntax for the feature toggle.
2024-04-08 22:24:19 +01:00
Isabel Matwawana 8014665ab5 Docs: g11 preview whats new fixes (#85759)
* Made style fixes to intro

* Updated upgrade guide menu title

* Commented Explore metrics docs link back in
2024-04-08 15:08:40 -04:00
Yuri Tseretyan e167a435c8 Alerting: Add description of a new role (#85218) 2024-04-08 15:01:15 -04:00
Eve Meelan 3721682a02 PR to document Explore Metrics (previously datatrails) (#85212)
* text dump

* initial edits

* more edits

* added more info, made edits

* first draft

* removed some commented out content

* final edits

* made requested changes

* feature name change

* missed a metrics explore - fixed

* ran prettier

---------

Co-authored-by: lwandz13 <larissa.wandzura@grafana.com>
2024-04-08 13:24:32 -05:00
Dan Cech 5dfe4cf407 Storage: Watch tests (#85496)
* basic watch tests working

* refactor to read previous event within poller

* add watch test files

* cleanup

* watch tests passing

* debug cleanup

* special handling for canceled context

* cleanup

* fix wire

* fix sqlite_sequence cleanup issue

* move watch tests to integration, wait for provisioned dashboards

* handle context deadline exceeded and eof errors

* add comment about sleep
2024-04-08 11:42:12 -04:00
Pepe Cano 0672bdf397 Alerting docs: add Template variable interpolation section in file provisioning (#84106)
* Alerting docs: add `Template variable interpolation` section in file provisioning

* Update docs/sources/alerting/set-up/provision-alerting-resources/file-provisioning/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/set-up/provision-alerting-resources/file-provisioning/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/set-up/provision-alerting-resources/file-provisioning/index.md

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-04-08 17:34:26 +02:00
Laura Fernández 0e12f60ee6 Grafana UI: FilterPill.story.tsx - Replace HorizontalGroup with Stack (#85736) 2024-04-08 17:21:58 +02:00
Gábor Farkas ccd13bf08e postgres: add tests to handle multiple statements in the same query (#85523)
* postgres: add tests to handle multiple statements in the same query

* better test explanation
2024-04-08 16:56:23 +02:00
Isabel Matwawana fe3b6d3c5e Docs: add youtube links to g11 preview what's new (#85738)
* Added youtube links

* Commented scenes video out
2024-04-08 10:55:48 -04:00
Torkel Ödegaard edf36d9ec0 DashboardScene: Fixes issue with mobile responsive layout due to repeated grid item class (#85731) 2024-04-08 16:55:35 +02:00
owensmallwood 37d39de36d Storage Api: Add metrics (#85316)
* Storage server runs own instrumentation server if its the sole target. Starts adding some sample metrics for now.

* adds metric for failed optimistic locks

* refactors metrics registration to own method on service for testability. Adds tests.

* Register sql storage server metrics from within the service

* fixes test

* troubleshooting drone test failures. Maybe timing when starting instrumentation server?

* Waits until instrumentation server has started. Updates tests.

* defer wont get called unless theres an error. removing.

* wait for instrumentation server to be running

* linter - close res body

* use port 3000 for metrics and removes test metric inc() call

* fixes test - updates port

* refactors module server to provide an instrumentation server module when there is no ALL or CORE target provided and running as single target

* make instrumentation server a dependency of all modules that do not run their own http server

* adds module server test

* adds tests for instrumentation service and removes old tests that aren't needed

* ignore error in test

* uses helper to start and run service

* when running wait on ctx done or http server err

* wait for http server

* removes println

* updates module server test to be integration test

* require no error in goroutine

* skips integration test when GRAFANA_TEST_DB not defined

* move http server start into start, verify returned content

* make test error when run fails

* try waiting longer and see if drone tests pass

* update integration test mysql creds to match drone

* go back to only waiting half second

* debug log drone mysql connection string

* use same db connection config as drone

* try using same hostname as drone

* cant use localhost as mysql hostname in drone tests. Need to parse it from the cfg db connection string

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-04-08 08:35:01 -06:00
Isabel Matwawana 3d9a0c8398 Docs: fix link text (#85701)
* Wording fixes

* Reverted change to this section
2024-04-08 10:07:27 -04:00
Pepe Cano 441118e506 Alerting docs: include hcl format in /alert-rules/:uid/export endpoint (#85432) 2024-04-08 16:01:18 +02:00
Mitch Seaman 3865b8c980 Docs: Re-order features and update intro in Grafana 11.0-preview What's new (#85702)
* Re-order features and update intro in Grafana 11.0-preview What's new

* Removed title casing

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-08 10:00:15 -04:00
Dan Cech 9c46e71d5a Storage: Support continue at specified resource version (#84868)
* support continue at specified resource version

* detect whether list continue pages need to use entity_history, remove BatchRead, expand selectQuery helper

* refactor continue token handling

* fix tests, increase history chunk size

* lint fix
2024-04-08 09:57:02 -04:00
Juan Cabanas d0312af571 PublicDashboards: Footer fix for scenes (#85684) 2024-04-08 09:44:27 -03:00
kgeckhart 5aa56c9380 CloudWatch: Add a Performance Insights and other missing metrics to aws/rds (#85680) 2024-04-08 14:00:28 +02:00
kay delaney 1b376546e2 Dashboards: Fix issue with changing panel JSON from edit view (#85717) 2024-04-08 12:49:38 +01:00
Andreas Christou a7f7f4787d Docs: Remove excess text in changelog (#85720)
Remove unnecessary wording
2024-04-08 12:19:46 +01:00
grafana-delivery-bot[bot] 7078347d0f Changelog: Updated changelog for 11.0.0-preview (#85718)
* Changelog: Updated changelog for 11.0.0-preview

* changelog: fix style issues

---------

Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Matias Chomicki <matyax@gmail.com>
2024-04-08 12:56:22 +02:00
Laura Fernández f3fb083381 GrafanaUI: DateTimePicker - replace HorizontalGroup with Stack component (#85663) 2024-04-08 12:44:01 +02:00
Ivan Ortega Alba d983629650 Detect folder changes when saving a dashboard (#85378) 2024-04-08 13:06:50 +03:00
Santiago 6a75a8f354 Alerting: Update grafana/alerting and use Upsert for creating silences (#85676)
* Alerting: Update grafana/alerting and use Upsert for creating silences

* go.work.sum

* change error message in tests for silences (save -> upsert)
2024-04-08 11:46:14 +02:00
Mikel Vuka 724517dc40 Provisioning: datasources auto deletion (#83034) 2024-04-08 11:45:39 +02:00
antonio 4b4bdc7c33 docs: email contact point (#85627)
* docs: email contact point

* applied suggestions

* admonition fix

* small typo fix

* applied suggested changes

* formatted text / applied suggestions
2024-04-08 11:35:45 +02:00
Ashley Harrison b3cff22db3 Chore: Improve types (#85659)
* fixing some types

* more type fixes

* few more

* last couple

* tiny tweak
2024-04-08 09:56:21 +01:00
Karl Persson 46ee87a0fc Authn: Ignore context.Canceled errors when logging auth errors (#85707)
Ignore context.Canceled errors when logging auth errors
2024-04-08 10:25:24 +02:00
Pepe Cano d7ad7c6169 Alerting docs: update disable_provenance TF mute_timing (#85692) 2024-04-08 10:20:51 +02:00
Sofia Papagiannaki ebf68f34fe Chore: Fix spelling (#85435)
Fix spelling
2024-04-08 11:08:43 +03:00
Sofia Papagiannaki 88be09420c Chore: Fix test to retry fetching provisioned dashboard until is in place (#85408)
Retry fetching provisioned dashboard until is in place
2024-04-08 10:47:34 +03:00
dependabot[bot] 2fd6bc65c7 Bump slackapi/slack-github-action from 1.24.0 to 1.25.0 (#85052)
Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 1.24.0 to 1.25.0.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](https://github.com/slackapi/slack-github-action/compare/v1.24.0...v1.25.0)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-08 09:36:15 +02:00
Victor Marin 432936cdcf Bump scenes to v4.5.4 (#85681)
bump scenes to v4.5.4
2024-04-08 09:07:20 +02:00
Erik Sundell 170131a4f6 Chore: Use latest version of plugin-e2e (#85669)
use latest plugin-e2e
2024-04-08 08:54:27 +02:00
Isabel Matwawana fb1afa0c34 Docs: What’s new & Upgrade guide & Breaking changes v11.0-preview (#84603)
* Updated index pages and added 11.0 breaking changes, upgrade guide, and what's new pages

* Removed references to 10.4

* Added draft breaking changes

* docs: grafana11-upgrade: postgres (#84671)

* docs: grafana11-upgrade: postgres

* fix typos

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>

* improved text

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

* improved text

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

* improved text

---------

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

* Added internal note

* Added what's new items

* Added more breaking changes'

* Copy edits

* Revert "docs: grafana11-upgrade: postgres" (#85580)

Revert "docs: grafana11-upgrade: postgres (#84671)"

This reverts commit d766d734c2.

* Removed internal link and moved PR link

* Added new entries

* Made fixes

* Updated name

* Copy edits

* Fixed links and minor copy edits

* Removed link to Cloud What's new

* Added OSS what's new link

* Fixed spelling of GitHub

* Added Explore Logs and updated Explore Metrics

---------

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>
2024-04-07 22:56:23 -04:00
Tim Levett c47be316eb Reducers: Add in basic Percentile Support (#85554) 2024-04-06 06:44:49 -05:00
Adela Almasan 5f0ca1429b Annotations: Fix annotation title (#85614) 2024-04-05 17:39:10 -05:00
Nathan Marrs 391d2ba7c7 Canvas: Limit connection vertex radius to numeric fields (#85420) 2024-04-05 16:09:19 -06:00
Eduardo Franscisco Pedrosa d23918fd95 Fixes #81465: Exclude-null now it's getting initialized properly by default (#85613)
* fix #81465 (FilterByValueTransformerEditor.tsx): Exclude-null now it's getting initialised properly by default

The default matcher of a new filter by value condition has been changed from greater to isNull. Added a file FilterByValueTransformerEditor.test.tsx with a test to confirm this change

* update tests and run linter

* filter-by-values-exclude-null/ update test definition

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-04-05 11:24:57 -06:00
David Harris cd05568459 docs: add missing viz types to index (#85400)
* docs: add missing viz types to index

* prettier

* Update _index.md

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

* fix merge mistake

* fix cloud links

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-05 18:04:04 +01:00
github-actions[bot] ad904d7b42 I18n: Download translations from Crowdin (#85641)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-05 19:18:31 +03:00
Leonard Gram 1332d8ba24 Cloudmigration: Sets the runID correctly when saving (#85661)
Sets the runID correctly instead of setting it to the same as the migration id.
2024-04-05 18:03:45 +02:00
Isabella Siu 58f32150c2 CloudWatch: Improve metric label parsing (#84835) 2024-04-05 11:57:56 -04:00
Bogdan Matei 9d44c8e8cf Add auto to refresh picker (#85584) 2024-04-05 18:31:40 +03:00
Josh Hunt 040966220e E2C: Show latest migration run instead of the first (#85666)
* running a new migration should only invalidate the list of migration runs

* correctly select the last migration result, not the first
2024-04-05 16:28:57 +01:00
Fabrizio 45c56d208f CI: Skip CodeQL analysis if repo is not grafana/grafana (#85652) 2024-04-05 17:10:18 +02:00
Adela Almasan 883a41e8aa Canvas: Add support for line animation (#85556) 2024-04-05 17:53:40 +03:00
Juan Cabanas 8e8bfae761 Scenes: Add PDF tab in share modal (#85541) 2024-04-05 11:29:13 -03:00
Alexander Weaver 03114e7602 Alerting: Return better error for invalid time range on alert queries (#85611)
* Return better error for invalid time range

* drop comment
2024-04-05 09:20:21 -05:00
Laura Fernández 9af259a0d6 GrafanaUI: ConfirmModal - replace HorizontalGroup with Stack and Box component (#85660) 2024-04-05 16:11:53 +02:00
Misi 8796d2d307 Auth: Convert SetDefaultOrgHook to PostLoginHook (#85649)
* Convert SetDefaultOrgHook to PostLoginHook
2024-04-05 16:03:51 +02:00
Alexander Weaver 734d0111cb Alerting: Export pure function to convert query results to alert results (#85393)
Exported pure function to convert query results to alert results
2024-04-05 08:57:31 -05:00
Laura Fernández 362c95c606 Grafana UI: Button.story.tsx - Replace HorizontalGroup and VerticalGroup with Stack and Box (#85644) 2024-04-05 15:45:55 +02:00
Eve Meelan d8407c78db Update CODEOWNERS file for Explore docs (#85656)
Update CODEOWNERS
2024-04-05 06:29:27 -07:00
Erik Sundell 6716276463 Chore: Remove flaky test (#85645)
remove flaky test
2024-04-05 14:29:32 +02:00
Karl Persson b1fc0861f1 AuthN: reset email verified on email change (#85643)
* AuthN: reset email verified on email change

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-04-05 14:19:12 +02:00
Laura Fernández cd43308dc9 Betterer: improve the deprecated layout components usage tracking (#85648) 2024-04-05 13:40:46 +02:00
timo 3294411027 NodeGraph: Fix configuring arc colors with mixed case field names (#84609)
* NodeGraphPanel: Fix case comparison for arc field colors

When a field has mixed case in the data frame, the options editor
offers it with mixed case as well, so the options will have the field
with mixed case as well, making the comparison in utils.ts
applyOptiosToFrames fail, leaving the arcs uncolored.

This version of the commit allows mismatched cases between field in
dataframe and options panel in case users were depending on this
behavior in their dashboards.

* Update comment

---------

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2024-04-05 13:39:07 +02:00
Santiago c7573bb0f7 Alerting: Make retention period configurable for the notification log (#85605)
* Alerting: Make retention period configurable for the notification log

* update sample.ini

* fix outdated comment (on disk -> kvstore)

* skip checking cyclomatic complexity for ReadUnifiedAlertingSettings
2024-04-05 12:25:43 +02:00
Josh Hunt b19c246a39 Revert "Chore: Update glob-stream" (#85642)
Revert "Chore: Update glob-stream (#85107)"

This reverts commit a61cac9d51.
2024-04-05 13:22:13 +03:00
Karl Persson ba41954854 Email: trigger email verification flow (#85587)
* Add email and email_verified to id token if identity is a user

* Add endpoint to trigger email verification for user

* Add function to clear stored id tokens and use it when email verification is completed
2024-04-05 12:05:46 +02:00
Laura Fernández 661aaf352e GrafanaUI: IconButton - replace HorizontalGroup and VerticalGroup with Stack component (#85639) 2024-04-05 12:03:57 +02:00
kay delaney 9efbf142a8 Scenes: Persist changes made in edit mode to save model (#84320) 2024-04-05 12:32:28 +03:00
Torkel Ödegaard e0be7d29ea Users and ServiceAccount table: UX consistency updates (#85624)
UsersTable: UX concistency updates
2024-04-05 11:31:16 +02:00
Torkel Ödegaard 49a3a95dd1 DashboardScene: Fixes panel edit issue with clearing title not resulting in hover header mode (#85621)
* PanelEditor: Update hoverHeader state when changing panel title

* refactor test and remove duplicate
2024-04-05 11:24:25 +02:00
kay delaney 6a53864f7a LibraryPanelRBAC: Fix issue with importing dashboards containing library panels (#83980) 2024-04-05 10:11:02 +01:00
Josh Hunt 5ce8b60878 E2C: Resources table refactor (#85585)
* E2C: Resources table refactor

* update swagger spec with enums

* use native resource item type, rather than our mock type

* unit tests for resources table

* update spec
2024-04-05 10:08:42 +01:00
Giuseppe Guerra c033a15aaa Angular deprecation: Prefer local "angularDetected" value to the remote one (#85571)
* Angular deprecation: Prefer local value to remote

* Update tests
2024-04-05 10:45:11 +02:00
Agnès Toulet 3ef23a5e3e Scenes: Add modal ref to custom tabs (#85602) 2024-04-05 09:28:10 +02:00
Kyle Cunningham 0a7abe4445 Transformations: Update transformation disabled UI presentation (#85566)
* Update transformation UI presentation

* codeincarnate/transformation-disable/ lint

* Update opacity

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-04-05 04:57:57 +07:00
Isabel Matwawana 6fb1da42bf Docs: add xychart to panel config docs (#85615)
* Added xy chart to panel config docs

* Fixed typo
2024-04-04 17:06:20 -04:00
Nick Richmond 559fab9dc6 Prometheus: Fuzzy search for metric names in Code Mode (#85396)
* perf: limit metric names in Code Mode suggestions

* feat: configurable metric names limit

* feat: code mode autocomplete info/disclaimer

* chore: put new functionality behind new feature toggle

* refactor: avoid type assertions

* refactor: avoid explicit `any`

refactor: type guards

* refactor: type guards

* chore: add testdata results

* fix: add missing feature toggle guard

* perf: prefer array access to `Array.prototype.at`

* test: add missing config override

* test: refactor for brevity & clarity

* perf: avoid unnecessary mapping

* chore: undo testdata changes

* fix: use correct limit; perf optimizations

* refactor: avoid unnecessary `async`s

* types: simplify

* test: add missing tests

* fix: avoid hardcoding

* test: update mock path

* docs: fix typo

style: remove formatting artifact

style: remove formatting artifact

style: remove formatting artifact

* fix: event scope regression

* style: refactor for clarity

* refactor: prefer `useCallback` to in-effect handler

* refactor: simplify & broaden `filter`

* refactor: rename file to keep with conventions

* chore: mirror Prometheus package changes in app

* refactor: prefer no `@ts-ignore`

* chore: update betterer results

* docs: use type in TSDoc `@link` without `@ts-ignore`

* test: add missing provider

* test: fix jest mock path

* fix: display disclaimer in empty input case
2024-04-04 23:38:23 +03:00
Isabel Matwawana 0d7834c7f7 Docs: Add xy chart docs (#81980)
* Added xy chart page and added link to main visualizations page

* Added options

* Updated Axis options section and added doc ref links

* Added new shared files for tooltip and legend options and added them to xy chart

* Added Other visualization options section, docs refs, and updated Cloud links

* Fixed links

* Added option descriptions, hero image, content notes, and removed placeholder heading

* Apply suggestions from code review

* Added collapsible sections for series mapping modes

* Added Cloud links and fixed link text

* Added notes

* Updated series mapping descriptions

* Updated Auto series mapping options

* Updated manual section and restructured page

* Copy edits

* copy edits

* Added description

* Clarifying supported data info

* Copy edits from review

* Fixed typo

* Copy edits

* Fixed links
2024-04-04 16:30:14 -04:00
Ihor Yeromin 5a53041c49 Canvas: Fix SVG element border clipped (#85590)
fix(canvas): canvas svg element border clipped
2024-04-04 20:08:24 +02:00
Isabel Matwawana 8957fd2b3b Docs: Fix canvas G11 updates (#85024)
* Removed features not yet completed

* additional doc updates

* Fixed codespell error

* Fixed video embed link

* Fixed punctuation

* updated to do note

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-04-04 13:59:33 -04:00
Drew Slobodnjak d91dbbbef5 Canvas: Render selected connection last (#85492) 2024-04-04 10:30:54 -07:00
Alexander Weaver 623ee3a2be Alerting: Only append /alertmanager when sending alerts to mimir targets if not already present (#85543)
Don't append alertmanager if not present
2024-04-04 11:58:41 -05:00
Dave Henderson 5687243d0b Feature Flags: use FeatureToggles interface where possible (#85131)
* Feature Flags: use FeatureToggles interface where possible

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* Replace TestFeatureToggles with existing WithFeatures

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-04-04 12:22:31 -04:00
Kyle Cunningham 67045aa90c Table Panel: Update background colors to respect transparency (#85565)
* Update background colors to respect alpha

* codeincarnate/fix-table-background/ lint

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-04-04 22:55:37 +07:00
Konrad Lalik 9b4f88c6f6 Alerting: Improve template preview (#84798)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-04-04 18:37:24 +03:00
Alex Khomenko b08285962d Saga-icons: Add svgs (#85522)
* Add svgs

* Fix output dir
2024-04-04 17:57:22 +03:00
Gilles De Mey d3ee3c0a24 Alerting: Evaluation quick buttons (#85010)
Co-authored-by: Tom Ratcliffe <tomratcliffe@users.noreply.github.com>
2024-04-04 16:24:35 +02:00
kay delaney b5c33c540c Dashboards: Removes descending z-index assignment for grid items (#85563) 2024-04-04 14:49:42 +01:00
Isabella Siu ba3acf83bf CloudWatch: Clarify match exact tooltip and docs (#85095)
* CloudWatch: Clarify match exact tooltip

* Update docs

* fix typo

* ida comment and removing a couple "you"s

* present tense
2024-04-04 09:48:48 -04:00
Dominik Prokop 44376f8039 PanelEditor: Fix runtime error caused by panels not installed in Grafana instance (#85592)
FIx runtime error casued by panels non installed in Grafana instance
2024-04-04 15:45:27 +02:00
Laura Fernández 2e8fb1aa56 Betterer: Track deprecated layout components usage (#85574) 2024-04-04 15:40:52 +02:00
antonio ad5ade71bb telegram url fix (#85583)
* alerging-get-started: update

* fixed url issues

* pretty

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-04-04 15:14:22 +02:00
Serge Zaitsev faa1244518 Chore: Replace sqlstore with db interface (#85366)
* replace sqlstore with db interface in a few packages

* remove from stats

* remove sqlstore in admin test

* remove sqlstore from api plugin tests

* fix another createUser

* remove sqlstore in publicdashboards

* remove sqlstore from orgs

* clean up orguser test

* more clean up in sso

* clean up service accounts

* further cleanup

* more cleanup in accesscontrol

* last cleanup in accesscontrol

* clean up teams

* more removals

* split cfg from db in testenv

* few remaining fixes

* fix test with bus

* pass cfg for testing inside db as an option

* set query retries when no opts provided

* revert golden test data

* rebase and rollback
2024-04-04 15:04:47 +02:00
Gilles De Mey c41b0a71cf Alerting: Add state history polling interval (#84837) 2024-04-04 14:06:15 +02:00
Arati R 2232fe033b Storage: Add mode-specific dual writers (#85551)
* Set up skeleton dual writers for each mode
* Add Create functionality to each of the mode-specific DualWriters
* Add switch for selecting DualWriter
2024-04-04 14:02:51 +02:00
Dominik Prokop 32b6ef9d15 Feature toggle to add filter and group by variables to all new dashboards by default (#85531)
* Add feature toggle

* Add filters and group by variables by default to all new dashboards

* Nits

* Tests

* Rename feature toggle to newDashboardWithFiltersAndGroupBy
2024-04-04 13:25:21 +02:00
Eunice Kim 4e60f44d98 Chore: Fix trailing spaces in prometheus min step (#85507)
Fix trailing spaces in prometheus min step
2024-04-04 13:14:49 +02:00
Tobias Skarhed f387cff836 Accessibility: Default Icon to aria-hidden (#84362)
* Icon: aria hide icon, unless a label is set

* Update doc

* Remove weird auto import

* Fix fialing tests

* Add recommendation for Tooltip

* Consider more aria attributes to support Tooltip

* Handle tabIndex and aria-hidden case

* Add comment about aria-label
2024-04-04 12:07:50 +02:00
Leonor Oliveira 01afca9d99 Add setup and spies for the dual writer (#85568)
* Add setup and spy client for dual writer

* Get rid of reset method
2024-04-04 11:46:16 +02:00
kay delaney 9537de26a5 Scenes: Fix issue where annotations with same name wouldn't render properly (#85489)
Closes #85457
2024-04-04 10:45:24 +01:00
Leon Sorokin 130d561924 Chore: Restore some removed UI components to reduce BC surface area (#85546) 2024-04-04 04:31:28 -05:00
ismail simsek 9c0f9f6ba4 Fix sending maxDataPoints as string (#85561)
* make sure maxDataPoints is a number

* add migration for maxDataPoints

* remove migration
2024-04-04 11:11:18 +02:00
Giordano Ricci 6ffc08f429 Explore: Set X-Cache-Skip to true for query requests (#85460)
Explore: set X-Cache-Skip to true for query requests
2024-04-04 09:44:06 +01:00
renovate[bot] 6fd8c4afcf Update dependency @grafana/scenes to v4.3.0 (#85569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-04 11:32:07 +03:00
Karl Persson 504870f10a Auth: Decouple client and hook registration (#85084) 2024-04-04 09:33:00 +02:00
Marcus Efraimsson bdc492b96c Chore: Upgrade grafana-plugin-sdk-go (#85562) 2024-04-04 08:07:29 +03:00
github-actions[bot] 801d19d816 I18n: Download translations from Crowdin (#85553)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-04 04:52:30 +00:00
Todd Treece c01531dc79 K8s: Use tracing handler from component-base (#85560) 2024-04-04 00:39:09 +03:00
Tristan 77133ac9c1 CloudWatch: Fix SageMaker MBP namespace typo (#85557) 2024-04-03 15:50:09 -04:00
Kyle Cunningham 075976bea6 Transformations: Add applicability function to group to nested table (#85501)
* Add applicability function to group to nested table

* codeincarnate/group-to-nested-cond/ run linter

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-04-04 02:44:52 +07:00
Michael Mandrus ddf5fbe591 CMS: Update permissions required to use endpoints (#85555)
* try different perms

* fix compile issue

* remove ac dependency

* remove dependency
2024-04-03 22:43:48 +03:00
Josh Hunt aad79c9400 E2C: Start connecting on-prem to real apis (#85527)
* E2C: Start connecting on-prem to real apis

* actually run the migration

* show resources

* basic dashboards resources

* show dashboard title

* remove console logs

* cleanup 1

* i18n

* disconnect

* i18n

* restore type

* use fixed format

* fix
2024-04-03 13:47:02 -04:00
Tom Ratcliffe 0ec48cfdbd Add success toast for rule update back in 2024-04-03 18:38:49 +01:00
Tom Ratcliffe d585a5bc88 Rename tag for combined alert rules 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 1fcb264c87 Add InfoPausedRule back to alert detail view 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 20a1955026 Reuse StateTag for Paused state 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 0e87adbc97 Remove await from dispatch 2024-04-03 18:38:49 +01:00
Tom Ratcliffe ff8203a6cf Forward ref to StateTag so it can work with Tooltip 2024-04-03 18:38:49 +01:00
Tom Ratcliffe fb40c09eaf Reuse existing mock user method 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 2ca5e43a65 Remove superfluous alert from pause text 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 30471c340a Use verbose mutation from RTKQ for better IDE experience 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 28572102cf Use produce for pause payload generation and return early 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 12eeda5b7d Hide alert update success toast 2024-04-03 18:38:49 +01:00
Gilles De Mey fbe43100aa add paused badge 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 30699dabec Move repeated Paused message into component 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 31fb80b29a Move MenuItemPaused to components folder 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 1e54899c6d Remove unneeded type 2024-04-03 18:38:49 +01:00
Tom Ratcliffe b037236b9c Add tag invalidation to updateRule mutation
...so the alert detail view updates appropriately
2024-04-03 18:38:49 +01:00
Tom Ratcliffe 9ca2f7bece Add pause/resume logic to menu items on Alert detail view 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 7d80373b5e Move repeated menu item logic for pausing rules into separate component 2024-04-03 18:38:49 +01:00
Tom Ratcliffe b84962ef3f Update tests to use existing mock server approach 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 5fbca0962e Fix import/export messing with Policy tests 2024-04-03 18:38:49 +01:00
Tom Ratcliffe bd06607a51 Fix typing check for paused rules in table 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 820f4f0ef5 Remove console logs, fix aggregate errors and add missing endpoint 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 8c313add00 Add test for resuming a paused alert rule 2024-04-03 18:38:49 +01:00
Tom Ratcliffe fef481efc3 Add mock data for paused rules 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 5505b72998 Add first pass of basic mock server for alerting usage 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 72a3142c3b Add pause/resume button with mutation for saving alert rule changes 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 9a416b8241 Fix potential display of "0" on rule details tab
When looking at the details tab of an alert rule, the last evaluation could potentially display as `0` due to falsy checks on React rendering
2024-04-03 18:38:49 +01:00
Tom Ratcliffe a94c3d63cc Update utils for determining paused state of a rule 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 7fd9cbbfb5 Export alerts limit for reuse when re-fetching rules list 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 1a5d227e05 Hide "firing for time" if a rule is paused 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 93fd11fe86 Update alert state tag to display Paused as its own "state" 2024-04-03 18:38:49 +01:00
Tom Ratcliffe a881e7e404 Display info message on rule detail view when a rule is paused 2024-04-03 18:38:49 +01:00
Tom Ratcliffe 31be1231cf Move max width from rule editor parent 2024-04-03 18:38:49 +01:00
Tom Ratcliffe d0dcb72683 Display info message on rule form when a rule is paused 2024-04-03 18:38:49 +01:00
Tom Ratcliffe e5a6dff801 Add mutation method to update a rule 2024-04-03 18:38:49 +01:00
William Wernert cad8190a91 Alerting/Annotations: Return nothing from historian store if filtering by tags and matchAny is false (#85488)
* Return nothing from historian store if filtering by tag
2024-04-03 13:01:13 -04:00
Leonard Gram a457ab3192 Cloudmigration: decode json data (#85548)
* decode get

* decode bytes

* response

* .

* linter

* quick fixes

---------

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2024-04-03 18:47:49 +02:00
Ihor Yeromin e4c92483dc Canvas: Fix ellipse migration (#85482)
* fix(canvas): ellips migration
2024-04-03 19:29:17 +03:00
Tim Levett a5707788ba Transformations - make substring and not substring transformer case insensitive. (#84699)
* make substring and not substring transformer case insensitive

* timlevett/case-insensitive/ run linter

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-04-03 11:11:09 -05:00
Jean-Philippe Quéméner 7cfd470c91 fix(alerting): only expose metrics if executing alerts (#85512) 2024-04-03 17:18:02 +02:00
kay delaney 85127464a3 Scenes: Fix issue where unsaved changes prompt is shown when quickly adding panel to new dashboard (#85518)
Closes #84577
2024-04-03 15:39:01 +01:00
Señor Performo - Leandro Melendez f6a94837c5 Docs: add YouTube video link and description (#85484)
* Update index.md Adding YouTube video link and description

Added a short description about the video and added the video to the page.

* Update docs/sources/panels-visualizations/visualizations/logs/index.md

Some edits went in. All nice :)

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

* Removed repetition

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-03 10:33:50 -04:00
Pepe Cano a56a842d5f Alerting docs: fix docs/shared API to render the current version (#85526) 2024-04-03 16:04:58 +02:00
Fabrizio 027329d4b6 CI: Skip analysis steps if not needed (#85532) 2024-04-03 17:00:13 +03:00
Simon Podlipsky 61e4cfac65 Docker: Fix missing go dependencies (#85441)
ci: fix missing go dependencies

```
 > [go-builder 11/25] RUN go mod download:
0.303 go: cannot load module pkg/build/wire listed in go.work file: open pkg/build/wire/go.mod: no such file or directory
------
Dockerfile:64
--------------------
  62 |     COPY pkg/promlib/go.* pkg/promlib/
  63 |
  64 | >>> RUN go mod download
  65 |     RUN if [[ "$BINGO" = "true" ]]; then \
  66 |           go install github.com/bwplotka/bingo@latest && \
  ```
2024-04-03 14:01:09 +01:00
brendamuir 847d2b01b6 Alerting docs: note on images in notifications for cloud (#85529) 2024-04-03 14:32:56 +02:00
antonio 561838a87d convert telegram blog post to doc (#85231)
* convert telegram blog post to doc

* pretty

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* applied suggested changes

* fixed typo

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-04-03 14:28:50 +02:00
Simon Podlipsky 708ee9f9ee Docker: Do not run apk on non-alpine distros (#83361) 2024-04-03 13:21:27 +01:00
Josh Hunt e08b5bd456 E2C: Fix Swagger spec for createMigration post body (#85525)
* E2C: Fix Swagger spec for CreateCloudMigration post body

* actually, don't rename that type
2024-04-03 11:59:50 +00:00
idafurjes b885da09da CloudMigrations: Implement migrations API (#85348)
* Implement run migration endpoint

* Refactor RunMigration method into separate methods

* Save migration runs fix lint

* Minor changes

* Refactor how to use cms endpoint

* fix interface

* complete merge

* add individual items

* adds tracing to getMigration

* linter

* updated swagger definition with the latest changes

* CloudMigrations: Implement core API handlers for cloud migrations and migration runs (#85407)

* implement delete

* add auth token encryption

* implement token validation

* call token validation during migration creation

* implement get migration status

* implement list migration runs

* fix bug

* finish parse domain func

* fix urls

* fix typo

* fix encoding and decoding

* remove double decryption

* add missing slash

* fix id returned by create function

* inject missing services

* finish implementing (as far as I can tell right now) data migration and response handling

* comment out broken test, needs a rewrite

* add a few final touches

* get dashboard migration to work properly

* changed runMigration to a POST

* swagger

* swagger

* swagger

---------

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2024-04-03 13:36:13 +02:00
Ivan Ortega Alba 89638238e5 DashboardScene: Detect changes when live is enabled from settings (#85409)
* Adapt the code to the new live timer API

* Update scenes
2024-04-03 14:22:10 +03:00
Laura Fernández 4845b1e3c6 ServiceAccount : use InteractiveTable (#85203) 2024-04-03 13:12:23 +02:00
Ieva beb15d938b RBAC: Fix access checks for interactions with RBAC roles in hosted Grafana (#85485)
* don't check global permissions for cloud instances

* linting
2024-04-03 11:44:16 +01:00
Ivan Ortega Alba eb3d088645 DashboardScene: Implement autofit panels (#85221) 2024-04-03 13:36:29 +03:00
Sonia Aguilar 034931f9e1 Alerting: Set mimir implementation in jsonData by default when creating a new a… (#85513)
Set mimir implementation in jsonData by default when creating a new alert manager data source
2024-04-03 12:31:49 +02:00
Dominik Prokop b4dc79401b DashboardScene: Fix explore to dashboard flow (#85140)
* DashboardScene: Fix explore to dashboard flow

* Tests

* Make sure dashboard is in edit mode when adding from explore

* Allow discarding changes when coming from explore

* Tests
2024-04-03 12:06:38 +02:00
github-actions[bot] 80b8b86c00 I18n: Download translations from Crowdin (#85515)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-03 12:18:42 +03:00
Gábor Farkas 8159e1db3a Revert "Postgres: Switch the datasource plugin from lib/pq to pgx (#8… (#85509)
Revert "Postgres: Switch the datasource plugin from lib/pq to pgx (#83768)"

This reverts commit ecd6de826a.
2024-04-03 11:02:22 +02:00
Josh Hunt ffb5d23a13 E2C: Hook Cloud Receiver-side up to real CreateCloudMigrationToken API (#85490)
E2C: Hook Cloud Reciever-side up to real CreateCloudMigrationToken API
2024-04-03 08:55:38 +00:00
Giordano Ricci ff39067605 Explore: Make Explore breadcrumb clickable (#85437)
* Explore: make Explore breadcrumb a link to an empty Explore page

* update tests
2024-04-03 09:24:04 +01:00
antonio 826fa2f2db alerging-get-started: update (#85434)
* alerging-get-started: update

* Update index.md

* Update index.md
2024-04-03 10:18:25 +02:00
Andres Martinez Gotor 9c7237891c Plugins: Expose ExternalService in request config (#85187) 2024-04-03 09:22:34 +02:00
Leon Sorokin 1522499c4a VizTooltips: Remove remaining old bits (#85500)
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2024-04-02 19:32:01 -05:00
Leon Sorokin d601acac3a VizTooltips: Remove old tooltips and annotations (#84420)
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2024-04-02 15:32:46 -05:00
Marcus Efraimsson c9ab4e3a9e DS apiserver: Fix resource path (#85494) 2024-04-02 20:09:18 +02:00
Nathan Marrs b47f8b429e Canvas: Hide background image size editor options for SVG based elements (#85419) 2024-04-02 09:04:36 -07:00
renovate[bot] a360cf0c85 Update dependency @types/node to v20.12.2 (#85480)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 18:47:56 +03:00
Jo 5340a6e548 Auth: Extended JWT client for OBO and Service Authentication (#83814)
* reenable ext-jwt-client

* fixup settings struct

* add user and service auth

* lint up

* add user auth to grafana ext

* fixes

* Populate token permissions

Co-authored-by: jguer <joao.guerreiro@grafana.com>

* fix tests

* fix lint

* small prealloc

* small prealloc

* use special namespace for access policies

* fix access policy auth

* fix tests

* fix uncalled settings expander

* add feature toggle

* small feedback fixes

* rename entitlements to permissions

* add authlibn

* allow viewing the signed in user info for non user namespace

* fix invalid namespacedID

* use authlib as verifier for tokens

* Update pkg/services/authn/clients/ext_jwt.go

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

* Update pkg/services/authn/clients/ext_jwt_test.go

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

* fix parameter names

* change asserts to normal package

* add rule for assert

* fix ownerships

* Local diff

* test and lint

* Fix test

* Fix ac test

* Fix pluginproxy test

* Revert testdata changes

* Force revert on test data

---------

Co-authored-by: gamab <gabriel.mabille@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-04-02 17:45:15 +02:00
renovate[bot] ac6e51c94a Update dependency @types/react to v18.2.74 2024-04-02 15:27:41 +00:00
Josh Hunt 33dd204466 E2C: Generate RTK Query API slice from swagger spec (#85463)
* add deps and script

* add codegen rtk api clise for cloud migration

* rename all the mock exports to mock

* Reset changes to package.json and yarn.lock

* codeowners
2024-04-02 18:01:33 +03:00
Will Browne 257cc98062 Datasources: Remove unused functions (#85473)
* cleanup unused funcs

* remove more stuff
2024-04-02 16:19:52 +02:00
Oscar Kilhed 9ba9cbf300 Bump scenes to 4.1.2 (#85470)
* Bump scenes to 4.1.2

* Fix tests after fixing the sorting in rows

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2024-04-02 16:15:53 +02:00
wissy 4205491788 Docs: Fix wrong word for tempo example config (#85046)
Update configure-tempo-data-source.md

Replace traceToProfiles with tracesToProfiles
2024-04-02 15:37:20 +02:00
linoman 147154d2ea Remove AuthConfigUIAdminAccess (#85452)
* Remove AuthConfigUIAdminAccess
2024-04-02 15:02:28 +02:00
renovate[bot] 22bae345d6 Update dependency react-zoom-pan-pinch to v3.4.4 2024-04-02 12:38:39 +00:00
renovate[bot] 4fa6754b42 Update dependency i18next-browser-languagedetector to v7.2.1 2024-04-02 11:59:40 +00:00
Leonard Gram 4e89267603 Cloudmigration: swagger for the cloudmigration api (#85255)
* swagger for create token

* tried to fix errors

* update swagger annotations

* update swagger annotations

* update api GetMigrationList to return the *Response directly

* clean up previous commit

---------

Co-authored-by: joshhunt <josh@trtr.co>
2024-04-02 13:57:42 +02:00
renovate[bot] bc77745da6 Update dependency glob to v10.3.12 2024-04-02 11:06:51 +00:00
renovate[bot] 09d4b814f4 Update dependency @types/react-dom to v18.2.23 2024-04-02 10:48:52 +00:00
ismail simsek 64236a3923 InfluxDB: Fix measurement interpolation on visual query builder (#85423)
* fix measurement interpolation

* fix unit test

* fix unit test 2
2024-04-02 12:29:49 +02:00
renovate[bot] b0aa575643 Update dependency @types/eslint to v8.56.7 2024-04-02 10:24:48 +00:00
Bogdan Matei 582b252488 Add optional queries parameter to DataSourceGetTagValuesOptions (#85436)
Add optional `queries` parameter to `getTagKeysOptions`
2024-04-02 13:22:37 +03:00
renovate[bot] 06a22005e8 Update dependency @grafana/plugin-e2e to v0.25.1 (#85451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 12:43:31 +03:00
Tobias Skarhed c75bc5a6cf Keybindings: Replace mod+h as help shortcut with ? (#85449)
HelpModal: Remove cmd+h as help shortcut
2024-04-02 11:41:46 +02:00
renovate[bot] 5a416731f4 Update Yarn to v4.1.1 (#85350)
* Update Yarn to v4.1.1

* add new yarn version

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-02 10:25:30 +01:00
Andres Martinez Gotor d2ca95d304 Update plugin SDK to v0.219.0 (#85438) 2024-04-02 10:22:24 +02:00
imalasong 81fd8f4126 Makefile: refactoring .PHONY (#85440) 2024-04-01 18:09:17 +03:00
Haris Rozajac f8275b52aa Explore: Add padding to query content in query inspector (#85309)
Add padding
2024-03-31 17:41:44 -06:00
Dominik Prokop fa9e139123 DashboardScene: Fix issues with dashboard empty state (#85406)
Fix

Tests

Make sure edit mode is on when adding panel/library panel

Co-authored-by: kay delaney <kay@grafana.com>
2024-03-30 18:34:26 +01:00
Nathan Marrs 368fec9b97 Canvas: Fix ellipse datalink example in gdev dashboard (#85398) 2024-03-29 23:53:27 -07:00
Drew Slobodnjak 3703196e24 Canvas: Add flowchart example to gdev (#85417)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-03-29 23:00:33 +02:00
Will Browne 22fe7b067c Plugins: Set correct PDC config values for proxy requests (#85412)
pass appropriate values
2024-03-29 20:17:05 +02:00
Ryan McKinley dd6c8732b3 Scopes: Add basic integration tests (#85351)
Co-authored-by: Kyle Brandt <kyle@grafana.com>
2024-03-29 16:12:28 +02:00
Ihor Yeromin 20eac8d264 Canvas: Fix styles applying glitch on element type changing (#85184)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-03-29 08:10:44 +02:00
Leonard Gram 383ebb2bc4 Cloudmigration: create migration (#85386)
* Cloudmigration: create migration

* fix drone build

* lint fix

* fix unit test

---------

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2024-03-29 01:55:27 +01:00
Leon Sorokin db6b51cb88 OptionsPicker: Allow storing raw input even when matches exist (#84790) 2024-03-29 01:18:02 +02:00
Ihor Yeromin 726a666059 Canvas: Fix SVG items background glitch (#85078) 2024-03-29 00:26:59 +02:00
Fredrik Ekre e9969e3542 Auth: add Dex example to generic OAuth2 documentation (#84744)
This patch adds an example configuration for setting up generic OAuth2
authentication using [Dex IdP](https://dexidp.io/).
2024-03-28 15:36:00 -05:00
Tristan 58b583f0c5 AWS DataSource: Fix namespaces in sagemaker metrics (#85357) 2024-03-28 22:11:11 +02:00
Michael Mandrus 5a5f76ae0a CloudMigrations: Add instance metadata to auth token (#85381)
* update how tokens are passed around

* rename structs
2024-03-28 15:02:54 -04:00
Charandas 0f1151964c K8s: standalone authenticator that allows a type of downstream forwarding (#85130) 2024-03-28 20:52:28 +02:00
Brendan O'Handley 3c28a3d494 Graphite: second function as another function argument parsing error fix (#85224)
* update language around query editor parsing issues

* add special handling for second function arguments in divideSeriesLists

* additional check for first argument as series(string) and not a function
2024-03-28 12:22:54 -05:00
Carl Bergquist a71dfe806a Scopes: Create binding per relationship (#85332)
scopes: create binding per relationship

Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-03-28 13:22:21 -04:00
linoman e4250a72db JWT: Find login and email claims with JMESPATH (#85305)
* add function to static function to static service

* find email and login claims with jmespath

* rename configuration files

* Replace JWTClaims struct for map

* check for subclaims error
2024-03-28 17:25:26 +01:00
Darren Janeczek 18f3c7188b datatrails: handle "single" layout when switching to "all" labels (#85373)
* fix: handle "single" layout when switching to "all" labels
2024-03-28 18:13:43 +02:00
Dominik Prokop 63a941472e DashboardScene: Fix access to dashboard settings views (#85289)
* DashboardScene: Fix access to dashboard settings views

* Review
2024-03-28 16:40:39 +01:00
Ivan Ortega Alba 233f119037 Panel: Description display event is reported multiple times (#85283) 2024-03-28 16:39:18 +01:00
Haris Rozajac 649c456eab Explore: Nested Content Outline (#80688)
* indentation levels

* Highlight parent section when child is selected

* Fix context, add rotation to toggle button

* Merge single child logic; fix styling

* Fix collapsed logic, make elipsis work, reorganize for better readability;

* Add connector

* Tooltip placement

* Update tests so they test components the same way users would interact with them

* Clean up indendation levels

* Support collapsing logic for multiple section; highlight all items in a section of an active child - parent is active only when section is collapsed and child inside of it is active

* Simplify making ellipsis work

* Show tooltip if the text overflows in expanded mode

* The whole button container should have same background when section is expanded in mini view

* Fix a bug where root items were not being sorted by document position

* Update query order when query rows are changed through dragging and dropping

* Fix the issue where chaning the title of a query row would remove the query
2024-03-28 09:06:52 -06:00
Karl Persson 73e426b081 User: email verification completion (#85259)
* TempUser: Include InvitedById in TempUserDTO

* Extract email verfication completion flow to service
2024-03-28 16:05:33 +01:00
Marie Cruz 4a3140a0aa docs: update histogram visualization (#85125)
* docs: update histogram visualization docs

* docs: updates to histogram visualization

* Apply suggestions from code review

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

* Fixed typo I introduced

* docs: add youtube video

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-03-28 10:45:45 -04:00
Victor Marin 30c9307539 Scenes: Fix row crash when removing a panel from it (#85339)
* Fix row crash when removing a panel from it

* fix tests

* fix tests
2024-03-28 16:45:33 +02:00
Andreas Christou 697a18737d Azure/GCM: Update filterQuery methods to carry out migrations (#85355)
Update filterQuery methods to carry out migrations
2024-03-28 14:40:27 +00:00
Dominik Prokop ae9a4b6467 DashboardScene: Fix constant variable not being hidden after creation (#85196) 2024-03-28 15:29:48 +01:00
Galen Kistler 0c78d80ef1 Loki: Fix test flake (#85356)
attempt to fix flake
2024-03-28 15:22:44 +01:00
Darren Janeczek 137061d1d5 datatrails: fix stability issues between conflict between browser history, URL sync, and trail history (#85134)
* fix: conflict between browser history and trail history

- ensure the back button or url changes don't generate trail steps
- ensure label breakdown TextLinks which appear on the summary tab work in embedded mode
2024-03-28 09:59:16 -04:00
butkovv b039995a4e BrowseDashboards: Add subpath to URLs on Browse Dashboards page (#84992)
* BrowseDashboards: Add subpath to URLs on Browse Dashboards page

* comment

* use existing config

* comment

---------

Co-authored-by: joshhunt <josh@trtr.co>
2024-03-28 15:15:05 +02:00
Leonor Oliveira 29c76b98d4 Revert "Update ephemeral instances workflow to get version from package.json" (#85347)
Revert "Update ephemeral instances workflow to get version from package.json …"

This reverts commit dda1531952.
2024-03-28 13:56:48 +01:00
Kim Nylander fe802f6d88 [DOC] Clarify compatible log stores for traces to logs (#85314)
* Clarify compatible log stores for traces to logs

* Fixes from prettier
2024-03-28 07:37:27 -05:00
renovate[bot] b155bc11a1 Update dependency @swc/helpers to v0.5.8 (#85327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-28 12:34:29 +00:00
Isabel Matwawana 5f38455f31 Docs: fix availability note (#85315)
Fixed availability note
2024-03-28 08:33:38 -04:00
Torkel Ödegaard e90b87589f ModalsContext: Unify modals context and manager (#84916)
* ModalsContext: Unify modals context and manager

* Clear on location change

* fixes

* Update

* use generics to avoid anys

---------

Co-authored-by: joshhunt <josh@trtr.co>
2024-03-28 13:26:57 +01:00
Santiago ce57ce4125 Docs: Add capture_timeout option (#85340) 2024-03-28 13:19:08 +01:00
lean.dev 5b147d0847 CloudMigration: Add service to list all migrations (#85308) 2024-03-28 08:50:31 -03:00
Tobias Skarhed a44aa342a7 Templating: Link label to input (#85329)
Pass id to VariableInput
2024-03-28 12:45:43 +01:00
renovate[bot] 40c88596d8 Update dependency yaml to v2.4.1 (#85335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-28 13:36:15 +02:00
github-actions[bot] 97c3c51e52 I18n: Download translations from Crowdin (#85257)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-28 13:28:07 +02:00
renovate[bot] f5cd840dd0 Update dependency webpack-assets-manifest to v5.2.1 (#85331)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-28 11:18:45 +00:00
Ryan McKinley 45d1766524 K8s/Frontend: Add generic resource server and use it for playlists (#83339)
Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
2024-03-28 14:01:24 +03:00
antonio 85a646b4dc fix internal url in tutorials (#85273)
* fix internal url in tutorials

* prettyfied

* fix: update broken links

---------

Co-authored-by: mdcruz <marie.descruz@gmail.com>
2024-03-28 10:51:55 +00:00
renovate[bot] d227621217 Update dependency eslint-plugin-jsdoc to v48.2.2 2024-03-28 10:49:11 +00:00
renovate[bot] 4854f10ee2 Update dependency @grafana/aws-sdk to v0.3.3 (#85326)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-28 10:03:38 +00:00
renovate[bot] ad1b60e651 Update dependency stylelint-config-sass-guidelines to v11.1.0 (#85291)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-28 09:52:23 +00:00
Joey 8c770a283e Tempo: Show <1ms when durationMs not in response (#85267)
* Show <1ms when durationMs not in response

* Update tests
2024-03-28 09:47:49 +00:00
renovate[bot] 50a57bb88c Update dependency webpack to v5.91.0 (#85302)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-28 09:38:15 +00:00
Joey df39fc54a6 Tempo: Check for liveEnabled before trying to stream (#85173)
* Check for liveEnabled before attempting to stream

* Add tests

* Range const

* Update test text
2024-03-28 09:19:21 +00:00
Karl Persson 5dd98a0fd5 RBAC: handle partially resolved scopes (#85323)
* RBAC: handle partially resolved scopes

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-03-28 10:08:07 +01:00
Jack Westbrook c6a489cfd8 Chore: Bump Nx to 18.1.x (#85185)
* chore: bump nx to latest version

* build(plugin-configs): reduce wonky webpack output when logged via nx

* revert(plugin-configs): remove infrastructureLogging property
2024-03-28 09:36:35 +01:00
Torkel Ödegaard d290aaff46 DashboardScene: Support time region migrations (#84147)
* DashboardScene: Support time region migrations

* Update

* Update

* Update

* fix

* Fix lock

* fix tests

* Fix migrations test

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-03-28 07:39:26 +01:00
Adela Almasan e5d1cd8ea5 AngularMigration: Allow dashboard by dashboard migration (#84100) 2024-03-27 16:24:24 -05:00
Leon Sorokin 1ffeb7c365 StateTimeline: Fix data links causing unrendering of string fields (#85260) 2024-03-27 13:19:13 -05:00
Dave Henderson 08d603e660 ci: Stop running ephemeral instances workflow when not needed (#85306)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-03-27 14:17:31 -04:00
renovate[bot] 39e91e2984 Update dependency msw to v2.2.13 2024-03-27 17:36:20 +00:00
Will Browne 1a0ac381eb Plugins: Send PDC file paths and contents for backwards compatibility (#85287)
* send paths and contents

* go work sync
2024-03-27 18:19:11 +01:00
renovate[bot] 2f18148da2 Update dependency @types/react to v18.2.73 2024-03-27 17:15:47 +00:00
Brendan O'Handley d4a68d6662 Prometheus: Use correct logic for frontend package feature flag (#85294)
use correct logic for frontend package feature flag
2024-03-27 11:57:00 -05:00
Darren Janeczek f850b00a92 datatrails: avoid double scrollbar with new viz tooltips (#85197)
fix: avoid double scrollbar
2024-03-27 12:50:02 -04:00
Kyle Brandt 136f8e6f0c Scopes: Add Filtering for ScopeDashoardBinding and Update Prometheus for ScopeFilterOperator Changes (#85284) 2024-03-27 11:39:55 -04:00
renovate[bot] 7e1cd4397a Update dependency stylelint to v16.3.1 (#85286)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 15:38:44 +00:00
renovate[bot] a6fcbd1eb2 Update dependency react-zoom-pan-pinch to v3.4.3 (#85263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 15:37:39 +00:00
kay delaney 618cf8e5a1 Dashboards: Fix issue where long ad-hoc values broke UI (#85073)
Closes #69285
2024-03-27 15:11:59 +00:00
renovate[bot] 7febba947e Update dependency @grafana/scenes to v4.0.4 2024-03-27 14:51:02 +00:00
Dan Cech ef26fe95dc Storage: GuaranteedUpdate fix & other improvements (#85206)
make GuaranteedUpdate work when ignoring not found errors, increase poll frequency, fix Delete
2024-03-27 10:38:49 -04:00
Darren Janeczek 2ecc1bb646 datatrails: hide "add to filter" button when there is no label value to add to filter (#85270)
fix: hide add to filters button when it won't work
2024-03-27 16:33:21 +02:00
Señor Performo - Leandro Melendez d4953f4a1f Added YouTube video to index.md on Time Series (#85188)
* Added YouTube video to index.md on Time Series

Added a brief description and the YouTube link for the Time Series video.

* Update index.md

Did quick fix

* Update index.md

Found double space, removed, hope PR goes through

* Update docs/sources/panels-visualizations/visualizations/time-series/index.md

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-03-27 10:32:56 -04:00
renovate[bot] 986b078d79 Update dependency sass to v1.72.0 (#85272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 14:32:02 +00:00
Karl Persson 152cb47692 AuthN: Add IsAuthenticatedBy to identity interface and replace checks (#85262)
Add IsAuthenticatedBy to identity interface and replace checks
2024-03-27 15:22:13 +01:00
Will Browne cd912367b3 Plugins: Pass PDC info as file paths (#85239)
* pass filepaths

* fix test
2024-03-27 15:21:05 +01:00
Torkel Ödegaard 61e67423ff LLMApp: Skip 404 requests to know if the plugin exists (#85226)
---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2024-03-27 14:55:48 +01:00
Kyle Brandt fe209fdf7c Revert "Scopes: Add more BE filtering (field selectors) (#85169)" (#85264)
This reverts commit 222f93794d.
2024-03-27 15:47:48 +02:00
renovate[bot] 3049acd7d7 Update dependency react-hook-form to v7.51.2 (#85249)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 13:29:42 +00:00
renovate[bot] e4a265f60c Update dependency jest-date-mock to v1.0.9 2024-03-27 13:25:09 +00:00
Andrej Ocenas 20e70838e3 NodeGraph: Fix possible metadata mismatch between nodes in graph (#85254) 2024-03-27 14:23:04 +01:00
Kyle Brandt 222f93794d Scopes: Add more BE filtering (field selectors) (#85169) 2024-03-27 13:10:49 +00:00
Kyle Brandt d71266b8af QueryLibrary: Use default variable values in render (#84678) 2024-03-27 08:48:08 -04:00
Ashley Harrison 7ad2ec9665 EmptyState: use not-found empty state variant everywhere in core (#85007)
* use EmptyState component everywhere in core

* remove GrotNotFound core component

* update unit tests

* search -> not-found

* fix 3 more
2024-03-27 12:15:12 +00:00
Gilles De Mey a574db6f64 Alerting: Fix removing nested policy (#85242) 2024-03-27 13:58:59 +02:00
Eve Meelan cec25113f6 correct a url (#85245) 2024-03-27 04:58:07 -07:00
renovate[bot] 7640922d76 Update dependency diff to v5.2.0 (#85244)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 11:51:55 +00:00
renovate[bot] c7b4427151 Update dependency date-fns to v3.6.0 (#85243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 11:51:19 +00:00
Joao Silva 951d5b4e9f Storybook: Fix link to Saga (#85179) 2024-03-27 11:50:36 +00:00
Oscar Kilhed b7156ef2c2 Dashboard scenes: Export isExpressionReference to be accessible from scenes (#85228)
Export isExpressionRef to be accessible from scenes
2024-03-27 12:35:06 +01:00
Tobias Skarhed 6248bdda48 Pa11y: Decrease error thresholds for PRs (#85178)
* Pa11y-pr: lower error thresholds

* Increase threshold for alerting
2024-03-27 12:29:54 +01:00
renovate[bot] 4cf0c8dfb2 Update dependency @grafana/plugin-e2e to ^0.25.0 (#85236)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 10:26:52 +00:00
renovate[bot] 176709683a Update dependency @grafana/faro-web-sdk to v1.5.0 (#85235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 10:25:40 +00:00
renovate[bot] 9787f19dc3 Update dependency @grafana/faro-web-sdk to v1.5.0 (#85234)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 12:05:00 +02:00
renovate[bot] e28fc1a4a5 Update dependency msw to v2.2.12 2024-03-27 09:58:56 +00:00
renovate[bot] 869a7c8e15 Update dependency xss to v1.0.15 (#85215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 11:47:13 +02:00
renovate[bot] 7df1f84c63 Update dependency nanoid to v5.0.6 (#85205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 09:29:32 +00:00
Gilles De Mey 90a1e8a82f Alerting: Make hovercard accessible (#85195) 2024-03-27 10:05:30 +01:00
Pablo ace1cd6301 CloudWatch : Add missing AWS/ES metrics (#85210)
Adding missing ES metrics
2024-03-26 16:37:07 -04:00
Sven Grossmann e284812796 Applinks: Adds grafana-lokiexplore-app to Explore -> Logs section (#85200) 2024-03-26 22:18:17 +02:00
renovate[bot] e184520c61 Update dependency @types/react to v18.2.72 2024-03-26 20:04:28 +00:00
Kyle Cunningham c9f9e94a6c Table Panel: Fix issue causing incorrect background coloring (#85121)
Fix color bug
2024-03-27 03:02:31 +07:00
renovate[bot] 6ed5e36fe5 Update dependency msw to v2.2.11 2024-03-26 18:56:59 +00:00
melGL ac9523bcad Clarify AWS Auth instructions for Grafana Cloud users (#84312)
* Clarify "Grafana Assume Role" feature instructions for Grafana Cloud users

Following the recommendations provided in Support escalation https://github.com/grafana/support-escalations/issues/8277

* Update docs/sources/datasources/aws-cloudwatch/aws-authentication/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/datasources/aws-cloudwatch/aws-authentication/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

---------

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-03-26 11:54:57 -07:00
renovate[bot] 98eec74483 Update dependency eslint-scope to v8.0.1 2024-03-26 17:28:14 +00:00
renovate[bot] a256c064df Update dependency @types/react to v18.2.71 2024-03-26 17:26:50 +00:00
ismail simsek fec7765111 Chore: InfluxQL stream parser improvements (#85041)
* don't iterate over first column as it is a time column already

* don't iterate over first column as it was handled earlier

* add more flexibility to run the commands

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

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

---------

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
2024-03-26 19:25:03 +02:00
Sven Grossmann c80b31a0d4 Loki: Remove API restrictions on resource calls (#85191)
Loki: Remove API restrictions
2024-03-26 18:15:35 +01:00
renovate[bot] 1513b0cab1 Update dependency @kusto/monaco-kusto to v10.0.18 2024-03-26 17:02:35 +00:00
renovate[bot] 1df15a3a4c Update dependency @floating-ui/react to v0.26.10 (#85181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 16:39:24 +00:00
renovate[bot] af3e453068 Update dependency @glideapps/glide-data-grid to v6.0.3 (#85189)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 16:36:20 +00:00
Benoit Tigeot 6f38ac6615 Alerting: Reduce set of fields that could trigger alert state change (#83496)
We want to avoid too much change of alert state based on change on
alert's fields. For that we ignore some fields from the diff.
2024-03-26 12:35:30 -04:00
Julien Duchesne 2188516a21 Alerting: Fix receiver inheritance when provisioning a notification policy (#82007)
Terraform Issue: grafana/terraform-provider-grafana#1007
Nested routes should be allowed to inherit the contact point from the root (or direct parent) route but this fails in the provisioning API (it works in the UI)
2024-03-26 12:31:59 -04:00
Jo da40158fed Auth: Improve org role sync debugging (#85146)
add login to the context of the logger
2024-03-26 17:22:10 +01:00
renovate[bot] 5146896264 Update dependency @kusto/monaco-kusto to v10 (#81382)
* Update dependency @kusto/monaco-kusto to v10

* match types + update mocks

* Add missing esModule

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-03-26 16:10:06 +00:00
kay delaney 08ef6e1a42 Scenes: Fix crash when searching panel options (#85180)
Closes #81883
2024-03-26 14:55:54 +00:00
Carl Bergquist b214b07695 Scopes: Name relationship objects *binding (#84955)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
2024-03-26 15:52:12 +01:00
Karl Persson c39b9b2cbe EmailVerification: Generate emails after rename (#85175) 2024-03-26 15:50:11 +01:00
renovate[bot] 96c626d3d3 Update dependency @msagl/parser to v1.1.18 (#85138)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 16:46:35 +02:00
grafana-delivery-bot[bot] ee4ac983b2 Changelog: Updated changelog for 10.2.6 (#85171)
* Changelog: Updated changelog for 10.2.6

* run prettier

---------

Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-03-26 14:07:40 +00:00
Eve Meelan 54270dff36 Get started with alerting fixes for publish (#85158)
* Rename alerting-get-started.md to index.md

* edits

* edits

* prettier

* Update docs/sources/tutorials/alerting-get-started/index.md

Co-authored-by: tonypowa <45235678+tonypowa@users.noreply.github.com>

---------

Co-authored-by: tonypowa <tonypowa@gmail.com>
Co-authored-by: tonypowa <45235678+tonypowa@users.noreply.github.com>
2024-03-26 06:59:01 -07:00
linoman 4e5bff0ada Auth Drawer: Use redux store to load settings (#85110)
* use actions instead of importing the backend service

* Replace the test render for redux-rtl
2024-03-26 14:56:31 +01:00
grafana-delivery-bot[bot] da1ef0e1fa Changelog: Updated changelog for 10.1.9 (#85167)
Co-authored-by: grafanabot <bot@grafana.com>
2024-03-26 13:39:48 +00:00
Ryan McKinley e5cf863973 Prometheus: Create jsonschema spec (#85077) 2024-03-26 16:36:39 +03:00
grafana-delivery-bot[bot] b47dc7e8ac Changelog: Updated changelog for 10.0.13 (#85163)
Co-authored-by: grafanabot <bot@grafana.com>
2024-03-26 13:09:53 +00:00
Mihai Doarna 6ddced7ba8 SSO: add the missing fields to the okta provider (#85152)
* add the missing allowSignUp field to okta provider

* add autoLogin to okta
2024-03-26 14:45:45 +02:00
Andrej Ocenas aba65747c9 Nodegraph: Fix issue with rendering single node (#84930)
Fix for single node graph case
2024-03-26 13:43:43 +01:00
grafana-delivery-bot[bot] dd93d9958d Changelog: Updated changelog for 9.5.18 (#85159)
Co-authored-by: grafanabot <bot@grafana.com>
2024-03-26 12:37:21 +00:00
Alex Khomenko d105323f15 SaveDashboardForm: Remove deprecated Form usage (#84172)
* SaveDashboardForm: Remove deprecated Form usage

* Update
2024-03-26 14:14:17 +02:00
Alex Khomenko 0f6858709b Saga-icons: Switch to ESM (#84875) 2024-03-26 13:58:25 +02:00
Chris Bedwell b4ed72f1b6 Tooltip / Toggletip content link styling: Remove global a element selector inside tooltips (#84353)
* fix: remove global a tag styles inside tooltips

* corret inside / outside button references in toggletip test

* Remove code and pre styling rules from tooltipUtils
2024-03-26 11:47:12 +00:00
Andreas Christou 19159a89a2 SQLEngine: Use debug method instead of custom implementation (#85118)
Use debug method instead of custom implementation
2024-03-26 11:27:07 +00:00
Sven Grossmann 9a8ae3c932 Loki: Support custom X-Query-Tags header (#85123)
* Loki: Support custom `X-Query-Tags` header

* add comment
2024-03-26 13:08:09 +02:00
Alexander Zobnin 02606be3ed Access control: Improve annotation delete performance (#85068)
* Access control: Improve annotation delete performance

* simplify query string

* Refactor

* remove unnecessary join
2024-03-26 11:50:51 +01:00
Karl Persson 2f5e3023c2 IDFowrarding: ignore logging context canceled errors (#85141) 2024-03-26 11:36:44 +01:00
Sofia Papagiannaki 5ebf2d08f6 Provisioning: Fix regression when dashboardProvisioner is accessed before being initialised (#85011)
* Provisioning: Fix regression when dashboardProvisioner is accessed before being initialized

* Set dashboard provisioner in the provider
2024-03-26 12:32:56 +02:00
Torkel Ödegaard d039a0a485 DataTrails: Fixes home page background issue to make Cards work better (#85055)
* DataTrails: Fixes home page background issue to make Cards work better

* Update DataTrailsHome.tsx
2024-03-26 10:39:56 +01:00
Dafydd dda1531952 Update ephemeral instances workflow to get version from package.json (#85088)
* use the same value for GRAFANA_VERSION and HOSTED_GRAFANA_IMAGE_TAG

* update codeowners for these files
2024-03-26 09:24:48 +00:00
Gábor Farkas 3b7ee3a56b MySQL: snapshot tests (#84846)
mysql: add snapshot tests
2024-03-26 10:24:33 +01:00
Gábor Farkas c835022861 postgres: improved tests (#84677)
* postgres: tests: better test aligning time-series results

* postgres: add snapshot test for a backward-compat code
2024-03-26 10:22:58 +01:00
Erik Sundell 28ecd83987 Datasources: Add fixed width to name field in config editor (#84970)
add fixed width to name field
2024-03-26 10:13:09 +01:00
renovate[bot] d608faa9c1 Update dependency @grafana/scenes to v4.0.3 2024-03-26 08:53:45 +00:00
renovate[bot] 4b11877337 Update dependency rudder-sdk-js to v2.48.6 2024-03-26 08:26:04 +00:00
Jo 7649d93d17 AuthProxy: Fix missing session for ldap auth proxy users (#85090)
fix missing session for ldap auth proxy users
2024-03-26 09:24:24 +01:00
Darren Janeczek 5d477d711a datatrails: do not show the "le" label (#85114)
fix: do not show the "le" label
2024-03-26 09:00:25 +01:00
Ryan McKinley 4cda34ff7d Expressions: Create json schema for query types (#84032) 2024-03-26 06:58:56 +02:00
Darren Janeczek 2e06677240 datatrails: throttle the resetting of yaxis (#85117)
fix: throttle the resetting of yaxis
2024-03-25 19:33:57 -04:00
Darren Janeczek 7c03cc83c6 Datatrails: hide empty breakdown panels, improve loading status (#85028)
feat: hide empty breakdown panels, improve loading status
2024-03-25 18:56:03 -04:00
Todd Treece d4e6b325bf Chore: Add github action to check go module updates (#84936) 2024-03-25 18:47:34 -04:00
Kyle Cunningham 154868e624 Table Panel: Fix image disappearing when datalinks applied (#84625)
* Fix link image disappearing

* Prettier

* i18n

* Fix offset to compensate for padding

* Prettier

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-03-26 04:13:24 +07:00
Todd Treece dfe61db7a5 Scopes: Add type filter (#84866)
Co-authored-by: Kyle Brandt <kyle@grafana.com>
2024-03-25 16:45:32 -04:00
grafana-delivery-bot[bot] 99b5671fbe Release: Bump version to 11.1.0-pre (#85115)
"Release: Updated versions in package to 11.1.0-pre"

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-03-25 21:44:28 +02:00
Juan Cabanas bb5c5f38db Scenes: Add reporting tab in share modal (#85086) 2024-03-25 16:37:00 -03:00
Gabriel MABILLE 5e48804364 RBAC: Fix slow user permission search query on MySQL (#85058)
* Bench testing search user perm

* Add BenchmarkSearchUsersPermissions_1K_1K

* Clarify benchmark searches by action prefix

* Make MySQL more efficient

* Move all filter options

* Expand after assignments union

* update comments
2024-03-25 19:11:17 +01:00
Ashley Harrison 4974a89316 Chore: update go version used in bump-version so it works with the new format (#85111)
update go version used in bump-version
2024-03-25 20:06:57 +02:00
Ieva df40e13333 Public dashboards: fix public dashboard permissions so that annotations are displayed (#85091)
* fix public dashboard anonymous user permissions so they include the new annotation permissions

* test fix
2024-03-25 17:42:40 +00:00
Ashley Harrison fb01ef749f Chore: fix go.mod format (#85108)
fix go.mod format
2024-03-25 19:19:12 +02:00
Josh Hunt a61cac9d51 Chore: Update glob-stream (#85107) 2024-03-25 17:15:57 +00:00
Todd Treece 9684a9e39a Chore: Add depgaurd rules for sub-modules (#84084) 2024-03-25 17:15:36 +00:00
Charandas dd7d4e2656 K8s: replace a noop certKey content func with actual if available (#84524) 2024-03-25 10:12:55 -07:00
Mihai Doarna fad6dc4db1 SSO: fix reloading settings when a provider contains empty settings (#85102)
* fix reloading settings when a provider contains empty settings

* do not increment reloadFailures if settings are empty
2024-03-25 19:12:19 +02:00
Todd Treece 71c5070240 Chore: Run backend lint in PRs if .golangci.toml changes (#85106)
Chore: Run lint backend if .golangci.toml changes
2024-03-25 18:53:54 +02:00
ismail simsek 92f5a0305c Chore: Define promlib depguard rules (#85082)
* define promlib depguard rules

* add comment

* test: break linting on purpose

* fix linting

* simple change to trigger backend linting/build in CI pipeline
2024-03-25 17:32:56 +01:00
Marie Cruz 15dca45514 docs: update status history panel (#84939)
* docs: updates to status history panel documentation

* docs: updates to status history panel documentation

* Apply suggestions from code review

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

* fix: linting issues

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-03-25 12:20:10 -04:00
Marie Cruz 34195ba854 docs: updates to stat panel documentation (#84814)
* docs: updates to stat panel documentation

* Apply suggestions from code review

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

* Made formatting and wording edit

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2024-03-25 12:14:46 -04:00
Marie Cruz 44ae127a6e docs: update text panel documentation (#84884)
* docs: update text panel

* Apply suggestions from code review

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-03-25 12:13:56 -04:00
Bruno a2e21eac8c Cloud migrations: create endpoint to create an access token (#84690)
* fix merge conflicts

* make token expiration configurable
2024-03-25 12:43:28 -03:00
Charandas e237b89fe7 K8s: skip invalid items in GetList when not invoked as part of SendInitialEvents (#85050) 2024-03-25 07:50:14 -07:00
Marcus Efraimsson 8f12fb94f9 Plugins: Factory for instantiating core plugin (#85047) 2024-03-25 15:41:26 +01:00
ismail simsek 6137c4e0a6 Chore: Bump golangci-lint v1.57.1 (#84998)
* bump golangci-lint v1.57.1

* update setting

* remove goconst

* fix linting issues

* prettier

* fix G601

* go mod tidy
go work sync
2024-03-25 15:28:24 +01:00
Ryan McKinley e6fa367d02 k8s/query+ds: catch query errors, fix datasourceProvider and expose prometheus (#85071) 2024-03-25 17:22:34 +03:00
Karl Persson 2f3a01f79f OAuth: Make sub claim required for generic oauth behind feature toggle (#85065)
* Add feature toggle for sub claims requirement

* OAuth: require valid auth id

* Fix feature toggle description
2024-03-25 14:22:24 +01:00
idafurjes e2f155f9f7 Grafana: define the api for the grafana cloudmigration api (not the csm api) (#84430)
* Add cloud migration endpoints

* Built auth into creating a migration.

* Added more detail to the migration result model

* goimports

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

Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>

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

Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>

---------

Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>
2024-03-25 13:30:47 +01:00
tonypowa 4be5eaa14f alerting: get started tutorial (#84669)
* first commit

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* second commit

* updated headings

* Update alerting-get-started.md

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* third commit

* Update alerting-get-started.md

* Update alerting-get-started.md

* Update alerting-get-started.md

* edited contact point - summary

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* elaboration, formatting

* minor changes

* pretty

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-03-25 05:27:23 -07:00
Adam Bannach d7f739c8e5 Fix InteractiveTable: React, less hooks rendered than previous render (#85043)
fix: react-hooks error if data length switches from above or below pageSize
2024-03-25 13:53:45 +02:00
Tom Ratcliffe 40e73f389f Add jest watch plugins for better experience filtering tests 2024-03-25 11:36:45 +00:00
Tom Ratcliffe ebd191394a Add jest-watch-typeahead dev dependency
https://www.npmjs.com/package/jest-watch-typeahead
2024-03-25 11:36:45 +00:00
github-actions[bot] 82b82675f7 I18n: Download translations from Crowdin (#85006) 2024-03-25 10:59:46 +00:00
Serge Zaitsev 4d4c06b480 Chore: Vendor wire into pkg/build (#84637)
* vendor latest wire into pkg/build

* use vendored wire in builds

* fix wire import path

* remove wire from bingo

* also support google/wire import

* make prettier happy

* change package in tess

* add debug walk for drone

* add wire_gen in tests

* remove debug walk

* restore imports
2024-03-25 11:23:27 +01:00
Ashley Harrison 36ee1571b6 EmptyState: Rename "search" variant to "not-found" (#85062)
* rename "search" variant to "not-found"

* run i18n:extract
2024-03-25 09:55:48 +00:00
linoman fc205db466 samlsettings: api integration (#84300)
* add strategy and tests

* use settings provider service and remove multiple providers strategy

* Move SAML strategy to ssosettings service

* Update codeowners file

* reload from settings provider

* add saml as configurable provider

* Add new SAML strategy

* rename old saml settings interface

* update saml string references

* use OSS license

* validate saml provider depends on license for List

* add tests for list rendering including saml

* change the licensing validation to service init

* replace service struct for provider
2024-03-25 10:54:45 +01:00
Karl Persson c33bc819bc SigningKeys: Add added_at when creating new signing key (#85060) 2024-03-25 09:58:40 +01:00
Charandas 2f5be54252 Makefile: fix test-go to run all (#85048) 2024-03-25 10:49:36 +03:00
Oscar Kilhed 6c6b93d8e0 Dashboards: Fix an issue where the dashboard would unmount and then mount again causing requests to cancel under some circumstances (#85003)
* Fix issue where dashboard unmounts and mounts again causing requests to be canceled

* Fix tests, add test
2024-03-25 09:28:36 +02:00
Ryan McKinley 713970d00a SQLStore: Cleanup migrationLocking (#85054) 2024-03-25 10:09:15 +03:00
Charandas 3c42a2efd2 K8s: file storage - add sync around resource version (RV) management (#84694) 2024-03-23 23:58:48 -07:00
Brendan O'Handley d084595211 Prometheus: Use frontend package in Prometheus DS with a feature toggle (#84397)
* add feature toggle usePrometheusFrontendPackage

* add feature toggle logic to Prometheus module

* use config editor with package and remove configOverhaul feature toggle

* update betterer because we will be removing other files as we replace with files from @grafana/prometheus

* fix exemplar ds picker selector

* add more description to ts-ignore

* remove go.work.sum change

* copy go.work.sum from main

* update go.work.sum after talking with ismail

* put back the promlib entry

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-03-22 19:47:53 -05:00
Nathan Marrs cdb64cb7eb Canvas: Address connection vertex bug (#85026) 2024-03-23 01:54:10 +02:00
Khushi Jain 076dd53a40 Chore: Remove gf-form from InfluxDB Annotation Query Editor (#84809)
Chore: Remove gf-form from Annotation Query Editor - Influx DB
2024-03-23 00:52:40 +01:00
Matthew Jacobson 0c3c5c5607 Alerting: Stop persisting silences and nflog to disk (#84706)
With this change, we no longer need to persist silence/nflog states to disk in addition to the kvstore
2024-03-23 00:37:33 +02:00
Yuri Tseretyan 48de8657c9 Alerting: Editor role can access all provisioning API (#85022) 2024-03-23 00:14:15 +02:00
George Robinson 87548968e9 Alerting: Update grafana/alerting to a4bb859 (#84815) 2024-03-22 22:03:13 +00:00
Lars Stegman 188aed05f9 Transformer: Config from Query: set threshold colours (#83366)
* Fix typo

* Create handler arguments

* Create handler arguments editor

* Create link in editor

* Add labels to arguments editor fields

* Create unit tests

* Hide "Additional settings" header when no additional settings possible

* Remove div

* Fix invalid DOM

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-03-22 15:39:01 -06:00
Adela Almasan 5b0b8cb4bf DashboardAI: UX improvements (#84934) 2024-03-22 15:39:26 -05:00
Nathan Marrs 26473a0074 Canvas: Add "infinite" pan / zoom functionality (#84968)
* attempt at solving issue and resetting bounds to match panel content

* cleanup failed experiments

* add toggle for infinite pan - dont love naming but open to suggestions; clean up scene transform function

* add ability to "infinite" zoom (i.e. render more canvas via zooming out)

* slight refactor

* revert refactor as it broke things
2024-03-22 21:38:45 +01:00
7537 changed files with 249138 additions and 149597 deletions
+3358 -2075
View File
File diff suppressed because it is too large Load Diff
+7421 -8164
View File
File diff suppressed because it is too large Load Diff
+72 -54
View File
@@ -7,7 +7,6 @@ import { glob } from 'glob';
// Why are we ignoring these?
// They're all deprecated/being removed so doesn't make sense to fix types
const eslintPathsToIgnore = [
'packages/grafana-e2e', // deprecated.
'public/app/angular', // will be removed in Grafana 11
'public/app/plugins/panel/graph', // will be removed alongside angular
'public/app/plugins/panel/table-old', // will be removed alongside angular
@@ -76,68 +75,87 @@ function regexp(pattern: RegExp, issueMessage: string) {
function countEslintErrors() {
return new BettererFileTest(async (filePaths, fileTestResult, resolver) => {
// Just bail early if there's no files to test. Prevents trying to get the base config from failing
if (filePaths.length === 0) {
return;
}
const { baseDirectory } = resolver;
const cli = new ESLint({ cwd: baseDirectory });
const eslintConfigFiles = await glob('**/.eslintrc');
const eslintConfigMainPaths = eslintConfigFiles.map((file) => path.resolve(path.dirname(file)));
// Get the base config to set up parsing etc correctly
// this is by far the slowest part of this code. It takes eslint about 2 seconds just to find the config
const baseConfig = await cli.calculateConfigForFile(filePaths[0]);
const baseRules: Partial<Linter.RulesRecord> = {
'@emotion/syntax-preference': [2, 'object'],
'@typescript-eslint/no-explicit-any': 'error',
'@grafana/no-aria-label-selectors': 'error',
};
const nonTestFilesRules: Partial<Linter.RulesRecord> = {
...baseRules,
'@typescript-eslint/consistent-type-assertions': ['error', { assertionStyle: 'never' }],
};
// group files by eslint config file
// this will create two file groups for each eslint config file
// one for test files and one for non-test files
const fileGroups: Record<string, string[]> = {};
for (const filePath of filePaths) {
let configPath = eslintConfigMainPaths.find((configPath) => filePath.startsWith(configPath)) ?? '';
const isTestFile =
filePath.endsWith('.test.tsx') ||
filePath.endsWith('.test.ts') ||
filePath.includes('__mocks__') ||
filePath.includes('public/test/');
if (isTestFile) {
configPath += '-test';
}
if (!fileGroups[configPath]) {
fileGroups[configPath] = [];
}
fileGroups[configPath].push(filePath);
}
for (const configPath of Object.keys(fileGroups)) {
const rules = configPath.endsWith('-test') ? baseRules : nonTestFilesRules;
// this is by far the slowest part of this code. It takes eslint about 2 seconds just to find the config
const linterOptions = (await cli.calculateConfigForFile(fileGroups[configPath][0])) as Linter.Config;
const runner = new ESLint({
baseConfig: {
...linterOptions,
rules: rules,
'no-restricted-imports': [
'error',
{
patterns: [
{
group: ['@grafana/ui*', '*/Layout/*'],
importNames: ['Layout', 'HorizontalGroup', 'VerticalGroup'],
message: 'Use Stack component instead.',
},
],
},
useEslintrc: false,
cwd: baseDirectory,
});
const lintResults = await runner.lintFiles(fileGroups[configPath]);
lintResults
.filter((lintResult) => lintResult.source)
.forEach((lintResult) => {
const { messages } = lintResult;
const filePath = lintResult.filePath;
const file = fileTestResult.addFile(filePath, '');
messages.forEach((message, index) => {
file.addIssue(0, 0, message.message, `${index}`);
});
],
};
const config: Linter.Config = {
...baseConfig,
rules: baseRules,
// Be careful when specifying overrides for the same rules as in baseRules - it will... override
// the same rule, not merge them with different configurations
overrides: [
{
files: ['**/*.{ts,tsx}'],
excludedFiles: ['*.{test,spec}.{ts,tsx}', '**/__mocks__/**', '**/public/test/**'],
rules: {
'@typescript-eslint/consistent-type-assertions': ['error', { assertionStyle: 'never' }],
},
},
{
files: ['public/app/**/*.{ts,tsx}'],
rules: {
'no-barrel-files/no-barrel-files': 'error',
},
},
{
files: ['public/**/*.tsx', 'packages/grafana-ui/**/*.tsx'],
excludedFiles: [
'public/app/plugins/**',
'*.story.tsx',
'*.{test,spec}.{ts,tsx}',
'**/__mocks__/**',
'public/test/**',
],
rules: {
'@grafana/no-untranslated-strings': 'error',
},
},
],
};
const runner = new ESLint({
baseConfig: config,
useEslintrc: false,
cwd: baseDirectory,
});
const lintResults = await runner.lintFiles(Array.from(filePaths));
lintResults
.filter((lintResult) => lintResult.source)
.forEach(({ messages, filePath }) => {
const file = fileTestResult.addFile(filePath, '');
messages.forEach((message, index) => {
file.addIssue(0, 0, message.message, `${index}`);
});
}
});
});
}
+8 -12
View File
@@ -35,11 +35,11 @@ $(DRONE): $(BINGO_DIR)/drone.mod
@echo "(re)installing $(GOBIN)/drone-v1.5.0"
@cd $(BINGO_DIR) && GOWORK=off CGO_ENABLED=0 $(GO) build -mod=mod -modfile=drone.mod -o=$(GOBIN)/drone-v1.5.0 "github.com/drone/drone-cli/drone"
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.53.3
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.59.1
$(GOLANGCI_LINT): $(BINGO_DIR)/golangci-lint.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/golangci-lint-v1.53.3"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.53.3 "github.com/golangci/golangci-lint/cmd/golangci-lint"
@echo "(re)installing $(GOBIN)/golangci-lint-v1.59.1"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.59.1 "github.com/golangci/golangci-lint/cmd/golangci-lint"
JB := $(GOBIN)/jb-v0.5.1
$(JB): $(BINGO_DIR)/jb.mod
@@ -53,15 +53,11 @@ $(LEFTHOOK): $(BINGO_DIR)/lefthook.mod
@echo "(re)installing $(GOBIN)/lefthook-v1.4.8"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=lefthook.mod -o=$(GOBIN)/lefthook-v1.4.8 "github.com/evilmartians/lefthook"
SWAGGER := $(GOBIN)/swagger-v0.30.2
# swagger 0.30.5 isn't compatibile with go 1.22 yet so pinning to a specific commit until there's a new release
# https://github.com/go-swagger/go-swagger/issues/3070
SWAGGER := $(GOBIN)/swagger-db51e79a0e37c572d8b59ae0c58bf2bbbbe53285
$(SWAGGER): $(BINGO_DIR)/swagger.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/swagger-v0.30.2"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=swagger.mod -o=$(GOBIN)/swagger-v0.30.2 "github.com/go-swagger/go-swagger/cmd/swagger"
WIRE := $(GOBIN)/wire-v0.6.0
$(WIRE): $(BINGO_DIR)/wire.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/wire-v0.6.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=wire.mod -o=$(GOBIN)/wire-v0.6.0 "github.com/google/wire/cmd/wire"
@echo "(re)installing $(GOBIN)/swagger-db51e79a0e37c572d8b59ae0c58bf2bbbbe53285"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=swagger.mod -o=$(GOBIN)/swagger-db51e79a0e37c572d8b59ae0c58bf2bbbbe53285 "github.com/go-swagger/go-swagger/cmd/swagger"
-2
View File
@@ -46,7 +46,6 @@ github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
github.com/Microsoft/go-winio v0.4.17 h1:iT12IBVClFevaf8PuVyi3UmZOVh4OqnaLxDTW2O6j3w=
github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
@@ -879,7 +878,6 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuhc=
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
+4 -2
View File
@@ -1,5 +1,7 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.20
go 1.22
require github.com/golangci/golangci-lint v1.53.3 // cmd/golangci-lint
toolchain go1.22.4
require github.com/golangci/golangci-lint v1.59.1 // cmd/golangci-lint
+264 -902
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -2,4 +2,4 @@ module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.18
require github.com/go-swagger/go-swagger v0.30.2 // cmd/swagger
require github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 // cmd/swagger
+104
View File
@@ -42,8 +42,13 @@ github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJ
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc=
github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
github.com/Masterminds/sprig/v3 v3.2.2 h1:17jRggJu518dr3QaafizSXOjKYp94wKfABxUmyxvxX8=
github.com/Masterminds/sprig/v3 v3.2.2/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk=
github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA=
github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
@@ -51,6 +56,8 @@ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdko
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ=
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
@@ -73,9 +80,13 @@ github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw
github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o=
github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI=
github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI=
github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
@@ -83,49 +94,71 @@ github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P
github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY=
github.com/go-openapi/analysis v0.21.4 h1:ZDFLvSNxpDaomuCueM0BlSXxpANBlFYiBvr+GXrvIHc=
github.com/go-openapi/analysis v0.21.4/go.mod h1:4zQ35W4neeZTqh3ol0rv/O8JBbka9QyAgQRPp9y3pfo=
github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU=
github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo=
github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8=
github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.20.3 h1:rz6kiC84sqNQoqrtulzaL/VERgkoCyB6WdEkc2ujzUc=
github.com/go-openapi/errors v0.20.3/go.mod h1:Z3FlZ4I8jEGxjUK+bugx3on2mIAk4txuAOhlsB1FSgk=
github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w=
github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE=
github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4=
github.com/go-openapi/inflect v0.19.0/go.mod h1:lHpZVlpIQqLyKwJ4N+YSc9hchQy/i12fJykb83CRBH4=
github.com/go-openapi/inflect v0.21.0 h1:FoBjBTQEcbg2cJUWX6uwL9OyIW8eqc9k4KhN4lfbeYk=
github.com/go-openapi/inflect v0.21.0/go.mod h1:INezMuUu7SJQc2AyR3WO0DqqYUJSj8Kb4hBd7WtjlAw=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA=
github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo=
github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4=
github.com/go-openapi/loads v0.21.0 h1:jYtUO4wwP7psAweisP/MDoOpdzsYEESdoPcsWjHDR68=
github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g=
github.com/go-openapi/loads v0.21.2 h1:r2a/xFIYeZ4Qd2TnGpWDIQNcP80dIaZgf704za8enro=
github.com/go-openapi/loads v0.21.2/go.mod h1:Jq58Os6SSGz0rzh62ptiu8Z31I+OTHqmULx5e/gJbNw=
github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco=
github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs=
github.com/go-openapi/runtime v0.21.1 h1:/KIG00BzA2x2HRStX2tnhbqbQdPcFlkgsYCiNY20FZs=
github.com/go-openapi/runtime v0.24.1 h1:Sml5cgQKGYQHF+M7yYSHaH1eOjvTykrddTE/KtQVjqo=
github.com/go-openapi/runtime v0.24.1/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk=
github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsFWGIQ=
github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc=
github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I=
github.com/go-openapi/spec v0.20.6/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA=
github.com/go-openapi/spec v0.20.7 h1:1Rlu/ZrOCCob0n+JKKJAWhNWMPW8bOZRg8FJaY+0SKI=
github.com/go-openapi/spec v0.20.7/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA=
github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY=
github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk=
github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg=
github.com/go-openapi/strfmt v0.21.1 h1:G6s2t5V5kGCHLVbSdZ/6lI8Wm4OzoPFkc3/cjAsKQrM=
github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k=
github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k=
github.com/go-openapi/strfmt v0.21.3 h1:xwhj5X6CjXEZZHMWy1zKJxvW9AfHC9pkyUjLvHtKG7o=
github.com/go-openapi/strfmt v0.21.3/go.mod h1:k+RzNO0Da+k3FrrynSNN8F7n/peCmQQqbbXjtDfvmGg=
github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c=
github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM=
github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g=
github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-openapi/validate v0.20.3 h1:GZPPhhKSZrE8HjB4eEkoYAZmoWA4+tCemSgINH1/vKw=
github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg=
github.com/go-openapi/validate v0.22.0 h1:b0QecH6VslW/TxtpKgzpO1SNG7GU2FsaqKdP1E2T50Y=
github.com/go-openapi/validate v0.22.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg=
github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58=
github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw=
github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4=
@@ -133,6 +166,10 @@ github.com/go-swagger/go-swagger v0.29.0 h1:z3YoZtLvS1Y8TE/PCat1VypcZxM0IgKLt0Nv
github.com/go-swagger/go-swagger v0.29.0/go.mod h1:Z4GJzI+bHKKkGB2Ji1rawpi3/ldXX8CkzGIa9HAC5EE=
github.com/go-swagger/go-swagger v0.30.2 h1:23odPUyQZdkNFZZSBJ3mqYYcdh+LnuReEbdWN18OMRo=
github.com/go-swagger/go-swagger v0.30.2/go.mod h1:neDPes8r8PCz2JPvHRDj8BTULLh4VJUt7n6MpQqxhHM=
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 h1:KFcZmKdZmapAog2+eL1buervAYrYolBZk7fMecPPDmo=
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37/go.mod h1:i1/E+d8iPNReSE7y04FaVu5OPKB3il5cn+T1Egogg3I=
github.com/go-swagger/go-swagger v0.30.6-0.20240418033037-c46c303aaa02 h1:J6YiT/eg3gAfKMdVCkWXe6khsO+nxa8W4URZ4AUqzbA=
github.com/go-swagger/go-swagger v0.30.6-0.20240418033037-c46c303aaa02/go.mod h1:i1/E+d8iPNReSE7y04FaVu5OPKB3il5cn+T1Egogg3I=
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
@@ -211,11 +248,15 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4=
github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q=
github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
@@ -223,11 +264,16 @@ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T
github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw=
github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU=
github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
@@ -246,6 +292,8 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@@ -253,6 +301,8 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls=
github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
@@ -283,6 +333,9 @@ github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3v
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pelletier/go-toml/v2 v2.0.1 h1:8e3L2cCQzLFi2CR4g7vGFuFxX7Jl1kKX8gW+iV0GUKU=
github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo=
github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI=
github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -297,18 +350,32 @@ github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTE
github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg=
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ=
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8=
github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.8.0 h1:5MmtuhAgYeU6qpa7w7bP0dv6MBYuup0vekhSpSkoq60=
github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo=
github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo=
github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA=
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0=
github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
@@ -318,9 +385,12 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An
github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk=
github.com/spf13/viper v1.12.0 h1:CZ7eSOd3kZoaYDLbXnmzgQI5RlciuXBMA+18HwHRfZQ=
github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiuKtSI=
github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ=
github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -329,9 +399,12 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.3.0 h1:mjC+YW8QpAdXibNi+vNWgzmgBH4+5l5dCXv8cNysBLI=
github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ=
github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
@@ -345,6 +418,7 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg=
go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng=
go.mongodb.org/mongo-driver v1.8.2 h1:8ssUXufb90ujcIvR6MyE1SchaNj0SFxsakiZgxIyrMk=
@@ -352,12 +426,16 @@ go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCu
go.mongodb.org/mongo-driver v1.10.0/go.mod h1:wsihk0Kdgv8Kqu1Anit4sfK+22vSFbUrAVEYRhCXrA8=
go.mongodb.org/mongo-driver v1.10.1 h1:NujsPveKwHaWuKUer/ceo9DzEe7HIj1SlJ6uvXZG0S4=
go.mongodb.org/mongo-driver v1.10.1/go.mod h1:z4XpeoU6w+9Vht+jAFyLgVrD+jGSQQe0+CBWFHNiHt8=
go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80=
go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
@@ -369,10 +447,14 @@ golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM=
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -383,6 +465,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ=
golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -409,6 +493,8 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -444,6 +530,8 @@ golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220121210141-e204ce36a2ba h1:6u6sik+bn/y7vILcYkK3iwTBWN7WtBvB0+SZswQnbf8=
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -465,6 +553,9 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -511,11 +602,17 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0=
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220829200755-d48e67d00261 h1:v6hYoSR9T5oet+pMXwUWkbiVqx/63mlHjefrHmxwfeY=
golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -526,6 +623,9 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -583,6 +683,8 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w=
golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw=
golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -683,6 +785,8 @@ gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/ini.v1 v1.66.3 h1:jRskFVxYaMGAMUbN0UZ7niA9gzL9B49DOqE78vg0k3w=
gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4=
gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+2 -4
View File
@@ -14,13 +14,11 @@ CUE="${GOBIN}/cue-v0.5.0"
DRONE="${GOBIN}/drone-v1.5.0"
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.53.3"
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.59.1"
JB="${GOBIN}/jb-v0.5.1"
LEFTHOOK="${GOBIN}/lefthook-v1.4.8"
SWAGGER="${GOBIN}/swagger-v0.30.2"
WIRE="${GOBIN}/wire-v0.6.0"
SWAGGER="${GOBIN}/swagger-v0.30.6-0.20240310114303-db51e79a0e37"
-5
View File
@@ -1,5 +0,0 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.16
require github.com/google/wire v0.6.0 // cmd/wire
-66
View File
@@ -1,66 +0,0 @@
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/subcommands v1.0.1 h1:/eqq+otEXm5vhfBrbREPCSVQbvofip6kIz+mX5TUH7k=
github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
github.com/google/subcommands v1.2.0 h1:vWQspBTo2nEqTUFita5/KeEWlUL8kQObDFbub/EN9oE=
github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8=
github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU=
github.com/google/wire v0.6.0 h1:HBkoIh4BdSxoyo9PveV8giw7ZsaBOvzWKfcg/6MrVwI=
github.com/google/wire v0.6.0/go.mod h1:F4QhpQ9EDIdJ1Mbop/NZBRB+5yrR6qg3BnctaoUk6NA=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b h1:NVD8gBK33xpdqCaZVVtd6OFJp+3dxkXuz7+U7KaVN6s=
golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc=
golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+2 -2
View File
@@ -2,7 +2,7 @@
init_cmds = [
["GO_BUILD_DEV=1", "make", "build-go"],
["make", "gen-jsonnet"],
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
["./bin/grafana", "server", "-profile", "-profile-addr=127.0.0.1", "-profile-port=6000", "-packaging=dev", "cfg:app_mode=development"]
]
watch_all = true
follow_symlinks = true
@@ -18,5 +18,5 @@ build_delay = 1500
cmds = [
["GO_BUILD_DEV=1", "make", "build-go"],
["make", "gen-jsonnet"],
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
["./bin/grafana", "server", "-profile", "-profile-addr=127.0.0.1", "-profile-port=6000", "-packaging=dev", "cfg:app_mode=development"]
]
+424 -165
View File
File diff suppressed because it is too large Load Diff
+2
View File
@@ -13,6 +13,8 @@ node_modules
/public/lib/monaco
/scripts/grafana-server/tmp
vendor
e2e/custom-plugins
playwright-report
# TS generate from cue by cuetsy
**/*.gen.ts
+35 -38
View File
@@ -1,13 +1,14 @@
{
"extends": ["@grafana/eslint-config"],
"extends": ["@grafana/eslint-config", "plugin:react/jsx-runtime"],
"root": true,
"plugins": ["@emotion", "lodash", "jest", "import", "jsx-a11y", "@grafana"],
"plugins": ["@emotion", "lodash", "jest", "import", "jsx-a11y", "@grafana", "no-barrel-files"],
"settings": {
"import/internal-regex": "^(app/)|(@grafana)",
"import/external-module-folders": ["node_modules", ".yarn"]
"import/external-module-folders": ["node_modules", ".yarn"],
},
"rules": {
"@grafana/no-border-radius-literal": "error",
"@grafana/no-unreduced-motion": "error",
"react/prop-types": "off",
// need to ignore emotion's `css` prop, see https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md#rule-options
"react/no-unknown-property": ["error", { "ignore": ["css"] }],
@@ -19,8 +20,8 @@
{
"groups": [["builtin", "external"], "internal", "parent", "sibling", "index"],
"newlines-between": "always",
"alphabetize": { "order": "asc" }
}
"alphabetize": { "order": "asc" },
},
],
"no-restricted-imports": [
"error",
@@ -29,47 +30,43 @@
{
"name": "react-redux",
"importNames": ["useDispatch", "useSelector"],
"message": "Please import from app/types instead."
"message": "Please import from app/types instead.",
},
{
"name": "react-i18next",
"importNames": ["Trans", "t"],
"message": "Please import from app/core/internationalization instead"
"message": "Please import from app/core/internationalization instead",
},
{
"name": "@grafana/e2e",
"message": "@grafana/e2e is deprecated. Please import from ./e2e/utils instead"
}
]
}
],
},
],
// Use typescript's no-redeclare for compatibility with overrides
"no-redeclare": "off",
"@typescript-eslint/no-redeclare": ["error"]
"@typescript-eslint/no-redeclare": ["error"],
},
"overrides": [
{
"files": ["packages/grafana-ui/src/components/uPlot/**/*.{ts,tsx}"],
"rules": {
"react-hooks/rules-of-hooks": "off",
"react-hooks/exhaustive-deps": "off"
}
"react-hooks/exhaustive-deps": "off",
},
},
{
"files": ["packages/grafana-ui/src/components/ThemeDemos/**/*.{ts,tsx}"],
"rules": {
"@emotion/jsx-import": "off",
"react/jsx-uses-react": "off",
"react/react-in-jsx-scope": "off"
}
"react/react-in-jsx-scope": "off",
},
},
{
"files": ["public/dashboards/scripted*.js"],
"rules": {
"no-redeclare": "error",
"@typescript-eslint/no-redeclare": "off"
}
"@typescript-eslint/no-redeclare": "off",
},
},
{
"extends": ["plugin:jsx-a11y/recommended"],
@@ -82,17 +79,17 @@
"jsx-a11y/no-autofocus": [
"error",
{
"ignoreNonDOM": true
}
"ignoreNonDOM": true,
},
],
"jsx-a11y/label-has-associated-control": [
"error",
{
"controlComponents": ["NumberInput"],
"depth": 2
}
]
}
"depth": 2,
},
],
},
},
{
"files": [
@@ -125,14 +122,14 @@
"public/app/plugins/datasource/cloudwatch/*.{ts,tsx}",
"public/app/plugins/datasource/cloudwatch/**/*.{ts,tsx}",
"public/app/plugins/datasource/zipkin/*.{ts,tsx}",
"public/app/plugins/datasource/zipkin/**/*.{ts,tsx}"
"public/app/plugins/datasource/zipkin/**/*.{ts,tsx}",
],
"settings": {
"import/resolver": {
"node": {
"extensions": [".ts", ".tsx"]
}
}
"extensions": [".ts", ".tsx"],
},
},
},
"rules": {
"import/no-restricted-paths": [
@@ -143,12 +140,12 @@
"target": "./public/app/plugins",
"from": "./public",
"except": ["./app/plugins"],
"message": "Core plugins are not allowed to depend on Grafana core packages"
}
]
}
]
}
}
]
"message": "Core plugins are not allowed to depend on Grafana core packages",
},
],
},
],
},
},
],
}
+199 -172
View File
@@ -38,11 +38,11 @@
/docs/.codespellignore @grafana/docs-tooling
/docs/sources/ @Eve832
/docs/sources/administration/ @jdbaldry @lwandz13
/docs/sources/administration/ @jdbaldry
/docs/sources/alerting/ @brendamuir
/docs/sources/dashboards/ @imatwawana
/docs/sources/datasources/ @jdbaldry
/docs/sources/explore/ @grafana/explore-squad
/docs/sources/explore/ @grafana/explore-squad @lwandz13
/docs/sources/fundamentals @chri2547
/docs/sources/getting-started/ @chri2547
/docs/sources/introduction/ @chri2547
@@ -52,113 +52,112 @@
/docs/sources/upgrade-guide/ @imatwawana
/docs/sources/whatsnew/ @imatwawana
/docs/sources/developers/plugins/ @Eve832 @josmperez @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/docs/sources/developers/plugins/ @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/docs/sources/panels-visualizations/query-transform-data/transform-data/index.md @imatwawana @baldm0mma
# END Technical documentation
# Backend code
/go.mod @grafana/backend-platform
/go.sum @grafana/backend-platform
/go.mod @grafana/grafana-backend-group
/go.sum @grafana/grafana-backend-group
/go.work @grafana/grafana-app-platform-squad
/go.work.sum @grafana/grafana-app-platform-squad
/.bingo/ @grafana/backend-platform
/pkg/README.md @grafana/backend-platform
/pkg/ruleguard.rules.go @grafana/backend-platform
/.bra.toml @grafana/backend-platform
/.golangci.toml @grafana/backend-platform
/build.go @grafana/backend-platform
/scripts/modowners/ @grafana/backend-platform
/.bingo/ @grafana/grafana-backend-group
/pkg/README.md @grafana/grafana-backend-group
/pkg/ruleguard.rules.go @grafana/grafana-backend-group
/.bra.toml @grafana/grafana-backend-group
/.golangci.toml @grafana/grafana-backend-group
/build.go @grafana/grafana-backend-services-squad
/scripts/modowners/ @grafana/grafana-backend-services-squad
/hack/ @grafana/grafana-app-platform-squad
/pkg/api/ @grafana/backend-platform
/apps/alerting/ @grafana/alerting-backend
/pkg/api/ @grafana/grafana-backend-group
/pkg/apis/ @grafana/grafana-app-platform-squad
/pkg/bus/ @grafana/backend-platform
/pkg/cmd/ @grafana/backend-platform
/pkg/bus/ @grafana/grafana-search-and-storage
/pkg/cmd/ @grafana/grafana-backend-group
/pkg/cmd/grafana/apiserver @grafana/grafana-app-platform-squad
/pkg/components/apikeygen/ @grafana/identity-access-team
/pkg/components/satokengen/ @grafana/identity-access-team
/pkg/components/dashdiffs/ @grafana/backend-platform
/pkg/components/imguploader/ @grafana/backend-platform
/pkg/components/loki/ @grafana/backend-platform
/pkg/components/null/ @grafana/backend-platform
/pkg/components/simplejson/ @grafana/backend-platform
/pkg/events/ @grafana/backend-platform
/pkg/extensions/ @grafana/backend-platform
/pkg/ifaces/ @grafana/backend-platform
/pkg/infra/appcontext/ @grafana/backend-platform
/pkg/infra/db/ @grafana/backend-platform
/pkg/infra/localcache/ @grafana/backend-platform
/pkg/infra/log/ @grafana/backend-platform
/pkg/infra/metrics/ @grafana/backend-platform
/pkg/infra/network/ @grafana/backend-platform
/pkg/infra/process/ @grafana/backend-platform
/pkg/infra/remotecache/ @grafana/backend-platform
/pkg/infra/serverlock/ @grafana/backend-platform
/pkg/infra/slugify/ @grafana/backend-platform
/pkg/infra/tracing/ @grafana/backend-platform
/pkg/infra/usagestats/ @grafana/backend-platform
/pkg/middleware/ @grafana/backend-platform
/pkg/mocks/ @grafana/backend-platform
/pkg/models/ @grafana/backend-platform
/pkg/server/ @grafana/backend-platform
/pkg/components/apikeygen/ @grafana/identity-squad
/pkg/components/satokengen/ @grafana/identity-squad
/pkg/components/dashdiffs/ @grafana/grafana-app-platform-squad
/pkg/components/imguploader/ @grafana/alerting-backend
/pkg/components/loki/ @grafana/grafana-backend-group
/pkg/components/null/ @grafana/grafana-backend-group
/pkg/components/simplejson/ @grafana/grafana-backend-group
/pkg/events/ @grafana/grafana-backend-group
/pkg/extensions/ @grafana/grafana-backend-group
/pkg/ifaces/ @grafana/grafana-backend-group
/pkg/infra/appcontext/ @grafana/grafana-backend-group
/pkg/infra/db/ @grafana/grafana-backend-group
/pkg/infra/localcache/ @grafana/grafana-backend-group
/pkg/infra/log/ @grafana/grafana-backend-group
/pkg/infra/metrics/ @grafana/grafana-backend-group
/pkg/infra/network/ @grafana/grafana-backend-group
/pkg/infra/process/ @grafana/grafana-backend-group
/pkg/infra/remotecache/ @grafana/grafana-backend-group
/pkg/infra/serverlock/ @grafana/grafana-backend-group
/pkg/infra/slugify/ @grafana/grafana-backend-group
/pkg/infra/tracing/ @grafana/grafana-backend-group
/pkg/infra/usagestats/ @grafana/grafana-backend-group
/pkg/middleware/ @grafana/grafana-backend-group
/pkg/mocks/ @grafana/grafana-backend-group
/pkg/models/ @grafana/grafana-backend-group
/pkg/server/ @grafana/grafana-backend-group
/pkg/apiserver @grafana/grafana-app-platform-squad
/pkg/apimachinery @grafana/grafana-app-platform-squad
/pkg/apimachinery/identity/ @grafana/identity-squad
/pkg/apimachinery/errutil/ @grafana/grafana-backend-group
/pkg/promlib @grafana/observability-metrics
/pkg/services/annotations/ @grafana/backend-platform
/pkg/services/apikey/ @grafana/identity-access-team
/pkg/services/cleanup/ @grafana/backend-platform
/pkg/services/contexthandler/ @grafana/backend-platform
/pkg/storage/ @grafana/grafana-search-and-storage
/pkg/services/annotations/ @grafana/grafana-search-and-storage
/pkg/services/apikey/ @grafana/identity-squad
/pkg/services/cleanup/ @grafana/grafana-backend-group
/pkg/services/contexthandler/ @grafana/grafana-backend-group
/pkg/services/correlations/ @grafana/explore-squad
/pkg/services/dashboardimport/ @grafana/backend-platform
/pkg/services/dashboards/ @grafana/backend-platform
/pkg/services/dashboardversion/ @grafana/backend-platform
/pkg/services/encryption/ @grafana/backend-platform
/pkg/services/folder/ @grafana/backend-platform
/pkg/services/dashboardimport/ @grafana/grafana-backend-group
/pkg/services/dashboards/ @grafana/grafana-app-platform-squad
/pkg/services/dashboardversion/ @grafana/grafana-backend-group
/pkg/services/encryption/ @grafana/grafana-operator-experience-squad
/pkg/services/folder/ @grafana/grafana-search-and-storage
/pkg/services/apiserver @grafana/grafana-app-platform-squad
/pkg/services/hooks/ @grafana/backend-platform
/pkg/services/kmsproviders/ @grafana/backend-platform
/pkg/services/licensing/ @grafana/backend-platform
/pkg/services/navtree/ @grafana/backend-platform
/pkg/services/notifications/ @grafana/backend-platform
/pkg/services/org/ @grafana/backend-platform
/pkg/services/hooks/ @grafana/grafana-backend-group
/pkg/services/kmsproviders/ @grafana/grafana-operator-experience-squad
/pkg/services/licensing/ @grafana/grafana-operator-experience-squad
/pkg/services/navtree/ @grafana/grafana-backend-group
/pkg/services/notifications/ @grafana/grafana-backend-group
/pkg/services/org/ @grafana/grafana-backend-group
/pkg/services/playlist/ @grafana/grafana-app-platform-squad
/pkg/services/preference/ @grafana/backend-platform
/pkg/services/provisioning/ @grafana/backend-platform
/pkg/services/query/ @grafana/backend-platform
/pkg/services/queryhistory/ @grafana/backend-platform
/pkg/services/quota/ @grafana/backend-platform
/pkg/services/rendering/ @grafana/backend-platform
/pkg/services/screenshot/ @grafana/backend-platform
/pkg/services/search/ @grafana/backend-platform
/pkg/services/searchusers/ @grafana/backend-platform
/pkg/services/secrets/ @grafana/backend-platform
/pkg/services/shorturls/ @grafana/backend-platform
/pkg/services/sqlstore/ @grafana/backend-platform
/pkg/services/ssosettings/ @grafana/identity-access-team
/pkg/services/star/ @grafana/backend-platform
/pkg/services/stats/ @grafana/backend-platform
/pkg/services/tag/ @grafana/backend-platform
/pkg/services/team/ @grafana/identity-access-team
/pkg/services/temp_user/ @grafana/backend-platform
/pkg/services/updatechecker/ @grafana/backend-platform
/pkg/services/user/ @grafana/identity-access-team
/pkg/services/validations/ @grafana/backend-platform
/pkg/setting/ @grafana/backend-platform
/pkg/tests/ @grafana/backend-platform
/pkg/services/preference/ @grafana/grafana-backend-group
/pkg/services/provisioning/ @grafana/grafana-search-and-storage
/pkg/services/query/ @grafana/grafana-app-platform-squad
/pkg/services/queryhistory/ @grafana/grafana-app-platform-squad
/pkg/services/quota/ @grafana/grafana-search-and-storage
/pkg/services/screenshot/ @grafana/grafana-backend-group
/pkg/services/search/ @grafana/grafana-search-and-storage
/pkg/services/searchusers/ @grafana/grafana-search-and-storage
/pkg/services/secrets/ @grafana/grafana-operator-experience-squad
/pkg/services/shorturls/ @grafana/grafana-backend-group
/pkg/services/sqlstore/ @grafana/grafana-search-and-storage
/pkg/services/ssosettings/ @grafana/identity-squad
/pkg/services/star/ @grafana/grafana-search-and-storage
/pkg/services/stats/ @grafana/grafana-backend-group
/pkg/services/tag/ @grafana/grafana-search-and-storage
/pkg/services/team/ @grafana/access-squad
/pkg/services/temp_user/ @grafana/grafana-backend-group
/pkg/services/updatechecker/ @grafana/grafana-backend-group
/pkg/services/user/ @grafana/access-squad
/pkg/services/validations/ @grafana/grafana-backend-group
/pkg/setting/ @grafana/grafana-backend-services-squad
/pkg/tests/ @grafana/grafana-backend-services-squad
/pkg/tests/apis/ @grafana/grafana-app-platform-squad
/pkg/tests/api/correlations/ @grafana/explore-squad
/pkg/tsdb/grafanads/ @grafana/backend-platform
/pkg/tsdb/legacydata/ @grafana/backend-platform
/pkg/tsdb/opentsdb/ @grafana/backend-platform
/pkg/tsdb/sqleng/ @grafana/partner-datasources @grafana/oss-big-tent
/pkg/util/ @grafana/backend-platform
/pkg/web/ @grafana/backend-platform
/pkg/infra/kvstore/ @grafana/backend-platform
/pkg/infra/fs/ @grafana/backend-platform
/pkg/infra/x/ @grafana/backend-platform
/pkg/tsdb/grafanads/ @grafana/grafana-backend-group
/pkg/tsdb/opentsdb/ @grafana/partner-datasources
/pkg/util/ @grafana/grafana-backend-group
/pkg/web/ @grafana/grafana-backend-group
/pkg/infra/kvstore/ @grafana/grafana-backend-group
/pkg/infra/fs/ @grafana/grafana-backend-group
# devenv
# Backend code, developers environment
@@ -171,28 +170,28 @@
/devenv/bulk-dashboards/ @grafana/dashboards-squad
/devenv/bulk-folders/ @grafana/grafana-frontend-platform
/devenv/create_docker_compose.sh @grafana/backend-platform
/devenv/alert_rules.yaml @grafana/alerting-backend-product
/devenv/create_docker_compose.sh @grafana/grafana-backend-services-squad
/devenv/alert_rules.yaml @grafana/alerting-backend
/devenv/dashboards.yaml @grafana/dashboards-squad
/devenv/datasources.yaml @grafana/backend-platform
/devenv/datasources_docker.yaml @grafana/backend-platform
/devenv/datasources.yaml @grafana/grafana-backend-group
/devenv/datasources_docker.yaml @grafana/grafana-backend-group
/devenv/dev-dashboards-without-uid/ @grafana/dashboards-squad
/devenv/dev-dashboards/ @grafana/dashboards-squad
/devenv/docker/blocks/alert_webhook_listener/ @grafana/alerting-backend-product
/devenv/docker/blocks/alert_webhook_listener/ @grafana/alerting-backend
/devenv/docker/blocks/clickhouse/ @grafana/partner-datasources
/devenv/docker/blocks/collectd/ @grafana/observability-metrics
/devenv/docker/blocks/etcd @grafana/grafana-app-platform-squad
/devenv/docker/blocks/grafana/ @grafana/grafana-as-code
/devenv/docker/blocks/graphite/ @grafana/observability-metrics
/devenv/docker/blocks/graphite09/ @grafana/observability-metrics
/devenv/docker/blocks/graphite1/ @grafana/observability-metrics
/devenv/docker/blocks/influxdb/ @grafana/observability-metrics
/devenv/docker/blocks/influxdb1/ @grafana/observability-metrics
/devenv/docker/blocks/graphite/ @grafana/partner-datasources
/devenv/docker/blocks/graphite09/ @grafana/partner-datasources
/devenv/docker/blocks/graphite1/ @grafana/partner-datasources
/devenv/docker/blocks/influxdb/ @grafana/partner-datasources
/devenv/docker/blocks/influxdb1/ @grafana/partner-datasources
/devenv/docker/blocks/jaeger/ @grafana/observability-traces-and-profiling
/devenv/docker/blocks/maildev/ @grafana/alerting-frontend
/devenv/docker/blocks/mariadb/ @grafana/oss-big-tent
/devenv/docker/blocks/memcached/ @grafana/backend-platform
/devenv/docker/blocks/mimir_backend/ @grafana/alerting-backend-product
/devenv/docker/blocks/memcached/ @grafana/grafana-backend-group
/devenv/docker/blocks/mimir_backend/ @grafana/alerting-backend
/devenv/docker/blocks/mssql/ @grafana/partner-datasources
/devenv/docker/blocks/mssql_arm64/ @grafana/partner-datasources
/devenv/docker/blocks/mssql_tests/ @grafana/partner-datasources
@@ -201,31 +200,32 @@
/devenv/docker/blocks/mysql_exporter/ @grafana/oss-big-tent
/devenv/docker/blocks/mysql_opendata/ @grafana/oss-big-tent
/devenv/docker/blocks/mysql_tests/ @grafana/oss-big-tent
/devenv/docker/blocks/opentsdb/ @grafana/observability-metrics
/devenv/docker/blocks/opentsdb/ @grafana/partner-datasources
/devenv/docker/blocks/postgres/ @grafana/oss-big-tent
/devenv/docker/blocks/postgres_tests/ @grafana/oss-big-tent
/devenv/docker/blocks/prometheus/ @grafana/observability-metrics
/devenv/docker/blocks/prometheus_random_data/ @grafana/observability-metrics
/devenv/docker/blocks/pyroscope/ @grafana/observability-traces-and-profiling
/devenv/docker/blocks/redis/ @bergquist
/devenv/docker/blocks/sensugo/ @grafana/backend-platform
/devenv/docker/blocks/sensugo/ @grafana/grafana-backend-group
/devenv/docker/blocks/slow_proxy/ @bergquist
/devenv/docker/blocks/smtp/ @bergquist
/devenv/docker/blocks/tempo/ @grafana/observability-traces-and-profiling
/devenv/docker/blocks/traefik/ @mckn
/devenv/docker/blocks/zipkin/ @grafana/observability-traces-and-profiling
/devenv/docker/blocks/webdav/ @grafana/alerting-backend-product
/devenv/docker/blocks/webdav/ @grafana/alerting-backend
/devenv/docker/buildcontainer/ @bergquist
/devenv/docker/compose_header.yml @grafana/backend-platform
/devenv/docker/compose_header.yml @grafana/grafana-backend-services-squad
/devenv/docker/debtest/ @bergquist
/devenv/docker/ha-test-unified-alerting/ @grafana/alerting-backend-product
/devenv/docker/ha_test/ @grafana/backend-platform
/devenv/docker/loadtest/ @grafana/backend-platform
/devenv/docker/rpmtest/ @grafana/backend-platform
/devenv/docker/ha-test-unified-alerting/ @grafana/alerting-backend
/devenv/docker/ha_test/ @grafana/grafana-backend-services-squad
/devenv/docker/loadtest/ @grafana/grafana-backend-services-squad
/devenv/docker/rpmtest/ @grafana/grafana-backend-services-squad
/devenv/jsonnet/ @grafana/dataviz-squad
/devenv/local-npm/ @grafana/frontend-ops
/devenv/vscode/ @grafana/frontend-ops
/devenv/setup.sh @grafana/backend-platform
/devenv/setup.sh @grafana/grafana-backend-services-squad
/devenv/plugins.yaml @grafana/plugins-platform-frontend
# Emails
/emails/ @grafana/alerting-frontend
@@ -244,6 +244,7 @@
/Makefile @grafana/grafana-release-guild
/scripts/build/ @grafana/grafana-release-guild
/scripts/list-release-artifacts.sh @grafana/grafana-release-guild
/.trivyignore @grafana/grafana-backend-services-squad
# OSS Plugin Partnerships backend code
/pkg/tsdb/cloudwatch/ @grafana/aws-datasources
@@ -252,9 +253,7 @@
# Observability backend code
/pkg/tsdb/prometheus/ @grafana/observability-metrics
/pkg/tsdb/influxdb/ @grafana/observability-metrics
/pkg/tsdb/elasticsearch/ @grafana/observability-logs
/pkg/tsdb/graphite/ @grafana/observability-metrics
/pkg/tsdb/loki/ @grafana/observability-logs
/pkg/tsdb/tempo/ @grafana/observability-traces-and-profiling
/pkg/tsdb/grafana-pyroscope-datasource/ @grafana/observability-traces-and-profiling
@@ -266,10 +265,12 @@
# Partner Datasources backend code
/pkg/tsdb/mssql/ @grafana/partner-datasources
/pkg/tsdb/influxdb/ @grafana/partner-datasources
/pkg/tsdb/graphite/ @grafana/partner-datasources
# Database migrations
/pkg/services/sqlstore/migrations/ @grafana/backend-platform @grafana/hosted-grafana-team
*_mig.go @grafana/backend-platform @grafana/hosted-grafana-team
/pkg/services/sqlstore/migrations/ @grafana/grafana-search-and-storage
*_mig.go @grafana/grafana-search-and-storage
# Grafana app platform
/pkg/services/live/ @grafana/grafana-app-platform-squad
@@ -277,14 +278,15 @@
/pkg/services/store/ @grafana/grafana-app-platform-squad
/pkg/infra/filestorage/ @grafana/grafana-app-platform-squad
/pkg/modules/ @grafana/grafana-app-platform-squad
/pkg/services/grpcserver/ @grafana/grafana-app-platform-squad
/pkg/services/grpcserver/ @grafana/grafana-search-and-storage
/pkg/generated @grafana/grafana-app-platform-squad
# Alerting
/pkg/services/ngalert/ @grafana/alerting-backend-product
/pkg/services/sqlstore/migrations/ualert/ @grafana/alerting-backend-product
/pkg/tests/api/alerting/ @grafana/alerting-backend-product
/pkg/services/ngalert/ @grafana/alerting-backend
/pkg/services/sqlstore/migrations/ualert/ @grafana/alerting-backend
/pkg/tests/api/alerting/ @grafana/alerting-backend
/public/app/features/alerting/ @grafana/alerting-frontend
/public/app/features/gops/ @grafana/alerting-frontend
# Library Services
/pkg/services/libraryelements/ @grafana/dashboards-squad
@@ -304,7 +306,7 @@
/pkg/services/plugindashboards/ @grafana/plugins-platform-backend
# Backend code docs
/contribute/backend/ @grafana/backend-platform
/contribute/backend/ @grafana/grafana-backend-group
/crowdin.yml @grafana/grafana-frontend-platform
@@ -313,38 +315,47 @@
/e2e/ @grafana/grafana-frontend-platform
/e2e/cloud-plugins-suite/ @grafana/partner-datasources
/e2e/plugin-e2e/plugin-e2e-api-tests/ @grafana/plugins-platform-frontend
# Packages
/packages/ @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend
/packages/grafana-data/src/**/*logs* @grafana/observability-logs
/packages/grafana-data/src/transformations/ @grafana/dataviz-squad
/packages/grafana-e2e-selectors/ @grafana/grafana-frontend-platform
/packages/grafana-e2e/ @grafana/grafana-frontend-platform
/packages/grafana-flamegraph/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/ @grafana/observability-logs
/packages/grafana-o11y-ds-frontend/src/IntervalInput/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/NodeGraph/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/pyroscope/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/SpanBar/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/TraceToLogs/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/TraceToMetrics/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/TraceToProfiles/ @grafana/observability-traces-and-profiling
/packages/grafana-plugin-configs/ @grafana/plugins-platform-frontend
/packages/grafana-prometheus/ @grafana/observability-metrics
/packages/grafana-schema/src/**/*canvas* @grafana/dataviz-squad
/packages/grafana-schema/src/**/*tempo* @grafana/observability-traces-and-profiling
/packages/grafana-sql/ @grafana/partner-datasources @grafana/oss-big-tent
/packages/grafana-ui/.storybook/ @grafana/plugins-platform-frontend
/packages/grafana-ui/src/components/ @grafana/grafana-frontend-platform
/packages/grafana-ui/src/components/BarGauge/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/DataLinks/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/DateTimePickers/ @grafana/grafana-frontend-platform
/packages/grafana-ui/src/components/Gauge/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/Sparkline/ @grafana/grafana-frontend-platform @grafana/app-o11y-visualizations
/packages/grafana-ui/src/components/Table/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/Table/SparklineCell.tsx @grafana/dataviz-squad @grafana/app-o11y-visualizations
/packages/grafana-ui/src/components/Gauge/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/BarGauge/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/uPlot/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/DataLinks/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/ValuePicker/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/VizLayout/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/VizLegend/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/VizRepeater/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/VizTooltip/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/Sparkline/ @grafana/grafana-frontend-platform @grafana/app-o11y-visualizations
/packages/grafana-ui/src/graveyard/Graph/ @grafana/dataviz-squad
/packages/grafana-ui/src/graveyard/GraphNG/ @grafana/dataviz-squad
/packages/grafana-ui/src/graveyard/TimeSeries/ @grafana/dataviz-squad
/packages/grafana-ui/src/utils/storybook/ @grafana/plugins-platform-frontend
/packages/grafana-data/src/transformations/ @grafana/dataviz-squad
/packages/grafana-data/src/**/*logs* @grafana/observability-logs
/packages/grafana-schema/src/**/*tempo* @grafana/observability-traces-and-profiling
/packages/grafana-schema/src/**/*canvas* @grafana/dataviz-squad
/packages/grafana-flamegraph/ @grafana/observability-traces-and-profiling
/plugins-bundled/ @grafana/plugins-platform-frontend
/packages/grafana-plugin-configs/ @grafana/plugins-platform-frontend
/packages/grafana-prometheus/ @grafana/observability-metrics
/packages/grafana-o11y-ds-frontend/ @grafana/observability-logs @grafana/observability-traces-and-profiling
/packages/grafana-sql/ @grafana/partner-datasources @grafana/oss-big-tent
# root files, mostly frontend
/.browserslistrc @grafana/frontend-ops
@@ -376,7 +387,6 @@
/.levignore.js @grafana/plugins-platform-frontend
playwright.config.ts @grafana/plugins-platform-frontend
# public folder
/public/app/core/ @grafana/grafana-frontend-platform
/public/app/core/components/TimePicker/ @grafana/grafana-frontend-platform
@@ -385,25 +395,26 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/core/components/TimeSeries/ @grafana/dataviz-squad
/public/app/core/components/TimelineChart/ @grafana/dataviz-squad
/public/app/core/components/Form/ @grafana/grafana-frontend-platform
/public/app/core/history/ @grafana/explore-squad
/public/app/features/all.ts @grafana/grafana-frontend-platform
/public/app/features/admin/ @grafana/identity-access-team
# Temp owners until Enterprise team takes over
/public/app/features/migrate-to-cloud @grafana/grafana-frontend-platform
/public/app/features/auth-config/ @grafana/identity-access-team
/public/app/features/auth-config/ @grafana/identity-squad
/public/app/features/annotations/ @grafana/dashboards-squad
/public/app/features/api-keys/ @grafana/identity-access-team
/public/app/features/api-keys/ @grafana/identity-squad
/public/app/features/canvas/ @grafana/dataviz-squad
/public/app/features/geo/ @grafana/dataviz-squad
/public/app/features/visualization/data-hover/ @grafana/dataviz-squad
/public/app/features/commandPalette/ @grafana/grafana-frontend-platform
/public/app/features/connections/ @grafana/plugins-platform-frontend @mikkancso
/public/app/features/connections/ @grafana/plugins-platform-frontend
/public/app/features/correlations/ @grafana/explore-squad
/public/app/features/dashboard/ @grafana/dashboards-squad
/public/app/features/dashboard/components/TransformationsEditor/ @grafana/dataviz-squad
/public/app/features/dashboard-scene/ @grafana/dashboards-squad
/public/app/features/datasources/ @grafana/plugins-platform-frontend @mikkancso
/public/app/features/datasources/ @grafana/plugins-platform-frontend
/public/app/features/dimensions/ @grafana/dataviz-squad
/public/app/features/dataframe-import/ @grafana/dataviz-squad
/public/app/features/explore/ @grafana/explore-squad
@@ -414,6 +425,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/features/library-panels/ @grafana/dashboards-squad
/public/app/features/logs/ @grafana/observability-logs
/public/app/features/live/ @grafana/grafana-app-platform-squad
/public/app/features/apiserver/ @grafana/grafana-app-platform-squad
/public/app/features/manage-dashboards/ @grafana/dashboards-squad
/public/app/features/notifications/ @grafana/grafana-frontend-platform
/public/app/features/org/ @grafana/grafana-frontend-platform
@@ -421,20 +433,22 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/features/playlist/ @grafana/dashboards-squad
/public/app/features/plugins/ @grafana/plugins-platform-frontend
/public/app/features/profile/ @grafana/grafana-frontend-platform
/public/app/features/query-library/ @grafana/explore-squad
/public/app/features/runtime/ @ryantxu
/public/app/features/query/ @grafana/dashboards-squad
/public/app/features/sandbox/ @grafana/grafana-frontend-platform
/public/app/features/browse-dashboards/ @grafana/grafana-frontend-platform
/public/app/features/search/ @grafana/grafana-frontend-platform
/public/app/features/serviceaccounts/ @grafana/identity-access-team
/public/app/features/serviceaccounts/ @grafana/identity-squad
/public/app/features/storage/ @grafana/grafana-app-platform-squad
/public/app/features/teams/ @grafana/identity-access-team
/public/app/features/teams/ @grafana/access-squad
/public/app/features/templating/ @grafana/dashboards-squad
/public/app/features/trails/ @torkelo
/public/app/features/trails/ @grafana/observability-metrics
/public/app/features/transformers/ @grafana/dataviz-squad
/public/app/features/transformers/timeSeriesTable/ @grafana/dataviz-squad @grafana/app-o11y-visualizations
/public/app/features/users/ @grafana/identity-access-team
/public/app/features/users/ @grafana/access-squad
/public/app/features/variables/ @grafana/dashboards-squad
/public/app/features/preferences/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/alertlist/ @grafana/alerting-frontend
/public/app/plugins/panel/annolist/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/barchart/ @grafana/dataviz-squad
@@ -473,6 +487,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/store/ @grafana/grafana-frontend-platform
/public/app/types/ @grafana/grafana-frontend-platform
/public/app/types/alerting.ts @grafana/alerting-frontend
/public/app/types/unified-alerting-dto.ts @grafana/alerting-frontend
/public/dashboards/ @grafana/dashboards-squad
/public/gazetteer/ @ryantxu
/public/img/ @grafana/grafana-frontend-platform
@@ -485,7 +500,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/test/ @grafana/grafana-frontend-platform
/public/test/helpers/alertingRuleEditor.tsx @grafana/alerting-frontend
/public/views/ @grafana/grafana-frontend-platform
/public/views/swagger.html @grafana/backend-platform
/public/views/swagger.html @grafana/grafana-backend-group
/public/app/features/explore/Logs/ @grafana/observability-logs
@@ -495,9 +510,9 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/features/explore/FlameGraph/ @grafana/observability-traces-and-profiling
/public/app/features/explore/TraceView/ @grafana/observability-traces-and-profiling
/public/api-merged.json @grafana/backend-platform
/public/api-enterprise-spec.json @grafana/backend-platform
/public/openapi3.json @grafana/backend-platform
/public/api-merged.json @grafana/grafana-backend-group
/public/api-enterprise-spec.json @grafana/grafana-backend-group
/public/openapi3.json @grafana/grafana-backend-group
/public/app/angular/ @torkelo
/public/app/app.ts @grafana/frontend-ops
/public/app/dev.ts @grafana/frontend-ops
@@ -509,7 +524,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/scripts/benchmark-access-control.sh @grafana/identity-access-team
/scripts/benchmark-access-control.sh @grafana/access-squad
/scripts/check-breaking-changes.sh @grafana/plugins-platform-frontend
/scripts/ci-* @grafana/grafana-release-guild
/scripts/circle-* @grafana/grafana-release-guild
@@ -533,7 +548,10 @@ playwright.config.ts @grafana/plugins-platform-frontend
/scripts/cleanup-husky.sh @grafana/frontend-ops
/scripts/verify-repo-update/ @grafana/grafana-release-guild
/scripts/generate-icon-bundle.js @grafana/plugins-platform-frontend @grafana/grafana-frontend-platform
/scripts/generate-rtk-apis.ts @grafana/grafana-frontend-platform
/scripts/generate-alerting-rtk-apis.ts @grafana/alerting-frontend
/scripts/levitate-parse-json-report.js @grafana/plugins-platform-frontend
/scripts/codemods/explicit-barrel-imports.cjs @grafana/frontend-ops
/scripts/**/generate-transformations* @grafana/dataviz-squad
/scripts/webpack/ @grafana/frontend-ops
@@ -557,14 +575,14 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/plugins/datasource/grafana/ @grafana/grafana-frontend-platform
/public/app/plugins/datasource/grafana-testdata-datasource/ @grafana/plugins-platform-frontend
/public/app/plugins/datasource/azuremonitor/ @grafana/partner-datasources
/public/app/plugins/datasource/graphite/ @grafana/observability-metrics
/public/app/plugins/datasource/influxdb/ @grafana/observability-metrics
/public/app/plugins/datasource/graphite/ @grafana/partner-datasources
/public/app/plugins/datasource/influxdb/ @grafana/partner-datasources
/public/app/plugins/datasource/jaeger/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/loki/ @grafana/observability-logs
/public/app/plugins/datasource/mixed/ @grafana/dashboards-squad
/public/app/plugins/datasource/mssql/ @grafana/partner-datasources
/public/app/plugins/datasource/mysql/ @grafana/oss-big-tent
/public/app/plugins/datasource/opentsdb/ @grafana/observability-metrics
/public/app/plugins/datasource/opentsdb/ @grafana/partner-datasources
/public/app/plugins/datasource/grafana-postgresql-datasource/ @grafana/oss-big-tent
/public/app/plugins/datasource/prometheus/ @grafana/observability-metrics
/public/app/plugins/datasource/cloud-monitoring/ @grafana/partner-datasources
@@ -575,35 +593,40 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/plugins/datasource/alertmanager/ @grafana/alerting-squad
# Grafana Sharing Squad
/public/app/features/dashboard-scene/sharing/ @grafana/sharing-squad
/public/app/features/dashboard/components/ShareModal/ @grafana/sharing-squad
/public/app/features/manage-dashboards/components/PublicDashboardListTable/ @grafana/sharing-squad
/public/app/features/dashboard/containers/PublicDashboardPage.tsx @grafana/sharing-squad
/public/app/features/manage-dashboards/components/SnapshotListTable.tsx @grafana/sharing-squad
/pkg/api/render.go @grafana/sharing-squad
/pkg/services/dashboardsnapshots/ @grafana/sharing-squad
/pkg/services/publicdashboards/ @grafana/sharing-squad
/pkg/services/rendering/ @grafana/sharing-squad
# SSE - Server Side Expressions
/pkg/expr/ @grafana/observability-metrics
# Cloud middleware
/grafana-mixin/ @grafana/hosted-grafana-team
/grafana-mixin/ @grafana/grafana-backend-services-squad
# Grafana authentication and authorization
/pkg/login/ @grafana/identity-access-team
/pkg/services/accesscontrol/ @grafana/identity-access-team
/pkg/login/ @grafana/identity-squad
/pkg/services/accesscontrol/ @grafana/access-squad
/pkg/services/anonymous/ @grafana/identity-access-team
/pkg/services/auth/ @grafana/identity-access-team
/pkg/services/authn/ @grafana/identity-access-team
/pkg/services/signingkeys/ @grafana/identity-access-team
/pkg/services/dashboards/accesscontrol.go @grafana/identity-access-team
/pkg/services/datasources/guardian/ @grafana/identity-access-team
/pkg/services/guardian/ @grafana/identity-access-team
/pkg/services/ldap/ @grafana/identity-access-team
/pkg/services/login/ @grafana/identity-access-team
/pkg/services/loginattempt/ @grafana/identity-access-team
/pkg/services/auth/ @grafana/identity-squad
/pkg/services/authn/ @grafana/identity-squad
/pkg/services/authz/ @grafana/access-squad
/pkg/services/signingkeys/ @grafana/identity-squad
/pkg/services/dashboards/accesscontrol.go @grafana/access-squad
/pkg/services/datasources/guardian/ @grafana/access-squad
/pkg/services/guardian/ @grafana/access-squad
/pkg/services/ldap/ @grafana/identity-squad
/pkg/services/login/ @grafana/identity-squad
/pkg/services/loginattempt/ @grafana/identity-squad
/pkg/services/extsvcauth/ @grafana/identity-access-team
/pkg/services/oauthtoken/ @grafana/identity-access-team
/pkg/services/serviceaccounts/ @grafana/identity-access-team
/pkg/services/oauthtoken/ @grafana/identity-squad
/pkg/services/serviceaccounts/ @grafana/identity-squad
/public/app/core/components/RolePicker/ @grafana/access-squad
# Support bundles
/public/app/features/support-bundles/ @grafana/identity-access-team
@@ -612,6 +635,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
# Grafana Operator Experience Team
/pkg/services/caching/ @grafana/grafana-operator-experience-squad
/pkg/services/cloudmigration/ @grafana/grafana-operator-experience-squad
/pkg/services/gcom/ @grafana/grafana-operator-experience-squad
# Feature toggles
/pkg/services/featuremgmt/ @grafana/grafana-backend-services-squad
@@ -646,11 +670,13 @@ embed.go @grafana/grafana-as-code
/.github/pr-commands.json @marefr
/.github/renovate.json5 @grafana/frontend-ops
/.github/teams.yml @armandgrillet
/.github/workflows/alerting-swagger-gen.yml @grafana/alerting-backend-product
/.github/workflows/alerting-swagger-gen.yml @grafana/alerting-backend
/.github/workflows/auto-milestone.yml @grafana/grafana-release-guild
/.github/workflows/backport.yml @grafana/grafana-release-guild
/.github/workflows/bump-version.yml @grafana/grafana-release-guild
/.github/workflows/close-milestone.yml @grafana/grafana-release-guild
/.github/workflows/release-pr.yml @grafana/grafana-release-guild
/.github/workflows/release-comms.yml @grafana/grafana-release-guild
/.github/workflows/codeowners-validator.yml @tolzhabayev
/.github/workflows/codeql-analysis.yml @DanCech
/.github/workflows/commands.yml @torkelo
@@ -679,7 +705,6 @@ embed.go @grafana/grafana-as-code
/.github/workflows/stale.yml @grafana/grafana-release-guild
/.github/workflows/update-changelog.yml @grafana/grafana-release-guild
/.github/workflows/update-make-docs.yml @grafana/docs-tooling
/.github/workflows/snyk.yml @grafana/security-team
/.github/workflows/scripts/kinds/verify-kinds.go @grafana/platform-cat
/.github/workflows/publish-kinds-next.yml @grafana/platform-cat
/.github/workflows/publish-kinds-release.yml @grafana/platform-cat
@@ -691,8 +716,10 @@ embed.go @grafana/grafana-as-code
/.github/workflows/core-plugins-build-and-release.yml @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/.github/workflows/i18n-crowdin-upload.yml @grafana/grafana-frontend-platform
/.github/workflows/i18n-crowdin-download.yml @grafana/grafana-frontend-platform
/.github/workflows/feature-toggle-cleanup.yml @tolzhabayev
/.github/workflows/scripts/feature-toggle-cleanup/feature-toggle-cleanup.js @tolzhabayev
/.github/workflows/pr-go-workspace-check.yml @grafana/grafana-app-platform-squad
/.github/workflows/run-scenes-e2e.yml @grafana/dashboards-squad
/.github/workflows/go_lint.yml @grafana/grafana-backend-services-squad
/.github/workflows/trivy-scan.yml @grafana/grafana-backend-services-squad
# Generated files not requiring owner approval
/packages/grafana-data/src/types/featureToggles.gen.ts @grafanabot
@@ -704,10 +731,10 @@ embed.go @grafana/grafana-as-code
# Conf
/conf/defaults.ini @torkelo
/conf/sample.ini @torkelo
/conf/ldap.toml @grafana/identity-access-team
/conf/ldap_multiple.toml @grafana/identity-access-team
/conf/provisioning/access-control/ @grafana/identity-access-team
/conf/provisioning/alerting/ @grafana/alerting-backend-product
/conf/ldap.toml @grafana/identity-squad
/conf/ldap_multiple.toml @grafana/identity-squad
/conf/provisioning/access-control/ @grafana/access-squad
/conf/provisioning/alerting/ @grafana/alerting-backend
/conf/provisioning/dashboards/ @grafana/dashboards-squad
/conf/provisioning/datasources/ @grafana/plugins-platform-backend
/conf/provisioning/plugins/ @grafana/plugins-platform-backend
+2 -2
View File
@@ -4,8 +4,8 @@ The bot is configured via [commands.json](https://github.com/grafana/grafana/blo
Comment commands:
* Write the word `/duplicate #<number>` anywhere in a comment and the bot will add the correct label and standard message.
* Write the word `/needsMoreInfo` anywhere in a comment and the bot will add the correct label and standard message.
* Write the word `/duplicate #<number>` anywhere in a comment and the bot will add the correct label and standard message.
* Write the word `/needsMoreInfo` anywhere in a comment and the bot will add the correct label and standard message.
Label commands:
+147 -139
View File
@@ -1,198 +1,198 @@
[
{
"type":"label",
"name":"bot/question",
"addLabel":"type/question",
"removeLabel":"bot/question",
"action":"close",
"comment":"Please ask your question on [community.grafana.com/](https://community.grafana.com/). To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
"type": "label",
"name": "bot/question",
"addLabel": "type/question",
"removeLabel": "bot/question",
"action": "close",
"comment": "Please ask your question on [community.grafana.com/](https://community.grafana.com/). To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type":"comment",
"name":"duplicate",
"allowUsers":[],
"action":"close",
"addLabel":"type/duplicate"
"type": "comment",
"name": "duplicate",
"allowUsers": [],
"action": "close",
"addLabel": "type/duplicate"
},
{
"type":"label",
"name":"bot/duplicate",
"addLabel":"type/duplicate",
"removeLabel":"bot/duplicate",
"action":"close",
"comment":"Thanks for creating this issue! It looks like this has already been reported by another user. Weve closed this in favor of the existing one. Please consider adding any details you think is missing to that issue.\n\nTo avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
"type": "label",
"name": "bot/duplicate",
"addLabel": "type/duplicate",
"removeLabel": "bot/duplicate",
"action": "close",
"comment": "Thanks for creating this issue! It looks like this has already been reported by another user. Weve closed this in favor of the existing one. Please consider adding any details you think is missing to that issue.\n\nTo avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type":"comment",
"name":"needsMoreInfo",
"allowUsers":[],
"action":"updateLabels",
"addLabel":"bot/needs more info"
"type": "comment",
"name": "needsMoreInfo",
"allowUsers": [],
"action": "updateLabels",
"addLabel": "bot/needs more info"
},
{
"type":"label",
"name":"bot/needs more info",
"action":"updateLabels",
"addLabel":"needs more info",
"removeLabel":"bot/needs more info",
"comment":"Thanks for creating this issue! We think it's missing some basic information. \r\n\r\nFollow the issue template and add additional information that will help us replicate the problem. \r\nFor data visualization issues: \r\n- Query results from the inspect drawer (data tab & query inspector)\r\n- Panel settings can be extracted in the panel inspect drawer JSON tab\r\n\r\nFor dashboard related issues: \r\n- Dashboard JSON can be found in the dashboard settings JSON model view\r\n\r\nFor authentication, provisioning and alerting issues, Grafana server logs are useful. \r\n\r\nHappy graphing!"
"type": "label",
"name": "bot/needs more info",
"action": "updateLabels",
"addLabel": "needs more info",
"removeLabel": "bot/needs more info",
"comment": "Thanks for creating this issue! We think it's missing some basic information. \r\n\r\nFollow the issue template and add additional information that will help us replicate the problem. \r\nFor data visualization issues: \r\n- Query results from the inspect drawer (data tab & query inspector)\r\n- Panel settings can be extracted in the panel inspect drawer JSON tab\r\n\r\nFor dashboard related issues: \r\n- Dashboard JSON can be found in the dashboard settings JSON model view\r\n\r\nFor authentication, provisioning and alerting issues, Grafana server logs are useful. \r\n\r\nHappy graphing!"
},
{
"type":"label",
"name":"bot/no new info",
"action":"close",
"removeLabel":"needs more info",
"comment":"We've closed this issue since it needs more information and hasn't had any activity recently. We can re-open it after you you add more information. To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
"type": "label",
"name": "bot/no new info",
"action": "close",
"removeLabel": "needs more info",
"comment": "We've closed this issue since it needs more information and hasn't had any activity recently. We can re-open it after you you add more information. To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type":"label",
"name":"bot/close feature request",
"action":"close",
"addLabel":"not implemented",
"comment":"This feature request has been open for a long time with few received upvotes or comments, so we are closing it. We're trying to limit open GitHub issues in order to better track planned work and features. \r\n\r\nThis doesn't mean that we'll never ever implement it or that we will never accept a PR for it. A closed issue can still attract upvotes and act as a ticket to track feature demand\/interest. \r\n\r\nThank You to you for taking the time to create this issue!"
"type": "label",
"name": "bot/close feature request",
"action": "close",
"addLabel": "not implemented",
"comment": "This feature request has been open for a long time with few received upvotes or comments, so we are closing it. We're trying to limit open GitHub issues in order to better track planned work and features. \r\n\r\nThis doesn't mean that we'll never ever implement it or that we will never accept a PR for it. A closed issue can still attract upvotes and act as a ticket to track feature demand\/interest. \r\n\r\nThank You to you for taking the time to create this issue!"
},
{
"type":"label",
"name":"area/plugins-catalog",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/76"
"type": "label",
"name": "area/plugins-catalog",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/76"
}
},
{
"type":"label",
"name":"type/docs",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/69"
"type": "label",
"name": "type/docs",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/69"
}
},
{
"type":"label",
"name":"datasource/Azure",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/190"
"type": "label",
"name": "datasource/Azure",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type":"label",
"name":"datasource/CloudWatch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/97"
"type": "label",
"name": "datasource/CloudWatch",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"datasource/CloudWatch Logs",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/97"
"type": "label",
"name": "datasource/CloudWatch Logs",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"datasource/GoogleCloudMonitoring",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/190"
"type": "label",
"name": "datasource/GoogleCloudMonitoring",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type":"label",
"name":"datasource/Prometheus",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/112"
"type": "label",
"name": "datasource/Prometheus",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/112"
}
},
{
"type":"label",
"name":"datasource/InfluxDB",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/112"
"type": "label",
"name": "datasource/InfluxDB",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type":"label",
"name":"datasource/Graphite",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/112"
"type": "label",
"name": "datasource/Graphite",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type":"label",
"name":"datasource/OpenTSDB",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/112"
"type": "label",
"name": "datasource/OpenTSDB",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type":"label",
"name":"datasource/Loki",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/203"
"type": "label",
"name": "datasource/Loki",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/203"
}
},
{
"type":"label",
"name":"datasource/Tempo",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/221"
"type": "label",
"name": "datasource/Tempo",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
}
},
{
"type":"label",
"name":"datasource/grafana-pyroscope",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/221"
"type": "label",
"name": "datasource/grafana-pyroscope",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
}
},
{
"type":"label",
"name":"datasource/Parca",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/221"
"type": "label",
"name": "datasource/Parca",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
}
},
{
"type":"label",
"name":"datasource/Elasticsearch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/203"
"type": "label",
"name": "datasource/Elasticsearch",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/203"
}
},
{
"type":"label",
"name":"datasource/Jaeger",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/221"
"type": "label",
"name": "datasource/Jaeger",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
}
},
{
"type":"label",
"name":"datasource/Zipkin",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/221"
"type": "label",
"name": "datasource/Zipkin",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
}
},
{
"type":"label",
"name":"area/explore",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/111"
"type": "label",
"name": "area/explore",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/111"
}
},
{
@@ -371,14 +371,6 @@
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "label",
"name": "area/panel/icon",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "label",
"name": "area/panel/piechart",
@@ -440,10 +432,26 @@
"name": "area/panel/table",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/72"
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
{
"type": "label",
"name": "area/tooltip",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "label",
"name": "area/legend",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "label",
"name": "grafana program",
"action": "addToProject",
@@ -451,4 +459,4 @@
"url": "https://github.com/orgs/grafana/projects/471"
}
}
]
]
+4 -2
View File
@@ -1,9 +1,11 @@
[
{
"type": "author",
"memberOf": { "org": "grafana" },
"memberOf": {
"org": "grafana"
},
"noLabels": true,
"addLabel": "internal",
"comment": " please add one or more appropriate labels. Here are some tips:\r\n\r\n- if you are making an issue, TODO, or reminder for yourself or your team, please add one label that best describes the product or feature area. Please also add the issue to your project board. :rocket:\r\n\r\n- if you are making an issue for any other reason (docs typo, you found a bug, etc), please add at least one label that best describes the product or feature that you are discussing (e.g. `area/alerting`, `datasource/loki`, `type/docs`, `type/bug`, etc). [Our issue triage](https://github.com/grafana/grafana/blob/main/ISSUE_TRIAGE.md#3-categorizing-an-issue) doc also provides additional guidance on labeling. :rocket:\r\n\r\n Thank you! :heart:"
}
]
]
+1 -1
View File
@@ -29,4 +29,4 @@
"query": "is:open is:pull-request"
}
]
}
}
+1 -8
View File
@@ -1,11 +1,4 @@
[
{
"type": "check-milestone",
"title": "Milestone Check",
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#assign-a-milestone",
"success": "Milestone set",
"failure": "Milestone not set"
},
{
"type": "check-changelog",
"title": "Changelog Check",
@@ -27,4 +20,4 @@
},
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#include-in-changelog-and-release-notes"
}
]
]
+188 -213
View File
@@ -2,8 +2,8 @@
{
"type": "changedfiles",
"matches": [
"docs/**/*",
"contribute/**/*"
"docs/**/*",
"contribute/**/*"
],
"action": "updateLabel",
"addLabel": "type/docs"
@@ -11,21 +11,21 @@
{
"type": "changedfiles",
"matches": [
"public/**/*",
"packages/**/*",
"e2e/**/*",
"plugins-bundled/**/*",
"scripts/build/release-packages.sh",
"scripts/circle-release-next-packages.sh",
"scripts/ci-frontend-metrics.sh",
"scripts/grunt/**/*",
"scripts/webpack/**/*",
"package.json",
"tsconfig.json",
"lerna.json",
".prettierrc.js",
".eslintrc",
"**/*.mdx"
"public/**/*",
"packages/**/*",
"e2e/**/*",
"plugins-bundled/**/*",
"scripts/build/release-packages.sh",
"scripts/circle-release-next-packages.sh",
"scripts/ci-frontend-metrics.sh",
"scripts/grunt/**/*",
"scripts/webpack/**/*",
"package.json",
"tsconfig.json",
"lerna.json",
".prettierrc.js",
".eslintrc",
"**/*.mdx"
],
"action": "updateLabel",
"addLabel": "area/frontend"
@@ -33,11 +33,11 @@
{
"type": "changedfiles",
"matches": [
"**/*.go",
"go.mod",
"go.sum",
"contribute/style-guides/backend.md",
"contribute/architecture/backend/**/*"
"**/*.go",
"go.mod",
"go.sum",
"contribute/style-guides/backend.md",
"contribute/architecture/backend/**/*"
],
"action": "updateLabel",
"addLabel": "area/backend"
@@ -45,15 +45,17 @@
{
"type": "changedfiles",
"matches": [
"pkg/services/sqlstore/migrations/**/*",
"**/*_mig.go"
"pkg/services/sqlstore/migrations/**/*",
"**/*_mig.go"
],
"action": "updateLabel",
"addLabel": "area/backend/db/migration"
},
{
"type": "changedfiles",
"matches": [ "public/app/features/explore/**/*"],
"matches": [
"public/app/features/explore/**/*"
],
"action": "updateLabel",
"addLabel": "area/explore"
},
@@ -82,384 +84,357 @@
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/azuremonitor/**/*", "pkg/tsdb/azuremonitor/**/*"],
"matches": [
"public/app/plugins/datasource/azuremonitor/**/*",
"pkg/tsdb/azuremonitor/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Azure"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/cloud-monitoring/**/*", "pkg/tsdb/cloud-monitoring/**/*"],
"matches": [
"public/app/plugins/datasource/cloud-monitoring/**/*",
"pkg/tsdb/cloud-monitoring/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/GoogleCloudMonitoring"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/cloudwatch/**/*", "pkg/tsdb/cloudwatch/**/*"],
"matches": [
"public/app/plugins/datasource/cloudwatch/**/*",
"pkg/tsdb/cloudwatch/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/CloudWatch"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/elasticsearch/**/*", "pkg/tsdb/elasticsearch/**/*"],
"matches": [
"public/app/plugins/datasource/elasticsearch/**/*",
"pkg/tsdb/elasticsearch/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Elasticsearch"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/graphite/**/*", "pkg/tsdb/graphite/**/*"],
"matches": [
"public/app/plugins/datasource/graphite/**/*",
"pkg/tsdb/graphite/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Graphite"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/influxdb/**/*", "pkg/tsdb/influx/**/*"],
"matches": [
"public/app/plugins/datasource/influxdb/**/*",
"pkg/tsdb/influx/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/InfluxDB"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/jaeger/**/*"],
"matches": [
"public/app/plugins/datasource/jaeger/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Jaeger"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/loki/**/*", "pkg/tsdb/loki/**/*"],
"matches": [
"public/app/plugins/datasource/loki/**/*",
"pkg/tsdb/loki/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Loki"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/mssql/**/*", "pkg/tsdb/mssql/**/*"],
"matches": [
"public/app/plugins/datasource/mssql/**/*",
"pkg/tsdb/mssql/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/MSSQL"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/mysql/**/*", "pkg/tsdb/mysql/**/*"],
"matches": [
"public/app/plugins/datasource/mysql/**/*",
"pkg/tsdb/mysql/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/MySQL"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/opentsdb/**/*", "pkg/tsdb/opentsdb/**/*"],
"matches": [
"public/app/plugins/datasource/opentsdb/**/*",
"pkg/tsdb/opentsdb/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/OpenTSDB"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/parca/**/*"],
"matches": [
"public/app/plugins/datasource/parca/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Parca"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/grafana-pyroscope-datasource/**/*", "pkg/tsdb/grafana-pyroscope-datasource/**/*"],
"matches": [
"public/app/plugins/datasource/grafana-pyroscope-datasource/**/*",
"pkg/tsdb/grafana-pyroscope-datasource/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/grafana-pyroscope"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/grafana-postgresql-datasource/**/*", "pkg/tsdb/grafana-postgresql-datasource/**/*"],
"matches": [
"public/app/plugins/datasource/grafana-postgresql-datasource/**/*",
"pkg/tsdb/grafana-postgresql-datasource/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Postgres"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/prometheus/**/*", "pkg/tsdb/prometheus/**/*"],
"matches": [
"public/app/plugins/datasource/prometheus/**/*",
"pkg/tsdb/prometheus/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Prometheus"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/tempo/**/*", "pkg/tsdb/tempo/**/*"],
"matches": [
"public/app/plugins/datasource/tempo/**/*",
"pkg/tsdb/tempo/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Tempo"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/zipkin/**/*"],
"matches": [
"public/app/plugins/datasource/zipkin/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Zipkin"
},
{
"type": "changedfiles",
"matches": ["public/app/features/variables/**/*", "public/app/features/templating/**/*"],
"matches": [
"public/app/features/variables/**/*",
"public/app/features/templating/**/*"
],
"action": "updateLabel",
"addLabel": "area/dashboard/templating"
},
{
"type": "changedfiles",
"matches": ["/pkg/services/ngalert/**/*", "/pkg/services/sqlstore/migrations/ualert/**/*", "/pkg/services/alerting/**/*", "/public/app/features/alerting/**/*", "/pkg/tests/api/alerting/**/*"],
"matches": [
"/pkg/services/ngalert/**/*",
"/pkg/services/sqlstore/migrations/ualert/**/*",
"/pkg/services/alerting/**/*",
"/public/app/features/alerting/**/*",
"/pkg/tests/api/alerting/**/*"
],
"action": "updateLabel",
"addLabel": "area/alerting"
},
{
"type": "author",
"name": "pr/external",
"notMemberOf": { "org": "grafana" },
"ignoreList": ["renovate[bot]","dependabot[bot]","grafana-delivery-bot[bot]","grafanabot"],
"notMemberOf": {
"org": "grafana"
},
"ignoreList": [
"renovate[bot]",
"dependabot[bot]",
"grafana-delivery-bot[bot]",
"grafanabot"
],
"action": "updateLabel",
"addLabel": "pr/external"
},
{
"type":"label",
"name":"type/docs",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/69"
"type": "label",
"name": "type/docs",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/69"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/candlestick/**/*"],
"matches": [
"public/app/plugins/panel/candlestick/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/candlestick"
},
{
"type": "label",
"name": "area/panel/candlestick",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/canvas/**/*", "/public/app/features/canvas/**/*"],
"matches": [
"public/app/plugins/panel/canvas/**/*",
"/public/app/features/canvas/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/canvas"
},
{
"type": "label",
"name": "area/panel/canvas",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/barchart/**/*"],
"matches": [
"public/app/plugins/panel/barchart/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/barchart"
},
{
"type": "label",
"name": "area/panel/barchart",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/geomap/**/*", "/public/app/features/geo/**/*"],
"matches": [
"public/app/plugins/panel/geomap/**/*",
"/public/app/features/geo/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/geomap"
},
{
"type": "label",
"name": "area/panel/geomap",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/graph/**/*", "/packages/grafana-ui/src/components/Graph/**/*", "/packages/grafana-ui/src/components/GraphNG/**/*"],
"matches": [
"public/app/plugins/panel/graph/**/*",
"/packages/grafana-ui/src/components/Graph/**/*",
"/packages/grafana-ui/src/components/GraphNG/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/graph"
},
{
"type": "label",
"name": "area/panel/graph",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/heatmap/**/*"],
"matches": [
"public/app/plugins/panel/heatmap/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/heatmap"
},
{
"type": "label",
"name": "area/panel/heatmap",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/histogram/**/*"],
"matches": [
"public/app/plugins/panel/histogram/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/histogram"
},
{
"type": "label",
"name": "area/panel/histogram",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/state-timeline/**/*"],
"matches": [
"public/app/plugins/panel/state-timeline/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/state-timeline"
},
{
"type": "label",
"name": "area/panel/state-timeline",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/status-history/**/*"],
"matches": [
"public/app/plugins/panel/status-history/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/status-history"
},
{
"type": "label",
"name": "area/panel/status-history",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/timeseries/**/*", "/packages/grafana-ui/src/components/TimeSeries/**/*"],
"matches": [
"public/app/plugins/panel/timeseries/**/*",
"/packages/grafana-ui/src/components/TimeSeries/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/timeseries"
},
{
"type": "label",
"name": "area/panel/timeseries",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/xychart/**/*"],
"matches": [
"public/app/plugins/panel/xychart/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/xychart"
},
{
"type": "label",
"name": "area/panel/xychart",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/trend/**/*"],
"matches": [
"public/app/plugins/panel/trend/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/trend"
},
{
"type": "label",
"name": "area/panel/trend",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["/packages/grafana-ui/src/components/VizLegend/**/*"],
"matches": [
"/packages/grafana-ui/src/components/VizLegend/**/*"
],
"action": "updateLabel",
"addLabel": "area/legend"
},
{
"type": "label",
"name": "area/legend",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["/packages/grafana-ui/src/components/VizTooltip/**/*", "public/app/feature/visualization/data-hover/**/*" ],
"matches": [
"/packages/grafana-ui/src/components/VizTooltip/**/*",
"public/app/feature/visualization/data-hover/**/*"
],
"action": "updateLabel",
"addLabel": "area/tooltip"
},
{
"type": "label",
"name": "area/tooltip",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/gauge/**/*", "/packages/grafana-ui/src/components/Gauge/**/*"],
"matches": [
"public/app/plugins/panel/gauge/**/*",
"/packages/grafana-ui/src/components/Gauge/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/gauge"
},
{
"type": "label",
"name": "area/panel/gauge",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/bargauge/**/*", "/packages/grafana-ui/src/components/BarGauge/**/*"],
"matches": [
"public/app/plugins/panel/bargauge/**/*",
"/packages/grafana-ui/src/components/BarGauge/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/gauge"
},
{
"type": "label",
"name": "area/panel/bargauge",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
"addLabel": "area/panel/bargauge"
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/stat/**/*"],
"matches": [
"public/app/plugins/panel/stat/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/stat"
},
{
"type": "label",
"name": "area/panel/stat",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/piechart/**/*"],
"matches": [
"public/app/plugins/panel/piechart/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/piechart"
},
{
"type": "label",
"name": "area/panel/piechart",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
"type": "changedfiles",
"matches": [
"public/app/plugins/panel/table/**/*",
"/packages/grafana-ui/src/components/Table/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/table"
}
]
]
+6 -1
View File
@@ -4,15 +4,20 @@
],
"enabledManagers": ["npm"],
"ignoreDeps": [
"@types/history", // this can be removed entirely when we upgrade history since v5 exposes types directly
"history", // we should bump this together with react-router-dom (see https://github.com/grafana/grafana/issues/76744)
"react-router-dom", // we should bump this together with history (see https://github.com/grafana/grafana/issues/76744)
"loader-utils", // v3 requires upstream changes in ngtemplate-loader. ignore, and remove when we remove angular.
"monaco-editor", // due to us exposing this via @grafana/ui/CodeEditor's props bumping can break plugins
"@fingerprintjs/fingerprintjs", // we don't want to bump to v4 due to licensing changes
"@swc/core", // versions ~1.4.5 contain multiple bugs related to baseUrl resolution breaking builds.
"slate", // we don't want to continue using this on the long run, use Monaco editor instead of Slate
"slate-react", // we don't want to continue using this on the long run, use Monaco editor instead of Slate
"@types/slate-react", // we don't want to continue using this on the long run, use Monaco editor instead of Slate
"@types/slate" // we don't want to continue using this on the long run, use Monaco editor instead of Slate
],
"includePaths": ["package.json", "packages/**", "public/app/plugins/**"],
"ignorePaths": ["emails/**", "plugins-bundled/**", "**/mocks/**", "packages/grafana-e2e/**"],
"ignorePaths": ["emails/**", "plugins-bundled/**", "**/mocks/**"],
"labels": ["area/frontend", "dependencies", "no-changelog"],
"postUpdateOptions": ["yarnDedupeHighest"],
"packageRules": [
+2 -2
View File
@@ -16,7 +16,7 @@ jobs:
- name: Set go version
uses: actions/setup-go@v4
with:
go-version: '1.21.8'
go-version-file: go.mod
- name: Build swagger
run: |
make -C pkg/services/ngalert/api/tooling post.json api.json
@@ -32,6 +32,6 @@ jobs:
branch: update-alerting-swagger-spec
delete-branch: true
labels: 'area/alerting,type/docs,no-changelog'
team-reviewers: 'grafana/alerting-backend-product'
team-reviewers: 'grafana/alerting-backend'
draft: false
+12 -24
View File
@@ -1,39 +1,27 @@
name: Auto-milestone
on:
pull_request:
pull_request_target:
types:
- opened
- reopened
- closed
- ready_for_review
permissions:
pull-requests: write
contents: write
# Note: this action runs with write permissions on GITHUB_TOKEN even from forks
# so it must not run untrusted code (such as checking out the pull request)
jobs:
config:
runs-on: "ubuntu-latest"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.GRAFANA_DELIVERY_BOT_APP_ID != '' && secrets.GRAFANA_DELIVERY_BOT_APP_PEM != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
main:
needs: config
if: needs.config.outputs.has-secrets
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
# Note: Github will not trigger other actions from this because it uses
# the GITHUB_TOKEN token
- name: Run auto-milestone
uses: grafana/grafana-github-actions-go/auto-milestone@main
with:
pr: ${{ github.event.pull_request.number }}
token: ${{ steps.generate_token.outputs.token }}
token: ${{ secrets.GITHUB_TOKEN }}
+25 -60
View File
@@ -5,74 +5,39 @@ on:
version:
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. example: 7.4.3, 7.4.3-preview or 7.4.3-preview1'
required: true
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
push:
default: true
required: false
dry_run:
default: false
required: false
jobs:
main:
runs-on: ubuntu-latest
steps:
# This is a basic workflow to help you get started with Actions
- uses: actions-ecosystem/action-regex-match@v2.0.2
if: ${{ github.event.inputs.version != '' }}
id: regex-match
with:
text: ${{ github.event.inputs.version }}
regex: '^(\d+.\d+).\d+(?:-(?:(preview\d?)|(pre)))?$'
- uses: actions-ecosystem/action-regex-match@v2.0.2
if: ${{ inputs.version_call != '' }}
id: regex-match-version-call
with:
text: ${{ inputs.version_call }}
regex: '^(\d+.\d+).\d+(?:-(?:(preview\d?)|(pre)))?$'
- name: Validate input version
if: ${{ steps.regex-match.outputs.match == '' && github.event.inputs.version != '' }}
run: |
echo "The input version format is not correct, please respect:\
major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. \
example: 7.4.3, 7.4.3-preview or 7.4.3-preview1"
exit 1
- name: Validate input version call
if: ${{ inputs.version_call != '' && steps.regex-match-version-call.outputs.match == '' }}
run: |
echo "The input version format is not correct, please respect:\
major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. \
example: 7.4.3, 7.4.3-preview or 7.4.3-preview1"
exit 1
- uses: actions/checkout@v4
- name: Set intermedia variables
id: intermedia
run: |
echo "short_ref=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
echo "check_passed=false" >> $GITHUB_OUTPUT
echo "branch_name=v${{steps.regex-match.outputs.group1}}" >> $GITHUB_OUTPUT
echo "branch_exist=$(git ls-remote --heads https://github.com/grafana/grafana.git v${{ steps.regex-match.outputs.group1 }}.x | wc -l)" >> $GITHUB_OUTPUT
- name: Checkout Actions
- name: Checkout Grafana
uses: actions/checkout@v4
- name: Update package.json versions
uses: ./pkg/build/actions/bump-version
with:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
# Go is required for also updating the schema versions as part of the precommit hook:
- uses: actions/setup-go@v4
with:
go-version: '1.20'
- uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install Actions
run: npm install --production --prefix ./actions
- name: "Generate token"
version: ${{ inputs.version }}
- if: ${{ inputs.push }}
name: Generate token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: Run bump version (manually invoked)
uses: ./actions/bump-version
with:
token: ${{ steps.generate_token.outputs.token }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
precommit_make_target: gen-cue
- if: ${{ inputs.push }}
name: Push & Create PR
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local --add --bool push.autoSetupRemote true
git checkout -b "bump-version/${{ github.run_id }}/${{ inputs.version }}"
git add .
git commit -m "bump version ${{ inputs.version }}"
git push
gh pr create --dry-run=${{ inputs.dry_run }} -l "type/ci" -l "no-changelog" -B "${{ github.ref_name }}" --title "Release: Bump version to ${{ inputs.version }}" --body "Updated version to ${{ inputs.version }}"
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
+2 -2
View File
@@ -25,6 +25,7 @@ jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
if: github.repository == 'grafana/grafana'
strategy:
fail-fast: false
@@ -47,7 +48,7 @@ jobs:
name: Set go version
uses: actions/setup-go@v4
with:
go-version: '1.21.8'
go-version-file: go.mod
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
@@ -67,4 +68,3 @@ jobs:
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
if: github.repository == 'grafana/grafana'
@@ -8,6 +8,7 @@ on:
- 'packages/**'
branches:
- 'main'
workflow_dispatch:
jobs:
buildPR:
@@ -253,7 +254,7 @@ jobs:
- name: Post to Slack
id: slack
if: steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 && env.HAS_SECRETS
uses: slackapi/slack-github-action@v1.24.0
uses: slackapi/slack-github-action@v1.26.0
with:
payload: |
{
+1 -1
View File
@@ -7,7 +7,7 @@ jobs:
doc-validator:
runs-on: "ubuntu-latest"
container:
image: "grafana/doc-validator:v4.1.1"
image: "grafana/doc-validator:v5.0.0"
steps:
- name: "Checkout code"
uses: "actions/checkout@v4"
@@ -4,7 +4,11 @@ on:
types: [created]
jobs:
config:
runs-on: "ubuntu-latest"
if: github.event.sender.type == 'User' &&
github.event.issue.pull_request &&
startsWith(github.event.comment.body, '/deploy-to-hg')
runs-on:
labels: ubuntu-latest-8-cores
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -33,11 +37,6 @@ jobs:
labels: ubuntu-latest-8-cores
continue-on-error: true
steps:
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: '>=1.20'
- name: Generate a GitHub app installation token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
@@ -53,15 +52,28 @@ jobs:
ref: main
path: ephemeral
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version-file: ephemeral/go.mod
- name: Get latest grafana version number
run: |
# if package.json contains e.g. 11.0.0-pre, this writes 11.0.0 to version.txt
curl https://raw.githubusercontent.com/grafana/grafana/main/package.json | jq -r .version | grep -o '^[0-9\.]*' > version.txt
- name: Run action
env:
GITHUB_EVENT: ${{ toJson(github.event)}}
run: |
GRAFANA_VERSION=10.1.0
# Create a prerelease version number using the latest version from the package.json in the grafana repo.
export GRAFANA_VERSION="$(cat version.txt)"
echo "${GRAFANA_VERSION}"
cd $GITHUB_WORKSPACE/ephemeral/src
go run . \
-GITHUB_TOKEN="${{ steps.generate_token.outputs.token }}" \
-GITHUB_WORKFLOW_RUN_ID="${{ github.run_id }}" \
-GITHUB_EVENT="$GITHUB_EVENT" \
-GITHUB_TRIGGERING_ACTOR="${{ github.triggering_actor }}" \
-GCOM_HOST="${{ secrets.EI_GCOM_HOST }}" \
@@ -29,11 +29,6 @@ jobs:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: '>=1.20'
- name: Generate a GitHub app installation token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
@@ -49,15 +44,28 @@ jobs:
ref: main
path: ephemeral
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version-file: ephemeral/go.mod
- name: Get latest grafana version number
run: |
# if package.json contains e.g. 11.0.0-pre, this writes 11.0.0 to version.txt
curl https://raw.githubusercontent.com/grafana/grafana/main/package.json | jq -r .version | grep -o '^[0-9\.]*' > version.txt
- name: Run action
env:
GITHUB_EVENT: ${{ toJson(github.event)}}
run: |
GRAFANA_VERSION=10.1.0
# Create a prerelease version number using the latest version from the package.json in the grafana repo.
export GRAFANA_VERSION="$(cat version.txt)"
echo "${GRAFANA_VERSION}"
cd $GITHUB_WORKSPACE/ephemeral/src
go run . \
-GITHUB_TOKEN="${{ steps.generate_token.outputs.token }}" \
-GITHUB_WORKFLOW_RUN_ID="${{ github.run_id }}" \
-GITHUB_EVENT="$GITHUB_EVENT" \
-GITHUB_TRIGGERING_ACTOR="${{ github.triggering_actor }}" \
-GCOM_HOST="${{ secrets.EI_GCOM_HOST }}" \
@@ -1,28 +0,0 @@
name: Feature Toggle Cleanup
on:
workflow_dispatch:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '30 10 * * *'
jobs:
feature-toggle-cleanup:
runs-on: ubuntu-latest
# This check is here to prevent this workflow from running on forks.
if: github.repository == 'grafana/grafana'
steps:
- name: Check out the code
uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: "20.x"
- run: npm install csv-parse
- name: Parse CVS file to see which Feature Toggles should be notified about
id: parse-csv-file
uses: actions/github-script@v7
env:
FEATURE_TOGGLES_CSV_FILE_PATH: "pkg/services/featuremgmt/toggles_gen.csv"
with:
script: |
const { default: cleanupFeatureFlags } = await import('${{ github.workspace }}/.github/workflows/scripts/feature-toggle-cleanup/feature-toggle-cleanup.mjs')
await cleanupFeatureFlags({github, context, core})
+32
View File
@@ -0,0 +1,32 @@
name: golangci-lint
on:
push:
paths:
- pkg/**
- .github/workflows/go_lint.yml
- go.*
branches:
- main
pull_request:
permissions:
contents: read
jobs:
lint-go:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: ./go.mod
- run: CODEGEN_VERIFY=1 make gen-cue
- run: make gen-go
- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
version: v1.59.1
args: |
--config .golangci.toml --max-same-issues=0 --max-issues-per-linter=0 --verbose ./pkg/... ./pkg/apiserver/... ./pkg/apimachinery/... ./pkg/promlib/...
skip-cache: true
install-mode: binary
+11 -11
View File
@@ -18,6 +18,14 @@ jobs:
with:
ref: ${{ github.head_ref }}
- name: Generate token
if: steps.crowdin-download.outputs.pull_request_url
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_ID }}
private_key: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_PEM }}
- name: Download sources
id: crowdin-download
uses: crowdin/github-action@v1
@@ -53,18 +61,10 @@ jobs:
github_user_name: "github-actions[bot]"
github_user_email: "41898282+github-actions[bot]@users.noreply.github.com"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
- name: Generate token
if: steps.crowdin-download.outputs.pull_request_url
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_ID }}
private_key: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_PEM }}
- name: Get pull request ID
if: steps.crowdin-download.outputs.pull_request_url
shell: bash
@@ -74,7 +74,7 @@ jobs:
pr_id=$(gh pr view ${{ steps.crowdin-download.outputs.pull_request_url }} --json id -q .id)
echo "PULL_REQUEST_ID=$pr_id" >> "$GITHUB_ENV"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
- name: Get project board ID
uses: octokit/graphql-action@v2.x
@@ -119,4 +119,4 @@ jobs:
if: steps.crowdin-download.outputs.pull_request_url
with:
pr: ${{ steps.crowdin-download.outputs.pull_request_number }}
token: ${{ secrets.GITHUB_TOKEN }}
token: ${{ steps.generate_token.outputs.token }}
+1 -1
View File
@@ -86,7 +86,7 @@ jobs:
- name: "Send Slack notification"
if: ${{ (env.CHANNEL != 'null') && ((env.USER_FOUND == 'false') || (env.TEAM != 'null')) }}
uses: slackapi/slack-github-action@v1.24.0
uses: slackapi/slack-github-action@v1.26.0
with:
payload: >
{
+1
View File
@@ -9,6 +9,7 @@ on:
- labeled
- unlabeled
- edited
- auto_merge_enabled
issues:
types:
- milestoned
+2 -2
View File
@@ -14,6 +14,7 @@ jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
if: github.repository == 'grafana/grafana'
steps:
- name: "Generate token"
@@ -35,7 +36,7 @@ jobs:
- name: Set go version
uses: actions/setup-go@v4
with:
go-version: '1.21.8'
go-version-file: go.mod
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
@@ -50,4 +51,3 @@ jobs:
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
if: github.repository == 'grafana/grafana'
@@ -16,6 +16,7 @@ jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
if: github.repository == 'grafana/grafana'
steps:
- name: Checkout repository
@@ -33,4 +34,3 @@ jobs:
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
if: github.repository == 'grafana/grafana'
@@ -14,6 +14,7 @@ jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
if: github.repository == 'grafana/grafana'
steps:
- name: Checkout repository
@@ -31,4 +32,3 @@ jobs:
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
if: github.repository == 'grafana/grafana'
@@ -0,0 +1,33 @@
name: "Go Workspace Check"
on:
workflow_dispatch:
pull_request:
branches: [main]
jobs:
check:
name: Go Workspace Check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set go version
uses: actions/setup-go@v4
with:
go-version-file: go.mod
- name: Update workspace
run: make update-workspace
- name: Check for go mod & workspace changes
run: |
if ! git diff --exit-code --quiet; then
echo "Changes detected:"
git diff
echo "Please run 'make update-workspace' and commit the changes."
echo "If there is a change in enterprise dependencies, please update pkg/extensions/main.go."
exit 1
fi
+1 -1
View File
@@ -36,7 +36,7 @@ jobs:
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.8'
go-version-file: go.mod
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go
+1 -1
View File
@@ -39,7 +39,7 @@ jobs:
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.8'
go-version-file: go.mod
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go
+41
View File
@@ -0,0 +1,41 @@
# This workflow runs whenever the release PR is merged. It includes post-release communication processes like
# posting to slack, the website, community forums, etc.
# Only things that happen after a release is completed and all of the necessary code changes (like the changelog) are made.
name: Post-release
on:
workflow_dispatch:
inputs:
dry_run:
required: false
default: true
version:
required: true
pull_request:
types:
- closed
branches:
- 'main'
- 'v*.*.*'
jobs:
post_release:
name: Post-release comms
runs-on: ubuntu-latest
steps:
- if: github.event_name == 'workflow_dispatch'
run: |
echo "VERSION=${{ inputs.version }}" >> $GITHUB_ENV
echo "DRY_RUN=${{ inputs.dry_run }}" >> $GITHUB_ENV
- if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/')
run: |
echo "VERSION=$(echo ${{ github.head_ref }} | sed -e 's/release\///g')" >> $GITHUB_ENV
echo "DRY_RUN=false" >> $GITHUB_ENV
- run: |
echo "push-grafana-tag ${VERSION} (dry run: ${DRY_RUN})"
- run: |
echo "post changelog to forums for ${VERSION} (dry run: ${DRY_RUN})"
- run: |
echo "create github release for tag ${VERSION} (dry run: ${DRY_RUN})"
- run: |
echo "publish docs for ${VERSION} (dry run: ${DRY_RUN})"
- run: |
echo "announce on slack that ${VERSION} has been released (dry run: ${DRY_RUN})"
+73
View File
@@ -0,0 +1,73 @@
# This workflow creates a new PR in Grafana which is triggered after a release is completed.
# It should include all code changes that are needed after a release is done. This includes the changelog update and
# version bumps, but could include more in the future.
# Please refrain from including any processes that do not result in code changes in this workflow. Instead, they should
# either be triggered in the release promotion process or in the release comms process (that is triggered by merging
# this PR).
name: Complete a Grafana release
on:
workflow_dispatch:
inputs:
version:
required: true
type: string
description: The version of Grafana that is being released
target:
required: true
type: string
description: The base branch that these changes are being merged into
backport:
required: false
type: string
description: Branch to backport these changes to
dry_run:
required: false
default: false
type: bool
jobs:
create-prs:
name: Create Release PR
runs-on: ubuntu-latest
if: github.repository == 'grafana/grafana'
steps:
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: Checkout Grafana
uses: actions/checkout@v4
- name: Configure git user
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local --add --bool push.autoSetupRemote true
- name: Create branch
run: git checkout -b "release/${{ github.run_id }}/${{ inputs.version }}"
- name: Generate changelog
run: git commit --allow-empty -m "Update changelog placeholder"
- name: Update package.json versions
uses: ./pkg/build/actions/bump-version
with:
version: ${{ inputs.version }}
- name: add package.json changes
run: |
git add .
git commit -m "Update version to ${{ inputs.version }}"
- name: git push
if: ${{ inputs.dry_run }} != true
run: git push
- name: Create PR without backports
if: "${{ inputs.backport == '' }}"
run: >
gh pr create --dry-run=${{ inputs.dry_run }} -B "${{ inputs.target }}" --title "Release: ${{ inputs.version }}" --body "These code changes must be merged after a release is complete"
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
- name: Create PR with backports
if: "${{ inputs.backport != '' }}"
run: >
gh pr create -l "backport ${{ inputs.backport }}" -l "product-approved" --dry-run=${{ inputs.dry_run }} -B "${{ inputs.target }}" --title "Release: ${{ inputs.version }}" --body "These code changes must be merged after a release is complete"
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
+47
View File
@@ -0,0 +1,47 @@
name: Run dashboard scenes e2e
on:
schedule:
- cron: "0 8 * * 1-5" # every day at 08:00UTC on weekdays
# push # uncomment for test run during PR
env:
ARCH: linux-amd64
jobs:
dashboard-scenes-e2e:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Pin Go version to mod file
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- run: go version
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: yarn install --immutable
- name: Build grafana
run: make build
- name: Install Cypress dependencies
uses: cypress-io/github-action@v6
with:
runTests: false
- name: Run dashboard scenes e2e
run: yarn e2e:scenes
- name: "Send Slack notification"
if: ${{ failure() }}
uses: slackapi/slack-github-action@v1.26.0
with:
payload: >
{
"icon_emoji": ":this-is-fine-fire:",
"username": "Dashboard scenes e2e tests failed",
"text": "Link to run: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}",
"channel": "#grafana-dashboards-squad"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
@@ -1,38 +0,0 @@
import { parse } from 'csv-parse/sync';
import fs from 'fs';
/***
* Feauture Flag Structure example
* Name: 'disableEnvelopeEncryption',
Stage: 'GA',
Owner: '@grafana/grafana-as-code',
Created: '2022-05-24',
requiresDevMode: 'false',
RequiresLicense: 'false',
RequiresRestart: 'false',
FrontendOnly: 'false'
*
*/
export default function cleanupFeatureFlags() {
const today = new Date();
const sixMonthAgo = today.setMonth(today.getMonth() - 6);
const inputFileContents = fs.readFileSync(process.env.FEATURE_TOGGLES_CSV_FILE_PATH);
const parsedFeatureFlags = parse(inputFileContents, {
columns: true,
skip_empty_lines: true,
cast: true,
cast_date: true,
});
// Here we can have the custom logic of how to handle what type of feature flag - e.g. GA can be treated differently than experimental and so on.
for (const flag of parsedFeatureFlags) {
if (flag.Created < sixMonthAgo) {
console.log(`The flag ${flag.Name} was created more than 6 months ago. It should be checked.`);
console.log(flag);
}
}
}
-14
View File
@@ -1,14 +0,0 @@
name: Snyk Monitor Scanning
on:
release:
types: [published]
push:
branches:
- 'main'
workflow_dispatch:
jobs:
snyk-scan-ci:
uses: 'grafana/security-github-actions/.github/workflows/snyk_monitor.yml@main'
secrets:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
+54
View File
@@ -0,0 +1,54 @@
name: Trivy Scan
on:
pull_request:
# only run on PRs where go.mod/go.sum/etc have been updated
paths:
- go.*
push:
branches:
- main
paths:
- go.*
jobs:
trivy-scan:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Run Trivy vulnerability scanner (table output)
uses: aquasecurity/trivy-action@0.22.0
with:
# scan the filesystem, rather than building a Docker image prior - the
# downside is we won't catch dependencies that are only installed in the
# image, but the upside is we'll only catch vulnerabilities that are
# explicitly in the our dependencies
scan-type: 'fs'
scanners: 'vuln'
format: 'table'
exit-code: 1
ignore-unfixed: true
vuln-type: 'os,library'
severity: 'CRITICAL,HIGH'
trivyignores: .trivyignore
# for the PR check, ignore JS-related issues
skip-files: 'yarn.lock,package.json'
- name: Run Trivy vulnerability scanner (SARIF)
uses: aquasecurity/trivy-action@0.22.0
with:
scan-type: 'fs'
scanners: 'vuln'
# Note: The SARIF format ignores severity and uploads all vulns for
# later triage. The table-format step above is used to fail the build
# if there are any critical or high vulnerabilities.
# See https://github.com/aquasecurity/trivy-action/issues/95
format: 'sarif'
output: 'trivy-results.sarif'
ignore-unfixed: true
vuln-type: 'os,library'
trivyignores: .trivyignore
if: always() && github.repository == 'grafana/grafana'
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: 'trivy-results.sarif'
if: always() && github.repository == 'grafana/grafana'
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.8'
go-version-file: go.mod
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go
+3
View File
@@ -216,3 +216,6 @@ public/app/plugins/**/dist/
# Go coverage files created with go test -cover -coverprogile=something.out ...
*.out
# Locally enabling the Go race detector until we can globally do so
.go-race-enabled-locally
+71 -17
View File
@@ -1,9 +1,6 @@
[run]
timeout = "10m"
[linters-settings.goconst]
min-len = 5
min-occurrences = 5
concurrency = 10
[linters-settings.exhaustive]
default-signifies-exhaustive = true
@@ -21,6 +18,7 @@ deny = [
{ pkg = "github.com/pkg/errors", desc = "Deprecated: Go 1.13 supports the functionality provided by pkg/errors in the standard library." },
{ pkg = "github.com/xorcare/pointer", desc = "Use pkg/util.Pointer instead, which is a generic one-liner alternative" },
{ pkg = "github.com/gofrs/uuid", desc = "Use github.com/google/uuid instead, which we already depend on." },
{ pkg = "github.com/bmizerany/assert", desc = "Use github.com/stretchr/testify/assert instead, which we already depend on." },
]
[linters-settings.depguard.rules.coreplugins]
@@ -63,6 +61,8 @@ files = [
"**/pkg/tsdb/azuremonitor/**/*",
"**/pkg/tsdb/cloud-monitoring/*",
"**/pkg/tsdb/cloud-monitoring/**/*",
"**/pkg/tsdb/mysql/*",
"**/pkg/tsdb/mysql/**/*",
"**/pkg/tsdb/parca/*",
"**/pkg/tsdb/parca/**/*",
"**/pkg/tsdb/tempo/*",
@@ -71,24 +71,73 @@ files = [
"**/pkg/tsdb/cloudwatch/**/*",
]
[linters-settings.depguard.rules.apiserver]
list-mode = "lax"
allow = [
"github.com/grafana/grafana/pkg/apimachinery",
"github.com/grafana/grafana/pkg/apiserver",
]
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "apiserver is not allowed to import grafana core" }
]
files = [
"**/pkg/apiserver/*",
"**/pkg/apiserver/**/*"
]
[linters-settings.depguard.rules.apimachinery]
list-mode = "lax"
allow = [
"github.com/grafana/grafana/pkg/apimachinery",
]
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "apimachinery is not allowed to import grafana core" }
]
files = [
"**/pkg/apimachinery/*",
"**/pkg/apimachinery/**/*"
]
[linters-settings.depguard.rules.promlib]
list-mode = "lax" # allow unless explicitely denied
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "promlib is not allowed to import grafana core" }
]
allow = [
"github.com/grafana/grafana/pkg/promlib"
]
files = [
"**/pkg/promlib/*",
"**/pkg/promlib/**/*"
]
[linters-settings.gocritic]
enabled-checks = ["ruleguard"]
[linters-settings.gocritic.settings.ruleguard]
rules = "pkg/ruleguard.rules.go"
[linters-settings.misspell]
ignore-words = ["Unknwon", "Creater"]
[linters-settings.nakedret]
max-func-lines = 60
[linters]
disable-all = true
# try to keep this list sorted, please
enable = [
"asciicheck",
"bodyclose",
"depguard",
"dogsled",
"errcheck",
"errorlint",
"exhaustive",
"exportloopref",
# "gochecknoinits",
"goconst",
# "goconst",
# "gocritic", # Temporarily disabled on 2022-09-09, running into weird bug "ruleguard: execution error: used Run() with an empty rule set; forgot to call Load() first?"
"gocyclo",
"goimports",
"goprintffuncname",
"gosec",
@@ -97,19 +146,13 @@ enable = [
"ineffassign",
"misspell",
"nakedret",
"exportloopref",
"prealloc",
"revive",
"staticcheck",
"stylecheck",
"typecheck",
"unconvert",
"unused",
"whitespace",
"gocyclo",
"exhaustive",
"typecheck",
"asciicheck",
"errorlint",
"revive",
]
# Disabled linters (might want them later)
@@ -118,6 +161,7 @@ enable = [
[issues]
exclude-use-default = false
max-same-issues = 0
# Enable when appropriate
# Poorly chosen identifier
@@ -143,6 +187,13 @@ text = "SA1019: http.CloseNotifier"
linters = ["staticcheck"]
text = "SA1019: strings.Title"
# go.opentelemetry.io/otel/exporters/jaeger" is deprecated: This module is no longer supported. OpenTelemetry dropped support for Jaeger exporter in July 2023.
# Jaeger officially accepts and recommends using OTLP.
# Use [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp] or [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc] instead.
[[issues.exclude-rules]]
linters = ["staticcheck"]
text = "SA1019: \"go.opentelemetry.io/otel/exporters/jaeger\""
[[issues.exclude-rules]]
linters = ["staticcheck"]
text = "use fake service and real access control evaluator instead"
@@ -183,10 +234,6 @@ text = "501"
linters = ["gosec"]
text = "404"
[[issues.exclude-rules]]
linters = ["misspell"]
text = "Unknwon` is a misspelling of `Unknown"
[[issues.exclude-rules]]
linters = ["errorlint"]
text = "non-wrapping format verb for fmt.Errorf"
@@ -205,3 +252,10 @@ text = "ST1020"
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1021"
# Remove this when we have go v1.22 in place
# https://stackoverflow.com/a/68247837/767660
[[issues.exclude-rules]]
linters = ["gosec"]
path = '(.+)_test\.go'
text = "G601"
+12 -12
View File
@@ -34,7 +34,7 @@ var dashboardSettings = [
wait: 500,
rootElement: '.main-view',
// TODO: improve the accessibility of the permission tab https://github.com/grafana/grafana/issues/77203
threshold: 11,
threshold: 5,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=dashboard_json',
@@ -64,7 +64,7 @@ var config = {
url: '${HOST}/login',
wait: 500,
rootElement: '.main-view',
threshold: 13,
threshold: 0,
},
{
url: '${HOST}/login',
@@ -76,13 +76,13 @@ var config = {
"click element button[data-testid='data-testid Login button']",
"wait for element button[data-testid='data-testid Skip change password button'] to be visible",
],
threshold: 15,
threshold: 2,
rootElement: '.main-view',
},
{
url: '${HOST}/?orgId=1',
wait: 500,
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge',
@@ -95,7 +95,7 @@ var config = {
url: '${HOST}/?orgId=1&search=open',
wait: 500,
rootElement: '.main-view',
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/alerting/list',
@@ -109,43 +109,43 @@ var config = {
url: '${HOST}/datasources',
wait: 500,
rootElement: '.main-view',
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/org/users',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 0,
},
{
url: '${HOST}/org/teams',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 0,
},
{
url: '${HOST}/plugins',
wait: 500,
rootElement: '.main-view',
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/org',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 0,
},
{
url: '${HOST}/org/apikeys',
wait: 500,
rootElement: '.main-view',
threshold: 4,
threshold: 2,
},
{
url: '${HOST}/dashboards',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 0,
},
],
};
-4
View File
@@ -19,10 +19,6 @@ vendor
# TS generate from cue by cuetsy
**/*.gen.ts
# Auto-generated internationalization files
public/locales/_build/
public/locales/**/*.js
# Auto-generated theme files
theme.light.generated.json
theme.dark.generated.json
+1
View File
@@ -0,0 +1 @@
# See https://aquasecurity.github.io/trivy/v0.48/docs/configuration/filtering/#trivyignore
+43 -6
View File
@@ -9,7 +9,7 @@
"program": "${workspaceFolder}/pkg/cmd/grafana/",
"env": {},
"cwd": "${workspaceFolder}",
"args": ["server", "--homepath", "${workspaceFolder}", "--packaging", "dev"]
"args": ["server", "--homepath", "${workspaceFolder}", "--packaging", "dev", "cfg:app_mode=development"]
},
{
"name": "Run API Server (testdata)",
@@ -19,9 +19,44 @@
"program": "${workspaceFolder}/pkg/cmd/grafana/",
"env": {},
"cwd": "${workspaceFolder}",
"args": ["apiserver",
"--secure-port=8443",
"--runtime-config=testdata.datasource.grafana.app/v0alpha1=true"]
"args": ["apiserver", "--secure-port=8443", "--runtime-config=testdata.datasource.grafana.app/v0alpha1=true"]
},
{
"name": "Run API Server (query-localhost)",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/pkg/cmd/grafana/",
"env": {},
"cwd": "${workspaceFolder}",
"args": [
"apiserver",
"--secure-port=8443",
"--runtime-config=query.grafana.app/v0alpha1=true",
"--grafana.authn.signing-keys-url=http://localhost:3000/api/signing-keys/keys",
"--hg-url=http://localhost:3000",
"--hg-key=$HGAPIKEY"
]
},
{
"name": "Run Server (query GRPC Storage Server)",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/pkg/cmd/grafana/",
"env": { "GF_GRAFANA_APISERVER_STORAGE_TYPE": "unified-grpc" },
"cwd": "${workspaceFolder}",
"args": ["server", "--homepath", "${workspaceFolder}", "--packaging", "dev"]
},
{
"name": "Run Storage Server",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/pkg/cmd/grafana/",
"env": { "GF_DEFAULT_TARGET": "storage-server", "GF_SERVER_HTTP_PORT": "3001" },
"cwd": "${workspaceFolder}",
"args": ["server", "target", "--homepath", "${workspaceFolder}", "--packaging", "dev"]
},
{
"name": "Attach to Chrome",
@@ -31,14 +66,16 @@
"webRoot": "${workspaceFolder}"
},
{
"name": "Debug Jest test",
"name": "Debug UI test",
"type": "node",
"request": "launch",
"runtimeExecutable": "yarn",
"runtimeArgs": ["run", "jest", "--runInBand", "${file}"],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"port": 9229
"env": {
"NODE_ENV": "test"
}
},
{
"name": "Debug Go test",
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,121 @@
diff --git a/build/GridItem.js b/build/GridItem.js
index 0a700da9f1180ca532e32e04dc7ea50f2e67b96c..a2e4673fa1133aeaa4018cc01312ca386c3395f5 100644
--- a/build/GridItem.js
+++ b/build/GridItem.js
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
+var _reactDOM = require("react-dom");
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactDraggable = require("react-draggable");
var _reactResizable = require("react-resizable");
@@ -147,8 +148,10 @@ class GridItem extends _react.default.Component /*:: <Props, State>*/{
const pTop = parentRect.top / transformScale;
newPosition.left = cLeft - pLeft + offsetParent.scrollLeft;
newPosition.top = cTop - pTop + offsetParent.scrollTop;
- this.setState({
- dragging: newPosition
+ _reactDOM.flushSync(() => {
+ this.setState({
+ dragging: newPosition
+ });
});
// Call callback with this data
@@ -213,8 +216,10 @@ class GridItem extends _react.default.Component /*:: <Props, State>*/{
top,
left
};
- this.setState({
- dragging: newPosition
+ _reactDOM.flushSync(() => {
+ this.setState({
+ dragging: newPosition
+ });
});
// Call callback with this data
@@ -261,8 +266,10 @@ class GridItem extends _react.default.Component /*:: <Props, State>*/{
top,
left
};
- this.setState({
- dragging: null
+ _reactDOM.flushSync(() => {
+ this.setState({
+ dragging: null
+ });
});
const {
x,
@@ -485,8 +492,10 @@ class GridItem extends _react.default.Component /*:: <Props, State>*/{
let updatedSize = size;
if (node) {
updatedSize = (0, _utils.resizeItemInDirection)(handle, position, size, containerWidth);
- this.setState({
- resizing: handlerName === "onResizeStop" ? null : updatedSize
+ _reactDOM.flushSync(() => {
+ this.setState({
+ resizing: handlerName === "onResizeStop" ? null : updatedSize
+ });
});
}
diff --git a/lib/GridItem.jsx b/lib/GridItem.jsx
index dbe41f92388f19d3e476690fa0ee5584ab9d5bb4..1e4713667cd7dadd6618fe06176804a02ee3ccc2 100644
--- a/lib/GridItem.jsx
+++ b/lib/GridItem.jsx
@@ -1,5 +1,6 @@
// @flow
import React from "react";
+import { flushSync } from "react-dom";
import PropTypes from "prop-types";
import { DraggableCore } from "react-draggable";
import { Resizable } from "react-resizable";
@@ -459,7 +460,9 @@ export default class GridItem extends React.Component<Props, State> {
const pTop = parentRect.top / transformScale;
newPosition.left = cLeft - pLeft + offsetParent.scrollLeft;
newPosition.top = cTop - pTop + offsetParent.scrollTop;
- this.setState({ dragging: newPosition });
+ flushSync(() => {
+ this.setState({ dragging: newPosition });
+ });
// Call callback with this data
const { x, y } = calcXY(
@@ -516,7 +519,9 @@ export default class GridItem extends React.Component<Props, State> {
}
const newPosition: PartialPosition = { top, left };
- this.setState({ dragging: newPosition });
+ flushSync(() => {
+ this.setState({ dragging: newPosition });
+ });
// Call callback with this data
const { containerPadding } = this.props;
@@ -549,7 +554,9 @@ export default class GridItem extends React.Component<Props, State> {
const { w, h, i, containerPadding } = this.props;
const { left, top } = this.state.dragging;
const newPosition: PartialPosition = { top, left };
- this.setState({ dragging: null });
+ flushSync(() => {
+ this.setState({ dragging: null });
+ });
const { x, y } = calcXY(
this.getPositionParams(),
@@ -605,8 +612,10 @@ export default class GridItem extends React.Component<Props, State> {
size,
containerWidth
);
- this.setState({
- resizing: handlerName === "onResizeStop" ? null : updatedSize
+ flushSync(() => {
+ this.setState({
+ resizing: handlerName === "onResizeStop" ? null : updatedSize
+ });
});
}
File diff suppressed because one or more lines are too long
+7 -23
View File
@@ -7,9 +7,6 @@ enableTelemetry: false
nodeLinker: node-modules
packageExtensions:
'@storybook/core-common@7.4.5':
dependencies:
'@storybook/react-webpack5': 7.4.5
'croact-css-styled@1.1.9':
dependencies:
croact: 1.0.4
@@ -24,29 +21,16 @@ packageExtensions:
peerDependencies:
react: 17.0.1
react-dom: 17.0.1
react-compat-css-styled@1.0.8:
dependencies:
react-simple-compat: 1.2.2
react-icons@2.2.7:
peerDependencies:
prop-types: '*'
react-resizable@3.0.4:
peerDependencies:
react-dom: 17.0.1
'@msagl/drawing@*':
dependencies:
queue-typescript: "^1.0.1"
"@esfx/collections-sortedmap": "^1.0.0"
plugins:
- path: .yarn/plugins/@yarnpkg/plugin-outdated.cjs
spec: 'https://mskelton.dev/yarn-outdated/v2'
yarnPath: .yarn/releases/yarn-4.1.0.cjs
yarnPath: .yarn/releases/yarn-4.2.2.cjs
# Uncomment the following lines if you want to use Verdaccio local npm registry. Read more at packages/README.md
# npmScopes:
# grafana:
# npmRegistryServer: http://localhost:4873
# unsafeHttpWhitelist:
# - 'localhost'
#npmScopes:
# grafana:
# npmRegistryServer: http://localhost:4873
#
#unsafeHttpWhitelist:
# - 'localhost'
+829
View File
@@ -1,3 +1,709 @@
<!-- 11.1.0 START -->
# 11.1.0 (2024-06-21)
### Features and enhancements
- **Tracing:** Enable traces to profiles. [#88896](https://github.com/grafana/grafana/issues/88896), [@marefr](https://github.com/marefr)
- **Auth:** Add org to role mappings support to Google integration. [#88891](https://github.com/grafana/grafana/issues/88891), [@kalleep](https://github.com/kalleep)
- **Alerting:** Support AWS SNS integration in Grafana. [#88867](https://github.com/grafana/grafana/issues/88867), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Auth:** Add org to role mappings support to Okta integration. [#88770](https://github.com/grafana/grafana/issues/88770), [@mgyongyosi](https://github.com/mgyongyosi)
- **Auth:** Add org to role mappings support to Gitlab integration. [#88751](https://github.com/grafana/grafana/issues/88751), [@kalleep](https://github.com/kalleep)
- **Cloudwatch:** Use the metric map from grafana-aws-sdk. [#88733](https://github.com/grafana/grafana/issues/88733), [@iwysiu](https://github.com/iwysiu)
- **Alerting:** Add option to use Redis in cluster mode for Alerting HA. [#88696](https://github.com/grafana/grafana/issues/88696), [@fayzal-g](https://github.com/fayzal-g)
- **VizTooltip:** Allow setting the `maxWidth` option. [#88652](https://github.com/grafana/grafana/issues/88652), [@adela-almasan](https://github.com/adela-almasan)
- **Auth:** Add org to role mappings support to GitHub integration . [#88537](https://github.com/grafana/grafana/issues/88537), [@mgyongyosi](https://github.com/mgyongyosi)
- **CloudWatch:** Handle permissions error and update docs. [#88524](https://github.com/grafana/grafana/issues/88524), [@iwysiu](https://github.com/iwysiu)
- ** Alerting:** Correctly handle duplicating notification templates. [#88487](https://github.com/grafana/grafana/issues/88487), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Mute Timing service to prevent changing provenance status to none. [#88462](https://github.com/grafana/grafana/issues/88462), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Ensure we fetch AM config before saving new configuration. [#88458](https://github.com/grafana/grafana/issues/88458), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Remove regex reference in silences filter tooltip. [#88455](https://github.com/grafana/grafana/issues/88455), [@tomratcliffe](https://github.com/tomratcliffe)
- **Cloudwatch:** Update AWS DynamoDB Metrics. [#88418](https://github.com/grafana/grafana/issues/88418), [@LeonardoBoleli](https://github.com/LeonardoBoleli)
- **Alerting:** Make regex notification routing preview consistent with notification policies implementation. [#88413](https://github.com/grafana/grafana/issues/88413), [@tomratcliffe](https://github.com/tomratcliffe)
- **DateTimePicker:** Return cleared value in onChange. [#88377](https://github.com/grafana/grafana/issues/88377), [@Clarity-89](https://github.com/Clarity-89)
- **NodeGraph:** Add msagl and the layered layout code. [#88375](https://github.com/grafana/grafana/issues/88375), [@aocenas](https://github.com/aocenas)
- **API:** Add in theme support to /render/\* endpoint. [#88304](https://github.com/grafana/grafana/issues/88304), [@timlevett](https://github.com/timlevett)
- **Alerting:** Add filters for RouteGetRuleStatuses. [#88295](https://github.com/grafana/grafana/issues/88295), [@fayzal-g](https://github.com/fayzal-g)
- **Plugins:** Update the `plugin.json` schema with UI extensions meta-data. [#88288](https://github.com/grafana/grafana/issues/88288), [@leventebalogh](https://github.com/leventebalogh)
- **Auth:** Update SAML lib to improve HTTP-Post binding. [#88287](https://github.com/grafana/grafana/issues/88287), [@mgyongyosi](https://github.com/mgyongyosi)
- **Tempo:** Send current filters when retrieving tags for AdHocFilters. [#88270](https://github.com/grafana/grafana/issues/88270), [@joey-grafana](https://github.com/joey-grafana)
- **Tempo:** Support standard span convention. [#88268](https://github.com/grafana/grafana/issues/88268), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **ValueFormats:** Add Uruguay peso currency. [#88260](https://github.com/grafana/grafana/issues/88260), [@lfdominguez](https://github.com/lfdominguez)
- **DateTimePicker:** Add clearable prop. [#88215](https://github.com/grafana/grafana/issues/88215), [@Clarity-89](https://github.com/Clarity-89)
- **Correlations:** Enable feature toggle by default (on-prem). [#88208](https://github.com/grafana/grafana/issues/88208), [@ifrost](https://github.com/ifrost)
- **Stat:** Add percent change color modes. [#88205](https://github.com/grafana/grafana/issues/88205), [@drew08t](https://github.com/drew08t)
- **Logs:** Added multi-line display control to the "wrap lines" option. [#88144](https://github.com/grafana/grafana/issues/88144), [@matyax](https://github.com/matyax)
- **Tempo:** Update lezer autocomplete (histogram, quantile) and add missing functions. [#88131](https://github.com/grafana/grafana/issues/88131), [@joey-grafana](https://github.com/joey-grafana)
- **AnnotationsPlugin2:** Implement support for rectangular annotations in Heatmap. [#88107](https://github.com/grafana/grafana/issues/88107), [@adrapereira](https://github.com/adrapereira)
- **CodeEditor:** Improved styles when the code editor is loading. [#88102](https://github.com/grafana/grafana/issues/88102), [@NWRichmond](https://github.com/NWRichmond)
- **CloudWatch:** Add additional AWS/KinesisAnalytics metrics . [#88101](https://github.com/grafana/grafana/issues/88101), [@tristanburgess](https://github.com/tristanburgess)
- **Cloudwatch:** Add AWS/Events Metrics. [#88097](https://github.com/grafana/grafana/issues/88097), [@LeonardoBoleli](https://github.com/LeonardoBoleli)
- **Azure:** Basic Logs support. [#88025](https://github.com/grafana/grafana/issues/88025), [@aangelisc](https://github.com/aangelisc)
- **Dashboard:** Make dashboard search faster. [#88019](https://github.com/grafana/grafana/issues/88019), [@knuzhdin](https://github.com/knuzhdin)
- **Alerting:** Support custom API URL for PagerDuty integration. [#88007](https://github.com/grafana/grafana/issues/88007), [@gaurav1999](https://github.com/gaurav1999)
- **Alerting:** Add optional metadata via query param to silence GET requests. [#88000](https://github.com/grafana/grafana/issues/88000), [@JacobsonMT](https://github.com/JacobsonMT)
- **Store:** Enable adding extra middleware. [#87984](https://github.com/grafana/grafana/issues/87984), [@Clarity-89](https://github.com/Clarity-89)
- **Tempo:** Don't modify the passed time range when using timeShiftEnabled. [#87980](https://github.com/grafana/grafana/issues/87980), [@aocenas](https://github.com/aocenas)
- **InfluxDB:** Introduce maxDataPoints setting for flux variable query editor. [#87935](https://github.com/grafana/grafana/issues/87935), [@itsmylife](https://github.com/itsmylife)
- **Alerting:** New list view UI Part 1. [#87907](https://github.com/grafana/grafana/issues/87907), [@gillesdemey](https://github.com/gillesdemey)
- **NodeGraph:** Remove msagl lib and layered layout option. [#87905](https://github.com/grafana/grafana/issues/87905), [@aocenas](https://github.com/aocenas)
- **InfluxDB:** Introduce custom variable support. [#87903](https://github.com/grafana/grafana/issues/87903), [@itsmylife](https://github.com/itsmylife)
- **Gops:** Add tracking for data source check. [#87886](https://github.com/grafana/grafana/issues/87886), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **AzureMonitor:** Prometheus exemplars support . [#87742](https://github.com/grafana/grafana/issues/87742), [@aangelisc](https://github.com/aangelisc)
- **Feature Management:** Move awsDatasourcesNewFormStyling to GA. [#87696](https://github.com/grafana/grafana/issues/87696), [@idastambuk](https://github.com/idastambuk)
- **TimeRangePicker:** Announce to screen reader when time range is updated. [#87692](https://github.com/grafana/grafana/issues/87692), [@tskarhed](https://github.com/tskarhed)
- **Alerting:** Template selector in contact points form. [#87689](https://github.com/grafana/grafana/issues/87689), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Azure:** Load custom clouds from ini file. [#87667](https://github.com/grafana/grafana/issues/87667), [@JonCole](https://github.com/JonCole)
- **Loki:** Kick start your query now applies templates to the current query. [#87658](https://github.com/grafana/grafana/issues/87658), [@matyax](https://github.com/matyax)
- **Elasticsearch:** Queries no longer executed while typing. [#87652](https://github.com/grafana/grafana/issues/87652), [@matyax](https://github.com/matyax)
- **Alerting:** Add options to configure TLS for HA using Redis. [#87567](https://github.com/grafana/grafana/issues/87567), [@fayzal-g](https://github.com/fayzal-g)
- **VizLegend:** Represent line style in series legend and tooltip. [#87558](https://github.com/grafana/grafana/issues/87558), [@domasx2](https://github.com/domasx2)
- **FeatureBadge:** Update FeatureBadge to support current release stages. [#87555](https://github.com/grafana/grafana/issues/87555), [@ivanahuckova](https://github.com/ivanahuckova)
- **Logs:** Infinite scrolling in Explore enabled by default. [#87493](https://github.com/grafana/grafana/issues/87493), [@matyax](https://github.com/matyax)
- **Plugins:** Improve frontend loader cache. [#87488](https://github.com/grafana/grafana/issues/87488), [@jackw](https://github.com/jackw)
- **Chore:** Upgrade go from 1.21.0 to 1.21.10. [#87479](https://github.com/grafana/grafana/issues/87479), [@stephaniehingtgen](https://github.com/stephaniehingtgen)
- **Chore:** Upgrade go to 1.22.3. [#87463](https://github.com/grafana/grafana/issues/87463), [@stephaniehingtgen](https://github.com/stephaniehingtgen)
- **Team:** Add an endpoint for bulk team membership updates. [#87441](https://github.com/grafana/grafana/issues/87441), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Flamegraph:** Add collapse and expand group buttons to toolbar. [#87395](https://github.com/grafana/grafana/issues/87395), [@aocenas](https://github.com/aocenas)
- **OIDC:** Support Generic OAuth org to role mappings. [#87394](https://github.com/grafana/grafana/issues/87394), [@sathieu](https://github.com/sathieu)
- **Search:** Announce to screen reader when query returns no result. [#87382](https://github.com/grafana/grafana/issues/87382), [@tskarhed](https://github.com/tskarhed)
- **Logs:** Added support for numeric log levels. [#87366](https://github.com/grafana/grafana/issues/87366), [@nailgun](https://github.com/nailgun)
- **Prometheus:** Place custom inputs first when using regex filter values in the query builder. [#87360](https://github.com/grafana/grafana/issues/87360), [@NWRichmond](https://github.com/NWRichmond)
- **Alerting:** Remove requirement for datasource query on rule read. [#87349](https://github.com/grafana/grafana/issues/87349), [@rwwiv](https://github.com/rwwiv)
- **Alerting:** Add RBAC logic for silences creation. [#87322](https://github.com/grafana/grafana/issues/87322), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Update silences creation to support `__alert_rule_uid__` and move into drawer. [#87320](https://github.com/grafana/grafana/issues/87320), [@tomratcliffe](https://github.com/tomratcliffe)
- **Flamegraph:** Add diff mode color legend. [#87319](https://github.com/grafana/grafana/issues/87319), [@aocenas](https://github.com/aocenas)
- **Dashboard:** Keyboard and mouse panel shortcuts improvement. [#87317](https://github.com/grafana/grafana/issues/87317), [@tskarhed](https://github.com/tskarhed)
- **PanelHeaderCorner:** Remove font-awesome icons. [#87303](https://github.com/grafana/grafana/issues/87303), [@Clarity-89](https://github.com/Clarity-89)
- **Alerting:** Add OAuth2 to HTTP settings for vanilla Alertmanager / Mimir. [#87272](https://github.com/grafana/grafana/issues/87272), [@gillesdemey](https://github.com/gillesdemey)
- **Plugins:** Allow apps to expose components. Update the extensions API. [#87236](https://github.com/grafana/grafana/issues/87236), [@leventebalogh](https://github.com/leventebalogh)
- **Plugins:** Catalog to show all plugins by default. [#87168](https://github.com/grafana/grafana/issues/87168), [@sympatheticmoose](https://github.com/sympatheticmoose)
- **Prometheus:** Ensure values in metric selector are visible. [#87150](https://github.com/grafana/grafana/issues/87150), [@NWRichmond](https://github.com/NWRichmond)
- **Select:** Add data-testid to Input. [#87105](https://github.com/grafana/grafana/issues/87105), [@Clarity-89](https://github.com/Clarity-89)
- **Prometheus:** Add native histogram types metric explorer to allow filter by type. [#87090](https://github.com/grafana/grafana/issues/87090), [@bohandley](https://github.com/bohandley)
- **Prometheus:** Add hints for native histograms. [#87017](https://github.com/grafana/grafana/issues/87017), [@bohandley](https://github.com/bohandley)
- **Alerting:** Reduce number of request fetching rules in the dashboard view using rtkq. [#86991](https://github.com/grafana/grafana/issues/86991), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Plugins:** Make grafana-com API URL usage consistent. [#86920](https://github.com/grafana/grafana/issues/86920), [@oshirohugo](https://github.com/oshirohugo)
- **Stack:** Add size props. [#86900](https://github.com/grafana/grafana/issues/86900), [@Clarity-89](https://github.com/Clarity-89)
- **Table Panel:** Enable Text Wrapping. [#86895](https://github.com/grafana/grafana/issues/86895), [@codeincarnate](https://github.com/codeincarnate)
- **Alerting:** Get grafana-managed alert rule by UID. [#86845](https://github.com/grafana/grafana/issues/86845), [@fayzal-g](https://github.com/fayzal-g)
- **Cloudwatch:** Add Kendra metrics. [#86809](https://github.com/grafana/grafana/issues/86809), [@scottschreckengaust](https://github.com/scottschreckengaust)
- **Auth:** Added support to filter for parent teams in GitHub connector's team membership filter. [#86754](https://github.com/grafana/grafana/issues/86754), [@wasim-nihal](https://github.com/wasim-nihal)
- **Alerting:** Hook up GMA silence APIs to new authentication handler. [#86625](https://github.com/grafana/grafana/issues/86625), [@JacobsonMT](https://github.com/JacobsonMT)
- **GeoMap:** Pan and zoom keyboard support. [#86573](https://github.com/grafana/grafana/issues/86573), [@tskarhed](https://github.com/tskarhed)
- **Alerting:** Optimize rule status gathering APIs when a limit is applied. [#86568](https://github.com/grafana/grafana/issues/86568), [@stevesg](https://github.com/stevesg)
- **Plugins:** Add an auto-generated part to the `plugin.json` schema. [#86520](https://github.com/grafana/grafana/issues/86520), [@leventebalogh](https://github.com/leventebalogh)
- **Loki/Prometheus Query Editor:** Disabled cmd/ctrl+f keybinding within the editor. [#86418](https://github.com/grafana/grafana/issues/86418), [@matyax](https://github.com/matyax)
- **Grafana packages:** Remove E2E workspace. [#86416](https://github.com/grafana/grafana/issues/86416), [@sunker](https://github.com/sunker)
- **RefreshPicker:** Change running state to be less distracting . [#86405](https://github.com/grafana/grafana/issues/86405), [@torkelo](https://github.com/torkelo)
- **Prometheus:** Cancellable label values requests. [#86403](https://github.com/grafana/grafana/issues/86403), [@NWRichmond](https://github.com/NWRichmond)
- **SQLStore:** Improve recursive CTE support detection. [#86397](https://github.com/grafana/grafana/issues/86397), [@mildwonkey](https://github.com/mildwonkey)
- **CloudMonitoring:** Ensure variables can be used in all variable queries. [#86377](https://github.com/grafana/grafana/issues/86377), [@aangelisc](https://github.com/aangelisc)
- **Common labels/displayed fields:** Show label names with values. [#86345](https://github.com/grafana/grafana/issues/86345), [@matyax](https://github.com/matyax)
- **AuthZ:** Further protect admin endpoints. [#86285](https://github.com/grafana/grafana/issues/86285), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Explore:** Deprecate local storage singular datasource key. [#86250](https://github.com/grafana/grafana/issues/86250), [@gelicia](https://github.com/gelicia)
- **Loki:** Add label filters after label_format if present. [#86124](https://github.com/grafana/grafana/issues/86124), [@matyax](https://github.com/matyax)
- **Alerting:** Immutable plugin rules and alerting plugins extensions. [#86042](https://github.com/grafana/grafana/issues/86042), [@konrad147](https://github.com/konrad147)
- **Tempo:** Group by template vars. [#86022](https://github.com/grafana/grafana/issues/86022), [@joey-grafana](https://github.com/joey-grafana)
- **Short Links:** Add setting for changing expiration time. [#86003](https://github.com/grafana/grafana/issues/86003), [@gelicia](https://github.com/gelicia)
- **Prometheus:** Add native histogram functions. [#86002](https://github.com/grafana/grafana/issues/86002), [@bohandley](https://github.com/bohandley)
- **Plugins:** Removed feature toggle pluginsDynamicAngularDetectionPatterns. [#85956](https://github.com/grafana/grafana/issues/85956), [@xnyo](https://github.com/xnyo)
- **Plugins:** Removed feature toggle enablePluginsTracingByDefault. [#85953](https://github.com/grafana/grafana/issues/85953), [@xnyo](https://github.com/xnyo)
- **Tracing:** Allow otel service name and attributes to be overridden from env. [#85937](https://github.com/grafana/grafana/issues/85937), [@marefr](https://github.com/marefr)
- **PanelChrome:** Improve accessibility landmark markup. [#85863](https://github.com/grafana/grafana/issues/85863), [@tskarhed](https://github.com/tskarhed)
- **Gops:** Add configuration tracker on the existing IRM page. [#85838](https://github.com/grafana/grafana/issues/85838), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **CloudWatch:** Add additional Glue metrics. [#85798](https://github.com/grafana/grafana/issues/85798), [@tristanburgess](https://github.com/tristanburgess)
- **CloudWatch:** Add labels for Metric Query type queries. [#85766](https://github.com/grafana/grafana/issues/85766), [@kevinwcyu](https://github.com/kevinwcyu)
- **Util:** Support parsing and splitting strings enclosed in quotes in util.SplitString. [#85735](https://github.com/grafana/grafana/issues/85735), [@mgyongyosi](https://github.com/mgyongyosi)
- **Loki:** Handle `X-Scope-OrgID` and tenant IDs. [#85726](https://github.com/grafana/grafana/issues/85726), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **CloudWatch:** Add a Performance Insights and other missing metrics to aws/rds. [#85680](https://github.com/grafana/grafana/issues/85680), [@kgeckhart](https://github.com/kgeckhart)
- **Prometheus:** Respect dashboard queries when querying ad hoc filter labels. [#85674](https://github.com/grafana/grafana/issues/85674), [@itsmylife](https://github.com/itsmylife)
- **Pyroscope:** Add adhoc filters support. [#85601](https://github.com/grafana/grafana/issues/85601), [@aocenas](https://github.com/aocenas)
- **Table Panel:** Update background colors to respect transparency. [#85565](https://github.com/grafana/grafana/issues/85565), [@codeincarnate](https://github.com/codeincarnate)
- **Canvas:** Add support for line animation. [#85556](https://github.com/grafana/grafana/issues/85556), [@adela-almasan](https://github.com/adela-almasan)
- **Reducers:** Add in basic Percentile Support. [#85554](https://github.com/grafana/grafana/issues/85554), [@timlevett](https://github.com/timlevett)
- **Storage:** Watch tests. [#85496](https://github.com/grafana/grafana/issues/85496), [@DanCech](https://github.com/DanCech)
- **Plugins:** Show update buttons when instance version is different. [#85486](https://github.com/grafana/grafana/issues/85486), [@oshirohugo](https://github.com/oshirohugo)
- **Tempo:** Always use time range even if timeShiftEnabled is false. [#85477](https://github.com/grafana/grafana/issues/85477), [@ogxd](https://github.com/ogxd)
- **Alerting:** Gops labels integration. [#85467](https://github.com/grafana/grafana/issues/85467), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Explore:** Set X-Cache-Skip to true for query requests. [#85460](https://github.com/grafana/grafana/issues/85460), [@Elfo404](https://github.com/Elfo404)
- **Explore:** Make Explore breadcrumb clickable. [#85437](https://github.com/grafana/grafana/issues/85437), [@Elfo404](https://github.com/Elfo404)
- **Prometheus:** Fuzzy search for metric names in Code Mode. [#85396](https://github.com/grafana/grafana/issues/85396), [@NWRichmond](https://github.com/NWRichmond)
- **Storage Api:** Adds traces. [#85391](https://github.com/grafana/grafana/issues/85391), [@owensmallwood](https://github.com/owensmallwood)
- **Storage Api:** Add metrics. [#85316](https://github.com/grafana/grafana/issues/85316), [@owensmallwood](https://github.com/owensmallwood)
- **Alerting:** Improve paused alert visibility and allow pausing/resuming from alert list view. [#85116](https://github.com/grafana/grafana/issues/85116), [@tomratcliffe](https://github.com/tomratcliffe)
- **CloudWatch:** Clarify match exact tooltip and docs. [#85095](https://github.com/grafana/grafana/issues/85095), [@iwysiu](https://github.com/iwysiu)
- **Alerting:** Evaluation quick buttons. [#85010](https://github.com/grafana/grafana/issues/85010), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Add state history polling interval. [#84837](https://github.com/grafana/grafana/issues/84837), [@gillesdemey](https://github.com/gillesdemey)
- **CloudWatch:** Improve metric label parsing. [#84835](https://github.com/grafana/grafana/issues/84835), [@iwysiu](https://github.com/iwysiu)
- **Alerting:** Improve template preview. [#84798](https://github.com/grafana/grafana/issues/84798), [@konrad147](https://github.com/konrad147)
- **Alerting:** New settings page. [#84501](https://github.com/grafana/grafana/issues/84501), [@gillesdemey](https://github.com/gillesdemey)
- **Explore:** Move Query History to be screen wide. [#84321](https://github.com/grafana/grafana/issues/84321), [@gelicia](https://github.com/gelicia)
- **MixedDataSource:** Support multi value data source variable that issues a query to each data source. [#83356](https://github.com/grafana/grafana/issues/83356), [@torkelo](https://github.com/torkelo)
- **PluginExtensions:** Make the extensions registry reactive. [#83085](https://github.com/grafana/grafana/issues/83085), [@mckn](https://github.com/mckn)
- **Loki:** Use label/&lt;name&gt;/values API instead of series API for label values discovery. [#83044](https://github.com/grafana/grafana/issues/83044), [@yuri-rs](https://github.com/yuri-rs)
- **Tempo:** Escape backslash in span name for promsql query. [#83024](https://github.com/grafana/grafana/issues/83024), [@ttshivers](https://github.com/ttshivers)
- **Alerting:** Export and provisioning rules into subfolders. [#77450](https://github.com/grafana/grafana/issues/77450), [@papagian](https://github.com/papagian)
- **Notification banner:** Integrate with RBAC. (Enterprise)
- **Auth:** Assign users using SAML to AutoAssignOrgRole if no role matches. (Enterprise)
- **Notification banner:** Display preview. (Enterprise)
- **Auth:** Add None and Viewer roles as options to SAML UI config. (Enterprise)
- **SAML:** Add nonce to the generated script tag. (Enterprise)
- **Notification banner:** Add settings page. (Enterprise)
- **Notification banner:** Add API client. (Enterprise)
- **Chore:** Upgrade go version to 1.22.3. (Enterprise)
- **Auditing:** Correctly parse the URL for auditing through Loki. (Enterprise)
- **Auditlog:** Refactor action to post-action in default auditlogging. (Enterprise)
- **Plugins:** Make grafana-com API URL usage consistent. (Enterprise)
- **Plugins:** Make grafana-com API URL usage consistent. (Enterprise)
- **Caching:** Implement mtls-enabled memcached integration. (Enterprise)
- **OpenAPI:** Document the datasource caching API. (Enterprise)
### Bug fixes
- **Alerting:** Fix go-swagger extraction and several embedded types from Alertmanager in Swagger docs. [#88879](https://github.com/grafana/grafana/issues/88879), [@alexweav](https://github.com/alexweav)
- **DashboardScene:** Fixes inspect with transforms issue. [#88843](https://github.com/grafana/grafana/issues/88843), [@torkelo](https://github.com/torkelo)
- **Elasticsearch:** Fix stripping of trailing slashes in datasource URLs. [#88779](https://github.com/grafana/grafana/issues/88779), [@ivanahuckova](https://github.com/ivanahuckova)
- **Loki:** Fix editor history in wrong order. [#88666](https://github.com/grafana/grafana/issues/88666), [@svennergr](https://github.com/svennergr)
- **Cli:** Fix bug where password is hashed twice. [#88589](https://github.com/grafana/grafana/issues/88589), [@kalleep](https://github.com/kalleep)
- **AzureMonitor:** Fix bug detecting app insights queries. [#88572](https://github.com/grafana/grafana/issues/88572), [@aangelisc](https://github.com/aangelisc)
- **SSE:** Fix threshold unmarshal to avoid panic. [#88521](https://github.com/grafana/grafana/issues/88521), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Dashboard:** Fix Variables query hides fields with non-supported datasources. [#88516](https://github.com/grafana/grafana/issues/88516), [@axelavargas](https://github.com/axelavargas)
- **Explore:** Align time filters properly to day boundaries in query history. [#88498](https://github.com/grafana/grafana/issues/88498), [@aocenas](https://github.com/aocenas)
- **Access Control:** Clean up permissions for deprovisioned data sources. [#88483](https://github.com/grafana/grafana/issues/88483), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Dashboards:** Correctly display Admin access to dashboards in the UI. [#88439](https://github.com/grafana/grafana/issues/88439), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **LibraryPanels/RBAC:** Ignore old folder permission check when deleting/patching lib panel. [#88422](https://github.com/grafana/grafana/issues/88422), [@kaydelaney](https://github.com/kaydelaney)
- **LogsTable:** Fix default sort by time. [#88398](https://github.com/grafana/grafana/issues/88398), [@svennergr](https://github.com/svennergr)
- **Dashboards:** Fix regression when deleting folder. [#88311](https://github.com/grafana/grafana/issues/88311), [@papagian](https://github.com/papagian)
- **Docker:** Fix renderer plugin in custom Dockerfile. [#88223](https://github.com/grafana/grafana/issues/88223), [@AgnesToulet](https://github.com/AgnesToulet)
- **Alerting:** Fix rules deleting when reordering whilst filtered. [#88221](https://github.com/grafana/grafana/issues/88221), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Fix "copy link" not including full URL. [#88210](https://github.com/grafana/grafana/issues/88210), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Fix typo in JSON response for rule export. [#88028](https://github.com/grafana/grafana/issues/88028), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix scheduler to sort rules before evaluation. [#88006](https://github.com/grafana/grafana/issues/88006), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **CloudMonitoring:** Fix query type selection issue. [#87990](https://github.com/grafana/grafana/issues/87990), [@aangelisc](https://github.com/aangelisc)
- **Alerting:** Assume built-in AM is receiving alerts in case of not having admin config. [#87893](https://github.com/grafana/grafana/issues/87893), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **DashboardScene:** Skip panel repeats when values are the same. [#87788](https://github.com/grafana/grafana/issues/87788), [@torkelo](https://github.com/torkelo)
- **Alerting:** Fix deleting rules when silencing/resuming rule from a panel alert tab. [#87710](https://github.com/grafana/grafana/issues/87710), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Dashboards:** Don't set dashboard creator/updater if the action is done by an API key. [#87704](https://github.com/grafana/grafana/issues/87704), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Elasticsearch:** Fix setting of default maxConcurrentShardRequests. [#87703](https://github.com/grafana/grafana/issues/87703), [@ivanahuckova](https://github.com/ivanahuckova)
- **Graphite:** Fix alignment of elements in the query editor. [#87662](https://github.com/grafana/grafana/issues/87662), [@NWRichmond](https://github.com/NWRichmond)
- **DashboardScene:** Fixing major row repeat issues. [#87539](https://github.com/grafana/grafana/issues/87539), [@torkelo](https://github.com/torkelo)
- **Alerting:** Do not store series values from past evaluations in state manager for no reason. [#87525](https://github.com/grafana/grafana/issues/87525), [@alexweav](https://github.com/alexweav)
- **RBAC:** Update role picker in team page, fix a bug with roles being removed upon team setting update. [#87519](https://github.com/grafana/grafana/issues/87519), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Transformations:** Fix true inner join in `joinByField` transformation. [#87409](https://github.com/grafana/grafana/issues/87409), [@baldm0mma](https://github.com/baldm0mma)
- **Alerting:** Do not retry rule evaluations with "input data must be a wide series but got type long" style errors. [#87343](https://github.com/grafana/grafana/issues/87343), [@alexweav](https://github.com/alexweav)
- **Tempo:** Fix sorting for nested tables. [#87214](https://github.com/grafana/grafana/issues/87214), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **Cloudwatch Logs:** Fix bug where we did not return errors to user. [#87190](https://github.com/grafana/grafana/issues/87190), [@sarahzinger](https://github.com/sarahzinger)
- **CloudWatch:** Fix apostrophes in dimension values not being escaped. [#87182](https://github.com/grafana/grafana/issues/87182), [@kevinwcyu](https://github.com/kevinwcyu)
- **AnnotationList:** Fix link for annotation with no panel or dashboard. [#87048](https://github.com/grafana/grafana/issues/87048), [@tskarhed](https://github.com/tskarhed)
- **Graphite:** Fix splitting expressions in tag_value with template variables. [#86958](https://github.com/grafana/grafana/issues/86958), [@EduardZaydler](https://github.com/EduardZaydler)
- **SQL Query Editor:** Fix label-for IDs, associate "Table" label. [#86944](https://github.com/grafana/grafana/issues/86944), [@timo](https://github.com/timo)
- **SSO:** Add SSO settings to secrets migrator. [#86913](https://github.com/grafana/grafana/issues/86913), [@dmihai](https://github.com/dmihai)
- **Plugins:** Preserve trailing slash in plugin proxy. [#86859](https://github.com/grafana/grafana/issues/86859), [@marefr](https://github.com/marefr)
- **TimeSeries:** Improve keyboard focus and fix spacebar override. [#86848](https://github.com/grafana/grafana/issues/86848), [@tskarhed](https://github.com/tskarhed)
- **NodeGraph:** Use values from fixedX/fixedY column for layout. [#86643](https://github.com/grafana/grafana/issues/86643), [@timo](https://github.com/timo)
- **Alerting:** Prevent simplified routing zero duration GroupInterval and RepeatInterval. [#86561](https://github.com/grafana/grafana/issues/86561), [@JacobsonMT](https://github.com/JacobsonMT)
- **Loki:** Fix setting of tenant ID. [#86433](https://github.com/grafana/grafana/issues/86433), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **DashboardScene:** Fixes checkbox orienation in save forms. [#86408](https://github.com/grafana/grafana/issues/86408), [@torkelo](https://github.com/torkelo)
- **CloudMonitoring:** Correctly interpolate multi-valued template variables in PromQL queries. [#86391](https://github.com/grafana/grafana/issues/86391), [@aangelisc](https://github.com/aangelisc)
- **Expressions:** Fix erroneous sorting of metrics and expressions. [#86372](https://github.com/grafana/grafana/issues/86372), [@NWRichmond](https://github.com/NWRichmond)
- **CloudMonitoring:** Allow a custom group by value. [#86288](https://github.com/grafana/grafana/issues/86288), [@aangelisc](https://github.com/aangelisc)
- **DataLinks:** Fixes datalinks with onClick and variables in url not being interpolated . [#86253](https://github.com/grafana/grafana/issues/86253), [@gng0](https://github.com/gng0)
- **I18N:** Fix untranslated descriptions in data source picker. [#86216](https://github.com/grafana/grafana/issues/86216), [@joshhunt](https://github.com/joshhunt)
- **RBAC:** Fix global role deletion in hosted Grafana. [#85980](https://github.com/grafana/grafana/issues/85980), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Expression:** Fix a bug of the display name of the threshold expression result. [#85912](https://github.com/grafana/grafana/issues/85912), [@lingyufei](https://github.com/lingyufei)
- **Alerting:** Fix incorrect display of pending period in alert rule form. [#85893](https://github.com/grafana/grafana/issues/85893), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Fix redirect after saving a notification template. [#85667](https://github.com/grafana/grafana/issues/85667), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Get oncall metada only when we have alert manager configuration data. [#85622](https://github.com/grafana/grafana/issues/85622), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Return better error for invalid time range on alert queries. [#85611](https://github.com/grafana/grafana/issues/85611), [@alexweav](https://github.com/alexweav)
- **CloudWatch:** Fix SageMaker MBP namespace typo. [#85557](https://github.com/grafana/grafana/issues/85557), [@tristanburgess](https://github.com/tristanburgess)
- **Alerting:** Only append `/alertmanager` when sending alerts to mimir targets if not already present. [#85543](https://github.com/grafana/grafana/issues/85543), [@alexweav](https://github.com/alexweav)
- **Alerting:** Set mimir implementation in jsonData by default when creating a new a…. [#85513](https://github.com/grafana/grafana/issues/85513), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Persist silence state immediately on Create/Delete . [#84705](https://github.com/grafana/grafana/issues/84705), [@JacobsonMT](https://github.com/JacobsonMT)
- **NodeGraph:** Fix configuring arc colors with mixed case field names. [#84609](https://github.com/grafana/grafana/issues/84609), [@timo](https://github.com/timo)
- **Auditing:** Fix Loki URL parsing. (Enterprise)
- **Provisioning:** Add override option to role provisioning. (Enterprise)
- **Alerting:** Check pointers before use to prevent segfault. (Enterprise)
- **Reporting:** Fix UI errors when using linked variables. (Enterprise)
### Breaking changes
Users that provision alert rules into folders whose titles contain slashes from now on they should escape them:
eg. if an alert group contains:
`folder: folder_with_/_in_title`
it should become:
`folder: folder_with_\/_in_title` Issue [#77450](https://github.com/grafana/grafana/issues/77450)
### Deprecations
The `grafana.explore.richHistory.activeDatasourceOnly` local storage key is deprecated, and will be removed in Grafana 12. You may experience loss of your Explore query history or autocomplete data if you upgrade to Grafana 12 under 2 weeks of Grafana 11.1. Actual risk of data loss depends on your query history retention policy. Issue [#86250](https://github.com/grafana/grafana/issues/86250)
### Plugin development fixes & changes
- **Select:** Change `Select` group headers to always be visible. [#88178](https://github.com/grafana/grafana/issues/88178), [@ashharrison90](https://github.com/ashharrison90)
- **Select:** Ensure virtualised menu scrolls active option into view when using arrow keys. [#87743](https://github.com/grafana/grafana/issues/87743), [@ashharrison90](https://github.com/ashharrison90)
- **Switch:** Improve disabled active state. [#87694](https://github.com/grafana/grafana/issues/87694), [@ashharrison90](https://github.com/ashharrison90)
- **Button:** Allow disabled button to still be focused. [#87516](https://github.com/grafana/grafana/issues/87516), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
- **GrafanaUI:** Add `tabular` prop to Text component for tabular numbers. [#87440](https://github.com/grafana/grafana/issues/87440), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
<!-- 11.1.0 END -->
<!-- 11.0.1 START -->
# 11.0.1 (2024-06-21)
### Bug fixes
- **Echo:** Suppress errors from frontend-metrics API call failing. [#89493](https://github.com/grafana/grafana/issues/89493), [@joshhunt](https://github.com/joshhunt)
- **Fix:** Portuguese Brazilian wasn't loading translations. [#89374](https://github.com/grafana/grafana/issues/89374), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
- **Analytics:** Fix ApplicationInsights integration. [#89300](https://github.com/grafana/grafana/issues/89300), [@ashharrison90](https://github.com/ashharrison90)
- **DashboardScene:** Fixes issue removing override rule. [#89134](https://github.com/grafana/grafana/issues/89134), [@torkelo](https://github.com/torkelo)
- **BrowseDashboards:** Prepend subpath to New Browse Dashboard actions. [#89130](https://github.com/grafana/grafana/issues/89130), [@joshhunt](https://github.com/joshhunt)
- **Alerting:** Fix rule storage to filter by group names using case-sensitive comparison. [#89063](https://github.com/grafana/grafana/issues/89063), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **RBAC:** List only the folders that the user has access to. [#89015](https://github.com/grafana/grafana/issues/89015), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **DashboardScene:** Fixes lack of re-render when updating field override properties. [#88985](https://github.com/grafana/grafana/issues/88985), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes inspect with transforms issue. [#88862](https://github.com/grafana/grafana/issues/88862), [@torkelo](https://github.com/torkelo)
- **AzureMonitor:** Fix bug detecting app insights queries. [#88787](https://github.com/grafana/grafana/issues/88787), [@aangelisc](https://github.com/aangelisc)
- **Access Control:** Clean up permissions for deprovisioned data sources. [#88700](https://github.com/grafana/grafana/issues/88700), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Loki:** Fix editor history in wrong order. [#88669](https://github.com/grafana/grafana/issues/88669), [@svennergr](https://github.com/svennergr)
- **SSE:** Fix threshold unmarshal to avoid panic. [#88651](https://github.com/grafana/grafana/issues/88651), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **LibraryPanels/RBAC:** Ignore old folder permission check when deleting/patching lib panel. [#88493](https://github.com/grafana/grafana/issues/88493), [@kaydelaney](https://github.com/kaydelaney)
- **Dashboards:** Correctly display Admin access to dashboards in the UI. [#88473](https://github.com/grafana/grafana/issues/88473), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **LogsTable:** Fix default sort by time. [#88434](https://github.com/grafana/grafana/issues/88434), [@svennergr](https://github.com/svennergr)
- **Alerting:** Fix rules deleting when reordering whilst filtered. [#88285](https://github.com/grafana/grafana/issues/88285), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Fix typo in JSON response for rule export. [#88090](https://github.com/grafana/grafana/issues/88090), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **CloudMonitoring:** Fix query type selection issue. [#88024](https://github.com/grafana/grafana/issues/88024), [@aangelisc](https://github.com/aangelisc)
- **Alerting:** Fix scheduler to sort rules before evaluation. [#88021](https://github.com/grafana/grafana/issues/88021), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **DashboardScene:** Skip panel repeats when values are the same. [#87896](https://github.com/grafana/grafana/issues/87896), [@torkelo](https://github.com/torkelo)
- **Alerting:** Do not store series values from past evaluations in state manager for no reason. [#87845](https://github.com/grafana/grafana/issues/87845), [@alexweav](https://github.com/alexweav)
- **DashboardScene:** Fixing major row repeat issues. [#87800](https://github.com/grafana/grafana/issues/87800), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes checkbox orienation in save forms. [#86490](https://github.com/grafana/grafana/issues/86490), [@torkelo](https://github.com/torkelo)
- **Provisioning:** Add override option to role provisioning. (Enterprise)
### Breaking changes
If you had selected your language as "Português Brasileiro" previously, this will be reset. You have to select it again in your Preferences for the fix to be applied and the translations will then be shown. Issue [#89374](https://github.com/grafana/grafana/issues/89374)
<!-- 11.0.1 END -->
<!-- 11.0.0 START -->
# 11.0.0 (2024-05-14)
### Features and enhancements
- **Alerting:** Add two sets of provisioning actions for rules and notifications . [#87572](https://github.com/grafana/grafana/issues/87572), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Chore:** Upgrade go to 1.21.10. [#87472](https://github.com/grafana/grafana/issues/87472), [@stephaniehingtgen](https://github.com/stephaniehingtgen)
- **Auth:** Force lowercase login/email for users. [#86985](https://github.com/grafana/grafana/issues/86985), [@eleijonmarck](https://github.com/eleijonmarck)
- **Navigation:** Add a return to previous button when navigating to different sections. [#86797](https://github.com/grafana/grafana/issues/86797), [@eledobleefe](https://github.com/eledobleefe)
- **DashboardScene:** Move add library panel view from grid item to drawer. [#86409](https://github.com/grafana/grafana/issues/86409), [@torkelo](https://github.com/torkelo)
- **CloudWatch :** Add missing AWS/ES metrics. [#86271](https://github.com/grafana/grafana/issues/86271), [@thepalbi](https://github.com/thepalbi)
- **Alerting:** Reduce set of fields that could trigger alert state change. [#86266](https://github.com/grafana/grafana/issues/86266), [@benoittgt](https://github.com/benoittgt)
- **OAuth:** Make sub claim required for generic oauth behind feature toggle. [#86118](https://github.com/grafana/grafana/issues/86118), [@kalleep](https://github.com/kalleep)
- **Grafana E2E:** Add deprecation notice and update docs. [#85778](https://github.com/grafana/grafana/issues/85778), [@sunker](https://github.com/sunker)
- **Loki:** Remove API restrictions on resource calls. [#85201](https://github.com/grafana/grafana/issues/85201), [@svennergr](https://github.com/svennergr)
- **Chore:** Upgrade go to 1.21.10. (Enterprise)
### Bug fixes
- **AuthN:** Fix signout redirect url. [#87681](https://github.com/grafana/grafana/issues/87681), [@kalleep](https://github.com/kalleep)
- **CloudMonitoring:** Improve legacy query migrations. [#87648](https://github.com/grafana/grafana/issues/87648), [@aangelisc](https://github.com/aangelisc)
- **Azure data sources:** Set selected config type before save. [#87632](https://github.com/grafana/grafana/issues/87632), [@bossinc](https://github.com/bossinc)
- **Loki:** Fix log context when no label types are present. [#87600](https://github.com/grafana/grafana/issues/87600), [@svennergr](https://github.com/svennergr)
- **DashboardScene:** Fixes editing transformations after toggling table view. [#87485](https://github.com/grafana/grafana/issues/87485), [@torkelo](https://github.com/torkelo)
- **DashboardDataSource:** Fixes issue where sometimes untransformed data could be returned . [#87484](https://github.com/grafana/grafana/issues/87484), [@torkelo](https://github.com/torkelo)
- **Provisioning:** Look up provisioned folders by UID when possible. [#87468](https://github.com/grafana/grafana/issues/87468), [@DanCech](https://github.com/DanCech)
- **Cloudwatch:** Update grafana-aws-sdk to fix sts endpoints. [#87345](https://github.com/grafana/grafana/issues/87345), [@iwysiu](https://github.com/iwysiu)
- **Select:** Fixes issue preserving search term (input) when selecting a value. [#87249](https://github.com/grafana/grafana/issues/87249), [@torkelo](https://github.com/torkelo)
- **Alerting:** Prevent search from locking the browser. [#87230](https://github.com/grafana/grafana/issues/87230), [@gillesdemey](https://github.com/gillesdemey)
- **DashboardScene:** Fixes issue referring to library panel in dashboard data source . [#87173](https://github.com/grafana/grafana/issues/87173), [@torkelo](https://github.com/torkelo)
- **Data source:** Maintain the default data source permissions when switching from unlicensed to licensed Grafana. [#87142](https://github.com/grafana/grafana/issues/87142), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Alerting:** Allow deleting contact points referenced only by auto-generated policies. [#87115](https://github.com/grafana/grafana/issues/87115), [@gillesdemey](https://github.com/gillesdemey)
- **Auth:** Sign sigV4 request after adding headers. [#87072](https://github.com/grafana/grafana/issues/87072), [@iwysiu](https://github.com/iwysiu)
- **DashboardScene:** Fixes issues with relative time range in panel edit. [#87026](https://github.com/grafana/grafana/issues/87026), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes issue with dashboard links and variables. [#87025](https://github.com/grafana/grafana/issues/87025), [@torkelo](https://github.com/torkelo)
- **SQLStore:** Disable redundant create and drop unique index migrations on dashboard table. [#86867](https://github.com/grafana/grafana/issues/86867), [@papagian](https://github.com/papagian)
- **LogContext:** Fix structured metadata labels being added as stream selectors. [#86826](https://github.com/grafana/grafana/issues/86826), [@svennergr](https://github.com/svennergr)
- **DashboardScene:** Fixes issue with editing panels that uses instanceState. [#86824](https://github.com/grafana/grafana/issues/86824), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes deleting dirty dashboard. [#86757](https://github.com/grafana/grafana/issues/86757), [@torkelo](https://github.com/torkelo)
- **Alerting:** Take receivers into account when custom grouping Alertmanager groups. [#86699](https://github.com/grafana/grafana/issues/86699), [@konrad147](https://github.com/konrad147)
- **LDAP:** Fix listing all non-matching groups. [#86689](https://github.com/grafana/grafana/issues/86689), [@mgyongyosi](https://github.com/mgyongyosi)
- **Alerting:** Fix simplified routing group by override. [#86563](https://github.com/grafana/grafana/issues/86563), [@JacobsonMT](https://github.com/JacobsonMT)
- **NodeGraph:** Fix invisible arrow tips in Editor. [#86548](https://github.com/grafana/grafana/issues/86548), [@timo](https://github.com/timo)
- **Dashboard:** DashboardPageProxy - Use chaining operators to prevent runtime error. [#86536](https://github.com/grafana/grafana/issues/86536), [@axelavargas](https://github.com/axelavargas)
- **Cli:** Check missing plugin parameter of plugin update command. [#86522](https://github.com/grafana/grafana/issues/86522), [@VergeDX](https://github.com/VergeDX)
- **DashboardScene:** Fixes issue saving new dashboard from panel edit. [#86480](https://github.com/grafana/grafana/issues/86480), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes minor issue transitioning between dashboards. [#86475](https://github.com/grafana/grafana/issues/86475), [@torkelo](https://github.com/torkelo)
- **MSSQL:** Add `SQL_VARIANT` converter and update test. [#86469](https://github.com/grafana/grafana/issues/86469), [@aangelisc](https://github.com/aangelisc)
- **DashboardScene:** Fixes react panels with old angular options. [#86411](https://github.com/grafana/grafana/issues/86411), [@torkelo](https://github.com/torkelo)
- **Alerting:** Fix simplified routes '...' groupBy creating invalid routes. [#86376](https://github.com/grafana/grafana/issues/86376), [@JacobsonMT](https://github.com/JacobsonMT)
- **AWS DataSource:** Fix namespaces in sagemaker metrics. [#86363](https://github.com/grafana/grafana/issues/86363), [@tristanburgess](https://github.com/tristanburgess)
- **DashboardScene:** Fixes saving dashboard with angular panels . [#86255](https://github.com/grafana/grafana/issues/86255), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fix empty row repeat issue. [#86254](https://github.com/grafana/grafana/issues/86254), [@torkelo](https://github.com/torkelo)
- **Nodegraph:** Fix issue with rendering single node. [#86195](https://github.com/grafana/grafana/issues/86195), [@aocenas](https://github.com/aocenas)
- **Datasources:** Add fixed width to name field in config editor. [#86179](https://github.com/grafana/grafana/issues/86179), [@sunker](https://github.com/sunker)
- **Alerting:** Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy. [#86163](https://github.com/grafana/grafana/issues/86163), [@alexweav](https://github.com/alexweav)
- **Table Panel:** Fix image disappearing when datalinks applied. [#86160](https://github.com/grafana/grafana/issues/86160), [@codeincarnate](https://github.com/codeincarnate)
- **LibraryPanelRBAC:** Fix issue with importing dashboards containing library panels. [#86149](https://github.com/grafana/grafana/issues/86149), [@kaydelaney](https://github.com/kaydelaney)
- **DashboardScene:** Fixes issue moving between dashboards. [#86096](https://github.com/grafana/grafana/issues/86096), [@torkelo](https://github.com/torkelo)
- **Alerting:** Fix evaluation metrics to not count retries. [#86059](https://github.com/grafana/grafana/issues/86059), [@stevesg](https://github.com/stevesg)
- **Google Cloud Monitor:** Fix interface conversion for incorrect type in `cloudMonitoringProm.run`. [#85928](https://github.com/grafana/grafana/issues/85928), [@adamyeats](https://github.com/adamyeats)
- **Dashboard:** Allow `auto` refresh option when saving a dashboard. [#85922](https://github.com/grafana/grafana/issues/85922), [@bfmatei](https://github.com/bfmatei)
- **Time Zones:** Fix relative time when using UTC timezone. [#85779](https://github.com/grafana/grafana/issues/85779), [@ashharrison90](https://github.com/ashharrison90)
- **PostgreSQL:** Fix the verify-ca mode. [#85775](https://github.com/grafana/grafana/issues/85775), [@gabor](https://github.com/gabor)
- **DashboardScene:** Fixes issue with mobile responsive layout due to repeated grid item class. [#85741](https://github.com/grafana/grafana/issues/85741), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes panel edit issue with clearing title not resulting in hover header mode . [#85633](https://github.com/grafana/grafana/issues/85633), [@torkelo](https://github.com/torkelo)
- **Angular deprecation:** Prefer local "angularDetected" value to the remote one. [#85632](https://github.com/grafana/grafana/issues/85632), [@xnyo](https://github.com/xnyo)
- **Chore:** Fix trailing spaces in prometheus min step. [#85579](https://github.com/grafana/grafana/issues/85579), [@euniceek](https://github.com/euniceek)
- **SAML:** Fix Authn request generation in case of HTTP-POST binding. (Enterprise)
- **Reporting:** Fix CSVs for library panels within folders. (Enterprise)
### Breaking changes
The `@grafana/e2e` package is deprecated in Grafana 11.0.0. If your Grafana plugin has end-to-end tests that use `@grafana/e2e`, it's recommended to replace them with [`@grafana/plugin-e2e`](https://www.npmjs.com/package/@grafana/plugin-e2e?activeTab=readme) and Playwright. For information on how to migrate, please refer to the plugin-e2e [docs](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/migrate-from-grafana-e2e). Issue [#85778](https://github.com/grafana/grafana/issues/85778)
### Plugin development fixes & changes
- **DateTimePicker:** Alternate timezones now behave correctly. [#87041](https://github.com/grafana/grafana/issues/87041), [@ashharrison90](https://github.com/ashharrison90)
- **TimeOfDayPicker:** Fix text colours in light mode. [#86776](https://github.com/grafana/grafana/issues/86776), [@ashharrison90](https://github.com/ashharrison90)
<!-- 11.0.0 END -->
<!-- 11.0.0-preview START -->
# 11.0.0-preview
### Features and enhancements
- **Alerting:** Editor role can access all provisioning API. [#85022](https://github.com/grafana/grafana/issues/85022), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **CloudWatch:** Add additional AWS/SageMaker metrics. [#85009](https://github.com/grafana/grafana/issues/85009), [@tristanburgess](https://github.com/tristanburgess)
- **SQLStore:** Enable migration locking by default. [#84983](https://github.com/grafana/grafana/issues/84983), [@papagian](https://github.com/papagian)
- **Auth:** Remove `oauth_skip_org_role_update_sync` as an option. [#84972](https://github.com/grafana/grafana/issues/84972), [@eleijonmarck](https://github.com/eleijonmarck)
- **Canvas:** Add "infinite" pan / zoom functionality. [#84968](https://github.com/grafana/grafana/issues/84968), [@nmarrs](https://github.com/nmarrs)
- **InteractiveTable:** Add expand all to column. [#84966](https://github.com/grafana/grafana/issues/84966), [@abannachGrafana](https://github.com/abannachGrafana)
- **Snapshots:** Viewers can not create a Snapshot. [#84952](https://github.com/grafana/grafana/issues/84952), [@evictorero](https://github.com/evictorero)
- **GenAI:** Autogenerate title and description for panels and dashboards. [#84933](https://github.com/grafana/grafana/issues/84933), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **Canvas:** Add corner radius option. [#84873](https://github.com/grafana/grafana/issues/84873), [@drew08t](https://github.com/drew08t)
- **Alerting:** Enable simplified routing FF by default. [#84856](https://github.com/grafana/grafana/issues/84856), [@JacobsonMT](https://github.com/JacobsonMT)
- **Auth:** Enable case insensitive logins/emails by default. [#84840](https://github.com/grafana/grafana/issues/84840), [@eleijonmarck](https://github.com/eleijonmarck)
- **RBAC:** Enable annotation permission update by default. [#84787](https://github.com/grafana/grafana/issues/84787), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Azure:** Support multi-resource namespace (NetApp Volumes). [#84779](https://github.com/grafana/grafana/issues/84779), [@aangelisc](https://github.com/aangelisc)
- **Prometheus:** Default support labels value endpoint with match param when prom type and version not set. [#84778](https://github.com/grafana/grafana/issues/84778), [@bohandley](https://github.com/bohandley)
- **MSSQL:** Add Windows AD/Kerberos auth. [#84742](https://github.com/grafana/grafana/issues/84742), [@asimpson](https://github.com/asimpson)
- **Chore:** Disable angular support by default. [#84738](https://github.com/grafana/grafana/issues/84738), [@tolzhabayev](https://github.com/tolzhabayev)
- **Elasticsearch:** Remove xpack button and make includeFrozen not dependant on it. [#84734](https://github.com/grafana/grafana/issues/84734), [@ivanahuckova](https://github.com/ivanahuckova)
- **Plugins:** Enable feature toggle `pluginsDynamicAngularDetectionPatterns` by default. [#84723](https://github.com/grafana/grafana/issues/84723), [@xnyo](https://github.com/xnyo)
- **Plugins:** Enable managedPluginsInstall by default. [#84721](https://github.com/grafana/grafana/issues/84721), [@oshirohugo](https://github.com/oshirohugo)
- **Alerting:** Stop persisting silences and nflog to disk. [#84706](https://github.com/grafana/grafana/issues/84706), [@JacobsonMT](https://github.com/JacobsonMT)
- **Histogram:** Add support for stacking mode. [#84693](https://github.com/grafana/grafana/issues/84693), [@adela-almasan](https://github.com/adela-almasan)
- **Datasource:** Change query filtering. [#84656](https://github.com/grafana/grafana/issues/84656), [@sunker](https://github.com/sunker)
- **Feature toggles:** Remove redshiftAsyncQueryDataSupport and athenaAsyncQueryDataSupport feature toggles. [#84653](https://github.com/grafana/grafana/issues/84653), [@idastambuk](https://github.com/idastambuk)
- **Teams:** Display teams page to team reader if they also have the access to list team permissions. [#84650](https://github.com/grafana/grafana/issues/84650), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Plugins:** Enable feature toggle `enablePluginsTracingByDefault` by default. [#84645](https://github.com/grafana/grafana/issues/84645), [@xnyo](https://github.com/xnyo)
- **NestedFolders:** Enable nested folders by default. [#84631](https://github.com/grafana/grafana/issues/84631), [@zserge](https://github.com/zserge)
- **Canvas:** Add direction options for connections. [#84620](https://github.com/grafana/grafana/issues/84620), [@drew08t](https://github.com/drew08t)
- **CloudWatch:** Static labels should use label name. [#84611](https://github.com/grafana/grafana/issues/84611), [@iwysiu](https://github.com/iwysiu)
- **Tempo:** Deprecate old search. [#84498](https://github.com/grafana/grafana/issues/84498), [@joey-grafana](https://github.com/joey-grafana)
- **Canvas:** Support dashed connection lines. [#84496](https://github.com/grafana/grafana/issues/84496), [@Develer](https://github.com/Develer)
- **I18n:** Add Brazilian Portuguese. [#84461](https://github.com/grafana/grafana/issues/84461), [@joshhunt](https://github.com/joshhunt)
- **I18n:** Expose current UI language in @grafana/runtime config. [#84457](https://github.com/grafana/grafana/issues/84457), [@joshhunt](https://github.com/joshhunt)
- **Canvas:** Add snapping to vertex edit. [#84417](https://github.com/grafana/grafana/issues/84417), [@drew08t](https://github.com/drew08t)
- **CloudWatch Logs:** Remove toggle for cloudWatchLogsMonacoEditor. [#84414](https://github.com/grafana/grafana/issues/84414), [@iwysiu](https://github.com/iwysiu)
- **Prometheus:** Use frontend package in Prometheus DS with a feature toggle. [#84397](https://github.com/grafana/grafana/issues/84397), [@bohandley](https://github.com/bohandley)
- **Alerting:** Show error message when error is thrown after clicking create alert f…. [#84367](https://github.com/grafana/grafana/issues/84367), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Tempo:** Remove Loki tab. [#84346](https://github.com/grafana/grafana/issues/84346), [@joey-grafana](https://github.com/joey-grafana)
- **Storage:** Add support for listing resource history. [#84331](https://github.com/grafana/grafana/issues/84331), [@DanCech](https://github.com/DanCech)
- **Cloudwatch:** Remove cloudWatchWildCardDimensionValues feature toggle. [#84329](https://github.com/grafana/grafana/issues/84329), [@iwysiu](https://github.com/iwysiu)
- **Plugin Extensions:** Add prop types to component extensions. [#84295](https://github.com/grafana/grafana/issues/84295), [@leventebalogh](https://github.com/leventebalogh)
- **Canvas:** New basic elements. [#84205](https://github.com/grafana/grafana/issues/84205), [@Develer](https://github.com/Develer)
- **Tempo:** Update TraceQLStreaming feature toggle stage. [#84203](https://github.com/grafana/grafana/issues/84203), [@joey-grafana](https://github.com/joey-grafana)
- **Canvas:** Add universal data link support. [#84142](https://github.com/grafana/grafana/issues/84142), [@nmarrs](https://github.com/nmarrs)
- **Chore:** Remove repetitive words. [#84132](https://github.com/grafana/grafana/issues/84132), [@carrychair](https://github.com/carrychair)
- **Documentation:** Updated yaml for influxdb data sources. [#84119](https://github.com/grafana/grafana/issues/84119), [@ldomesjo](https://github.com/ldomesjo)
- **Queries:** Improve debug logging of metrics queries. [#84048](https://github.com/grafana/grafana/issues/84048), [@mmandrus](https://github.com/mmandrus)
- **Storage:** Support listing deleted entities. [#84043](https://github.com/grafana/grafana/issues/84043), [@DanCech](https://github.com/DanCech)
- **Explore:** Remove deprecated `query` option from `splitOpen`. [#83973](https://github.com/grafana/grafana/issues/83973), [@Elfo404](https://github.com/Elfo404)
- **Chore:** Remove deprecated ExploreQueryFieldProps. [#83972](https://github.com/grafana/grafana/issues/83972), [@Elfo404](https://github.com/Elfo404)
- **Chore:** Remove deprecated exploreId from QueryEditorProps. [#83971](https://github.com/grafana/grafana/issues/83971), [@Elfo404](https://github.com/Elfo404)
- **Alerting:** Disallow invalid rule namespace UIDs in provisioning API. [#83938](https://github.com/grafana/grafana/issues/83938), [@rwwiv](https://github.com/rwwiv)
- **Auth:** Set the default org after User login. [#83918](https://github.com/grafana/grafana/issues/83918), [@mgyongyosi](https://github.com/mgyongyosi)
- **Canvas:** Add datalink support to rectangle and ellipse elements. [#83870](https://github.com/grafana/grafana/issues/83870), [@nmarrs](https://github.com/nmarrs)
- **NodeGraph:** Edge color and stroke-dasharray support. [#83855](https://github.com/grafana/grafana/issues/83855), [@morrro01](https://github.com/morrro01)
- **InfluxDB:** Add configuration option for enabling insecure gRPC connections. [#83834](https://github.com/grafana/grafana/issues/83834), [@jmickey](https://github.com/jmickey)
- **Plugins:** Fetch instance provisioned plugins in cloud, to check full installation. [#83784](https://github.com/grafana/grafana/issues/83784), [@oshirohugo](https://github.com/oshirohugo)
- **Alerting:** Implement correct RBAC checks for creating new notification templates. [#83767](https://github.com/grafana/grafana/issues/83767), [@gillesdemey](https://github.com/gillesdemey)
- **Library panels:** Ensure all filters are visible on mobile . [#83759](https://github.com/grafana/grafana/issues/83759), [@ashharrison90](https://github.com/ashharrison90)
- **AuthProxy:** Allow disabling Auth Proxy cache. [#83755](https://github.com/grafana/grafana/issues/83755), [@Jguer](https://github.com/Jguer)
- **Switch:** Remove "transparent" prop. [#83705](https://github.com/grafana/grafana/issues/83705), [@Clarity-89](https://github.com/Clarity-89)
- **Alerting:** Allow inserting before or after existing policy. [#83704](https://github.com/grafana/grafana/issues/83704), [@gillesdemey](https://github.com/gillesdemey)
- **Chore:** Taint ArrayVector with `never` to further discourage. [#83681](https://github.com/grafana/grafana/issues/83681), [@joshhunt](https://github.com/joshhunt)
- **Alerting:** Remove legacy alerting. [#83671](https://github.com/grafana/grafana/issues/83671), [@gillesdemey](https://github.com/gillesdemey)
- **Canvas:** Add vertex control to connections. [#83653](https://github.com/grafana/grafana/issues/83653), [@drew08t](https://github.com/drew08t)
- **Alerting:** Disable legacy alerting for ever. [#83651](https://github.com/grafana/grafana/issues/83651), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Table:** Preserve filtered value state. [#83631](https://github.com/grafana/grafana/issues/83631), [@codeincarnate](https://github.com/codeincarnate)
- **Canvas:** Add ability to edit selected connections in the inline editor. [#83625](https://github.com/grafana/grafana/issues/83625), [@nmarrs](https://github.com/nmarrs)
- **Auth:** Add all settings to Azure AD SSO config UI. [#83618](https://github.com/grafana/grafana/issues/83618), [@mgyongyosi](https://github.com/mgyongyosi)
- **Cfg:** Add a setting to configure if the local file system is available. [#83616](https://github.com/grafana/grafana/issues/83616), [@mgyongyosi](https://github.com/mgyongyosi)
- **Server:** Reload TLS certs without a server restart. [#83589](https://github.com/grafana/grafana/issues/83589), [@chalapat](https://github.com/chalapat)
- **Accessibility:** Improve landmark markup. [#83576](https://github.com/grafana/grafana/issues/83576), [@tskarhed](https://github.com/tskarhed)
- **Snapshots:** Change default expiration. [#83550](https://github.com/grafana/grafana/issues/83550), [@evictorero](https://github.com/evictorero)
- **Transformations:** Add substring matcher to the 'Filter by Value' transformation. [#83548](https://github.com/grafana/grafana/issues/83548), [@timlevett](https://github.com/timlevett)
- **Folders:** Allow listing folders with write permission. [#83527](https://github.com/grafana/grafana/issues/83527), [@papagian](https://github.com/papagian)
- **Chore:** Remove React 17 peer deps. [#83524](https://github.com/grafana/grafana/issues/83524), [@ashharrison90](https://github.com/ashharrison90)
- **Alerting:** Support deleting rule groups in the provisioning API. [#83514](https://github.com/grafana/grafana/issues/83514), [@joeblubaugh](https://github.com/joeblubaugh)
- **Cloudwatch:** Bump grafana/aws-sdk-go to 0.24.0. [#83480](https://github.com/grafana/grafana/issues/83480), [@idastambuk](https://github.com/idastambuk)
- **Alerting:** Stop persisting user-defined templates to disk. [#83456](https://github.com/grafana/grafana/issues/83456), [@JacobsonMT](https://github.com/JacobsonMT)
- **Transformer:** Config from Query: set threshold colours. [#83366](https://github.com/grafana/grafana/issues/83366), [@LarsStegman](https://github.com/LarsStegman)
- **CloudWatch:** Refactor "getDimensionValuesForWildcards". [#83335](https://github.com/grafana/grafana/issues/83335), [@iwysiu](https://github.com/iwysiu)
- **CloudWatch:** Fetch externalId from settings instead of env. [#83332](https://github.com/grafana/grafana/issues/83332), [@iwysiu](https://github.com/iwysiu)
- **Tracing:** Add node graph panel suggestion. [#83311](https://github.com/grafana/grafana/issues/83311), [@joey-grafana](https://github.com/joey-grafana)
- **Canvas:** Add ability to rotate elements. [#83295](https://github.com/grafana/grafana/issues/83295), [@nmarrs](https://github.com/nmarrs)
- **Tempo:** Add support for ad-hoc filters. [#83290](https://github.com/grafana/grafana/issues/83290), [@joey-grafana](https://github.com/joey-grafana)
- **DataTrails:** Sticky controls. [#83286](https://github.com/grafana/grafana/issues/83286), [@torkelo](https://github.com/torkelo)
- **CloudWatch:** Move SessionCache onto the instance. [#83278](https://github.com/grafana/grafana/issues/83278), [@iwysiu](https://github.com/iwysiu)
- **Alerting:** Deprecate max_annotations_to_keep and max_annotation_age in [alerting] configuration section. [#83266](https://github.com/grafana/grafana/issues/83266), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Annotation query:** Render query result in alert box. [#83230](https://github.com/grafana/grafana/issues/83230), [@sunker](https://github.com/sunker)
- **Chore:** Query oauth info from a new instance. [#83229](https://github.com/grafana/grafana/issues/83229), [@linoman](https://github.com/linoman)
- **CloudWatch:** Add Firehose kms-related metrics. [#83192](https://github.com/grafana/grafana/issues/83192), [@thepalbi](https://github.com/thepalbi)
- **Chore:** Add go workspace. [#83191](https://github.com/grafana/grafana/issues/83191), [@toddtreece](https://github.com/toddtreece)
- **Accessibility:** Improve HelpModal markup. [#83171](https://github.com/grafana/grafana/issues/83171), [@tskarhed](https://github.com/tskarhed)
- **Chore:** Delete Input Datasource. [#83163](https://github.com/grafana/grafana/issues/83163), [@jackw](https://github.com/jackw)
- **Traces:** Add traces panel suggestion. [#83089](https://github.com/grafana/grafana/issues/83089), [@joey-grafana](https://github.com/joey-grafana)
- **CloudWatch:** Update AWS/EC2 metrics. [#83039](https://github.com/grafana/grafana/issues/83039), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Update AWS/Lambda metrics. [#83038](https://github.com/grafana/grafana/issues/83038), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Update AWS/ES metrics. [#83037](https://github.com/grafana/grafana/issues/83037), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Update AWS/AutoScaling metrics. [#83036](https://github.com/grafana/grafana/issues/83036), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Update AWS/Kafka metrics. [#83035](https://github.com/grafana/grafana/issues/83035), [@jangaraj](https://github.com/jangaraj)
- **Page:** Use browser native scrollbars for the main page content. [#82919](https://github.com/grafana/grafana/issues/82919), [@joshhunt](https://github.com/joshhunt)
- **Parca:** Apply template variables for labelSelector in query. [#82910](https://github.com/grafana/grafana/issues/82910), [@lzakharov](https://github.com/lzakharov)
- **Grafana/UI:** Replace Splitter with useSplitter hook and refactor PanelEdit snapping logic to useSnappingSplitter hook . [#82895](https://github.com/grafana/grafana/issues/82895), [@torkelo](https://github.com/torkelo)
- **Cloudwatch:** Add linting to restrict imports from core. [#82538](https://github.com/grafana/grafana/issues/82538), [@idastambuk](https://github.com/idastambuk)
- **Grafana/icons:** Add icons package. [#82314](https://github.com/grafana/grafana/issues/82314), [@Clarity-89](https://github.com/Clarity-89)
- **Storage:** Watch support. [#82282](https://github.com/grafana/grafana/issues/82282), [@DanCech](https://github.com/DanCech)
- **Image Rendering:** Add settings for default width, height and scale. [#82040](https://github.com/grafana/grafana/issues/82040), [@khushijain21](https://github.com/khushijain21)
- **AzureMonitor:** User authentication support. [#81918](https://github.com/grafana/grafana/issues/81918), [@aangelisc](https://github.com/aangelisc)
- **Plugins:** Disable uninstall while cloud uninstall is not completed. [#81907](https://github.com/grafana/grafana/issues/81907), [@oshirohugo](https://github.com/oshirohugo)
- **Plugins:** Disable update button when cloud install is not completed. [#81716](https://github.com/grafana/grafana/issues/81716), [@oshirohugo](https://github.com/oshirohugo)
- **Expressions:** Sql expressions with Duckdb. [#81666](https://github.com/grafana/grafana/issues/81666), [@scottlepp](https://github.com/scottlepp)
- **BarChart:** TooltipPlugin2. [#80920](https://github.com/grafana/grafana/issues/80920), [@leeoniya](https://github.com/leeoniya)
- **Grafana:** Replace magic number with a constant variable in response status. [#80132](https://github.com/grafana/grafana/issues/80132), [@rlaisqls](https://github.com/rlaisqls)
- **Alerting:** Update rule access control to explicitly check for permissions "alert.rules:read" and "folders:read". [#78289](https://github.com/grafana/grafana/issues/78289), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Update provisioning API to support regular permissions. [#77007](https://github.com/grafana/grafana/issues/77007), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Whitelabelling:** Override version in UI from config. (Enterprise)
- **Alerting:** Remove legacy alerting. (Enterprise)
- **Reporting:** Delete Deprecated Endpoint for Single Dashboard. (Enterprise)
- **Plugins:** Add endpoint to get provisioned plugins from an instance. (Enterprise)
- **Reporting:** Delete Deprecated Endpoint for Scheduling. (Enterprise)
- **Reporting:** Delete Deprecated Endpoint for Email. (Enterprise)
### Bug fixes
- **RBAC:** Fix access checks for interactions with RBAC roles in hosted Grafana. [#85520](https://github.com/grafana/grafana/issues/85520), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Keybindings:** Replace mod+h as help shortcut with ? . [#85449](https://github.com/grafana/grafana/issues/85449), [@tskarhed](https://github.com/tskarhed)
- **RBAC:** Fix slow user permission search query on MySQL. [#85410](https://github.com/grafana/grafana/issues/85410), [@gamab](https://github.com/gamab)
- **BrowseDashboards:** Add subpath to URLs on Browse Dashboards page. [#85354](https://github.com/grafana/grafana/issues/85354), [@butkovv](https://github.com/butkovv)
- **Dashboards:** Fix issue where long ad-hoc values broke UI. [#85290](https://github.com/grafana/grafana/issues/85290), [@kaydelaney](https://github.com/kaydelaney)
- **NodeGraph:** Fix possible metadata mismatch between nodes in graph. [#85261](https://github.com/grafana/grafana/issues/85261), [@aocenas](https://github.com/aocenas)
- **Alerting:** Fix receiver inheritance when provisioning a notification policy. [#85193](https://github.com/grafana/grafana/issues/85193), [@julienduchesne](https://github.com/julienduchesne)
- **AuthProxy:** Fix missing session for ldap auth proxy users. [#85136](https://github.com/grafana/grafana/issues/85136), [@Jguer](https://github.com/Jguer)
- **RBAC:** Fix slow user permission search query on MySQL. [#85058](https://github.com/grafana/grafana/issues/85058), [@gamab](https://github.com/gamab)
- **CloudMonitoring:** Only run query if filters are complete. [#85004](https://github.com/grafana/grafana/issues/85004), [@aangelisc](https://github.com/aangelisc)
- **BrowseDashboards:** Add subpath to URLs on Browse Dashboards page. [#84992](https://github.com/grafana/grafana/issues/84992), [@butkovv](https://github.com/butkovv)
- **Datasources:** Fix expressions that reference hidden queries. [#84977](https://github.com/grafana/grafana/issues/84977), [@sunker](https://github.com/sunker)
- **Canvas:** Fix crash when trying to add wind turbine element. [#84962](https://github.com/grafana/grafana/issues/84962), [@nmarrs](https://github.com/nmarrs)
- **InfluxDB:** Fix alias interpolation when it has $\_\_interval or multiple tags. [#84940](https://github.com/grafana/grafana/issues/84940), [@itsmylife](https://github.com/itsmylife)
- **Alerting:** Stop returning autogen routes for non-admin on api/v2/status. [#84864](https://github.com/grafana/grafana/issues/84864), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Fix broken panelId links. [#84839](https://github.com/grafana/grafana/issues/84839), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** External AM fix parsing basic auth with escape characters. [#84681](https://github.com/grafana/grafana/issues/84681), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Support PromQL-style matchers. [#84672](https://github.com/grafana/grafana/issues/84672), [@gillesdemey](https://github.com/gillesdemey)
- **FolderPicker:** Add permission filter to nested folder picker. [#84644](https://github.com/grafana/grafana/issues/84644), [@joshhunt](https://github.com/joshhunt)
- **RolePicker:** Don't try to fetch roles for new form. [#84630](https://github.com/grafana/grafana/issues/84630), [@kalleep](https://github.com/kalleep)
- **Pyroscope:** Fix template variable support. [#84477](https://github.com/grafana/grafana/issues/84477), [@aocenas](https://github.com/aocenas)
- **Scenes:** Fix public dashboard email sharing section. [#84467](https://github.com/grafana/grafana/issues/84467), [@juanicabanas](https://github.com/juanicabanas)
- **Alerting:** Fix AlertsFolderView not showing rules when using nested folders. [#84465](https://github.com/grafana/grafana/issues/84465), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Jaeger:** Fix flaky test. [#84441](https://github.com/grafana/grafana/issues/84441), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **Scenes:** Fix issue with discarding unsaved changes modal in new dashboards. [#84369](https://github.com/grafana/grafana/issues/84369), [@kaydelaney](https://github.com/kaydelaney)
- **PostgreSQL:** Display correct initial value for tls mode. [#84356](https://github.com/grafana/grafana/issues/84356), [@gabor](https://github.com/gabor)
- **Cloudwatch:** Fix issue with Grafana Assume Role. [#84315](https://github.com/grafana/grafana/issues/84315), [@sarahzinger](https://github.com/sarahzinger)
- **Playlists:** Fix kiosk mode not activating when starting a playlist. [#84262](https://github.com/grafana/grafana/issues/84262), [@joshhunt](https://github.com/joshhunt)
- **Google Cloud Monitor:** Fix `res` being accessed after it becomes `nil` in `promql_query.go`. [#84223](https://github.com/grafana/grafana/issues/84223), [@adamyeats](https://github.com/adamyeats)
- **Elasticsearch:** Fix using of individual query time ranges when querying. [#84201](https://github.com/grafana/grafana/issues/84201), [@ivanahuckova](https://github.com/ivanahuckova)
- **InfluxDB:** Fix for wrong query generated with template variable and non regex operator on frontend mode. [#84175](https://github.com/grafana/grafana/issues/84175), [@wasim-nihal](https://github.com/wasim-nihal)
- **Prometheus:** Remove &lt; and &gt; from Query Builder Label Matcher operations. [#83981](https://github.com/grafana/grafana/issues/83981), [@kylebrandt](https://github.com/kylebrandt)
- **Worker:** Use CorsWorker to avoid CORS issues. [#83976](https://github.com/grafana/grafana/issues/83976), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **Tempo:** Fix by operator to support multiple arguments. [#83947](https://github.com/grafana/grafana/issues/83947), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **Plugins Catalog:** Fix plugin details page initial flickering. [#83896](https://github.com/grafana/grafana/issues/83896), [@leventebalogh](https://github.com/leventebalogh)
- **Loki:** Interpolate variables in live queries. [#83831](https://github.com/grafana/grafana/issues/83831), [@ivanahuckova](https://github.com/ivanahuckova)
- **Table Panel:** Fix condition for showing footer options. [#83801](https://github.com/grafana/grafana/issues/83801), [@codeincarnate](https://github.com/codeincarnate)
- **Alerting:** Fix bug in screenshot service using incorrect limit. [#83786](https://github.com/grafana/grafana/issues/83786), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Fix editing Grafana folder via alert rule editor. [#83771](https://github.com/grafana/grafana/issues/83771), [@gillesdemey](https://github.com/gillesdemey)
- **Cloudwatch:** Fix new ConfigEditor to add the custom namespace field . [#83762](https://github.com/grafana/grafana/issues/83762), [@idastambuk](https://github.com/idastambuk)
- **LDAP:** Fix LDAP users authenticated via auth proxy not being able to use LDAP active sync. [#83715](https://github.com/grafana/grafana/issues/83715), [@Jguer](https://github.com/Jguer)
- **Elasticsearch:** Fix adhoc filters not applied in frontend mode. [#83592](https://github.com/grafana/grafana/issues/83592), [@svennergr](https://github.com/svennergr)
- **RBAC:** Fix delete team permissions on team delete. [#83442](https://github.com/grafana/grafana/issues/83442), [@gamab](https://github.com/gamab)
- **Dashboards:** Fixes issue where panels would not refresh if time range updated while in panel view mode. [#83418](https://github.com/grafana/grafana/issues/83418), [@kaydelaney](https://github.com/kaydelaney)
- **AzureMonitor:** Fix mishandled resources vs workspaces. [#83184](https://github.com/grafana/grafana/issues/83184), [@adamyeats](https://github.com/adamyeats)
- **Sql:** Fix an issue with connection limits not updating when jsonData is updated. [#83175](https://github.com/grafana/grafana/issues/83175), [@jarben](https://github.com/jarben)
- **Alerting:** Use time_intervals instead of the deprecated mute_time_intervals in a…. [#83147](https://github.com/grafana/grafana/issues/83147), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **DataFrame:** Improve typing of arrayToDataFrame helper and fix null/undefined handling. [#83104](https://github.com/grafana/grafana/issues/83104), [@aocenas](https://github.com/aocenas)
- **Cloudwatch:** Fix filter button issue in VariableEditor. [#83082](https://github.com/grafana/grafana/issues/83082), [@wilguo](https://github.com/wilguo)
- **Alerting:** Fix panic in provisioning filter contacts by unknown name. [#83070](https://github.com/grafana/grafana/issues/83070), [@JacobsonMT](https://github.com/JacobsonMT)
- **Search:** Include collapsed panels in search v2. [#83047](https://github.com/grafana/grafana/issues/83047), [@suntala](https://github.com/suntala)
- **Plugins:** Fix loading modules that only export a default. [#82299](https://github.com/grafana/grafana/issues/82299), [@sd2k](https://github.com/sd2k)
- **Table:** Fix units showing in footer after reductions without units. [#82081](https://github.com/grafana/grafana/issues/82081), [@codeincarnate](https://github.com/codeincarnate)
- **AuthProxy:** Invalidate previous cached item for user when changes are made to any header. [#81445](https://github.com/grafana/grafana/issues/81445), [@klesh](https://github.com/klesh)
- **Unit:** Add SI prefix for empty unit. [#79897](https://github.com/grafana/grafana/issues/79897), [@raymalt](https://github.com/raymalt)
- **Variables:** Multi-select DataSource variables are inconsistently displayed in the Data source picker. [#76039](https://github.com/grafana/grafana/issues/76039), [@polibb](https://github.com/polibb)
- **SAML:** Better error message for saml private key type errors. (Enterprise)
- **Reporting:** Fix monthly schedule text and modify monthly schedule inputs behavior. (Enterprise)
### Breaking changes
In 9.3 we released a way to set `case_insensitive_login` to true. This enables, lowercased username, login for users signing up with Grafana, for more information read our [blog post](https://grafana.com/blog/2022/12/12/guide-to-using-the-new-grafana-cli-user-identity-conflict-tool-in-grafana-9.3/).
If you encounter any issues with users signing up, we recommend everyone to use lowercase in their login, username otherwise refer to the blog post for how to solve any of the users that can be conflicting with their login/username. Issue [#84972](https://github.com/grafana/grafana/issues/84972)
This is a breaking change for users who use uppercase in their login or emails. The users are by default now using lowercase as part of their login and emails.
Before this code change, users would be able to still log in as either `aUser@user.com` or `auser@user.com`, users are now only able to login and signup with grafana using lowercasing `auser@user.com`.
We recommend reviewing the [blog post](https://grafana.com/blog/2022/12/12/guide-to-using-the-new-grafana-cli-user-identity-conflict-tool-in-grafana-9.3/#:~:text=A%20user%20identity%20conflict%20occurs,more%20capitalized%20letters%20%E2%80%9Cgrafana_LOGIN%E2%80%9D.) about using the CLI and why this is important for us to consolidate our security efforts. Issue [#84840](https://github.com/grafana/grafana/issues/84840)
This is a breaking change for users who have restricted the default access to annotation permissions by removing annotation related actions from the Viewer or Editor basic roles. In such cases we are not able to complete the permission migration automatically, and you will see the following log in your Grafana server logs: `basic role permissions missing annotation permissions, skipping annotation permission migration`. You will also notice that dashboard and folder permissions do not appear in the user interface. Don't worry, all the permissions that you assigned are still there, they are just not being displayed.
We recommend reviewing what annotation permissions you have revoked from the basic roles (you can reference [our documentation](https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/) to see what permissions are missing). If you are fine granting them back to the basic roles, do that, then run the following data base command: `DELETE FROM migration_log WHERE migration_id="managed dashboard permissions annotation actions migration"` and restart Grafana. This will make sure that the annotation permission migration gets run again, and this time it should succeed.
If you are not willing to grant the annotation permissions back to the basic roles, please disable `annotationPermissionUpdate` feature toggle (add `annotationPermissionUpdate = false` to `[feature_toggles]` in Grafana's configuration file) and reach out to Grafana's support team. When we can learn more about your use case, we will work with you to find a solution. Issue [#84787](https://github.com/grafana/grafana/issues/84787)
Angular support is turned `off` by default starting Grafana 11, you can find all the details in a [dedicated documentation page.](https://grafana.com/docs/grafana/latest/developers/angular_deprecation/)
Issue [#84738](https://github.com/grafana/grafana/issues/84738)
The **xpack** checkbox dependency for enabling the **Include Frozen Indices** functionality has been removed, allowing direct control over frozen indices inclusion. Users should review their datasource settings to ensure the "Include Frozen Indices" option is configured as desired, particularly if xpack was previously disabled. This change aims to simplify configuration options and may affect queries if settings are not adjusted accordingly. Issue [#84734](https://github.com/grafana/grafana/issues/84734)
For data sources that extend `DataSourceWithBackend`, the `filterQuery` method is now called **before** the data source `query` method. If the `filterQuery` method assumes that some kind of query migration happens before this method is called, you now need to do the migration inside this method.
Users of data source plugins that did not previously remove hidden queries will see a change of behaviour: Before this change, clicking the `Disable query` button had no impact on the query result, but starting from Grafana 11 responses associated with hidden queries will no longer be returned to the panel. Issue [#84656](https://github.com/grafana/grafana/issues/84656)
SystemJS is no longer exported from `@grafana/runtime`. Plugin developers should instead rely on importing modules / packages using standard TS import syntax and npm/yarn for package installation.
Issue [#84561](https://github.com/grafana/grafana/issues/84561)
We've removed the Loki tab from the Tempo data source. You can still access Logs through the Loki data source or can also create a link from Tempo to Loki via our [trace to logs](https://grafana.com/docs/grafana/latest/datasources/tempo/configure-tempo-data-source/#trace-to-logs) feature. Issue [#84346](https://github.com/grafana/grafana/issues/84346)
The `query` option in `splitOpen` was deprecated in `10.1` and is now being removed. Issue [#83973](https://github.com/grafana/grafana/issues/83973)
Since https://github.com/grafana/grafana/pull/38942 (Grafana `8.2.0`) the `ExploreQueryFieldProps` type was deprecated and is now removed. Issue [#83972](https://github.com/grafana/grafana/issues/83972)
Since https://github.com/grafana/grafana/pull/38942 `exploreId` is no longer supplied to query editors in Explore. The property was deprecated in `10.3.0` and is now removed. If your query editor needs to know from which app is being rendered, you can check the `app` prop in `QueryEditorProps`. Issue [#83971](https://github.com/grafana/grafana/issues/83971)
The Vector interface that was deprecated in Grafana 10 has been further deprecated. Using it will now generate build-time Typescript errors, but remain working at runtime. If you're still using ArrayVector in your code, it should be removed immediately and replaced with plain arrays. Plugins compiled against older versions and depend on calling get/set will continue to work because the Array prototype still has a modified prototype. This will be removed in the future Issue [#83681](https://github.com/grafana/grafana/issues/83681)
In Grafana 11 the legacy alerting reaches the end-of-life. Users cannot enable it and Grafana will refuse to start if the settings are not updated to run the new Grafana Alerting. Migration from legacy alerting is not available as well. Grafana 10.4.x is the last version that offers the migration.
- If the setting `[alerting].enable` is set to `true` Grafana will not start and emit the log message with recommendations to change the configuration
- Setting `[alerting].max_annotation_age` is replaced by `[unified_alerting.state_history.annotations].max_age`
- Setting `[alerting].max_annotations_to_keep` is replaced by `[unified_alerting.state_history.annotations].max_annotations_to_keep`
- setting `[unified_alerting].execute_alerts` does not fall back to the legacy `[alerting].execute_alerts` anymore. Instead, the default value `true` is used.
- setting `[unified_alerting].evaluation_timeout` does not fall back to the legacy setting `[alerting].evaluation_timeout_seconds` in the case when it is either invalid or has the default value. Now, if the setting is invalid, it will cause Grafana to exit.
- setting `[unified_alerting].min_interval` does not fall back to the legacy setting `[alerting].min_interval_seconds` in the case when it is either invalid or has the default value. Now, if the setting is invalid, it will cause Grafana to exit. Issue [#83651](https://github.com/grafana/grafana/issues/83651)
We've removed React 17 as a peer dependency from our packages. Anyone using the new versions of these packages should ensure they've upgraded to React 18 following the upgrade steps: https://react.dev/blog/2022/03/08/react-18-upgrade-guide Issue [#83524](https://github.com/grafana/grafana/issues/83524)
We're adding a validation between the response of the ID token HD parameter and the list of allowed domains as an extra layer of security. In the event that the HD parameter doesn't match the list of allowed domains, we're denying access to Grafana.
If you set Google OAuth configuration using `api_url,` you might be using the legacy implementation of OAuth, which doesn't have the HD parameter describing the organisation the approved token comes from. This could break your login flow.
This feature can be turned off through the configuration toggle `validate_hd `. Anyone using the legacy Google OAuth configuration should turn off this validation if the ID Token response doesn't have the HD parameter. Issue [#83229](https://github.com/grafana/grafana/issues/83229)
The direct input datasource plugin has been removed in Grafana 11. It has been in alpha for 4 years and is superseded by [TestData](https://grafana.com/docs/grafana/latest/datasources/testdata/) that ships with Grafana.
Issue [#83163](https://github.com/grafana/grafana/issues/83163)
The alert rule API methods now require more permissions for users to perform changes to rules. To create a new rule or update or delete an existing one, the user must have permission to read from the folder that stores the rules (i.e. permission `folder:read` in the scope of the rule's folder) and permission to read alert rules in that folder (i.e. permission `alert.rules:read`
The standard roles already have all required permissions, and therefore, neither OSS nor Grafana Enterprise users who use the fixed roles (standard roles provided by Grafana) are affected. **Only Grafana Enterprise users who create custom roles can be affected** Issue [#78289](https://github.com/grafana/grafana/issues/78289)
The deprecated endpoint for rendering pdf of a single dashboard `GET /render/pdf/:dashboardID` and report model fields `dashboardId`, `dashboardName`, `dashboardUid`, and `templateVars` have been removed. Only new endpoint `GET /api/reports/render/pdfs` accepting `dashboards` list is support moving forward Issue [#6362](https://github.com/grafana/grafana/issues/6362)
The deprecated old schedule setting with separate fields `hour,` `minute`, `day` have been removed. Only new schedule setting with `startDate` will be supported moving forward Issue [#6329](https://github.com/grafana/grafana/issues/6329)
The deprecated `email` field to send a report via `/api/reports/email` endpoint have been removed. Only `emails` field will be supported moving forward. Issue [#6328](https://github.com/grafana/grafana/issues/6328)
### Plugin development fixes & changes
- **GrafanaUI:** Add new `EmptyState` component. [#84891](https://github.com/grafana/grafana/issues/84891), [@ashharrison90](https://github.com/ashharrison90)
- **Grafana/Runtime:** Remove SystemJS export. [#84561](https://github.com/grafana/grafana/issues/84561), [@jackw](https://github.com/jackw)
- **Grafana UI:** Add code variant to Text component. [#82318](https://github.com/grafana/grafana/issues/82318), [@tskarhed](https://github.com/tskarhed)
<!-- 11.0.0-preview END -->
<!-- 10.4.5 START -->
# 10.4.5 (2024-06-21)
### Bug fixes
- **Echo:** Suppress errors from frontend-metrics API call failing. [#89498](https://github.com/grafana/grafana/issues/89498), [@joshhunt](https://github.com/joshhunt)
- **Azure Monitor:** Add validation for namespace field in AdvancedResourcePicker when entering a forward slash. [#89313](https://github.com/grafana/grafana/issues/89313), [@adamyeats](https://github.com/adamyeats)
<!-- 10.4.5 END -->
<!-- 10.4.4 START -->
# 10.4.4 (2024-06-13)
### Bug fixes
- **BrowseDashboards:** Prepend subpath to New Browse Dashboard actions. [#89129](https://github.com/grafana/grafana/issues/89129), [@joshhunt](https://github.com/joshhunt)
- **Alerting:** Fix rule storage to filter by group names using case-sensitive comparison. [#89061](https://github.com/grafana/grafana/issues/89061), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix editing Grafana folder via alert rule editor. [#88907](https://github.com/grafana/grafana/issues/88907), [@gillesdemey](https://github.com/gillesdemey)
- **AzureMonitor:** Fix bug detecting app insights queries. [#88786](https://github.com/grafana/grafana/issues/88786), [@aangelisc](https://github.com/aangelisc)
- **AuthN:** Fix signout redirect url. [#88749](https://github.com/grafana/grafana/issues/88749), [@kalleep](https://github.com/kalleep)
- **SSE:** Fix threshold unmarshal to avoid panic. [#88650](https://github.com/grafana/grafana/issues/88650), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix typo in JSON response for rule export. [#88094](https://github.com/grafana/grafana/issues/88094), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **CloudMonitoring:** Fix query type selection issue. [#88023](https://github.com/grafana/grafana/issues/88023), [@aangelisc](https://github.com/aangelisc)
- **Provisioning:** Add override option to role provisioning. (Enterprise)
<!-- 10.4.4 END -->
<!-- 10.4.3 START -->
# 10.4.3 (2024-05-13)
### Features and enhancements
- **Chore:** Upgrade go to 1.21.10. [#87473](https://github.com/grafana/grafana/issues/87473), [@stephaniehingtgen](https://github.com/stephaniehingtgen)
- **Chore:** Upgrade go to 1.21.10. (Enterprise)
### Bug fixes
- **CloudMonitoring:** Improve legacy query migrations. [#87647](https://github.com/grafana/grafana/issues/87647), [@aangelisc](https://github.com/aangelisc)
- **Azure data sources:** Set selected config type before save. [#87585](https://github.com/grafana/grafana/issues/87585), [@bossinc](https://github.com/bossinc)
- **Provisioning:** Look up provisioned folders by UID when possible. [#87467](https://github.com/grafana/grafana/issues/87467), [@DanCech](https://github.com/DanCech)
- **Cloudwatch:** Update grafana-aws-sdk to fix sts endpoints. [#87348](https://github.com/grafana/grafana/issues/87348), [@iwysiu](https://github.com/iwysiu)
- **Alerting:** Prevent search from locking the browser. [#87231](https://github.com/grafana/grafana/issues/87231), [@gillesdemey](https://github.com/gillesdemey)
- **SQLStore:** Disable redundant create and drop unique index migrations on dashboard table. [#86866](https://github.com/grafana/grafana/issues/86866), [@papagian](https://github.com/papagian)
- **Alerting:** Take receivers into account when custom grouping Alertmanager groups. [#86697](https://github.com/grafana/grafana/issues/86697), [@konrad147](https://github.com/konrad147)
- **LDAP:** Fix listing all non-matching groups. [#86690](https://github.com/grafana/grafana/issues/86690), [@mgyongyosi](https://github.com/mgyongyosi)
- **Alerting:** Fix simplified routing group by override. [#86620](https://github.com/grafana/grafana/issues/86620), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy. [#86162](https://github.com/grafana/grafana/issues/86162), [@alexweav](https://github.com/alexweav)
- **LibraryPanelRBAC:** Fix issue with importing dashboards containing library panels. [#86150](https://github.com/grafana/grafana/issues/86150), [@kaydelaney](https://github.com/kaydelaney)
- **Google Cloud Monitor:** Fix `res` being accessed after it becomes `nil` in `promql_query.go`. [#85959](https://github.com/grafana/grafana/issues/85959), [@adamyeats](https://github.com/adamyeats)
- **Google Cloud Monitor:** Fix interface conversion for incorrect type in cloudMonitoringProm.run. [#85957](https://github.com/grafana/grafana/issues/85957), [@adamyeats](https://github.com/adamyeats)
- **Dashboard:** Allow `auto` refresh option when saving a dashboard. [#85921](https://github.com/grafana/grafana/issues/85921), [@bfmatei](https://github.com/bfmatei)
- **Reporting:** Fix monthly schedule text and modify monthly schedule inputs behavior. (Enterprise)
- **SAML:** Fix Authn request generation in case of HTTP-POST binding. (Enterprise)
<!-- 10.4.3 END -->
<!-- 10.4.2 START -->
# 10.4.2 (2024-04-10)
### Bug fixes
- **Angular deprecation:** Prefer local "angularDetected" value to the remote one. [#85631](https://github.com/grafana/grafana/issues/85631), [@xnyo](https://github.com/xnyo)
- **AuthProxy:** Fix missing session for ldap auth proxy users. [#85237](https://github.com/grafana/grafana/issues/85237), [@Jguer](https://github.com/Jguer)
- **Alerting:** Fix receiver inheritance when provisioning a notification policy. [#85192](https://github.com/grafana/grafana/issues/85192), [@julienduchesne](https://github.com/julienduchesne)
- **CloudMonitoring:** Only run query if filters are complete. [#85016](https://github.com/grafana/grafana/issues/85016), [@aangelisc](https://github.com/aangelisc)
<!-- 10.4.2 END -->
<!-- 10.4.1 START -->
# 10.4.1 (2024-03-20)
@@ -241,6 +947,32 @@ Any consumers of the specific API should be appropriately adapted. Issue [#74600
- **Grafana/UI:** Add new Splitter component . [#82357](https://github.com/grafana/grafana/issues/82357), [@torkelo](https://github.com/torkelo)
<!-- 10.4.0 END -->
<!-- 10.3.7 START -->
# 10.3.7 (2024-06-21)
### Bug fixes
- **Echo:** Suppress errors from frontend-metrics API call failing. [#89497](https://github.com/grafana/grafana/issues/89497), [@joshhunt](https://github.com/joshhunt)
<!-- 10.3.7 END -->
<!-- 10.3.6 START -->
# 10.3.6 (2024-05-13)
### Features and enhancements
- **Chore:** Upgrade go to 1.21.10. [#87474](https://github.com/grafana/grafana/issues/87474), [@stephaniehingtgen](https://github.com/stephaniehingtgen)
- **Chore:** Upgrade go to 1.21.10. (Enterprise)
### Bug fixes
- **Azure data sources:** Set selected config type before save. [#87584](https://github.com/grafana/grafana/issues/87584), [@bossinc](https://github.com/bossinc)
- **LibraryPanelRBAC:** Fix issue with importing dashboards containing library panels. [#86148](https://github.com/grafana/grafana/issues/86148), [@kaydelaney](https://github.com/kaydelaney)
- **AuthProxy:** Fix missing session for ldap auth proxy users. [#85250](https://github.com/grafana/grafana/issues/85250), [@Jguer](https://github.com/Jguer)
- **PDF:** Fix initialization when SMTP is disabled. (Enterprise)
<!-- 10.3.6 END -->
<!-- 10.3.5 START -->
# 10.3.5 (2024-03-20)
@@ -400,6 +1132,47 @@ Users who have InfluxDB datasource configured with SQL querying language must up
Removes `NamespaceID` from responses of all GET routes underneath the path `/api/ruler/grafana/api/v1/rules` - 3 affected endpoints. All affected routes are not in the publicly documented or `stable` marked portion of the ngalert API. This only breaks clients who are directly using the unstable portion of the API. Such clients should use `NamespaceUID` rather than `NamespaceID` to identify namespaces. Issue [#79359](https://github.com/grafana/grafana/issues/79359)
<!-- 10.3.0 END -->
<!-- 10.2.8 START -->
# 10.2.8 (2024-06-21)
### Bug fixes
- **Elasticsearch:** Fix URL creation and allowlist for `/_mapping` requests. [#87711](https://github.com/grafana/grafana/issues/87711), [@svennergr](https://github.com/svennergr)
<!-- 10.2.8 END -->
<!-- 10.2.7 START -->
# 10.2.7 (2024-05-13)
### Features and enhancements
- **Chore:** Upgrade go to 1.21.10. [#87475](https://github.com/grafana/grafana/issues/87475), [@stephaniehingtgen](https://github.com/stephaniehingtgen)
- **Chore:** Upgrade go to 1.21.10. (Enterprise)
### Bug fixes
- **Azure data sources:** Set selected config type before save. [#87583](https://github.com/grafana/grafana/issues/87583), [@bossinc](https://github.com/bossinc)
<!-- 10.2.7 END -->
<!-- 10.2.6 START -->
# 10.2.6 (2024-03-25)
### Features and enhancements
- **Postgres:** Allow disabling SNI on SSL-enabled connections. [#84258](https://github.com/grafana/grafana/issues/84258), [@papagian](https://github.com/papagian)
### Bug fixes
- **CloudMonitoring:** Only run query if filters are complete. [#85014](https://github.com/grafana/grafana/issues/85014), [@aangelisc](https://github.com/aangelisc)
- **Snapshots:** Require delete within same org (backport). [#84730](https://github.com/grafana/grafana/issues/84730), [@ryantxu](https://github.com/ryantxu)
- **Dashboard:** Fix issue where out-of-view shared query panels caused blank dependent panels. [#84195](https://github.com/grafana/grafana/issues/84195), [@kaydelaney](https://github.com/kaydelaney)
- **Dashboards:** Run shared queries even when source panel is in collapsed row. [#84166](https://github.com/grafana/grafana/issues/84166), [@kaydelaney](https://github.com/kaydelaney)
- **Prometheus:** Fix calculating rate interval when there is no interval specified. [#84082](https://github.com/grafana/grafana/issues/84082), [@itsmylife](https://github.com/itsmylife)
- **Prometheus:** Fix $\_\_rate_interval calculation. [#84063](https://github.com/grafana/grafana/issues/84063), [@tolzhabayev](https://github.com/tolzhabayev)
<!-- 10.2.6 END -->
<!-- 10.2.5 START -->
# 10.2.5 (2024-03-06)
@@ -1094,6 +1867,25 @@ Starting with 10.2, `parentRowIndex` is deprecated. It will be removed in a futu
- **Drawer:** Make content scroll by default. [#75287](https://github.com/grafana/grafana/issues/75287), [@ashharrison90](https://github.com/ashharrison90)
<!-- 10.2.0 END -->
<!-- 10.1.10 START -->
# 10.1.10 (2024-05-13)
### Features and enhancements
- **Chore:** Upgrade go to 1.21.10. [#87476](https://github.com/grafana/grafana/issues/87476), [@stephaniehingtgen](https://github.com/stephaniehingtgen)
- **Chore:** Upgrade go to 1.21.10. (Enterprise)
<!-- 10.1.10 END -->
<!-- 10.1.9 START -->
# 10.1.9 (2024-03-25)
### Bug fixes
- **Snapshots:** Require delete within same org (backport). [#84765](https://github.com/grafana/grafana/issues/84765), [@ryantxu](https://github.com/ryantxu)
<!-- 10.1.9 END -->
<!-- 10.1.8 START -->
# 10.1.8 (2024-03-06)
@@ -1613,6 +2405,15 @@ Starting with 10.0, changing the folder UID is deprecated. It will be removed in
- **Grafana/ui:** Fix margin in RadioButtonGroup option when only icon is present. [#68899](https://github.com/grafana/grafana/issues/68899), [@aocenas](https://github.com/aocenas)
<!-- 10.1.0 END -->
<!-- 10.0.13 START -->
# 10.0.13 (2024-03-25)
### Bug fixes
- **Snapshots:** Require delete within same org (backport). [#84764](https://github.com/grafana/grafana/issues/84764), [@ryantxu](https://github.com/ryantxu)
<!-- 10.0.13 END -->
<!-- 10.0.12 START -->
# 10.0.12 (2024-03-06)
@@ -2163,6 +2964,34 @@ The `database` field has been deprecated in the Elasticsearch datasource provisi
- **InteractiveTable:** Updated design and minor tweak to Correlactions page. [#66443](https://github.com/grafana/grafana/issues/66443), [@torkelo](https://github.com/torkelo)
<!-- 10.0.0-preview END -->
<!-- 9.5.20 START -->
# 9.5.20 (2024-06-21)
<!-- 9.5.20 END -->
<!-- 9.5.19 START -->
# 9.5.19 (2024-05-13)
### Features and enhancements
- **Chore:** Upgrade go to 1.21.10. [#87478](https://github.com/grafana/grafana/issues/87478), [@stephaniehingtgen](https://github.com/stephaniehingtgen)
- **Chore:** Upgrade go to 1.21.10. (Enterprise)
### Bug fixes
- **Provisioning:** Look up provisioned folders by UID when possible. [#87504](https://github.com/grafana/grafana/issues/87504), [@DanCech](https://github.com/DanCech)
<!-- 9.5.19 END -->
<!-- 9.5.18 START -->
# 9.5.18 (2024-03-25)
### Bug fixes
- **Snapshots:** Require delete within same org (backport). [#84762](https://github.com/grafana/grafana/issues/84762), [@ryantxu](https://github.com/ryantxu)
<!-- 9.5.18 END -->
<!-- 9.5.17 START -->
# 9.5.17 (2024-03-05)
+12 -10
View File
@@ -3,7 +3,7 @@
ARG BASE_IMAGE=alpine:3.19.1
ARG JS_IMAGE=node:20-alpine
ARG JS_PLATFORM=linux/amd64
ARG GO_IMAGE=golang:1.21.8-alpine
ARG GO_IMAGE=golang:1.22.4-alpine
ARG GO_SRC=go-builder
ARG JS_SRC=js-builder
@@ -14,18 +14,18 @@ ENV NODE_OPTIONS=--max_old_space_size=8000
WORKDIR /tmp/grafana
COPY package.json yarn.lock .yarnrc.yml ./
COPY package.json project.json nx.json yarn.lock .yarnrc.yml ./
COPY .yarn .yarn
COPY packages packages
COPY plugins-bundled plugins-bundled
COPY public public
COPY LICENSE ./
RUN apk add --no-cache make build-base python3
RUN yarn install --immutable
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js ./
COPY public public
COPY scripts scripts
COPY emails emails
@@ -40,12 +40,12 @@ ARG GO_BUILD_TAGS="oss"
ARG WIRE_TAGS="oss"
ARG BINGO="true"
# This is required to allow building on arm64 due to https://github.com/golang/go/issues/22040
RUN apk add --no-cache binutils-gold
# Install build dependencies
RUN if grep -i -q alpine /etc/issue; then \
apk add --no-cache gcc g++ make git; \
apk add --no-cache \
# This is required to allow building on arm64 due to https://github.com/golang/go/issues/22040
binutils-gold \
# Install build dependencies
gcc g++ make git; \
fi
WORKDIR /tmp/grafana
@@ -57,7 +57,10 @@ COPY .bingo .bingo
COPY pkg/util/xorm/go.* pkg/util/xorm/
COPY pkg/apiserver/go.* pkg/apiserver/
COPY pkg/apimachinery/go.* pkg/apimachinery/
COPY pkg/build/go.* pkg/build/
COPY pkg/build/wire/go.* pkg/build/wire/
COPY pkg/promlib/go.* pkg/promlib/
COPY pkg/storage/unified/resource/go.* pkg/storage/unified/resource/
RUN go mod download
RUN if [[ "$BINGO" = "true" ]]; then \
@@ -76,7 +79,6 @@ COPY pkg pkg
COPY scripts scripts
COPY conf conf
COPY .github .github
COPY LICENSE ./
ENV COMMIT_SHA=${COMMIT_SHA}
ENV BUILD_BRANCH=${BUILD_BRANCH}
@@ -178,7 +180,7 @@ RUN if [ ! $(getent group "$GF_GID") ]; then \
COPY --from=go-src /tmp/grafana/bin/grafana* /tmp/grafana/bin/*/grafana* ./bin/
COPY --from=js-src /tmp/grafana/public ./public
COPY --from=go-src /tmp/grafana/LICENSE ./
COPY --from=js-src /tmp/grafana/LICENSE ./
EXPOSE 3000
-1
View File
@@ -10,7 +10,6 @@ The following directories and their subdirectories are licensed under Apache-2.0
```
packages/grafana-data/
packages/grafana-e2e/
packages/grafana-e2e-selectors/
packages/grafana-runtime/
packages/grafana-ui/
+110 -19
View File
@@ -7,29 +7,37 @@ WIRE_TAGS = "oss"
-include local/Makefile
include .bingo/Variables.mk
.PHONY: all deps-go deps-js deps build-go build-backend build-server build-cli build-js build build-docker-full build-docker-full-ubuntu lint-go golangci-lint test-go test-js gen-ts test run run-frontend clean devenv devenv-down protobuf drone help gen-go gen-cue fix-cue gen-feature-toggles
GO = go
GO_VERSION = 1.22.4
GO_FILES ?= ./pkg/... ./pkg/apiserver/... ./pkg/apimachinery/... ./pkg/promlib/...
SH_FILES ?= $(shell find ./scripts -name *.sh)
GO_RACE := $(shell [ -n "$(GO_RACE)" -o -e ".go-race-enabled-locally" ] && echo 1 )
GO_RACE_FLAG := $(if $(GO_RACE),-race)
GO_BUILD_FLAGS += $(if $(GO_BUILD_DEV),-dev)
GO_BUILD_FLAGS += $(if $(GO_BUILD_TAGS),-build-tags=$(GO_BUILD_TAGS))
GO_BUILD_FLAGS += $(GO_RACE_FLAG)
targets := $(shell echo '$(sources)' | tr "," " ")
GO_INTEGRATION_TESTS := $(shell find ./pkg -type f -name '*_test.go' -exec grep -l '^func TestIntegration' '{}' '+' | grep -o '\(.*\)/' | sort -u)
.PHONY: all
all: deps build
##@ Dependencies
.PHONY: deps-go
deps-go: ## Install backend dependencies.
$(GO) run build.go setup
$(GO) run $(GO_RACE_FLAG) build.go setup
.PHONY: deps-js
deps-js: node_modules ## Install frontend dependencies.
.PHONY: deps
deps: deps-js ## Install all dependencies.
.PHONY: node_modules
node_modules: package.json yarn.lock ## Install node modules.
@echo "install frontend dependencies"
YARN_ENABLE_PROGRESS_BARS=false yarn install --immutable
@@ -47,17 +55,20 @@ $(MERGED_SPEC_TARGET): swagger-oss-gen swagger-enterprise-gen $(NGALERT_SPEC_TAR
# known conflicts DsPermissionType, AddApiKeyCommand, Json, Duration (identical models referenced by both specs)
$(SWAGGER) mixin -q $(SPEC_TARGET) $(ENTERPRISE_SPEC_TARGET) $(NGALERT_SPEC_TARGET) --ignore-conflicts -o $(MERGED_SPEC_TARGET)
.PHONY: swagger-oss-gen
swagger-oss-gen: $(SWAGGER) ## Generate API Swagger specification
@echo "re-generating swagger for OSS"
rm -f $(SPEC_TARGET)
SWAGGER_GENERATE_EXTENSION=false $(SWAGGER) generate spec -q -m -w pkg/server -o $(SPEC_TARGET) \
-x "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" \
-x "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" \
-x "github.com/prometheus/alertmanager" \
-i pkg/api/swagger_tags.json \
--exclude-tag=alpha \
--exclude-tag=enterprise
# this file only exists if enterprise is enabled
.PHONY: swagger-enterprise-gen
ENTERPRISE_EXT_FILE = pkg/extensions/ext.go
ifeq ("$(wildcard $(ENTERPRISE_EXT_FILE))","") ## if enterprise is not enabled
swagger-enterprise-gen:
@@ -68,17 +79,21 @@ swagger-enterprise-gen: $(SWAGGER) ## Generate API Swagger specification
rm -f $(ENTERPRISE_SPEC_TARGET)
SWAGGER_GENERATE_EXTENSION=false $(SWAGGER) generate spec -q -m -w pkg/server -o $(ENTERPRISE_SPEC_TARGET) \
-x "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" \
-x "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" \
-x "github.com/prometheus/alertmanager" \
-i pkg/api/swagger_tags.json \
--exclude-tag=alpha \
--include-tag=enterprise
endif
.PHONY: swagger-gen
swagger-gen: gen-go $(MERGED_SPEC_TARGET) swagger-validate
.PHONY: swagger-validate
swagger-validate: $(MERGED_SPEC_TARGET) $(SWAGGER) ## Validate API spec
$(SWAGGER) validate --skip-warnings $(<)
.PHONY: swagger-clean
swagger-clean:
rm -f $(SPEC_TARGET) $(MERGED_SPEC_TARGET) $(OAPI_SPEC_TARGET)
@@ -97,15 +112,37 @@ lefthook-uninstall: $(LEFTHOOK)
##@ OpenAPI 3
OAPI_SPEC_TARGET = public/openapi3.json
.PHONY: openapi3-gen
openapi3-gen: swagger-gen ## Generates OpenApi 3 specs from the Swagger 2 already generated
$(GO) run scripts/openapi3/openapi3conv.go $(MERGED_SPEC_TARGET) $(OAPI_SPEC_TARGET)
$(GO) run $(GO_RACE_FLAG) scripts/openapi3/openapi3conv.go $(MERGED_SPEC_TARGET) $(OAPI_SPEC_TARGET)
##@ Internationalisation
.PHONY: i18n-extract-enterprise
ENTERPRISE_FE_EXT_FILE = public/app/extensions/index.ts
ifeq ("$(wildcard $(ENTERPRISE_FE_EXT_FILE))","") ## if enterprise is not enabled
i18n-extract-enterprise:
@echo "Skipping i18n extract for Enterprise: not enabled"
else
i18n-extract-enterprise:
@echo "Extracting i18n strings for Enterprise"
yarn run i18next --config public/locales/i18next-parser-enterprise.config.cjs
node ./public/locales/pseudo.mjs --mode enterprise
endif
.PHONY: i18n-extract
i18n-extract: i18n-extract-enterprise
@echo "Extracting i18n strings for OSS"
yarn run i18next --config public/locales/i18next-parser.config.cjs
node ./public/locales/pseudo.mjs --mode oss
##@ Building
.PHONY: gen-cue
gen-cue: ## Do all CUE/Thema code generation
@echo "generate code from .cue files"
go generate ./kinds/gen.go
go generate ./public/app/plugins/gen.go
.PHONY: gen-feature-toggles
gen-feature-toggles:
## First go test run fails because it will re-generate the feature toggles.
## Second go test run will compare the generated files and pass.
@@ -117,34 +154,47 @@ gen-feature-toggles:
go test -v ./pkg/services/featuremgmt/...; \
fi
gen-go: $(WIRE)
.PHONY: gen-go
gen-go:
@echo "generate go files"
$(WIRE) gen -tags $(WIRE_TAGS) ./pkg/server
$(GO) run $(GO_RACE_FLAG) ./pkg/build/wire/cmd/wire/main.go gen -tags $(WIRE_TAGS) ./pkg/server
.PHONY: fix-cue
fix-cue: $(CUE)
@echo "formatting cue files"
$(CUE) fix kinds/**/*.cue
$(CUE) fix public/app/plugins/**/**/*.cue
.PHONY: gen-jsonnet
gen-jsonnet:
go generate ./devenv/jsonnet
build-go: gen-go ## Build all Go binaries.
.PHONY: update-workspace
update-workspace:
@echo "updating workspace"
$(GO) mod download
.PHONY: build-go
build-go: update-workspace gen-go ## Build all Go binaries.
@echo "build go files"
$(GO) run build.go $(GO_BUILD_FLAGS) build
.PHONY: build-backend
build-backend: ## Build Grafana backend.
@echo "build backend"
$(GO) run build.go $(GO_BUILD_FLAGS) build-backend
.PHONY: build-server
build-server: ## Build Grafana server.
@echo "build server"
$(GO) run build.go $(GO_BUILD_FLAGS) build-server
.PHONY: build-cli
build-cli: ## Build Grafana CLI application.
@echo "build grafana-cli"
$(GO) run build.go $(GO_BUILD_FLAGS) build-cli
.PHONY: build-js
build-js: ## Build frontend assets.
@echo "build frontend"
yarn run build
@@ -152,6 +202,7 @@ build-js: ## Build frontend assets.
PLUGIN_ID ?=
.PHONY: build-plugin-go
build-plugin-go: ## Build decoupled plugins
@echo "build plugin $(PLUGIN_ID)"
@cd pkg/tsdb; \
@@ -161,11 +212,19 @@ build-plugin-go: ## Build decoupled plugins
fi; \
mage -v buildplugin $(PLUGIN_ID)
.PHONY: build
build: build-go build-js ## Build backend and frontend.
run: $(BRA) ## Build and run web server on filesystem changes.
.PHONY: run
run: $(BRA) ## Build and run web server on filesystem changes. See /.bra.toml for configuration.
$(BRA) run
.PHONY: run-go
run-go: ## Build and run web server immediately.
$(GO) run -race $(if $(GO_BUILD_TAGS),-build-tags=$(GO_BUILD_TAGS)) \
./pkg/cmd/grafana -- server -profile -profile-addr=127.0.0.1 -profile-port=6000 -packaging=dev cfg:app_mode=development
.PHONY: run-frontend
run-frontend: deps-js ## Fetch js dependencies and watch frontend for rebuild
yarn start
@@ -178,61 +237,66 @@ test-go: test-go-unit test-go-integration
test-go-unit: ## Run unit tests for backend with flags.
@echo "test backend unit tests"
go list -f '{{.Dir}}/...' -m | xargs \
$(GO) test -short -covermode=atomic -timeout=30m
$(GO) test $(GO_RACE_FLAG) -short -covermode=atomic -timeout=30m
.PHONY: test-go-integration
test-go-integration: ## Run integration tests for backend with flags.
@echo "test backend integration tests"
$(GO) test -count=1 -run "^TestIntegration" -covermode=atomic -timeout=5m $(GO_INTEGRATION_TESTS)
$(GO) test $(GO_RACE_FLAG) -count=1 -run "^TestIntegration" -covermode=atomic -timeout=5m $(GO_INTEGRATION_TESTS)
.PHONY: test-go-integration-alertmanager
test-go-integration-alertmanager: ## Run integration tests for the remote alertmanager (config taken from the mimir_backend block).
@echo "test remote alertmanager integration tests"
$(GO) clean -testcache
AM_URL=http://localhost:8080 AM_TENANT_ID=test \
$(GO) test -count=1 -run "^TestIntegrationRemoteAlertmanager" -covermode=atomic -timeout=5m ./pkg/services/ngalert/...
$(GO) test $(GO_RACE_FLAG) -count=1 -run "^TestIntegrationRemoteAlertmanager" -covermode=atomic -timeout=5m ./pkg/services/ngalert/...
.PHONY: test-go-integration-postgres
test-go-integration-postgres: devenv-postgres ## Run integration tests for postgres backend with flags.
@echo "test backend integration postgres tests"
$(GO) clean -testcache
GRAFANA_TEST_DB=postgres \
$(GO) test -p=1 -count=1 -run "^TestIntegration" -covermode=atomic -timeout=10m $(GO_INTEGRATION_TESTS)
$(GO) test $(GO_RACE_FLAG) -p=1 -count=1 -run "^TestIntegration" -covermode=atomic -timeout=10m $(GO_INTEGRATION_TESTS)
.PHONY: test-go-integration-mysql
test-go-integration-mysql: devenv-mysql ## Run integration tests for mysql backend with flags.
@echo "test backend integration mysql tests"
GRAFANA_TEST_DB=mysql \
$(GO) test -p=1 -count=1 -run "^TestIntegration" -covermode=atomic -timeout=10m $(GO_INTEGRATION_TESTS)
$(GO) test $(GO_RACE_FLAG) -p=1 -count=1 -run "^TestIntegration" -covermode=atomic -timeout=10m $(GO_INTEGRATION_TESTS)
.PHONY: test-go-integration-redis
test-go-integration-redis: ## Run integration tests for redis cache.
@echo "test backend integration redis tests"
$(GO) clean -testcache
REDIS_URL=localhost:6379 $(GO) test -run IntegrationRedis -covermode=atomic -timeout=2m $(GO_INTEGRATION_TESTS)
REDIS_URL=localhost:6379 $(GO) test $(GO_RACE_FLAG) -run IntegrationRedis -covermode=atomic -timeout=2m $(GO_INTEGRATION_TESTS)
.PHONY: test-go-integration-memcached
test-go-integration-memcached: ## Run integration tests for memcached cache.
@echo "test backend integration memcached tests"
$(GO) clean -testcache
MEMCACHED_HOSTS=localhost:11211 $(GO) test -run IntegrationMemcached -covermode=atomic -timeout=2m $(GO_INTEGRATION_TESTS)
MEMCACHED_HOSTS=localhost:11211 $(GO) test $(GO_RACE_FLAG) -run IntegrationMemcached -covermode=atomic -timeout=2m $(GO_INTEGRATION_TESTS)
.PHONY: test-js
test-js: ## Run tests for frontend.
@echo "test frontend"
yarn test
.PHONY: test
test: test-go test-js ## Run all tests.
##@ Linting
.PHONY: golangci-lint
golangci-lint: $(GOLANGCI_LINT)
@echo "lint via golangci-lint"
$(GOLANGCI_LINT) run \
--config .golangci.toml \
$(GO_FILES)
.PHONY: lint-go
lint-go: golangci-lint ## Run all code checks for backend. You can use GO_FILES to specify exact files to check
# with disabled SC1071 we are ignored some TCL,Expect `/usr/bin/env expect` scripts
.PHONY: shellcheck
shellcheck: $(SH_FILES) ## Run checks for shell scripts.
@docker run --rm -v "$$PWD:/mnt" koalaman/shellcheck:stable \
$(SH_FILES) -e SC1071 -e SC2162
@@ -242,6 +306,7 @@ shellcheck: $(SH_FILES) ## Run checks for shell scripts.
TAG_SUFFIX=$(if $(WIRE_TAGS)!=oss,-$(WIRE_TAGS))
PLATFORM=linux/amd64
.PHONY: build-docker-full
build-docker-full: ## Build Docker image for development.
@echo "build docker container"
tar -ch . | \
@@ -255,6 +320,7 @@ build-docker-full: ## Build Docker image for development.
--tag grafana/grafana$(TAG_SUFFIX):dev \
$(DOCKER_BUILD_ARGS)
.PHONY: build-docker-full-ubuntu
build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
@echo "build docker container"
tar -ch . | \
@@ -266,7 +332,7 @@ build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
--build-arg COMMIT_SHA=$$(git rev-parse HEAD) \
--build-arg BUILD_BRANCH=$$(git rev-parse --abbrev-ref HEAD) \
--build-arg BASE_IMAGE=ubuntu:22.04 \
--build-arg GO_IMAGE=golang:1.21.8 \
--build-arg GO_IMAGE=golang:$(GO_VERSION) \
--tag grafana/grafana$(TAG_SUFFIX):dev-ubuntu \
$(DOCKER_BUILD_ARGS)
@@ -274,6 +340,7 @@ build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
# create docker-compose file with provided sources and start them
# example: make devenv sources=postgres,auth/openldap
.PHONY: devenv
ifeq ($(sources),)
devenv:
@printf 'You have to define sources for this command \nexample: make devenv sources=postgres,openldap\n'
@@ -287,15 +354,18 @@ devenv: devenv-down ## Start optional services, e.g. postgres, prometheus, and e
docker-compose up -d --build
endif
.PHONY: devenv-down
devenv-down: ## Stop optional services.
@cd devenv; \
test -f docker-compose.yaml && \
docker-compose down || exit 0;
.PHONY: devenv-postgres
devenv-postgres:
@cd devenv; \
sources=postgres_tests
.PHONY: devenv-mysql
devenv-mysql:
@cd devenv; \
sources=mysql_tests
@@ -307,18 +377,23 @@ devenv-mysql:
# go-gettable dependency and so getting it installed can be inconvenient.
#
# If you are working on changes to protobuf interfaces you may either use
# this target or run the individual scripts below directly.
# this target or run the individual scripts below directly
.PHONY: protobuf
protobuf: ## Compile protobuf definitions
bash scripts/protobuf-check.sh
bash pkg/plugins/backendplugin/pluginextensionv2/generate.sh
bash pkg/plugins/backendplugin/secretsmanagerplugin/generate.sh
bash pkg/services/store/entity/generate.sh
go install google.golang.org/protobuf/cmd/protoc-gen-go
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
buf generate pkg/plugins/backendplugin/pluginextensionv2 --template pkg/plugins/backendplugin/pluginextensionv2/buf.gen.yaml
buf generate pkg/plugins/backendplugin/secretsmanagerplugin --template pkg/plugins/backendplugin/secretsmanagerplugin/buf.gen.yaml
buf generate pkg/services/store/entity --template pkg/services/store/entity/buf.gen.yaml
.PHONY: clean
clean: ## Clean up intermediate build artifacts.
@echo "cleaning"
rm -rf node_modules
rm -rf public/build
.PHONY: gen-ts
gen-ts:
@echo "generating TypeScript definitions"
go get github.com/tkrajina/typescriptify-golang-structs/typescriptify@v0.1.7
@@ -328,6 +403,7 @@ gen-ts:
# This repository's configuration is protected (https://readme.drone.io/signature/).
# Use this make target to regenerate the configuration YAML files when
# you modify starlark files.
.PHONY: drone
drone: $(DRONE)
bash scripts/drone/env-var-check.sh
$(DRONE) starlark --format
@@ -335,11 +411,26 @@ drone: $(DRONE)
$(DRONE) --server https://drone.grafana.net sign --save grafana/grafana
# Generate an Emacs tags table (https://www.gnu.org/software/emacs/manual/html_node/emacs/Tags-Tables.html) for Starlark files.
.PHONY: scripts/drone/TAGS
scripts/drone/TAGS: $(shell find scripts/drone -name '*.star')
etags --lang none --regex="/def \(\w+\)[^:]+:/\1/" --regex="/\s*\(\w+\) =/\1/" $^ -o $@
.PHONY: format-drone
format-drone:
buildifier --lint=fix -r scripts/drone
.PHONY: go-race-is-enabled
go-race-is-enabled:
@if [ -n "$(GO_RACE)" ]; then \
echo "The Go race detector is enabled locally, yey!"; \
else \
echo "The Go race detector is NOT enabled locally, boo!"; \
fi;
.PHONY: enable-go-race
enable-go-race:
@touch .go-race-enabled-locally
.PHONY: help
help: ## Display this help.
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
+1 -1
View File
@@ -14,7 +14,7 @@ Team members and their access to repositories is maintained through [GitHub team
Examples of proposed changes are overarching architecture, component design, and specific code or graphical elements. Proposed changes SHOULD cover the big picture and intention, but individual parts SHOULD be split into the smallest possible changes. Changes SHOULD be based on and target the main branch. Depending on size of the proposed change, each change SHOULD be discussed, in increasing order of change size and complexity:
- Directly in a RR (Pull Request) - this MAY be done, but SHOULD not be the common case.
- Directly in a PR (Pull Request) - this MAY be done, but SHOULD not be the common case.
- Issue
- Developer mailing list
- Design document, shared via Google Docs, accessible to at least all team members.
@@ -0,0 +1 @@
module:"notifications"
+32
View File
@@ -0,0 +1,32 @@
package core
receiver: {
kind: "Receiver"
group: "notifications"
apiResource: {
groupOverride: "notifications.alerting.grafana.app"
}
codegen: {
frontend: false
backend: true
}
pluralName: "Receivers"
current: "v0alpha1"
versions: {
"v0alpha1": {
schema: {
#Integration: {
uid?: string
type: string
disableResolveMessage?: bool
settings: bytes
secureFields?: [string]: bool
}
spec: {
title: string
integrations : [...#Integration]
}
}
}
}
}
@@ -0,0 +1,37 @@
package core
timeInterval: {
kind: "TimeInterval"
group: "notifications"
apiResource: {
groupOverride: "notifications.alerting.grafana.app"
}
codegen: {
frontend: false
backend: true
}
pluralName: "TimeIntervals"
current: "v0alpha1"
versions: {
"v0alpha1": {
schema: {
#TimeRange: {
start_time: string
end_time: string
}
#Interval: {
times?: [...#TimeRange]
weekdays?: [...string]
days_of_month?: [...string]
months?: [...string]
years?: [...string]
location?: string
}
spec: {
name: string
time_intervals: [...#Interval]
}
}
}
}
}
+127 -5
View File
@@ -104,6 +104,14 @@ address = "127.0.0.1:10000"
use_tls = false
cert_file =
key_file =
# this will log the request and response for each unary gRPC call
enable_logging = false
# Maximum size of a message that can be received in bytes. If not set, uses the gRPC default (4MiB).
max_recv_msg_size =
# Maximum size of a message that can be sent in bytes. If not set, uses the gRPC default (unlimited).
max_send_msg_size =
#################################### Database ############################
[database]
@@ -137,7 +145,7 @@ log_queries =
# For "mysql", use either "true", "false", or "skip-verify".
ssl_mode = disable
# For "postregs", use either "1" to enable or "0" to disable SNI
# For "postgres", use either "1" to enable or "0" to disable SNI
ssl_sni =
# Database drivers may support different transaction isolation levels.
@@ -482,8 +490,8 @@ verify_email_enabled = false
login_default_org_id =
# Background text for the user field on the login page
login_hint = email or username
password_hint = password
login_hint =
password_hint =
# Default UI theme ("dark" or "light" or "system")
default_theme = dark
@@ -511,6 +519,9 @@ user_invite_max_lifetime_duration = 24h
# The duration in time a verification email, used to update the email address of a user, remains valid before expiring. This setting should be expressed as a duration. Examples: 6h (hours), 2d (days), 1w (week). Default is 1h (1 hour).
verification_email_max_lifetime_duration = 1h
# Frequency of updating a user's last seen time. The minimum supported duration is 5m (5 minutes). The maximum supported duration is 1h (1 hour)
last_seen_update_interval = 15m
# Enter a comma-separated list of usernames to hide them in the Grafana UI. These users are shown to Grafana admins and to themselves.
hidden_users =
@@ -639,6 +650,7 @@ team_ids =
allowed_organizations =
role_attribute_path =
role_attribute_strict = false
org_mapping =
allow_assign_grafana_admin = false
skip_org_role_sync = false
tls_skip_verify_insecure = false
@@ -666,6 +678,7 @@ allowed_domains =
allowed_groups =
role_attribute_path =
role_attribute_strict = false
org_mapping =
allow_assign_grafana_admin = false
skip_org_role_sync = false
tls_skip_verify_insecure = false
@@ -695,6 +708,7 @@ hosted_domain =
allowed_groups =
role_attribute_path =
role_attribute_strict = false
org_mapping =
allow_assign_grafana_admin = false
skip_org_role_sync = true
tls_skip_verify_insecure = false
@@ -745,6 +759,7 @@ allowed_domains =
allowed_groups =
allowed_organizations =
role_attribute_strict = false
org_mapping =
allow_assign_grafana_admin = false
force_use_graph_api = false
tls_skip_verify_insecure = false
@@ -773,6 +788,8 @@ allowed_domains =
allowed_groups =
role_attribute_path =
role_attribute_strict = false
org_attribute_path =
org_mapping =
allow_assign_grafana_admin = false
skip_org_role_sync = false
tls_skip_verify_insecure = false
@@ -799,6 +816,8 @@ login_attribute_path =
name_attribute_path =
role_attribute_path =
role_attribute_strict = false
org_attribute_path =
org_mapping =
groups_attribute_path =
id_token_attribute_name =
team_ids_attribute_path =
@@ -852,6 +871,8 @@ enable_login_token = false
header_name =
email_claim =
username_claim =
email_attribute_path =
username_attribute_path =
jwk_set_url =
jwk_set_file =
cache_ttl = 60m
@@ -865,7 +886,6 @@ auto_sign_up = false
url_login = false
allow_assign_grafana_admin = false
skip_org_role_sync = false
signout_redirect_url =
#################################### Auth LDAP ###########################
[auth.ldap]
@@ -910,6 +930,10 @@ forward_settings_to_plugins = cloudwatch, grafana-athena-datasource, grafana-red
# Default value is AzureCloud (i.e. public cloud)
cloud = AzureCloud
# A customized list of Azure cloud settings and properties, used by data sources which need this information when run in non-standard azure environments
# When specified, this list will replace the default cloud list of AzureCloud, AzureChinaCloud, AzureUSGovernment and AzureGermanCloud
clouds_config =
# Specifies whether Grafana hosted in Azure service with Managed Identity configured (e.g. Azure Virtual Machines instance)
# If enabled, the managed identity can be used for authentication of Grafana in Azure services
# Disabled by default, needs to be explicitly enabled
@@ -961,6 +985,11 @@ user_identity_client_id =
# By default is the same as used in AAD authentication or can be set to another application (for OBO flow)
user_identity_client_secret =
# Allows the usage of a custom token request assertion when Grafana is behind an authentication proxy
# In most cases this will not need to be used. To enable this set the value to "username"
# The default is empty and any other value will not enable this functionality
username_assertion =
# Set the plugins that will receive Azure settings for each request (via plugin context)
# By default this will include all Grafana Labs owned Azure plugins, or those that make use of Azure settings (Azure Monitor, Azure Data Explorer, Prometheus, MSSQL).
forward_settings_to_plugins = grafana-azure-monitor-datasource, prometheus, grafana-azure-data-explorer-datasource, mssql
@@ -1142,6 +1171,11 @@ global_correlations = -1
# This is not strictly enforced yet, but will be enforced over time.
alerting_rule_group_rules = 100
# Limit the number of query evaluation results per alert rule.
# If the condition query of an alert rule produces more results than this limit,
# the evaluation results in an error.
alerting_rule_evaluation_results = -1
#################################### Unified Alerting ####################
[unified_alerting]
# Enable the Alerting sub-system and interface.
@@ -1158,7 +1192,12 @@ admin_config_poll_interval = 60s
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
alertmanager_config_poll_interval = 60s
# The redis server address that should be connected to.
# Set to true when using redis in cluster mode.
ha_redis_cluster_mode_enabled = false
# The redis server address(es) that should be connected to.
# Can either be a single address, or if using redis in cluster mode,
# the cluster configuration address or a comma-separated list of addresses.
ha_redis_address =
# The username that should be used to authenticate with the redis server.
@@ -1181,6 +1220,34 @@ ha_redis_peer_name =
# The maximum number of simultaneous redis connections.
ha_redis_max_conns = 5
# Enable TLS on the client used to communicate with the redis server. This should be set to true
# if using any of the other ha_redis_tls_* fields.
ha_redis_tls_enabled = false
# Path to the PEM-encoded TLS client certificate file used to authenticate with the redis server.
# Required if using Mutual TLS.
ha_redis_tls_cert_path =
# Path to the PEM-encoded TLS private key file. Also requires the client certificate to be configured.
# Required if using Mutual TLS.
ha_redis_tls_key_path =
# Path to the PEM-encoded CA certificates file. If not set, the host's root CA certificates are used.
ha_redis_tls_ca_path =
# Overrides the expected name of the redis server certificate.
ha_redis_tls_server_name =
# Skips validating the redis server certificate.
ha_redis_tls_insecure_skip_verify =
# Overrides the default TLS cipher suite list.
ha_redis_tls_cipher_suites =
# Overrides the default minimum TLS version.
# Allowed values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13
ha_redis_tls_min_version =
# Listen address/hostname and port to receive unified alerting messages for other Grafana instances. The port is used for both TCP and UDP. It is assumed other Grafana instances are also running on the same port.
ha_listen_address = "0.0.0.0:9094"
@@ -1206,6 +1273,10 @@ ha_label =
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
ha_gossip_interval = 200ms
# Length of time to attempt to reconnect to a lost peer. Recommended to be short (<15m) when Grafana is running in a Kubernetes cluster.
# The string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
ha_reconnect_timeout = 6h
# The interval between gossip full state syncs. Setting this interval lower (more frequent) will increase convergence speeds
# across larger clusters at the expense of increased bandwidth usage.
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
@@ -1238,6 +1309,12 @@ state_periodic_save_interval = 5m
# Rules will evaluate in sync.
disable_jitter = false
# Retention period for Alertmanager notification log entries.
notification_log_retention = 5d
# Duration for which a resolved alert state transition will continue to be sent to the Alertmanager.
resolved_alert_retention = 15m
[unified_alerting.screenshots]
# Enable screenshots in notifications. You must have either installed the Grafana image rendering
# plugin, or set up Grafana to use a remote rendering service.
@@ -1315,6 +1392,12 @@ loki_basic_auth_password =
# Optional max query length for queries sent to Loki. Default is 721h which matches the default Loki value.
loki_max_query_length = 721h
# For "loki" only.
# Maximum size in bytes for queries sent to Loki. This limit is applied to user provided filters as well as system defined ones, e.g. applied by access control.
# If filter exceeds the limit, API returns error with code "alerting.state-history.loki.requestTooLong".
# Default is 64kb
loki_max_query_size = 65536
[unified_alerting.state_history.external_labels]
# Optional extra labels to attach to outbound state history records or log streams.
# Any number of label key-value-pairs can be provided.
@@ -1333,6 +1416,23 @@ max_age =
# Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
max_annotations_to_keep =
[recording_rules]
# Target URL (including write path) for recording rules.
url =
# Optional username for basic authentication on recording rule write requests. Can be left blank to disable basic auth
basic_auth_username =
# Optional assword for basic authentication on recording rule write requests. Can be left blank.
basic_auth_password =
# Request timeout for recording rule writes.
timeout = 10s
# Optional custom headers to include in recording rule write requests.
[recording_rules.custom_headers]
# exampleHeader = exampleValue
# NOTE: this configuration options are not used yet.
[remote.alertmanager]
@@ -1415,6 +1515,11 @@ concurrent_query_limit =
# Enable the Query history
enabled = true
#################################### Short Links #############################
[short_links]
# Short links which are never accessed will be deleted as cleanup. Time is in days. Default is 7 days. Max is 365. 0 means they will be deleted approximately every 10 minutes.
expire_time = 7
#################################### Internal Grafana Metrics ############
# Metrics available at HTTP URL /metrics and /metrics/plugins/:pluginId
[metrics]
@@ -1448,6 +1553,7 @@ url = https://grafana.com
[grafana_com]
url = https://grafana.com
api_url = https://grafana.com/api
sso_api_token = ""
#################################### Distributed tracing ############
# Opentracing is deprecated use opentelemetry instead
@@ -1821,3 +1927,19 @@ enabled = true
[cloud_migration]
# Set to true to enable target-side migration UI
is_target = false
# Token used to send requests to grafana com
gcom_api_token = ""
# How long to wait for a request sent to gms to start a snapshot to complete
start_snapshot_timeout = 5s
# How long to wait for a request to fetch an instance to complete
fetch_instance_timeout = 5s
# How long to wait for a request to create an access policy to complete
create_access_policy_timeout = 5s
# How long to wait for a request to create to fetch an access policy to complete
fetch_access_policy_timeout = 5s
# How long to wait for a request to create to delete an access policy to complete
delete_access_policy_timeout = 5s
# The domain name used to access cms
domain = grafana-dev.net
# Folder used to store snapshot files. Defaults to the home dir
snapshot_folder = ""
+1 -1
View File
@@ -191,7 +191,7 @@ apiVersion: 1
# - orgID: 1
# # <string, required> name of the template, must be unique
# name: my_first_template
# # <string, required> content of the the template
# # <string, required> content of the template
# template: Alerting with a custome text template
# # List of templates that should be deleted
+262 -42
View File
@@ -31,13 +31,13 @@
# Protocol (http, https, h2, socket)
;protocol = http
# This is the minimum TLS version allowed. By default, this value is empty. Accepted values are: TLS1.2, TLS1.3. If nothing is set TLS1.2 would be taken
# Minimum TLS version allowed. By default, this value is empty. Accepted values are: TLS1.2, TLS1.3. If nothing is set TLS1.2 would be taken
;min_tls_version = ""
# The ip address to bind to, empty will bind to all interfaces
;http_addr =
# The http port to use
# The http port to use
;http_port = 3000
# The public facing domain name used to access grafana from a browser
@@ -94,6 +94,10 @@
#exampleHeader1 = exampleValue1
#exampleHeader2 = exampleValue2
[environment]
# Sets whether the local file system is available for Grafana to use. Default is true for backward compatibility.
;local_file_system_available = true
#################################### GRPC Server #########################
;[grpc_server]
;network = "tcp"
@@ -101,6 +105,10 @@
;use_tls = false
;cert_file =
;key_file =
;max_recv_msg_size =
;max_send_msg_size =
# this will log the request and response for each unary gRPC call
;enable_logging = false
#################################### Database ####################################
[database]
@@ -114,16 +122,27 @@
;user = root
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
;password =
# Use either URL or the previous fields to configure the database
# Example: mysql://user:secret@host:port/database
;url =
# Max idle conn setting default is 2
;max_idle_conn = 2
# Max conn setting default is 0 (mean not set)
;max_open_conn =
# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)
;conn_max_lifetime = 14400
# Set to true to log the sql calls and execution times.
;log_queries =
# For "postgres", use either "disable", "require" or "verify-full"
# For "mysql", use either "true", "false", or "skip-verify".
;ssl_mode = disable
# For "postregs", use either "1" to enable or "0" to disable SNI
# For "postgres", use either "1" to enable or "0" to disable SNI
;ssl_sni =
# Database drivers may support different transaction isolation levels.
@@ -140,18 +159,6 @@
# For "sqlite3" only, path relative to data_path setting
;path = grafana.db
# Max idle conn setting default is 2
;max_idle_conn = 2
# Max conn setting default is 0 (mean not set)
;max_open_conn =
# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)
;conn_max_lifetime = 14400
# Set to true to log the sql calls and execution times.
;log_queries =
# For "sqlite3" only. cache mode setting used for connecting to the database. (private, shared)
;cache_mode = private
@@ -161,7 +168,7 @@
# For "mysql" and "postgres" only. Lock the database for the migrations, default is true.
;migration_locking = true
# For "mysql" and "postgres" only if migrationLocking is set. How many seconds to wait before failing to lock the database for the migrations, default is 0.
# For "mysql" and "postgres" only. How many seconds to wait before failing to lock the database for the migrations, default is 0.
;locking_attempt_timeout_sec = 0
# For "sqlite" only. How many times to retry query in case of database is locked failures. Default is 0 (disabled).
@@ -173,11 +180,6 @@
# Set to true to add metrics and tracing for database queries.
;instrument_queries = false
################################### Data sources #########################
[datasources]
# Upper limit of data sources that Grafana will return. This limit is a temporary configuration and it will be deprecated when pagination will be introduced on the list data sources API.
;datasource_limit = 5000
#################################### Cache server #############################
[remote_cache]
# Either "redis", "memcached" or "database" default is "database"
@@ -298,6 +300,12 @@
# Intercom secret, optional, used to hash user_id before passing to Intercom via Rudderstack
;intercom_secret =
# Application Insights connection string. Specify an URL string to enable this feature.
;application_insights_connection_string =
# Optional. Specifies an Application Insights endpoint URL where the endpoint string is wrapped in backticks ``.
;application_insights_endpoint_url =
# Controls if the UI contains any links to user feedback forms
;feedback_links_enabled = true
@@ -381,6 +389,7 @@
# $NONCE in the template includes a random nonce.
# $ROOT_PATH is server.root_url without the protocol.
;content_security_policy_report_only_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
# Controls if old angular plugins are supported or not.
;angular_support_enabled = false
@@ -422,7 +431,7 @@
# remove expired snapshot
;snapshot_remove_expired = true
#################################### Dashboards History ##################
#################################### Dashboards ##################
[dashboards]
# Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1
;versions_to_keep = 20
@@ -434,6 +443,30 @@
# Path to the default home dashboard. If this value is empty, then Grafana uses StaticRootPath + "dashboards/home.json"
;default_home_dashboard_path =
################################### Data sources #########################
[datasources]
# Upper limit of data sources that Grafana will return. This limit is a temporary configuration and it will be deprecated when pagination will be introduced on the list data sources API.
;datasource_limit = 5000
# Number of queries to be executed concurrently. Only for the datasource supports concurrency.
# For now only Loki and InfluxDB (with influxql) are supporting concurrency behind the feature flags.
# Check datasource documentations for enabling concurrency.
;concurrent_query_count = 10
################################### SQL Data Sources #####################
[sql_datasources]
# Default maximum number of open connections maintained in the connection pool
# when connecting to SQL based data sources
;max_open_conns_default = 100
# Default maximum number of idle connections maintained in the connection pool
# when connecting to SQL based data sources
;max_idle_conns_default = 100
# Default maximum connection lifetime used when connecting
# to SQL based data sources.
;max_conn_lifetime_default = 14400
#################################### Users ###############################
[users]
# disable user signup / registration
@@ -461,7 +494,7 @@
;login_hint = email or username
;password_hint = password
# Default UI theme ("dark" or "light")
# Default UI theme ("dark", "light" or "system")
;default_theme = dark
# Default UI language (supported IETF language tag, such as en-US)
@@ -487,6 +520,9 @@
# The duration in time a verification email, used to update the email address of a user, remains valid before expiring. This setting should be expressed as a duration. Examples: 6h (hours), 2d (days), 1w (week). Default is 1h (1 hour).
;verification_email_max_lifetime_duration = 1h
# Frequency of updating a user's last seen time. The minimum supported duration is 5m (5 minutes). The maximum supported duration is 1h (1 hour).
;last_seen_update_interval = 15m
# Enter a comma-separated list of users login to hide them in the Grafana UI. These users are shown to Grafana admins and themselves.
; hidden_users =
@@ -556,9 +592,6 @@
# Set to true to enable Azure authentication option for HTTP-based datasources.
;azure_auth_enabled = false
# Set to skip the organization role from JWT login and use system's role assignment instead.
; skip_org_role_sync = false
# Use email lookup in addition to the unique ID provided by the IdP
;oauth_allow_insecure_email_lookup = false
@@ -587,6 +620,9 @@
# mask the Grafana version number for unauthenticated users
;hide_version = false
# number of devices in total
;device_limit =
#################################### GitHub Auth ##########################
[auth.github]
;name = GitHub
@@ -606,8 +642,15 @@
;allowed_organizations =
;role_attribute_path =
;role_attribute_strict = false
;org_mapping =
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;tls_skip_verify_insecure = false
;tls_client_cert =
;tls_client_key =
;tls_client_ca =
# GitHub OAuth apps does not provide refresh tokens and the access tokens never expires.
;use_refresh_token = false
#################################### GitLab Auth #########################
[auth.gitlab]
@@ -627,6 +670,7 @@
;allowed_groups =
;role_attribute_path =
;role_attribute_strict = false
;org_mapping =
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;tls_skip_verify_insecure = false
@@ -634,6 +678,7 @@
;tls_client_key =
;tls_client_ca =
;use_pkce = true
;use_refresh_token = true
#################################### Google Auth ##########################
[auth.google]
@@ -655,9 +700,15 @@
;allowed_groups =
;role_attribute_path =
;role_attribute_strict = false
;org_mapping =
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;tls_skip_verify_insecure = false
;tls_client_cert =
;tls_client_key =
;tls_client_ca =
;use_pkce = true
;use_refresh_token = true
#################################### Grafana.com Auth ####################
[auth.grafana_com]
@@ -671,6 +722,7 @@
;scopes = user:email
;allowed_organizations =
;skip_org_role_sync = false
;use_refresh_token = false
#################################### Azure AD OAuth #######################
[auth.azuread]
@@ -689,10 +741,12 @@
;allowed_groups =
;allowed_organizations =
;role_attribute_strict = false
;org_mapping =
;allow_assign_grafana_admin = false
;use_pkce = true
# prevent synchronizing users organization roles
;skip_org_role_sync = false
;use_refresh_token = true
#################################### Okta OAuth #######################
[auth.okta]
@@ -711,14 +765,22 @@
;allowed_groups =
;role_attribute_path =
;role_attribute_strict = false
; org_attribute_path =
; org_mapping =
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;tls_skip_verify_insecure = false
;tls_client_cert =
;tls_client_key =
;tls_client_ca =
;use_pkce = true
;use_refresh_token = true
#################################### Generic OAuth ##########################
[auth.generic_oauth]
;enabled = false
;name = OAuth
;icon = signin
;enabled = false
;allow_sign_up = true
;auto_login = false
;client_id = some_id
@@ -729,7 +791,11 @@
;email_attribute_path =
;login_attribute_path =
;name_attribute_path =
;role_attribute_path =
;role_attribute_strict = false
;groups_attribute_path =
;id_token_attribute_name =
;team_ids_attribute_path
;auth_url = https://foo.bar/login/oauth/authorize
;token_url = https://foo.bar/login/oauth/access_token
;api_url = https://foo.bar/user
@@ -738,9 +804,8 @@
;allowed_domains =
;team_ids =
;allowed_organizations =
;role_attribute_path =
;role_attribute_strict = false
;groups_attribute_path =
;org_attribute_path =
;org_mapping =
;team_ids_attribute_path =
;tls_skip_verify_insecure = false
;tls_client_cert =
@@ -749,6 +814,8 @@
;use_pkce = false
;auth_style =
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;use_refresh_token = false
#################################### Basic Auth ##########################
[auth.basic]
@@ -772,9 +839,12 @@
#################################### Auth JWT ##########################
[auth.jwt]
;enabled = true
;enable_login_token = false
;header_name = X-JWT-Assertion
;email_claim = sub
;username_claim = sub
;email_attribute_path = jmespath.email
;username_attribute_path = jmespath.username
;jwk_set_url = https://foo.bar/.well-known/jwks.json
;jwk_set_file = /path/to/jwks.json
;cache_ttl = 60m
@@ -783,11 +853,13 @@
# Use in conjunction with key_file in case the JWT token's header specifies a key ID in "kid" field
;key_id = some-key-id
;role_attribute_path =
;groups_attribute_path =
;role_attribute_strict = false
;groups_attribute_path =
;auto_sign_up = false
;url_login = false
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;signout_redirect_url =
#################################### Auth LDAP ##########################
[auth.ldap]
@@ -833,6 +905,22 @@
# Default value is AzureCloud (i.e. public cloud)
;cloud = AzureCloud
# A customized list of Azure cloud settings and properties, used by data sources which need this information when run in non-standard azure environments
# When specified, this list will replace the default cloud list of AzureCloud, AzureChinaCloud, AzureUSGovernment and AzureGermanCloud
;clouds_config = `[
; {
; "name":"CustomCloud1",
; "displayName":"Custom Cloud 1",
; "aadAuthority":"https://login.cloud1.contoso.com/",
; "properties":{
; "azureDataExplorerSuffix": ".kusto.windows.cloud1.contoso.com",
; "logAnalytics": "https://api.loganalytics.cloud1.contoso.com",
; "portal": "https://portal.azure.cloud1.contoso.com",
; "prometheusResourceId": "https://prometheus.monitor.azure.cloud1.contoso.com",
; "resourceManager": "https://management.azure.cloud1.contoso.com"
; }
; }]`
# Specifies whether Grafana hosted in Azure service with Managed Identity configured (e.g. Azure Virtual Machines instance)
# If enabled, the managed identity can be used for authentication of Grafana in Azure services
# Disabled by default, needs to be explicitly enabled
@@ -884,6 +972,11 @@
# By default is the same as used in AAD authentication or can be set to another application (for OBO flow)
;user_identity_client_secret =
# Allows the usage of a custom token request assertion when Grafana is behind an authentication proxy
# In most cases this will not need to be used. To enable this set the value to "username"
# The default is empty and any other value will not enable this functionality
;username_assertion =
# Set the plugins that will receive Azure settings for each request (via plugin context)
# By default this will include all Grafana Labs owned Azure plugins, or those that make use of Azure settings (Azure Monitor, Azure Data Explorer, Prometheus, MSSQL).
;forward_settings_to_plugins = grafana-azure-monitor-datasource, prometheus, grafana-azure-data-explorer-datasource, mssql
@@ -1054,6 +1147,9 @@
# global limit of alerts
;global_alert_rule = -1
# global limit of files uploaded to the SQL DB
;global_file = 1000
# global limit of correlations
; global_correlations = -1
@@ -1061,6 +1157,11 @@
# This is not strictly enforced yet, but will be enforced over time.
;alerting_rule_group_rules = 100
# Limit the number of query evaluation results per alert rule.
# If the condition query of an alert rule produces more results than this limit,
# the evaluation results in an error.
;alerting_rule_evaluation_results = -1
#################################### Unified Alerting ####################
[unified_alerting]
#Enable the Unified Alerting sub-system and interface. When enabled we'll migrate all of your alert rules and notification channels to the new system. New alert rules will be created and your notification channels will be converted into an Alertmanager configuration. Previous data is preserved to enable backwards compatibility but new data is removed.```
@@ -1077,7 +1178,12 @@
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
;alertmanager_config_poll_interval = 60s
# The redis server address that should be connected to.
# Set to true when using redis in cluster mode.
;ha_redis_cluster_mode_enabled = false
# The redis server address(es) that should be connected to.
# Can either be a single address, or if using redis in cluster mode,
# the cluster configuration address or a comma-separated list of addresses.
;ha_redis_address =
# The username that should be used to authenticate with the redis server.
@@ -1097,6 +1203,37 @@
# provided, a random one will be generated.
;ha_redis_peer_name =
# The maximum number of simultaneous redis connections.
# ha_redis_max_conns = 5
# Enable TLS on the client used to communicate with the redis server. This should be set to true
# if using any of the other ha_redis_tls_* fields.
# ha_redis_tls_enabled = false
# Path to the PEM-encoded TLS client certificate file used to authenticate with the redis server.
# Required if using Mutual TLS.
# ha_redis_tls_cert_path =
# Path to the PEM-encoded TLS private key file. Also requires the client certificate to be configured.
# Required if using Mutual TLS.
# ha_redis_tls_key_path =
# Path to the PEM-encoded CA certificates file. If not set, the host's root CA certificates are used.
# ha_redis_tls_ca_path =
# Overrides the expected name of the redis server certificate.
# ha_redis_tls_server_name =
# Skips validating the redis server certificate.
# ha_redis_tls_insecure_skip_verify =
# Overrides the default TLS cipher suite list.
# ha_redis_tls_cipher_suites =
# Overrides the default minimum TLS version.
# Allowed values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13
# ha_redis_tls_min_version =
# Listen address/hostname and port to receive unified alerting messages for other Grafana instances. The port is used for both TCP and UDP. It is assumed other Grafana instances are also running on the same port. The default value is `0.0.0.0:9094`.
;ha_listen_address = "0.0.0.0:9094"
@@ -1122,6 +1259,10 @@
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
;ha_gossip_interval = "200ms"
# Length of time to attempt to reconnect to a lost peer. Recommended to be short (<15m) when Grafana is running in a Kubernetes cluster.
# The string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
;ha_reconnect_timeout = 6h
# The interval between gossip full state syncs. Setting this interval lower (more frequent) will increase convergence speeds
# across larger clusters at the expense of increased bandwidth usage.
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
@@ -1154,6 +1295,41 @@
# Rules will evaluate in sync.
;disable_jitter = false
# Retention period for Alertmanager notification log entries.
;notification_log_retention = 5d
# Duration for which a resolved alert state transition will continue to be sent to the Alertmanager.
;resolved_alert_retention = 15m
[unified_alerting.screenshots]
# Enable screenshots in notifications. You must have either installed the Grafana image rendering
# plugin, or set up Grafana to use a remote rendering service.
# For more information on configuration options, refer to [rendering].
;capture = false
# The timeout for capturing screenshots. If a screenshot cannot be captured within the timeout then
# the notification is sent without a screenshot. The maximum duration is 30 seconds. This timeout
# should be less than the minimum Interval of all Evaluation Groups to avoid back pressure on alert
# rule evaluation.
;capture_timeout = 10s
# The maximum number of screenshots that can be taken at the same time. This option is different from
# concurrent_render_request_limit as max_concurrent_screenshots sets the number of concurrent screenshots
# that can be taken at the same time for all firing alerts where as concurrent_render_request_limit sets
# the total number of concurrent screenshots across all Grafana services.
;max_concurrent_screenshots = 5
# Uploads screenshots to the local Grafana server or remote storage such as Azure, S3 and GCS. Please
# see [external_image_storage] for further configuration options. If this option is false then
# screenshots will be persisted to disk for up to temp_data_lifetime.
;upload_external_image_storage = false
[unified_alerting.reserved_labels]
# Comma-separated list of reserved labels added by the Grafana Alerting engine that should be disabled.
# For example: `disabled_labels=grafana_folder`
disabled_labels =
[unified_alerting.reserved_labels]
# Comma-separated list of reserved labels added by the Grafana Alerting engine that should be disabled.
# For example: `disabled_labels=grafana_folder`
@@ -1208,6 +1384,12 @@
# Optional max query length for queries sent to Loki. Default is 721h which matches the default Loki value.
; loki_max_query_length = 360h
# For "loki" only.
# Maximum size in bytes for queries sent to Loki. This limit is applied to user provided filters as well as system defined ones, e.g. applied by access control.
# If filter exceeds the limit, API returns error with code "alerting.state-history.loki.requestTooLong".
# Default is 64kb
;loki_max_query_size = 65536
[unified_alerting.state_history.external_labels]
# Optional extra labels to attach to outbound state history records or log streams.
# Any number of label key-value-pairs can be provided.
@@ -1224,6 +1406,24 @@ max_age =
# Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
max_annotations_to_keep =
#################################### Recording Rules #####################
[recording_rules]
# Target URL (including write path) for recording rules.
url =
# Optional username for basic authentication on recording rule write requests. Can be left blank to disable basic auth
basic_auth_username =
# Optional assword for basic authentication on recording rule write requests. Can be left blank.
basic_auth_password =
# Request timeout for recording rule writes.
timeout = 30s
# Optional custom headers to include in recording rule write requests.
[recording_rules.custom_headers]
# exampleHeader = exampleValue
#################################### Annotations #########################
[annotations]
# Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations.
@@ -1284,6 +1484,11 @@ max_annotations_to_keep =
# Enable the Query history
;enabled = true
#################################### Short Links #############################
[short_links]
# Short links which are never accessed will be deleted as cleanup. Time is in days. Default is 7 days. Max is 365. 0 means they will be deleted approximately every 10 minutes.
;expire_time = 7
#################################### Internal Grafana Metrics ##########################
# Metrics available at HTTP URL /metrics and /metrics/plugins/:pluginId
[metrics]
@@ -1317,6 +1522,8 @@ max_annotations_to_keep =
[grafana_com]
;url = https://grafana.com
;api_url = https://grafana.com/api
# Grafana instance - Grafana.com integration SSO API token
;sso_api_token = ""
#################################### Distributed tracing ############
# Opentracing is deprecated use opentelemetry instead
@@ -1389,14 +1596,16 @@ max_annotations_to_keep =
[external_image_storage.webdav]
;url =
;public_url =
;username =
;password =
;public_url =
[external_image_storage.gcs]
;key_file =
;bucket =
;path =
;enable_signed_urls = false
;signed_url_expiration =
[external_image_storage.azure_blob]
;account_name =
@@ -1423,6 +1632,12 @@ max_annotations_to_keep =
# Default is 5m. This should be more than enough for most deployments.
# Change the value only if image rendering is failing and you see `Failed to get the render key from cache` in Grafana logs.
;render_key_lifetime = 5m
# Default width for panel screenshot
;default_image_width = 1000
# Default height for panel screenshot
;default_image_height = 500
# Default scale for panel screenshot
;default_image_scale = 1
[panels]
# If set to true Grafana will allow script tags in text panels. Not recommended as it enable XSS vulnerabilities.
@@ -1502,6 +1717,10 @@ max_annotations_to_keep =
# Default is false. This can be useful to enable (true) when troubleshooting.
;rendering_dumpio =
# Instruct headless browser instance whether to register metrics for the duration of every rendering step. Default is false.
# This can be useful to enable (true) when optimizing the rendering mode settings to improve the plugin performance or when troubleshooting.
;rendering_timing_metrics =
# Additional arguments to pass to the headless browser instance. Default is --no-sandbox. The list of Chromium flags can be found
# here (https://peter.sh/experiments/chromium-command-line-switches/). Multiple arguments is separated with comma-character.
;rendering_args =
@@ -1535,14 +1754,6 @@ max_annotations_to_keep =
;grpc_host =
;grpc_port =
[support_bundles]
# Enable support bundle creation (default: true)
#enabled = true
# Only server admins can generate and view support bundles (default: true)
#server_admin_only = true
# If set, bundles will be encrypted with the provided public keys separated by whitespace
#public_keys = ""
[enterprise]
# Path to a valid Grafana Enterprise license.jwt file
;license_path =
@@ -1595,6 +1806,15 @@ max_annotations_to_keep =
# Enable or disable loading other base map layers
;enable_custom_baselayers = true
#################################### Support Bundles #####################################
[support_bundles]
# Enable support bundle creation (default: true)
#enabled = true
# Only server admins can generate and view support bundles (default: true)
#server_admin_only = true
# If set, bundles will be encrypted with the provided public keys separated by whitespace
#public_keys = ""
# Move an app plugin referenced by its id (including all its pages) to a specific navigation section
[navigation.app_sections]
# The following will move an app plugin with the id of `my-app-id` under the `cfg` section
+137 -137
View File
@@ -1,20 +1,11 @@
# Triage issues
The main goal of issue triage is to categorize all incoming Grafana issues and make sure each issue has all basic information needed for anyone else to understand and be able to start working on it.
The main goal of issue triage is to categorize all incoming Grafana issues and make sure each issue has all the essential information needed for anyone to understand and be able to start working on it.
> **Note:** This information is for Grafana project Maintainers, Owners, and Admins. If you are a Contributor, then you will not be able to perform most of the tasks in this topic.
> **Note:** This information is for Grafana project Maintainers, Owners, and Admins. If you are a Contributor, then you won't be able to perform most of the tasks in this topic.
The core maintainers of the Grafana project are responsible for categorizing all incoming issues and delegating any critical or important issue to other maintainers. Currently, one maintainer each week is responsible. Besides that part, triage provides an important way to contribute to an open source project.
Triage helps ensure issues resolve quickly by:
- Ensuring the issue's intent and purpose is conveyed precisely. This is necessary because it can be difficult for an issue to explain how an end user experiences a problem and what actions they took.
- Giving a contributor the information they need before they commit to resolving an issue.
- Lowering the issue count by preventing duplicate issues.
- Streamlining the development process by preventing duplicate discussions.
If you don't have the knowledge or time to code, consider helping with triage. The community will thank you for saving them time by spending some of yours.
## Simplified flowchart diagram of the issue triage process
<!-- https://textik.com/#610afa78553def29 -->
@@ -68,33 +59,44 @@ If you don't have the knowledge or time to code, consider helping with triage. T
```
## 1. Find uncategorized issues
## Key functions of issue triage
Triage helps ensure issues resolve quickly by:
- Ensuring the issue's intent and purpose is conveyed precisely. This is necessary because it can be difficult for an issue to explain how an end user experiences a problem and what actions they took.
- Giving a contributor the information they need before they commit to resolving an issue.
- Lowering the issue count by preventing duplicate issues.
- Streamlining the development process by preventing duplicate discussions.
If you don't have the knowledge or time to code, consider helping with triage. The community will thank you for saving them time by spending some of yours.
### 1. Find uncategorized issues
To get started with issue triage and finding issues that haven't been triaged you have two alternatives.
### Browse unlabeled issues
#### Browse unlabeled issues
The easiest and straight forward way of getting started and finding issues that haven't been triaged is to browse [unlabeled issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+no%3Alabel) and starting from the bottom and working yourself to the top.
The easiest and most straightforward way of getting started and finding issues that haven't been triaged is to browse [unlabeled issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+no%3Alabel), and then work on them starting from the bottom to the top.
### Subscribe to all notifications
#### Subscribe to all notifications
The more advanced, but recommended way is to subscribe to all notifications from this repository which means that all new issues, pull requests, comments and important status changes are sent to your configured email address. Read this [guide](https://help.github.com/en/articles/watching-and-unwatching-repositories#watching-a-single-repository) for help with setting this up.
It's highly recommended that you setup filters to automatically remove emails from the inbox and label/categorize them accordingly to make it easy for you to understand when you need to act upon a notification or where to look for finding issues that haven't been triaged etc.
It's highly recommended that you set up filters to automatically remove emails from the inbox and label them accordingly. When issues are properly categorized you can easily understand when you need to act upon a notification or where to look to find issues that haven't been triaged.
Instructions for setting up filters in Gmail can be found [here](#setting-up-gmail-filters). Another alternative is to use [Trailer](https://github.com/ptsochantaris/trailer) or similar software.
## 2. Ensure the issue contains basic information
### 2. Ensure the issue contains basic information
Before triaging an issue very far, make sure that the issue's author provided the standard issue information. This will help you make an educated recommendation on how to categorize the issue. The Grafana project utilizes [GitHub issue templates](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository) to guide contributors to provide standard information that must be included for each type of template or type of issue.
Before triaging an issue very far, make sure that the issue's author provided the standard information. This helps you make an educated recommendation on how to categorize the issue. The Grafana project uses [GitHub issue templates](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository) to guide contributors to provide standard information that must be included for each type of template or type of issue.
### Standard issue information that must be included
#### Standard issue information that must be included
Given a certain [issue template](https://github.com/grafana/grafana/issues/new/choose) have been used by the issue author or depending how the issue is perceived by the issue triage responsible, the following should help you understand what standard issue information that must be included.
Grafana uses various [issue templates](https://github.com/grafana/grafana/issues/new/choose) to collect information from the issue reporter. The following list describes the standard information that is included.
#### Bug reports
##### Bug reports
Should explain what happened, what was expected and how to reproduce it together with any additional information that may help giving a complete picture of what happened such as screenshots, [query inspector](https://community.grafana.com/t/using-grafanas-query-inspector-to-troubleshoot-issues/2630) output and any environment related information that's applicable and/or maybe related to the reported problem:
Bug reports should explain what happened, what was expected, and how to reproduce it. Also, it should include additional information that may help giving a complete picture of what happened such as screenshots, [query inspector](https://community.grafana.com/t/using-grafanas-query-inspector-to-troubleshoot-issues/2630) output, and any relevant information about the environment. For example:
- Grafana version:
- Data source type & version:
@@ -103,250 +105,249 @@ Should explain what happened, what was expected and how to reproduce it together
- Grafana plugins:
- Others:
#### Enhancement requests
##### Enhancement requests
Prior to August, 2023, community-submitted feature requests were submitted as [Github discussions](https://github.com/grafana/grafana/discussions). These are now submitted using the [feature request issue template](https://github.com/grafana/grafana/issues/new?assignees=&labels=type%2Ffeature-request&projects=&template=1-feature_requests.md).
> **Note:** Prior to August, 2023, community-submitted feature requests were submitted as [Github discussions](https://github.com/grafana/grafana/discussions). These are now submitted using the [feature request issue template](https://github.com/grafana/grafana/issues/new?assignees=&labels=type%2Ffeature-request&projects=&template=1-feature_requests.md).
When submitting an enhancement request we ask that users focus on the problem they'd like to solve and why its a problem rather than focusing on the solution itself. To facilitate this the feature requests template includes the following:
When submitting an enhancement request we ask that users focus on the problem they'd like to solve and why its a problem rather than focusing on the solution itself. To facilitate these objectives, the feature requests template includes the following:
- What would you like to be added?:
- Why is this needed (describe your use case and goals)\*\*?:
#### Accessibility issues
##### Accessibility issues
This is a mix between a bug report and enhancement request but focused on accessibility issues to help make Grafana improve keyboard navigation, screen-reader support and being accessible to everyone. The report should include relevant [WCAG criteria](https://www.w3.org/WAI/WCAG21/quickref/?versions=2.0), if applicable.
This is a mix between a bug report and enhancement request but focused on accessibility issues to help make Grafana improve keyboard navigation, screen-reader support, and general accessibility. The report should include relevant [WCAG criteria](https://www.w3.org/WAI/WCAG21/quickref/?versions=2.0), if applicable.
Grafana Labs is dedicated to improving our graphical user interfaces and overall experience so that our product becomes usable and accessible for people with disabilities as well as anyone else. Learn more about Grafana's commitment to [A11y](https://grafana.com/accessibility/) (accessibility).
#### Support requests
##### Support requests
In general, if the issue description and title is perceived as a question no more information is needed. See how to categorize these requests [here](#support-requests-1).
### Good practices
#### Good practices
To make it easier for everyone to understand and find issues they're searching for it's suggested as a general rule of thumbs to:
To make it easier for everyone to understand and find issues a good rule of thumbs is to:
- Make sure that issue titles are named to explain the subject of the issue, has a correct spelling and doesn't include irrelevant information and/or sensitive information.
- Make sure that issue descriptions doesn't include irrelevant information, information from template that haven't been filled out and/or sensitive information.
- Do your best effort to change title and description or request suggested changes by adding a comment.
- Make sure that issue titles are named to explain the subject of the issue, are spelled correctly, and don't include irrelevant or sensitive information.
- Make sure that issue descriptions don't include irrelevant information, information from a template that hasn't been filled out, or sensitive information.
- Do your best effort to change the title and description or request suggested changes by adding a comment.
> **Note:** Above rules is applicable to both new and existing issues of the Grafana project.
#### Do you have all the information needed to categorize an issue?
### Do you have all the information needed to categorize an issue?
Depending on the issue, you might not feel all this information is needed. Use your best judgement. If you cannot triage an issue using what its author provided, explain kindly to the author that they must provide the above information to clarify the problem. Label issue with `needs more info` and add any related `area/*` or `datasource/*` labels. Alternatively, use `bot/needs more info` label and the Grafana bot will request it for you.
Depending on the issue, you might not feel all this information is needed. Use your best judgement. If you cannot triage an issue using what its author provided, explain kindly to the author that they must provide the previously mentioned information to clarify the problem. Label issue with `needs more info` and add any related `area/*` or `datasource/*` labels. Alternatively, use `bot/needs more info` label and the Grafana bot will request it for you.
If the author provides the standard information, but you are still unable to triage the issue, request additional information. Do this kindly and politely because you are asking for more of the author's time.
If the author does not respond to the requested information within the timespan of a week, close the issue with a kind note stating that the author can request for the issue to be reopened when the necessary information is provided.
If the author does not respond to the requested information within a week, close the issue with a kind note stating that the author can request for the issue to be reopened when the necessary information is provided.
When you feel you have all the information needed you're ready to [categorizing the issue](#3-categorizing-an-issue).
When you feel you have all the information needed, then you're ready to [categorize the issue](#3-categorize-an-issue).
If you receive a notification with additional information provided, but you are not anymore on issue triage and you feel you do not have time to handle it, you should delegate it to the current person on issue triage.
If you receive a notification with additional information provided, but you aren't on issue triage anymore and you feel you don't have time to handle it, you should delegate it to the current person on issue triage.
## 3. Categorizing an issue
### 3. Categorize an issue
An issue can have multiple of the following labels. Typically, a properly categorized issue should at least have:
An issue can have multiple labels. Typically, a properly categorized issue should at least have these labels:
- One label identifying its type (`type/*`).
- One or multiple labels identifying the functional areas of interest or component (`area/*`) and/or data source (`datasource/*`), if applicable.
| Label | Description |
| ------------------------ | ------------------------------------------------------------------------- |
| `type/bug` | A feature isn't working as expected given design or documentation. |
| `type/feature-request` | Request for a new feature or enhancement. |
| `type/docs` | Documentation problem or enhancement. |
| `type/accessibility` | Accessibility problem or enhancement. |
| `type/question` | Issue is a question or is perceived as such. |
| `type/duplicate` | An existing issue of the same subject/request have already been reported. |
| `type/works-as-intended` | A reported bug works as intended/by design. |
| `type/build-packaging` | Build or packaging problem or enhancement. |
| `area/*` | Subject is related to a functional area of interest or component. |
| `datasource/*` | Subject is related to a core data source plugin. |
| Label | Description |
| ------------------------ | ------------------------------------------------------------------- |
| `type/bug` | A feature isn't working as expected given design, or documentation. |
| `type/feature-request` | Request for a new feature, or enhancement. |
| `type/docs` | Documentation problem, or enhancement. |
| `type/accessibility` | Accessibility problem, or enhancement. |
| `type/question` | Issue is a question or is perceived as such. |
| `type/duplicate` | An existing issue of the same subject has already been reported. |
| `type/works-as-intended` | A reported bug works as intended (that is, by design). |
| `type/build-packaging` | Build or packaging problem, or enhancement. |
| `area/*` | Subject is related to a functional area of interest, or component. |
| `datasource/*` | Subject is related to a core data source plugin. |
### Duplicate issues
#### Duplicate issues
Make sure it's not a duplicate by searching existing issues using related terms from the issue title and description. If you think you know there is an existing issue, but can't find it, please reach out to one of the maintainers and ask for help. If you identify that the issue is a duplicate of an existing issue:
1. Add a comment `/duplicate of #<issue number>`. GitHub will recognize this and add some additional context to the issue activity.
2. The Grafana bot will do the rest, adding the correct label and closing comment
3. Add `type/duplicate` label. Optionally add any related `area/*` or `datasource/*` labels.
1. The Grafana bot will do the rest, adding the correct label and a closing comment.
1. Add the `type/duplicate` label. Optionally, you may add any related `area/*` or `datasource/*` labels.
### Bug reports
#### Bug reports
If it's not perfectly clear that it's an actual bug, quickly try to reproduce it.
**It's a bug/it can be reproduced:**
**It can be reproduced:**
1. Add a comment describing detailed steps for how to reproduce it, if applicable.
2. Label the issue `type/bug` and at least one `area/*` or `datasource/*` label.
3. If you know that maintainers wont be able to put any resources into it for some time then label the issue with `help wanted` and optionally `beginner friendly` together with pointers on which code to update to fix the bug. This should signal to the community that we would appreciate any help we can get to resolve this.
4. Move on to [prioritizing the issue](#4-prioritization-of-issues).
1. Label the issue `type/bug` and at least one `area/*` or `datasource/*` label.
1. If you know that maintainers won't be able to put any resources into it for some time then label the issue with `help wanted` and optionally `beginner friendly` together with pointers on which code to update to fix the bug. This should signal to the community that we would appreciate any help we can get to resolve this.
1. Move on to [prioritizing the issue](#4-prioritization-of-issues).
**It can't be reproduced:**
1. Either [ask for more information](#2-ensure-the-issue-contains-basic-information) needed to investigate it more thoroughly.
2. Either [delegate further investigations](#investigation-of-issues) to someone else.
1. Either [delegate further investigations](#investigation-of-issues) to someone else.
**It works as intended/by design:**
**It works as intended (that is, by design):**
1. Kindly and politely add a comment explaining briefly why we think it works as intended and close the issue.
2. Label the issue `type/works-as-intended`.
1. Label the issue `type/works-as-intended`.
### Enhancement/feature?
#### Enhancement or feature request?
1. Label the issue `type/feature-request` and add at least one `area/*` or `datasource/*` label.
2. Make sure the submitter has justified why this feature requests is important.
1. Make sure the submitter has justified why this feature requests is important.
### Documentation issue?
#### Documentation issue?
First, evaluate if the documentation makes sense to be included in the Grafana project:
- Is this something we want/can maintain as a project?
- Is this referring to usage of some specific integration/tool and in that case is that a popular use case in combination with Grafana?
- If unsure, kindly and politely add a comment explaining that we would need [upvotes](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments) to identify that lots of other users want/need this.
- Is this something we want and can maintain as a project?
- Is this referring to usage of some specific integration and in that case is that a popular use case in combination with Grafana?
- If unsure, kindly and politely add a comment explaining that we would need [upvotes](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments) to identify that lots of other users want or need this.
Second, label the issue `type/docs` and at least one `area/*` or `datasource/*` label.
**Minor typo/error/lack of information:**
There's a minor typo/error/lack of information that adds a lot of confusion for users and given the amount of work is a big win to make sure fixing it:
There's a minor typo, error, or lack of information that adds a lot of confusion for users and is a big win to fix it:
1. Either update the documentation yourself and open a pull request.
2. Either delegate the work to someone else by assigning that person to the issue and add the issue to next major/minor milestone.
1. Either delegate the work to someone else by assigning that person to the issue. Note that the milestone is automatically assigned and usually doesn't need to be manually edited.
**Major error/lack of information:**
1. Label the issue with `help wanted` and `beginner friendly`, if applicable, to signal that we find this important to fix and we would appreciate any help we can get from the community.
2. Move on to [prioritizing the issue](#4-prioritization-of-issues).
1. Move on to [prioritizing the issue](#4-prioritization-of-issues).
### Accessibility issues
#### Accessibility issues
1. Label the issue `type/accessibility` and at least one `area/*` or `datasource/*` label.
### Support requests
#### Support requests
1. Kindly and politely direct the issue author to the [community site](https://community.grafana.com/) and explain that GitHub is mainly used for tracking bugs and feature requests. If possible, it's usually a good idea to add some pointers to the issue author's question.
2. Label the issue with `bot/question`. The Grafana bot will automatically close the issue, and it will add the type/question label for you.
1. Label the issue with `bot/question`. The Grafana bot will automatically close the issue, and it will add the type/question label for you.
## 4. Prioritization of issues
### 4. Prioritization of issues
In general bugs and enhancement issues should be labeled with a priority.
In general, bugs and enhancement issues should be labeled with a priority.
This is the most difficult thing with triaging issues since it requires a lot of knowledge, context and experience before being able to think of and start feel comfortable adding a certain priority label.
This is the most difficult thing with triaging issues since it requires a lot of knowledge, context and experience before it is possible to skillfully add a specific priority label.
The key here is asking for help and discuss issues to understand how more experienced project members think and reason. By doing that you learn more and eventually be more and more comfortable with prioritizing issues.
The key here is to ask for help and discuss issues to understand how more experienced project members think and reason. By doing that you learn more and eventually be more and more comfortable with prioritizing issues.
In case there is an uncertainty around the prioritization of an issue, please ask the maintainers for help.
| Label | Description |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `priority/critical` | Highest priority. Must be actively worked on as someone's top priority right now. |
| `priority/support-subscription` | This is important for one or several customers having a paid Grafana support subscription. |
| `priority/important-soon` | Must be staffed and worked on either currently, or very soon, ideally in time for the next release. |
| `priority/important-longterm` | Important over the long term, but may not be staffed and/or may need multiple releases to complete. |
| `priority/nice-to-have` | It's a good idea, but not scheduled for any release. |
| `priority/awaiting-more-evidence` | Lowest priority. Possibly useful, but not yet enough interest in it. |
| `priority/unscheduled` | Something to look into before and to be discussed during the planning of the next (upcoming) major/minor stable release. |
| Label | Description |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `priority/critical` | Highest priority. Must be actively worked on as someone's top priority right now. |
| `priority/support-subscription` | This is important for one or several customers having a paid Grafana support subscription. |
| `priority/important-soon` | Must be staffed and worked on either currently, or very soon, ideally in time for the next release. |
| `priority/important-longterm` | Important over the long term, but may need multiple releases to complete. |
| `priority/nice-to-have` | It's a good idea, but not scheduled for any release. |
| `priority/awaiting-more-evidence` | Lowest priority. Possibly useful, but not yet enough interest in it. |
| `priority/unscheduled` | Something to look into before and to be discussed during the planning of the next major/minor stable release. |
**Critical bugs**
1. If a bug has been categorized and any of the following criteria apply, the bug should be labeled as critical and must be actively worked on as someone's top priority right now.
1. If a bug has been categorized and any of the following criteria apply, the bug should be labeled as critical and must be actively worked on as someone's top priority right now:
- Results in any data loss
- Critical security or performance issues
- Problem that makes a feature unusable
- Multiple users experience a severe problem affecting their business, users etc.
- Multiple users experience a severe problem affecting their business, user experience, and so on.
2. Label the issue `priority/critical`.
3. If applicable, label the issue `priority/support-subscription`.
4. Add the issue to the next upcoming patch release milestone. Create a new milestone if there are none.
5. Escalate the problem to the maintainers.
6. Assign or ask a maintainer for help assigning someone to make this issue their top priority right now.
1. Label the issue `priority/critical`.
1. If applicable, label the issue `priority/support-subscription`.
1. Add the issue to the next upcoming patch release milestone. Create a new milestone if there are none.
1. Escalate the problem to the maintainers.
1. Assign or ask a maintainer for help assigning someone to make this issue their top priority right now.
**Important short-term**
1. Label the issue `priority/important-soon`.
2. If applicable, label the issue `priority/support-subscription`.
3. Add the issue to the next upcoming patch or major/minor stable release milestone. Ask maintainers for help if unsure if it's a patch or not. Create a new milestone if there are none.
4. Make sure to add the issue to a suitable backlog of a GitHub project and prioritize it or assign someone to work on it now or very soon.
5. Consider requesting [help from the community](#5-requesting-help-from-the-community), even though it may be problematic given a short amount of time until it should be released.
1. If applicable, label the issue `priority/support-subscription`.
1. Add the issue to the next upcoming patch or major/minor stable release milestone. Ask maintainers for help if unsure if it's a patch or not. Create a new milestone if there are none.
1. Make sure to add the issue to a suitable backlog of a GitHub project and prioritize it or assign someone to work on it now or very soon.
1. Consider requesting [help from the community](#5-requesting-help-from-the-community), even though it may be problematic given a short amount of time until it should be released.
**Important long-term**
1. Label the issue `priority/important-longterm`.
2. Consider requesting [help from the community](#5-requesting-help-from-the-community).
1. Consider requesting [help from the community](#5-requesting-help-from-the-community).
**Nice to have**
1. Label the issue `priority/nice-to-have`.
2. Consider requesting [help from the community](#5-requesting-help-from-the-community).
1. Consider requesting [help from the community](#5-requesting-help-from-the-community).
**Not critical, but unsure?**
1. Label the issue `priority/unscheduled`.
2. Consider requesting [help from the community](#5-requesting-help-from-the-community).
1. Consider requesting [help from the community](#5-request-help-from-the-community).
## 5. Requesting help from the community
### 5. Request help from the community
Depending on the issue and/or priority, it's always a good idea to consider signalling to the community that help from community is appreciated and needed in case an issue is not prioritized to be worked on by maintainers. Use your best judgement. In general, requesting help from the community means that a contribution has a good chance of getting accepted and merged.
It's generally a good idea to consider signaling to the community that help is appreciated and needed in case an issue isn't prioritized to be worked on by maintainers. Use your best judgement. In general, requesting help from the community means that a contribution has a good chance of getting accepted and merged.
In many cases the issue author or community as a whole is more suitable to contribute changes since they're experts in their domain. It's also quite common that someone has tried to get something to work using the documentation without success and made an effort to get it to work and/or reached out to the [community site](https://community.grafana.com/) to get the missing information. Particularly in these areas it's more likely that there exist experts in their own domain and it is usually a good idea to request help from contributors:
In many cases the issue author or community as a whole is more suitable to contribute changes since they're experts in their domain. It's also quite common that someone has tried to get something to work using the documentation without success, made an effort to get it to work, reached out to the [community site](https://community.grafana.com/) to get the missing information, or some combination of these things.
In certain areas there probably exist domain experts who may be able to help:
- Database setups
- Authentication like OAuth providers and LDAP setups
- Platform specific things
- Platform-specific things
- Reverse proxy setups
- Alert notifiers
1. Kindly and politely add a comment to signal to users subscribed to updates of the issue.
- Explain that the issue would be nice to get resolved, but it isn't prioritized to work on by maintainers for an unforeseen future.
- If possible or applicable, try to help contributors getting starting by adding pointers and references to what code/files need to be changed and/or ideas of a good way to solve/implement the issue.
2. Label the issue with `help wanted`.
3. If applicable, label the issue with `beginner friendly` to denote that the issue is suitable for a beginner to work on.
4. If possible, try to estimate the amount of work by adding `effort/small`, `effort/medium` or `effort/large`.
- If possible or applicable, try to help contributors getting starting by adding pointers and references to what code needs to be changed. Note any suggests for good ways of solving or implementing the issue.
1. Label the issue with `help wanted`.
1. If applicable, label the issue with `beginner friendly` to denote that the issue is suitable for a beginner to work on.
1. If possible, try to estimate the amount of work by adding `effort/small`, `effort/medium` or `effort/large`.
## Investigation of issues
### Investigation of issues
When an issue has all basic information provided, but the triage responsible haven't been able to reproduce the reported problem at a first glance, the issue is labeled [`triage/needs-confirmation`](https://github.com/grafana/grafana/labels/triage%2Fneeds-confirmation). Depending on the perceived severity and/or number of [upvotes](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments), the investigation will either be delegated to another maintainer for further investigation or put on hold until someone else (maintainer or contributor) picks it up and eventually starts investigating it.
When an issue has all basic information provided, but the triage responsible hasn't been able to reproduce the reported problem at a first glance, the issue is labeled [`triage/needs-confirmation`](https://github.com/grafana/grafana/labels/triage%2Fneeds-confirmation). Depending on the perceived severity and/or number of [upvotes](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments), the investigation will either be delegated to another maintainer for further investigation or put on hold until someone else (maintainer or contributor) picks it up and eventually starts investigating it.
Investigating issues can be a very time consuming task, especially for the maintainers, given the huge number of combinations of plugins, data sources, platforms, databases, browsers, tools, hardware, integrations, versions and cloud services, etc that are being used with Grafana. There is a certain number of combinations that are more common than others, and these are in general easier for maintainers to investigate.
Investigating issues can be a very time consuming task, especially for the maintainers, given the huge number of combinations of plugins, data sources, platforms, databases, browsers, hardware, integrations, cloud services, and so on, that are used with Grafana. There are a certain number of combinations that are more common than others, and these are in general easier for maintainers to investigate.
For some other combinations it may not be possible at all for a maintainer to setup a proper test environment to investigate the issue. In these cases we really appreciate any help we can get from the community. Otherwise, the issue is highly likely to be closed.
Even if you don't have the time or knowledge to investigate an issue we highly recommend that you [upvote](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments) the issue if you happen to have the same problem. If you have further details that may help investigating the issue please provide as much information as possible.
Even if you don't have the time or knowledge to investigate an issue we highly recommend that you [upvote](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments) the issue if you happen to have the same problem. If you have further details that may help investigating the issue, please provide as much information as possible.
## Automation
### Automation
We have some automation that triggers on comments or labels being added to issues. Many of these automated behaviors are defined in [commands.json](https://github.com/grafana/grafana/blob/main/.github/commands.json). Or in other [GitHub Actions](https://github.com/grafana/grafana/tree/main/.github/workflows)
[Read more on bot actions](https://github.com/grafana/grafana/blob/main/.github/bot.md)
To learn more about bot actions, refer to our [bot documentation](https://github.com/grafana/grafana/blob/main/.github/bot.md).
## External PRs
### External PRs
Part of issue triage should also be triaging of external PRs. Main goal should be to make sure PRs from external contributors have an owner/reviewer and are not forgotten.
Part of issue triage should also be triaging of external PRs. The main goal should be to make sure PRs from external contributors have an owner and aren't forgotten.
1. Check new external PRs which do not have a reviewer. You can easily search for pull requests made by external contributors by using the label: `pr/external` in your [query search](https://github.com/grafana/grafana/pulls?q=is%3Aopen+is%3Apr+label%3Apr%2Fexternal) Note: external PRs are automatically labeled with `pr/external` upon creation.
2. Check if there is a link to an existing issue. The link to a existing issue should be in the description section, underneath “Which issue(s) does this PR fix?:”.
3. If not and you know which issue it is solving, add the link yourself, otherwise ask the author to link the issue or create one.
4. Assign a reviewer based on who was handling the linked issue or what code or feature does the PR touches (look at who was the last to make changes there if all else fails).
1. Check new external PRs which don't have a reviewer. You can easily search for pull requests made by external contributors by using the label: `pr/external` in your [query search](https://github.com/grafana/grafana/pulls?q=is%3Aopen+is%3Apr+label%3Apr%2Fexternal) Note: external PRs are automatically labeled with `pr/external` upon creation.
1. Check if there is a link to an existing issue. The link to a existing issue should be in the description section, underneath “Which issue(s) does this PR fix?:”. If not, and you know which issue it is solving, add the link yourself. Otherwise, ask the author to link the issue or create one.
1. Assign a reviewer based on who was handling the linked issue or what code or feature the PR touches (if all else fails, look at who was the last to make changes).
## Appendix
### Appendix
### Setting up Gmail filters
#### Setting up Gmail filters
If you're using Gmail it's highly recommended that you setup filters to automatically remove email from the inbox and label them accordingly to make it easy for you to understand when you need to act upon a notification or process all incoming issues that haven't been triaged.
If you're using Gmail, a best practice is to set up filters to automatically remove emails from the inbox and label them to make it easy for you to understand when you need to act upon a notification. You should be able to promptly process all incoming issues that haven't been triaged.
This may be setup by personal preference, but here's a working configuration for reference.
This may be set up by personal preference, but here's a working configuration for reference:
1. Follow instructions in [gist](https://gist.github.com/marefr/9167c2e31466f6316c1cba118874e74f)
2. In Gmail, go to Settings -> Filters and Blocked Addresses
3. Import filters -> select xml file -> Open file
4. Review filters
5. Optional, Check Apply new filters to existing email
6. Create filters
1. In Gmail, go to **Settings** -> **Filters and Blocked Addresses**.
1. On the menu, select **Import filters**, then select and open the XML file.
1. Review the filters.
1. Optional: Select **Apply new filters to existing email**.
1. Create filters.
This will give you a structure of labels in the sidebar similar to the following:
This gives you a structure of labels in the sidebar similar to the following:
```
- Inbox
@@ -359,6 +360,5 @@ This will give you a structure of labels in the sidebar similar to the following
- Grafana
```
- All notifications youll need to read/take action on show up as unread in GitHub (mine) and its sub-labels.
- All other notifications you dont need to take action on show up as unread in GitHub (other) and its sub-labels
- This is convenient for issue triage and to follow the activity in the Grafana project.
- All notifications youll need to take action on should show up as unread in **GitHub (mine)** and its sub-labels.
- All notifications you dont need to take action on show up as unread in **GitHub (other)** and its sub-labels.
+14 -8
View File
@@ -1,18 +1,24 @@
# Contribute
# Contribute to the Grafana project
This directory contains guides for contributors to the Grafana project.
We're excited that you're considering making a contribution to the Grafana project! This is the place to find guides for contributors to our open-source project.
These are some good resources to explore for developers:
- [Create a pull request](create-pull-request.md)
- [Contribute to our documentation](../contribute/documentation/README.md)
- [Developer guide](developer-guide.md)
- [Triage issues](triage-issues.md)
- [Merge a pull request](merge-pull-request.md)
- [Making changes to the CI pipeline](drone-pipeline.md)
- [Breaking changes in frontend APIs](./breaking-changes-guide/breaking-changes-guide.md)
The `style-guides` directory contains style guides for the Grafana software project and documentation.
Learn how to create great documentation and apps for Grafana:
- [Backend style guide](backend/style-guide.md) for how to style and format backend functionality and code.
- [Frontend style guide](style-guides/frontend.md) for how to style and format the user-facing functionality and code.
- [Redux framework](style-guides/redux.md) for designing the Grafana redux framework.
- [Themes style guide](style-guides/themes.md) for designing and updating Grafana themes.
- [Developer portal](https://grafana.com/developers/) - Find resources for creating apps and plugins to Grafana.
- [Contribute to our documentation](../contribute/documentation/README.md) - Learn how to write and style Grafana documentation.
Find style guides for the Grafana software project:
- [Backend style guide](backend/style-guide.md) - Learn how to style and format backend functionality and code.
- [Frontend style guide](style-guides/frontend.md) - Learn how to style and format the user-facing functionality and code.
- [Redux framework](style-guides/redux.md) - Design the Grafana Redux framework.
- [Themes style guide](style-guides/themes.md) - Design and update Grafana themes.
+17 -15
View File
@@ -1,6 +1,6 @@
# Guide to upgrading dependencies
Upgrading Go or Node.js requires making changes in many different files. See below for a list and explanation for each.
Upgrading Go or Node.js requires making changes in many different files. Refer to the following list for more information.
## Go
@@ -19,7 +19,7 @@ Upgrading Go or Node.js requires making changes in many different files. See bel
## Go dependencies
The Grafana project uses [Go modules](https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more) to manage dependencies on external packages. This requires a working Go environment with version 1.11 or greater installed.
The Grafana project uses [Go modules](https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more) to manage dependencies on external packages. This requires a working Go environment with version 1.11 or later installed.
To add or update a new dependency, use the `go get` command:
@@ -36,17 +36,19 @@ Tidy up the `go.mod` and `go.sum` files:
go mod tidy
```
You have to commit the changes to `go.mod` and `go.sum` before submitting the pull request.
You have to commit the changes to `go.mod` and `go.sum` before you submit the pull request.
To understand what the actual dependencies of `grafana-server` are, one could run it with `-vv` flag. This might produce an output, different from `go.mod` contents and `-vv` option is the source of truth here. It lists the modules _compiled_ into the executable, while `go.mod` lists also test and weak transitive dependencies (modules, used in some package, which is not in use by itself). If you are interested in reporting a vulnerability in a dependency module - please consult `-vv` output, maybe the "dependency" is not a dependency as such.
To understand what the actual dependencies of `grafana-server` are, you can run it with the `-vv` flag. Note that this command might produce an output different from `go.mod` contents, and `-vv` option is the source of truth here. The output lists the modules _compiled_ into the executable, whereas `go.mod` lists also test and weak transitive dependencies (that is, modules, used in some packages, which aren't in use by itself). If you're interested in reporting a vulnerability in a dependency module, consult the `-vv` output, maybe the "dependency" isn't actually a dependency as such.
### Upgrading dependencies
If you need to upgrade a direct or indirect dependency, you can do it like so, $MODULE being the dependency in question: `go get -u $MODULE`. The corresponding entry in go.mod should then have the version you specified; if it's an indirect dependency, the entry should have the `// indirect` comment. Follow this by executing `go mod tidy`, to ensure that go.mod and go.sum are up to date. If the indirect dependency turns out to not be used (transitively) by any of our packages, `go mod tidy` will actually strip it from go.mod. In that case, you can just ignore it since it isn't used in the end.
If you need to upgrade a direct or indirect dependency, you can do it like so, where _`MODULE`_ is the dependency in question: `go get -u <MODULE>`. The corresponding entry in `go.mod` should then have the version you specified. If it's an indirect dependency, the entry should have the `// indirect` comment.
To do so, execute `go mod tidy` to ensure that `go.mod` and `go.sum` are updated. If the indirect dependency turns out to not be used (transitively) by any of our packages, `go mod tidy` actually strips it from `go.mod`. In that case, you can just ignore it because ultimately it isn't used.
## Node.js dependencies
Updated using `yarn`.
Updated using `yarn`:
- `package.json`
@@ -62,26 +64,26 @@ Our CI builds run on Drone.
#### Dependencies
- nodejs
- golang
- grafana/build-container (our custom docker build container)
- Node.js
- Go
- `grafana/build-container` (our custom Docker build container)
### grafana/build-container
The main build steps (in Drone) happen using a custom Docker image that comes pre-baked with some of the necessary dependencies.
Link: [grafana/build-container](https://github.com/grafana/grafana/tree/main/scripts/build/ci-build)
Link: [`grafana/build-container`](https://github.com/grafana/grafana/tree/main/scripts/build/ci-build)
#### Dependencies
- fpm
- nodejs
- golang
- crosscompiling (several compilers)
- Node.js
- Go
- cross-compiling (several compilers)
### Appveyor
Main and release builds trigger test runs on Appveyors build environment so that tests will run on Windows.
Main and release builds trigger test runs on the Appveyors build environment so that tests will run on Windows.
#### Files:
@@ -107,4 +109,4 @@ There is a Docker build for Grafana in the root of the project that allows anyon
### Local developer environments
Please send out a notice in the grafana-dev slack channel when updating Go or Node.js to make it easier for everyone to update their local developer environments.
It is a good practice to send out a notice in the grafana-dev Slack channel when updating Go or Node.js to make it easier for everyone to update their local developer environments.
+3 -6
View File
@@ -1,9 +1,6 @@
# Architecture
Are you looking to take on contributions with bigger impact? These guides help you get a better understanding of the structure and design of the Grafana codebase.
Do you want to make Grafana contributions with bigger impact? These guides help you get a better understanding of the structure and design of the Grafana codebase.
Learn more about the backend architecture in [contribute/backend](/contribute/backend/README.md).
Learn more about the frontend architecture:
- Part 1: [Data requests](frontend-data-requests.md)
- To learn more about the frontend architecture, refer to [Frontend data requests](frontend-data-requests.md).
- To learn more about the backend architecture, refer to [contribute/backend](/contribute/backend/README.md).
@@ -1,16 +1,18 @@
# Data requests
# Frontend data requests
[BackendSrv](https://github.com/grafana/grafana/blob/main/packages/grafana-runtime/src/services/backendSrv.ts) handles all outgoing HTTP requests from Grafana. This document explains the high-level concepts used by `BackendSrv`.
## Canceling requests
## Cancel requests
This section describes how canceling requests work in Grafana. While data sources can implement their own cancellation concept, we recommend that you use the method we describe here.
While data sources can implement their own cancellation concept, we recommend that you use the method described in this section.
A data request can take a long time to finish. During the time between when a request starts and finishes, the user can change context. For example, the user may navigate away or issue the same request again.
If we wait for canceled requests to complete, it might create unnecessary load on data sources.
If we wait for canceled requests to complete, they might create unnecessary load on the data sources.
Grafana uses a concept called _request cancellation_ to cancel any ongoing request that Grafana doesn't need.
### Request cancellation by Grafana version
Grafana uses a concept called _request cancellation_ to cancel any ongoing request that Grafana doesn't need. The process for canceling requests in this manner varies by Grafana version.
#### Before Grafana 7.2
@@ -25,22 +27,22 @@ The cancellation logic is as follows:
Grafana 7.2 introduced an additional way of canceling requests using [RxJs](https://github.com/ReactiveX/rxjs). To support the new cancellation functionality, the data source needs to use the new `fetch` function in [BackendSrv](https://github.com/grafana/grafana/blob/main/packages/grafana-runtime/src/services/backendSrv.ts).
Migrating the core data sources to the new `fetch` function [is an ongoing process that you can read about in this issue.](https://github.com/grafana/grafana/issues/27222)
Migrating the core data sources to the new `fetch` function is an ongoing process. To learn more, refer to [this issue](https://github.com/grafana/grafana/issues/27222).
## Request queue
If Grafana isn't configured to support HTTP/2, browsers connecting with HTTP 1.1 enforce a limit of 4 - 8 parallel requests (the specific limit varies). Because of this limit, if some requests take a long time, they will block later requests and make interacting with Grafana very slow.
If Grafana isn't configured to support HTTP/2, browsers connecting with HTTP 1.1 enforce a limit of 4 to 8 parallel requests (the specific limit varies). Because of this limit, if some requests take a long time, they will block later requests and make interacting with Grafana very slow.
[Enabling HTTP/2 support in Grafana](https://grafana.com/docs/grafana/latest/administration/configuration/#protocol) allows far more parallel requests.
#### Before Grafana 7.2
### Before Grafana 7.2
Not supported.
#### After Grafana 7.2
### After Grafana 7.2
Grafana uses a _request queue_ to process all incoming data requests in order while reserving a free "spot" for any requests to the Grafana API.
Since the first implementation of the request queue doesn't take into account what browser the user uses, the _request queue_ limit for parallel data source requests is hard-coded to 5.
Since the first implementation of the request queue doesn't take into account what browser the user uses, the request queue's limit for parallel data source requests is hard-coded to 5.
> **Note:** Grafana instances [configured with HTTP2](https://grafana.com/docs/grafana/latest/administration/configuration/#protocol) will have a hard coded limit of 1000.
> **Note:** Grafana instances [configured with HTTP/2](https://grafana.com/docs/grafana/latest/administration/configuration/#protocol) have a hard-coded limit of 1000.
+26 -29
View File
@@ -1,30 +1,30 @@
# Communication
Grafana use dependency injection and method calls on Go interfaces to
Grafana uses dependency injection and method calls on Go interfaces to
communicate between different parts of the backend.
## Commands and queries
Grafana structures arguments to [services](services.md) using a command/query
Grafana structures arguments to [services](services.md) using a "command/query"
separation where commands are instructions for a mutation and queries retrieve
records from a service.
Services should define their methods as `func[T, U any](ctx context.Context, args T) (U, error)`.
Services should define their methods as follows:
- `func[T, U any](ctx context.Context, args T) (U, error)`
Each function should take two arguments. First, a `context.Context` that
carries information about the tracing span, cancellation, and similar
runtime information that might be relevant to the call. Secondly, `T` is
a `struct` defined in the service's root package (see the instructions
for [package hierarchy](package-hierarchy.md)) that contains zero or
runtime information that might be relevant to the call. Secondly, `T`,
a struct defined in the service's root package. Refer to the instructions
for [package hierarchy](package-hierarchy.md) that contains zero or
more arguments that can be passed to the method.
The return values is more flexible, and may consist of none, one, or two
values. If there are two values returned, the second value should be
either an `bool` or `error` indicating the success or failure of the
call. The first value `U` carries a value of any exported type that
makes sense for the service.
The return values are more flexible, and these may consist of none, one, or two values.
If the function returns two values, the second value should be either a `bool` or `error` to indicate the success or failure of the call.
The first value `U` carries a value of any exported type appropriate for the service.
Following is an example of an interface providing method signatures for
The following example shows an interface that provides method signatures for
some calls adhering to these guidelines:
```
@@ -39,23 +39,20 @@ type Alphabetical interface {
}
```
> Because we request an operation to be performed, command are written in imperative mood, such as `CreateFolderCommand`, `GetDashboardQuery` and `DeletePlaylistCommand`.
> **Note:** Because we request an operation to be performed, command are written in imperative mood, such as `CreateFolderCommand`, `GetDashboardQuery` and `DeletePlaylistCommand`.
The use of complex types for arguments in Go means a few different
things for us, it provides us with the equivalent of named parameters
from other languages, and it reduces the headache of figuring out which
argument is which that often occurs with three or more arguments.
things for us. Most importantly, it provides us with the equivalent of named parameters from other languages, and it reduces the headache of figuring out which argument is which that often occurs with three or more arguments.
On the flip-side, it means that all input parameters are optional and
that it is up to the programmer to make sure that the zero value is
useful or at least safe for all fields and that while it's easy to add
another field, if that field must be set for the correct function of the
service that is not detectable at compile time.
However, it means that all input parameters are optional and
that it's up to the developer to make sure that the zero value is
useful or at least safe for all fields.
Also, although it's easy to add another field, the field must be set for the correct function of the service that isn't detectable at compile time.
### Queries with Result fields
Some queries have a Result field that is mutated and populated by the
method being called. This is a remainder from when the _bus_ was used
Some queries have a `Result` field that is mutated and populated by the
method being called. This is a remainder from when the `_bus_` was used
for sending commands and queries as well as for events.
All bus commands and queries had to implement the Go type
@@ -63,8 +60,8 @@ All bus commands and queries had to implement the Go type
and mutation of the `msg` variable or returning structured information in
`error` were the two most convenient ways to communicate with the caller.
All `Result` fields should be refactored so that they are returned from
the query method:
You should refactor all `Result` fields so that they are returned from
the query method. For example:
```
type GetQuery struct {
@@ -95,9 +92,9 @@ func (s *Service) Get(ctx context.Context, cmd GetQuery) (ResultType, error) {
## Events
An event is something that happened in the past. Since an event has already happened, you can't change it. Instead, you can react to events by triggering additional application logic to be run, whenever they occur.
An _event_ is something that happened in the past. Since an event has already happened, you can't change it. Instead, you can react to events by triggering additional application logic to be run, whenever they occur.
> Because they happened in the past, event names are written in past tense, such as `UserCreated`, and `OrgUpdated`.
> **Note:** Because events happened in the past, their names are written in the past tense, such as `UserCreated` and `OrgUpdated`.
### Subscribe to an event
@@ -116,11 +113,11 @@ func (s *MyService) UserCreated(event *events.UserCreated) error {
}
```
**Tip:** Browse the available events in the `events` package.
> **Tip:** To learn about the available events, refer to the documentation in the `events` package.
### Publish an event
If you want to let other parts of the application react to changes in a service, you can publish your own events:
If you want to let other parts of the application react to changes in a service, you can publish your own events. For example:
```go
event := &events.StickersSentEvent {
+12 -10
View File
@@ -1,6 +1,8 @@
# Database
Grafana uses a database to persist settings between restarts. In fact, if you don't specify one, Grafana creates a [SQLite3](https://www.sqlite.org/) database file on your local disk. This guide explains how to store and retrieve data from the database.
Grafana uses databases to persist settings between restarts. If you don't specify one, Grafana creates a [SQLite3](https://www.sqlite.org/) database file on your local disk. This guide explains how to store and retrieve data from the default or other databases.
## Supported databases and services
Grafana supports the [following databases](https://grafana.com/docs/installation/requirements/#database):
@@ -16,7 +18,7 @@ Grafana uses the [XORM](https://xorm.io) framework for persisting objects to the
> **Deprecated:** We are deprecating `sqlstore` handlers in favor of using the `SQLStore` object directly in each service. Since most services still use the `sqlstore` handlers, we still want to explain how they work.
The `sqlstore` package allows you to register [command handlers](communication.md#handle-commands) that either store, or retrieve objects from the database. `sqlstore` handlers are similar to services:
The `sqlstore` package allows you to register [command handlers](communication.md#handle-commands) that either store or retrieve objects from the database. The `sqlstore` handlers are similar to services:
- [Services](services.md) are command handlers that _contain business logic_.
- `sqlstore` handlers are command handlers that _access the database_.
@@ -27,7 +29,7 @@ The `sqlstore` package allows you to register [command handlers](communication.m
To register a handler:
- Create a new file `myrepo.go` in the `sqlstore` package.
- Create a new file, `myrepo.go`, in the `sqlstore` package.
- Create a [command handler](communication.md#handle-commands).
- Register the handler in the `init` function:
@@ -48,7 +50,7 @@ Here, `inTransactionCtx` is a helper function in the `sqlstore` package that pro
## `SQLStore`
As opposed to a `sqlstore` handler, the `SQLStore` is a service itself. The `SQLStore` has the same responsibility however: to store and retrieve objects, to and from the database.
As opposed to a `sqlstore` handler, the `SQLStore` is a service itself. Like the handler, the `SQLStore` is responsible for storing and retrieving objects, to and from the database.
To use the `SQLStore`, inject it in your service struct:
@@ -73,13 +75,13 @@ For transactions, use the `WithTransactionalDbSession` method instead.
## Migrations
As Grafana evolves, it becomes necessary to create _schema migrations_ for one or more database tables.
As your use of Grafana evolves, you may need to create _schema migrations_ for one or more database tables.
To see all the types of migrations you can add, refer to [migrations.go](/pkg/services/sqlstore/migrator/migrations.go).
Before you add a migration, make sure that you:
- Never change a migration that has been committed and pushed to main.
- Never change a migration that has been committed and pushed to `main`.
- Always add new migrations, to change or undo previous migrations.
Add a migration using one of the following methods:
@@ -87,7 +89,7 @@ Add a migration using one of the following methods:
- Add migrations in the `migrations` package.
- Implement the `DatabaseMigrator` for the service.
**Important:** If there are previous migrations for a service, use that method. By adding migrations using both methods, you risk running migrations in the wrong order.
> **Important:** If there are previous migrations for a service, use that method. Don't add migrations using both methods or you risk running migrations in the wrong order.
### Add migrations in `migrations` package
@@ -97,11 +99,11 @@ To add a migration:
- Open the [migrations.go](/pkg/services/sqlstore/migrations/migrations.go) file.
- In the `AddMigrations` function, find the `addXxxMigration` function for the service you want to create a migration for.
- At the end of the `addXxxMigration` function, register your migration:
- At the end of the `addXxxMigration` function, register your migration (refer to the following example).
> **NOTE:** Putting migrations behind feature flags is no longer recommended as it may cause the migration skip integration testing.
- [Example](https://github.com/grafana/grafana/blob/00d0640b6e778ddaca021670fe851fe00982acf2/pkg/services/sqlstore/migrations/migrations.go#L55-L70)
[Example](https://github.com/grafana/grafana/blob/00d0640b6e778ddaca021670fe851fe00982acf2/pkg/services/sqlstore/migrations/migrations.go#L55-L70)
> **Note:** We no longer recommend putting migrations behind feature flags because this could cause the migration to skip integration testing.
### Implement `DatabaseMigrator`
+48 -60
View File
@@ -1,26 +1,24 @@
# Errors
Grafana introduced its own error type [github.com/grafana/grafana/pkg/util/errutil.Error](../../pkg/util/errutil/errors.go)
in June 2022. It's built on top of the Go `error` interface extended to
contain all the information necessary by Grafana to handle errors in an
informative and safe way.
Grafana includes its own error type [github.com/grafana/grafana/pkg/util/errutil.Error](../../pkg/util/errutil/errors.go).
Introduced in June 2022, the type is built on top of the Go `error` interface.
It extends the interface to contain all the information necessary by Grafana to handle errors in an informative and safe way.
Previously, Grafana has passed around regular Go errors and have had to
Previously, Grafana passed around regular Go errors and therefore had to
rely on bespoke solutions in API handlers to communicate informative
messages to the end-user. With the new `errutil.Error`, the API handlers
can be slimmed as information about public messaging, structured data
related to the error, localization metadata, log level, HTTP status
code, and so forth are carried by the error.
can be streamlined. The error carries information about public messaging,
structured data related to the error, localization metadata, log level,
HTTP status code, and so on.
## Basic use
### Declaring errors
## Declare errors
For a service, declare the different categories of errors that may occur
from your service (this corresponds to what you might want to have
specific public error messages or their templates for) by globally
constructing variables using the `errutil.<status>(status, messageID, opts...)`
functions, e.g.
from your service (this corresponds to categories for which you might want
to have specific public error messages or templates).
Globally construct variables using the `errutil.<status>(status, messageID, opts...)
functions. For example:
- `errutil.NotFound(messageID, opts...)`
- `errutil.BadRequest(messageID, opts...)`
@@ -33,44 +31,41 @@ functions, e.g.
- `errutil.NotImplemented(messageID, opts...)`
- `errutil.ClientClosedRequest(messageID, opts...)`
Above functions uses `errutil.NewBase(status, messageID, opts...)` under the covers, and that function should in general only be used outside the `errutil` package for `errutil.StatusUnknown`, e.g. when there are no accurate status code available/provided.
The previous functions use `errutil.NewBase(status, messageID, opts...)` under the covers, and that function should in general only be used outside the `errutil` package for `errutil.StatusUnknown`. For example, you can use that function when there are no accurate status code available.
The status code loosely corresponds to HTTP status codes and provides a
default log level for errors to ensure that the request logging is
properly informing administrators about various errors occurring in
Grafana (e.g. `StatusBadRequest` is generally speaking not as relevant
as `StatusInternal`). All available status codes live in the `errutil`
package and have names starting with `Status`.
default log level for errors.
The default log levels ensure that the request logging is properly informing administrators about various errors occurring in Grafana (for example, `StatusBadRequest` isn't usually as relevant as `StatusInternal`).
All available status codes live in the `errutil` package and have names starting with `Status`.
The messageID is constructed as `<servicename>.<errorIdentifier>` where
The `messageID` is constructed as `<servicename>.<errorIdentifier>` where
the `<servicename>` corresponds to the root service directory per
[the package hierarchy](package-hierarchy.md) and `<errorIdentifier>`
is a camelCased short identifier that identifies the specific category
of errors within the service.
Errors should be grouped together (i.e. share `errutil.Base`) based on
their public facing properties, a single messageID should represent a
translatable string and what metadata is carried with it.
_service.MissingRequiredFields_ and _service.MessageTooLong_ are likely
Group errors together (that is, share `errutil.Base`) based on
their public-facing properties. A single `messageID` should represent a
translatable string and its metadata.
`_service.MissingRequiredFields_` and `_service.MessageTooLong_` are likely
to be two different errors that are both validation failures, as their
user-friendly expansions are likely different. This is the maximization
rule of declaring as many `errutil.Error`s as you need public message
structures.
user-friendly expansions are likely different.
This is the maximization rule of declaring as many errors with `errutil.Error` as you need public message structures.
The other side of this is that even though a login service's
"user is ratelimited", "user does not exist", "wrong username", and
"wrong password" are reasonable errors to separate between internally,
for security reasons the end-user should not be told which particular
The other side of the coin is that even though such messages as
"user is rate limited", "user doesn't exist", "wrong username", and
"wrong password" are reasonable errors to distinguish internally,
for security reasons the end-user shouldn't be told which particular
error they struck. This means that they should share the same base (such
as _login.Failed_). This is the minimization rule of grouping together
distinct logged errors that provide the same information via the API.
as _login.Failed_).
This is the minimization rule of grouping together distinct logged errors that provide the same information via the API.
To set a static message sent to the client when the error occurs, the
`errutil.WithPublicMessage(message string)` option may be appended to
the NewBase function call. For dynamic messages or more options, refer
To set a static message sent to the client when the error occurs, append the
`errutil.WithPublicMessage(message string)` option to
the `NewBase` function call. For dynamic messages or more options, refer
to the `errutil` package's GoDocs.
Errors are then constructed using the `Base.Errorf` method, which
You can then construct errors using the `Base.Errorf` method, which
functions like the [fmt.Errorf](https://pkg.go.dev/fmt#Errorf) method
except that it creates an `errutil.Error`.
@@ -95,34 +90,27 @@ func Look(id int) (*Thing, error) {
}
```
Errors consider themselves to be both its `errutil.Base` or
`errutil.Template` and whatever errors it wraps for the purposes of the
`errors.Is` function.
Errors are considered to be part of `errutil.Base` and
`errutil.Template`, and whatever errors are wrapped for the purposes of the
`errors.Is` function.a
Check out the package and method documentation for
github.com/grafana/grafana/pkg/util/errutil for details on how to
construct and use Grafana style errors. This documentation is
unfortunately not readily available on pkg.go.dev because Grafana is not
fully Go modules compatible, but can be viewed using
[godoc](https://go.dev/cmd/godoc/) from the Grafana directory.
Refer to the package and method documentation for
`github.com/grafana/grafana/pkg/util/errutil` for details on how to
construct and use Grafana style errors.
This documentation isn't readily available on `pkg.go.dev`, but it can be viewed using [godoc](https://go.dev/cmd/godoc/) from the Grafana directory.
### Error source
## Error source
You can optionally specify an error source that describes from where an
error originates. By default, it's _server_ and means the error originates
from within the application, e.g. Grafana. The `errutil.WithDownstream()`
option may be appended to the NewBase function call to denote an error
originates from a _downstream_ server/service. The error source information
is used in the API layer to distinguish between Grafana errors and
non-Grafana errors to include this information when instrumenting the
application and by that allowing Grafana operators to define SLO's
based on actual Grafana errors.
You can optionally specify an error source that describes an error's origin.
By default, it's `_server_` and means the error originates from within the application, for example, Grafana.
The `errutil.WithDownstream()` option may be appended to the `NewBase` function call to denote an error originates from a _downstream_ server or service.
The error source information is used in the API layer to distinguish between Grafana errors and non-Grafana errors. Error source information is given for use when instrumenting the application, allowing Grafana operators to define SLOs based on actual Grafana errors.
### Handling errors in the API
## Handle errors in the API
API handlers use the `github.com/grafana/grafana/pkg/api/response.Err`
or `github.com/grafana/grafana/pkg/api/response.ErrWithFallback`
(same signature as `response.Error`) function to create responses based
on `errutil.Error`.
Using `response.Err` requires all errors to be Grafana style errors.
> **Note:** Using `response.Err` requires all errors to be Grafana style errors.
+5 -6
View File
@@ -194,12 +194,11 @@ func (s *MyService) Hello(ctx context.Context, name string) (string, error) {
if name == "" {
err := fmt.Errorf("name cannot be empty")
// sets the spans status to Error to make the span tracking
// a failed operation as an error span.
span.SetStatus(codes.Error, "failed to check name")
// record err as an exception span event for this span
span.RecordError(err)
return "", err
// Use the helper functions tracing.Errorf or tracing.Error
// to set the spans status to Error to make
// the span tracking a failed operation as an error span and
// record error as an exception span event for the provided span.
return "", tracing.Errorf(span, "failed to check name: %w", err)
}
// Add some other event to show Events usage
+7 -3
View File
@@ -2,12 +2,16 @@
Notes on upgrading various backend dependencies.
# Protobuf
## Protobuf
When upgrading the [protobuf](http://github.com/golang/protobuf) library in Grafana and the plugin SDK,
you typically also want to upgrade your protobuf compiler toolchain and re-compile protobuf files:
you typically also want to upgrade your protobuf compiler toolchain and re-compile protobuf files.
```
**Note:** You need Buf CLI installed and availabile in your path, see https://buf.build/docs/installation for instructions.
Re-compile protobuf files in grafana and the plugin SDK:
```shell
cd $GRAFANA
make protobuf
cd $GRAFANA_PLUGIN_SDK_GO
+6 -8
View File
@@ -6,17 +6,15 @@ Example PR: https://github.com/grafana/grafana/pull/79329
## The main areas that need to change during the upgrade are:
- https://github.com/grafana/grafana/blob/d8ecea4ed93efb2e4d64a5ee24bc08f3805f413d/scripts/drone/variables.star#L6
- https://github.com/grafana/grafana/blob/d8ecea4ed93efb2e4d64a5ee24bc08f3805f413d/Makefile#L264
- https://github.com/grafana/grafana/blob/d8ecea4ed93efb2e4d64a5ee24bc08f3805f413d/Dockerfile#L6
- [`go.mod`](/go.mod#L3)
- [`go.work`](/go.work#L1)
- [`scripts/drone/variables.star`](/scripts/drone/variables.star#L6)
- [`Makefile`](/Makefile#L12)
- [`Dockerfile`](/Dockerfile#L6)
Make sure to run `make drone` so that changes to `.star` files are reflected and `drone.yml` is generated.
Then, run `go mod tidy` and `go work sync`. Also run `make drone` so changes to `.star` files are reflected and `drone.yml` is updated.
### Additional files to change
- Take a look in `.github/workflows` folder for what `go` version is being used there in various workflows.
- Make sure to create a PR with the corresponding changes in `grafana/grafana-enterprise` repository.
## Updating the go.mod file
Please avoid updating the `go.mod` to the newest version unless really necessary. This ensures backwards compatibility and introduces less breaking changes. Always upgrade Go version in the runtime files above first, let them run for a couple of weeks and only then consider updating the `go.mod` file if necessary.
@@ -1,81 +1,80 @@
# Handling breaking changes in Grafana frontend APIs
# Handle breaking changes in Grafana frontend APIs
This guide tries to help you identify and communicate breaking changes introduced to our frontend API.
Follow this guide to identify and communicate breaking changes introduced to our frontend API.
- [What are our public APIs?](#what-are-our-public-apis)
- [What is Levitate?](#what-is-levitate)
- [How does the CI workflow look like?](#how-does-the-ci-workflow-look-like)
- [I received a comment on my PR, what does it mean?](#i-received-a-comment-on-my-pr-what-does-it-mean)
- [**I know it's a breaking change, what's next?**](#i-know-its-a-breaking-change-whats-next)
- [What does the CI workflow look like?](#what-does-the-ci-workflow-look-like)
- [What do comments on my PR mean?](#what-do-comments-on-my-pr-mean)
- [I know it's a breaking change, what's next?](#i-know-its-a-breaking-change-whats-next)
- [Introduce breaking changes only in major versions](#introduce-breaking-changes-only-in-major-versions)
- [Deprecate first](#deprecate-first)
- [Communicate](#communicate)
- [I still have questions, who can help me out?](#i-still-have-questions-who-can-help-me-out)
- [Who can help with other questions?](#who-can-help-with-other-questions)
---
## What are our public APIs?
The Grafana frontend codebase is exposing functionality through NPM packages to make plugin development easier and faster.
The Grafana frontend codebase exposes functionality through NPM packages to make plugin development easier and faster.
These packages live in the `/packages` folder and contain packages like:
- `@grafana/data`
- `@grafana/runtime`
- `@grafana/ui`
- etc. ([They can be viewed here](https://github.com/grafana/grafana/tree/main/packages)
- [(more packages...)](https://github.com/grafana/grafana/tree/main/packages)
Any change that causes dependent software to behave differently is considered to be breaking.
## What is Levitate?
[`@grafana/levitate`](https://github.com/grafana/levitate) is a tool created by Grafana that can show breaking changes between two versions of a **TypeScript** package or a source file.
[`@grafana/levitate`](https://github.com/grafana/levitate) is a tool created by Grafana that can show breaking changes between two versions of a TypeScript package or a source file.
It can list exported members of an NPM package or imports used by an NPM package,
**but we are mainly using it for comparing different versions of the same package to see changes in the exported members.**
Levitate can list exported members of an NPM package or imports used by an NPM package, _but it is most commonly used for comparing different versions of the same package to see changes in the exported members._
A Github workflow runs against every pull request and comments a hint in case there are
possible breaking changes. It also adds the `"breaking change"` label to the pull request.
A GitHub workflow runs against every pull request and comments a hint if there are possible breaking changes.
It also adds the `breaking change` label to the pull request.
## How does the CI workflow look like?
## What does the CI workflow look like?
<img src="./breaking-changes-workflow.png" alt="CI workflow" width="700" />
## I received a comment on my PR, what does it mean?
## What do comments on my PR mean?
![Levitate comment](./breaking-changes-comment-screenshot.png)
![A GitHub comment posted by the github-actions bot that says that grafana-runtime has possible breaking changes. It has links for more info and to check console output.](./breaking-changes-comment-screenshot.png)
Receiving a comment like the one above does not necessarily mean that you actually introduced breaking
changes (as certain edge cases are still not covered by the tool), but as there is a good chance we rather raise attention.
Receiving a comment like this does not necessarily mean that you actually introduced breaking
changes. This is because certain edge cases are still not covered by the tool, but there is a good chance that they may happen, so we call it to your attention.
By clicking the links in the comment ("more info" or "Check console output") you can view more detailed information about what triggered the notification.
**Removed exported members** (console view):<br />
This means that some previously exported members won't be available in the newer version of the package which can break dependent plugins.
This means that some previously exported members won't be available in the newer version of the package, so dependent plugins can break.
![](./breaking-changes-console-screenshot-1.png)
![A table from the console bot showing the Property, Location, and Diff of the breaking changes.](./breaking-changes-console-screenshot-1.png)
**Changed an existing member** (console view):<br />
This means that a member was changed in a way that can break dependent plugins.
![](./breaking-changes-console-screenshot-2.png)
![A table from the console bot showing how a changed number affects the Property, Location, and Diff of the breaking changes.](./breaking-changes-console-screenshot-2.png)
**No breaking changes** (console view):<br />
Seeing this suggests that whilst changes were made, most probably none of them were breaking. You are good to go! 👏
Seeing this suggests that while changes were made, most probably none of them were breaking. You are good to go! 👏
![](./breaking-changes-console-screenshot-3.png)
![A table from the console bot showing that there were no breaking changes.](./breaking-changes-console-screenshot-3.png)
## How can I decide if it is really a breaking change?
First go to the console output of the workflow and make sure that the diffs make sense.
First, go to the console output of the workflow and make sure that the diffs make sense.
It can happen that Levitate highlights a change which is marked with TSDoc tags `// @alpha` or `// @internal` in
which case you can choose to ignore it - keep in mind though that these flags won't really hold developers back
It can happen that Levitate highlights a change which is marked with TSDoc tags `// @alpha` or `// @internal`, in
which case you can choose to ignore it. Keep in mind though that these flags won't really hold developers back
from using your code and most likely it is going to cause them problems if we are breaking them.
It can also happen that Levitate marks changing an interface as a possible breaking change.
For anyone that implements that interface introducing a new property will break their code. Whilst this is correctly marked as a breaking change maybe it is an interface that is never implemented by other developers. In which case you can choose to ignore Levitate's message.
Introducing a new property will break the code of anyone who implements that interface. While this is correctly marked as a breaking change maybe it is an interface that is never implemented by other developers. If this is the case, then you can choose to ignore Levitate's message.
These notifications are only warnings though, and **in the end it's up to the author of the PR to make a decision that makes the most sense.**
These notifications are only warnings though, and _in the end it's up to the author of the PR to make a decision that makes the most sense._
## I know it's a breaking change, what's next?
@@ -99,20 +98,20 @@ myOldFunction(name: string) {
}
```
1. Add a deprecation comment `// @deprecated`
2. Add info in the comment about **when it is going to be removed**
3. Add info in the comment about **what should be used instead**
4. In case it's a function or a method, use `deprecationWarning(<file name>, <old name>, <new name>)` to raise attention during runtime as well
5. Update the [migration guide](/developers/plugin-tools/migration-guides/) with your instructions
1. Add a deprecation comment `// @deprecated`.
2. Add info in the comment about _when it is going to be removed_.
3. Add info in the comment about _what should be used instead_.
4. If it's a function or a method, use `deprecationWarning(<FILENAME>, <OLD NAME>, <NEW NAME>)` to raise attention during runtime.
5. Update the [migration guide](https://grafana.com/developers/plugin-tools/migration-guides/) with your instructions.
### Communicate
Reach out to **@grafana/plugins-platform-frontend** to help finding which plugins are using the code that is just about to change, so we try making it smoother by communicating it to them.
Reach out to `@grafana/plugins-platform-frontend` to help find which plugins are using the code that is just about to change, so we try making it smoother by communicating it to the developers.
---
## I still have questions, who can help me out?
## Who can help with other questions?
We are here to help.
Please either ping us in the pull request by using the **@grafana/plugins-platform-frontend** handle or reach out to us on the internal Slack in `#grafana-plugins-platform`.
Please either ping us in the pull request by using the `@grafana/plugins-platform-frontend` handle or reach out to us on the internal Slack in `#grafana-plugins-platform`.
+30 -29
View File
@@ -1,23 +1,23 @@
# Create a pull request
We're excited that you're considering making a contribution to the Grafana project! This document guides you through the process of creating a [pull request](https://help.github.com/en/articles/about-pull-requests/).
Every contribution to Grafana's software begins with a [pull request](https://help.github.com/en/articles/about-pull-requests/). This document guides you through the process of creating a PR.
## Before you begin
We know you're excited to create your first pull request. Before we get started, read these resources first:
- Learn how to start [Contributing to Grafana](/CONTRIBUTING.md).
- Get started [contributing to Grafana](/CONTRIBUTING.md).
- Make sure your code follows the relevant [style guides](/contribute/style-guides).
- It's recommended you [set up precommit hooks](/contribute/developer-guide.md) to auto-format when you commit
## Your first pull request
If this is your first time contributing to an open-source project on GitHub, make sure you read about [Creating a pull request](https://help.github.com/en/articles/creating-a-pull-request).
If this is your first time contributing to an open-source project on GitHub, make sure you read GitHub's article on [creating a pull request](https://help.github.com/en/articles/creating-a-pull-request).
To increase the chance of having your pull request accepted, make sure your pull request follows these guidelines:
- Title and description matches the implementation.
- Commits within the pull request follow the [Formatting guidelines](#Formatting-guidelines).
- Commits within the pull request follow the [formatting guidelines](#Formatting-guidelines).
- The pull request closes one related issue.
- The pull request contains necessary tests that verify the intended behavior.
- If your pull request has conflicts, rebase your branch onto the main branch.
@@ -27,7 +27,7 @@ If the pull request fixes a bug:
- The pull request description must include `Closes #<issue number>` or `Fixes #<issue number>`.
- To avoid regressions, the pull request should include tests that replicate the fixed bug.
## Frontend-specific guidelines
## Guidelines for frontend development
Pull requests for frontend contributions must:
@@ -42,76 +42,76 @@ Pull requests for Redux contributions must:
- Use the `actionCreatorFactory` and `reducerFactory` helpers instead of traditional switch statement reducers in Redux. Refer to [Redux framework](/contribute/style-guides/redux.md) for more details.
- Use `reducerTester` to test reducers. Refer to [Redux framework](/contribute/style-guides/redux.md) for more details.
- Not contain code that mutates state in reducers or thunks.
- Not contain code that accesses the reducers state slice directly. Instead, the code should use state selectors to access state.
- Not contain code that accesses the reducer's state slice directly. Instead, the code should use state selectors to access state.
Pull requests that add or modify unit tests that are written in Jest must adhere to these guidelines:
- Don't add snapshots tests. We are incrementally removing existing snapshot tests, we don't want more.
- If an existing unit test is written in Enzyme, migrate it to RTL (React Testing Library), unless youre fixing a bug. Bug fixes usually shouldn't include any bigger refactoring, so its ok to skip migrating the test to RTL.
- Don't add snapshots tests. We are incrementally removing existing snapshot tests, and so we don't want more.
- If an existing unit test is written in Enzyme, migrate it to React Testing Library (RTL), unless youre fixing a bug. Bug fixes usually shouldn't include any bigger refactoring, so its okay to skip migrating the test to RTL.
Pull requests that create new UI components or modify existing ones must adhere to the following accessibility guidelines:
- Use semantic HTML.
- Use ARIA roles, labels and other accessibility attributes correctly. Accessibility attributes should only be used when semantic HTML doesn't satisfy your use case.
- Use the [Grafana theme palette](/contribute/style-guides/themes.md) for styling. It contains colors with good contrast which aids accessibility.
- Use the [Grafana theme palette](/contribute/style-guides/themes.md) for styling. The palette contains colors with good contrast to aid accessibility.
- Use [RTL](https://testing-library.com/docs/dom-testing-library/api-accessibility/) for writing unit tests. It helps to create accessible components.
### Accessibility-specific guidelines
### Guidelines for accessibility
Pull requests that introduce accessibility(a11y) errors - please refer to the [accessibility guidelines](/contribute/style-guides/accessibility.md).
Before submitting pull requests that introduce accessibility (a11y) errors, refer to the [accessibility guidelines](/contribute/style-guides/accessibility.md).
### Betterer
We make use of a tool called [**Betterer**](https://phenomnomnominal.github.io/betterer/) in order to drive long-running code quality improvements. The intention is for this to be as unintrusive as possible, however there are some things to be aware of:
We make use of a tool called [**Betterer**](https://phenomnomnominal.github.io/betterer/) in order to drive long-running code quality improvements. Our intention is for this requirement to be as unintrusive as possible; however, there are some things to be aware of:
- **Betterer runs as a precommit hook**:
- You may see changes to the `.betterer.results` file automatically added to your commits.
- You may get an error when trying to commit something that decreases the overall code quality. You can either fix these errors or temporarily override the checks (e.g. to commit something that's a work in progress) by using `git commit --no-verify`. All errors will eventually have to be fixed before your code can be merged because...
- You may get an error when trying to commit something that decreases the overall code quality. You can either fix these errors or temporarily override the checks (for example, to commit something that's a work in progress). To do so, use `git commit --no-verify`. All errors will eventually have to be fixed before your code can be merged because...
- **Betterer also runs as part of our CI**:
- You may see the following error message in the CI: `Unexpected changes detected in these tests while running in CI mode`. To resolve, merge with the target branch (usually `main`).
- You may see merge conflicts for the `.betterer.results` file. To resolve, merge with the target branch (usually `main`) then run `yarn betterer:merge` and commit.
- You may see the following error message in the CI: `Unexpected changes detected in these tests while running in CI mode`. To resolve the error, merge with the target branch (usually `main`).
- You may see merge conflicts for the `.betterer.results` file. To resolve, merge with the target branch (usually `main`), and then run `yarn betterer:merge` and commit.
## Backend-specific guidelines
## Guidelines for backend development
Please refer to the [backend style guidelines](/contribute/backend/style-guide.md).
Refer to the [backend style guidelines](/contribute/backend/style-guide.md).
## Code review
Once you've created a pull request, the next step is to have someone review your change. A review is a learning opportunity for both the reviewer and the author of the pull request.
If you think a specific person needs to review your pull request, then you can tag them in the description or in a comment. Tag a user by typing the `@` symbol followed by their GitHub username.
If you think a specific person needs to review your pull request, then you can tag them in the description or in a comment. To tag a user on GitHub, go to Reviewers box on the Conversations page and enter the `@` symbol followed by their GitHub username.
We recommend that you read [How to do a code review](https://google.github.io/eng-practices/review/reviewer/) to learn more about code reviews.
## Formatting guidelines
A well-written pull request minimizes the time to get your change accepted. These guidelines help you write good commit messages and descriptions for your pull requests.
A well-written pull request minimizes the time to get your change accepted. The following guidelines help you to write good commit messages and descriptions for your pull requests.
### Commit message format
Grafana uses the guidelines for commit messages outlined in [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/), with the following additions:
Grafana uses the guidelines for commit messages outlined in the article [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/), with the following additions:
- Subject line must begin with the _area_ of the commit.
- A footer in the form of an optional [keyword and issue reference](https://help.github.com/en/articles/closing-issues-using-keywords).
- Footer in the form of an optional [keyword and issue reference](https://help.github.com/en/articles/closing-issues-using-keywords).
#### Area
The area should use upper camel case, e.g. UpperCamelCase.
The _area_ refers to a specific part of Grafana's codebase. It should be given in the upper camel case format. For example: UpperCamelCase.
Prefer using one of the following areas:
- **Build:** Change the build system, or external dependencies
- **Chore:** Change that don't affect functionality
- **Chore:** Change that doesn't affect functionality
- **Dashboard:** Change the Dashboard feature
- **Docs:** Change documentation
- **Explore:** Change the Explore feature
- **Plugins:** Change the ... plugin
- **Plugins:** Change a plugin
For changes to data sources, the area is the name of the data source. For example, AzureMonitor, Graphite, or Prometheus.
For changes to panels, the area is the name of the panel, suffixed with Panel. For example, GraphPanel, SinglestatPanel, or TablePanel.
**Examples**
**Examples of good commit messages**
- `Build: Support publishing MSI to grafana.com`
- `Explore: Add Live option for supported data sources`
@@ -129,12 +129,13 @@ The Grafana team _squashes_ all commits into one when we accept a pull request.
We use the pull request title when we generate change logs for releases. As such, we strive to make the title as informative as possible.
**Example:**
`Docs: Change url to URL in all documentation files`
## Configuration changes
If your PR includes configuration changes, all the following files must be changed correspondingly:
If your pull request includes configuration changes, all the following files must be changed correspondingly:
- conf/defaults.ini
- conf/sample.ini
- docs/sources/administration/configuration.md
- `conf/defaults.ini`
- `conf/sample.ini`
- `docs/sources/administration/configuration.md`
+9 -7
View File
@@ -1,30 +1,32 @@
# Deprecation policy
We do our best to limit breaking changes and the deprecation of features to major releases. We always do our best **not** to introduce breaking changes in order to make upgrading Grafana as easy and reliable as possible. However, at times we have to introduce a breaking change by changing behavior or by removing a feature.
We do our best to limit breaking changes and the deprecation of features to major releases. We always do our best _not_ to introduce breaking changes in order to make upgrading Grafana as easy and reliable as possible. However, at times we have to introduce a breaking change by changing behavior or by removing a feature.
To minimize the negative effects of removing a feature we require a deprecation plan that includes:
To minimize the negative effects of removing a feature, we require a deprecation plan. A typical deprecation plan includes these features:
- Determine usage levels of the feature.
- Find alternative solutions and possible migration paths.
- Announce deprecation of the feature.
- Migrate users if possible
- Migrate users if possible.
- Give users time to adjust to the deprecation.
- Disable the feature by default.
- Remove the feature from the code base.
Depending on the size and importance of the feature this can be a design doc or an issue. We want this to be written communication for all parties so we know it's intentional and that did a reasonable attempt to avoid breaking changes unless needed. The size of the feature also means different notice times between Depreciation and disabling as well as disabling and removal. The actual duration will depend on releases of Grafana and the table below should be used as a guide.
We want the deprecation plan to be in the form of written communication for all parties so we know it's intentional and that a reasonable attempt was made to avoid breaking changes unnecessarily. Depending on the size and importance of the feature the plan can be a design doc or an issue.
Grafana employees can find more details in our internal docs.
> Grafana employees can find more details in our internal docs.
Additionally, the size of the feature requires different notice times between depreciation and disabling as well as disabling and removal. The actual duration will depend on releases of Grafana and the table below should be used as a guide.
## Grace period between announcement and disabling feature by default
| Size | Duration | Example |
| ------ | ---------- | ---------------------------------------------------------------- |
| Large | 1-2 years | Classic alerting, scripted dashboards, AngularJS |
| Medium | 6 months | Supported Database for Grafana's backend |
| Medium | 6 months | Supported database for Grafana's backend |
| Small | 1-3 months | Refresh OAuth access_token automatically using the refresh_token |
## Announced deprecations.
## Announced deprecations
| Name | Announcement Date | Disabling date | Removal Date | Description | Status |
| ------------------------------------------------------------------------ | ----------------- | -------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------- | ------- |
+83 -52
View File
@@ -8,8 +8,8 @@ Make sure you have the following dependencies installed before setting up your d
- [Git](https://git-scm.com/)
- [Go](https://golang.org/dl/) (see [go.mod](../go.mod#L3) for minimum required version)
- [Node.js (Long Term Support)](https://nodejs.org), with [corepack enabled](https://nodejs.org/api/corepack.html#enabling-the-feature). See [.nvmrc](../.nvmrc) for supported version. It's recommend you use a version manager such as [nvm](https://github.com/nvm-sh/nvm), [fnm](https://github.com/Schniz/fnm), or similar.
- GCC (required for Cgo dependencies)
- [Node.js (Long Term Support)](https://nodejs.org), with [corepack enabled](https://nodejs.org/api/corepack.html#enabling-the-feature). See [.nvmrc](../.nvmrc) for supported version. We recommend that you use a version manager such as [nvm](https://github.com/nvm-sh/nvm), [fnm](https://github.com/Schniz/fnm), or similar.
- [GCC](https://gcc.gnu.org/) (required for Cgo] dependencies)
### macOS
@@ -33,61 +33,91 @@ We recommend using the Git command-line interface to download the source code fo
1. Open a terminal and run `git clone https://github.com/grafana/grafana.git`. This command downloads Grafana to a new `grafana` directory in your current directory.
1. Open the `grafana` directory in your favorite code editor.
For alternative ways of cloning the Grafana repository, please refer to [GitHub's cloning a repository](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository) documentation.
For alternative ways of cloning the Grafana repository, refer to [GitHub's documentation](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository).
**Warning:** Do not use `go get` to download Grafana. Recent versions of Go have added behavior which isn't compatible with the way the Grafana repository is structured.
> **Caution:** Do not use `go get` to download Grafana. Recent versions of Go have added behavior which isn't compatible with the way the Grafana repository is structured.
### Configure precommit hooks
We use pre-commit hooks (via [lefthook](https://github.com/evilmartians/lefthook)) to lint, fix, and format code as you commit your changes. Previously the Grafana repository automatically installed these hook when you did `yarn install`, but they are now opt in for all contributors
We use pre-commit hooks (via [lefthook](https://github.com/evilmartians/lefthook)) to lint, fix, and format code as you commit your changes. Previously, the Grafana repository automatically installed these hook when you ran `yarn install`, but they are now opt-in for all contributors.
Install the lefthook precommit hooks with:
To install the precommit hooks:
```sh
make lefthook-install
```
To remove precommit hooks, run
To remove precommit hooks:
```sh
make lefthook-uninstall
```
> [!NOTE]
> Contributors working on the frontend are highly encouraged to install the precommit hooks, even if your IDE formats on save, so the `.betterer.results` file is kept up to sync.
> We strongly encourage contributors who work on the frontend to install the precommit hooks, even if your IDE formats on save. By doing so, the `.betterer.results` file is kept in sync.
## Build Grafana
Grafana consists of two components; the _frontend_, and the _backend_.
When building Grafana, be aware that it consists of two components:
- The _frontend_, and
- The _backend_.
### Frontend
Before we can build the frontend assets, we need to install the dependencies:
Before you can build the frontend assets, you need to install the related dependencies:
```
yarn install --immutable
```
> Troubleshooting: if you get the error `The remote archive doesn't match the expected checksum` for a dependency pulled from a link (e.g. `"tether-drop": "https://github.com/torkelo/drop"`): this is a temporary mismatch. To work around it (while someone corrects the issue), you can prefix your `yarn install --immutable` command with [`YARN_CHECKSUM_BEHAVIOR=update`](https://yarnpkg.com/advanced/error-codes#yn0018---cache_checksum_mismatch)
> If you get the error `The remote archive doesn't match the expected checksum` for a dependency pulled from a link (for example, `"tether-drop": "https://github.com/torkelo/drop"`): this is a temporary mismatch. To work around the error (while someone corrects the issue), you can prefix your `yarn install --immutable` command with [`YARN_CHECKSUM_BEHAVIOR=update`](https://yarnpkg.com/advanced/error-codes#yn0018---cache_checksum_mismatch).
After the command has finished, we can start building our source code:
After the command has finished, you can start building the source code:
```
yarn start
```
This command will generate sass theme files, build all external plugins, then build the frontend assets.
Once `yarn start` has built the assets, it will continue to do so whenever any of the files change. This means you don't have to manually build the assets every time you change the code.
This command generates SASS theme files, builds all external plugins, and then builds the frontend assets.
> Troubleshooting: if your first build works, but after pulling updates you see unexpected errors in the "Type-checking in progress..." stage, these can be caused by the [tsbuildinfo cache supporting incremental builds](https://www.typescriptlang.org/tsconfig#incremental). You can `rm tsconfig.tsbuildinfo` and re-try.
After `yarn start` has built the assets, it will continue to do so whenever any of the files change. This means you don't have to manually build the assets every time you change the code.
Next, we'll build & run the web server that will serve the frontend assets we just built.
> **Troubleshooting:** if your first build works, after pulling updates you may see unexpected errors in the "Type-checking in progress..." stage. These errors can be caused by the [tsbuildinfo cache supporting incremental builds](https://www.typescriptlang.org/tsconfig#incremental). In this case, you can enter `rm tsconfig.tsbuildinfo` and re-try.
#### Plugins
If you want to contribute to any of the plugins listed below (that are found within the `public/app/plugins` directory) they require running additional commands to watch and rebuild them.
- azuremonitor
- cloud-monitoring
- grafana-postgresql-datasource
- grafana-pyroscope-datasource
- grafana-testdata-datasource
- jaegar
- mysql
- parca
- tempo
- zipkin
To build and watch all these plugins you can run the following command. Note this can be quite resource intensive as it will start separate build processes for each plugin.
```
yarn plugin:build:dev
```
If, instead, you would like to build and watch a specific plugin you can run the following command. Make sure to substitute `<name_of_plugin>` with the plugins name field found in its package.json. e.g. `@grafana-plugins/tempo`.
```
yarn workspace <name_of_plugin> dev
```
Next, we'll explain how to build and run the web server that serves these frontend assets.
### Backend
Build and run the backend by running `make run` in the root directory of the repository. This command compiles the Go source code and starts a web server.
> Are you having problems with [too many open files](#troubleshooting)?
> **Troubleshooting:** Are you having problems with [too many open files](#troubleshooting)?
By default, you can access the web server at `http://localhost:3000/`.
@@ -99,14 +129,14 @@ Log in using the default credentials:
When you log in for the first time, Grafana asks you to change your password.
#### Building on Windows
#### Build on Windows
The Grafana backend includes SQLite which requires GCC to compile. So in order to compile Grafana on Windows you need to install GCC. We recommend [TDM-GCC](http://tdm-gcc.tdragon.net/download). Eventually, if you use [Scoop](https://scoop.sh), you can install GCC through that.
The Grafana backend includes SQLite, a database which requires GCC to compile. So in order to compile Grafana on Windows you need to install GCC. We recommend [TDM-GCC](http://tdm-gcc.tdragon.net/download). Eventually, if you use [Scoop](https://scoop.sh), you can install GCC through that.
You can build the back-end as follows:
1. Follow the [instructions](https://github.com/google/wire#installing) to install the Wire tool.
2. Generate code using Wire:
2. Generate code using Wire. For example:
```
# Default Wire tool install path: $GOPATH/bin/wire.exe
@@ -119,8 +149,9 @@ You can build the back-end as follows:
go run build.go build
```
The Grafana binaries will be in bin\\windows-amd64.
Alternately, if you wish to use the `make` command, install [Make for Windows](http://gnuwin32.sourceforge.net/packages/make.htm) and use it in a Unix shell (f.ex. Git Bash).
The Grafana binaries will be installed in `bin\\windows-amd64`.
Alternatively, if you are on Windows and want to use the `make` command, install [Make for Windows](http://gnuwin32.sourceforge.net/packages/make.htm) and use it in a UNIX shell (for example, Git Bash).
## Test Grafana
@@ -128,7 +159,7 @@ The test suite consists of three types of tests: _Frontend tests_, _backend test
### Run frontend tests
We use [jest](https://jestjs.io/) for our frontend tests. Run them using Yarn:
We use [Jest](https://jestjs.io/) for our frontend tests. Run them using Yarn:
```
yarn test
@@ -144,27 +175,29 @@ go test -v ./pkg/...
#### On Windows
Running the backend tests on Windows currently needs some tweaking, so use the build.go script:
Running the backend tests on Windows currently needs some tweaking, so use the `build.go` script:
```
go run build.go test
```
### Run SQLLite, PostgreSQL and MySQL integration tests
### Run SQLite, PostgreSQL and MySQL integration tests
By default, grafana runs SQLite, to run test with SQLite
By default, grafana runs SQLite. To run test with SQLite:
```bash
go test -covermode=atomic -tags=integration ./pkg/...
```
To run PostgreSQL and MySQL integration tests locally, you need to start the docker blocks for MySQL and/or PostgreSQL test data sources by running `make devenv sources=mysql_tests,postgres_tests`. When your test data sources are running, you can execute integration tests by running:
To run PostgreSQL and MySQL integration tests locally, start the Docker blocks for test data sources for MySQL, PostgreSQL, or both, by running `make devenv sources=mysql_tests,postgres_tests`.
When your test data sources are running, you can execute integration tests by running for MySQL:
```bash
make test-go-integration-mysql
```
and/or
For PostgreSQL, you could run:
```bash
make test-go-integration-postgres
@@ -172,9 +205,9 @@ make test-go-integration-postgres
### Run end-to-end tests
The end to end tests in Grafana use [Cypress](https://www.cypress.io/) and [Playwright](https://playwright.dev/) to run automated scripts in a browser. Read more about our Cypress [e2e framework](/contribute/style-guides/e2e.md).
Grafana uses [Cypress](https://www.cypress.io/) to end-to-end test core features. Core plugins use [Playwright](https://playwright.dev/) to run automated end-to-end tests. You can find more information on how to add end-to-end tests to your core plugin [in our end-to-end testing style guide](./style-guides/e2e-plugins.md)
#### Running Cypress tests
#### Run Cypress tests
To run all tests in a headless Chromium browser.
@@ -202,30 +235,24 @@ yarn e2e:dev
#### To run the Playwright tests:
**Note:** If you're using VS Code as your development editor, it's recommended to install the [Playwright test extension](https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright). It allows you to run, debug and generate Playwright tests from within the editor. For more information about the extension and how to install it, refer to the [Playwright documentation](https://playwright.dev/docs/getting-started-vscode).
**Note:** If you're using VS Code as your development editor, it's recommended to install the [Playwright test extension](https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright). It allows you to run, debug and generate Playwright tests from within the editor. For more information about the extension and how to use reports to analyze failing tests, refer to the [Playwright documentation](https://playwright.dev/docs/getting-started-vscode).
Each version of Playwright needs specific versions of browser binaries to operate. You will need to use the Playwright CLI to install these browsers.
Each version of Playwright needs specific versions of browser binaries to operate. You need to use the Playwright CLI to install these browsers.
```
yarn playwright install chromium
```
To run all tests in a headless Chromium browser and display results in the terminal.
To run all tests in a headless Chromium browser and display results in the terminal. This assumes you have Grafana running on port 3000.
```
yarn e2e:playwright
```
For a better developer experience, open the Playwright UI where you can easily walk through each step of the test and visually see what was happening before, during and after each step.
The following script starts a Grafana [development server](https://github.com/grafana/grafana/blob/main/scripts/grafana-server/start-server) (same server that is being used when running e2e tests in Drone CI) on port 3001 and runs the Playwright tests. The development server is provisioned with the [devenv](https://github.com/grafana/grafana/blob/main/contribute/developer-guide.md#add-data-sources) dashboards, data sources and apps.
```
yarn e2e:playwright:ui
```
To open the HTML reporter for the last test run session.
```
yarn e2e:playwright:report
yarn e2e:playwright:server
```
## Configure Grafana for development
@@ -234,7 +261,7 @@ The default configuration, `defaults.ini`, is located in the `conf` directory.
To override the default configuration, create a `custom.ini` file in the `conf` directory. You only need to add the options you wish to override.
Enable the development mode, by adding the following line in your `custom.ini`:
Enable the development mode by adding the following line in your `custom.ini`:
```
app_mode = development
@@ -264,7 +291,7 @@ make devenv sources=influxdb,loki
The script generates a Docker Compose file with the databases you specify as `sources`, and runs them in the background.
See the repository for all the [available data sources](/devenv/docker/blocks). Note that some data sources have specific Docker images for macOS, e.g. `nginx_proxy_mac`.
See the repository for all the [available data sources](/devenv/docker/blocks). Note that some data sources have specific Docker images for macOS; for example, `nginx_proxy_mac`.
## Build a Docker image
@@ -274,9 +301,9 @@ To build a Docker image, run:
make build-docker-full
```
The resulting image will be tagged as grafana/grafana:dev.
The resulting image will be tagged as `grafana/grafana:dev`.
**Note:** If you are using Docker for macOS, be sure to set the memory limit to be larger than 2 GiB. Otherwise, `grunt build` may fail. The memory limit settings are available under **Docker Desktop** -> **Preferences** -> **Advanced**.
> **Note:** If you use Docker for macOS, be sure to set the memory limit to be larger than 2 GiB. Otherwise, `grunt build` may fail. The memory limit settings are available under **Docker Desktop** -> **Preferences** -> **Advanced**.
## Troubleshooting
@@ -284,13 +311,13 @@ Are you having issues with setting up your environment? Here are some tips that
### IDE configuration
Configure your IDE to use the Typescript version from the Grafana repository. The version should match the Typescript version in the package.json file, and is typically at the path `node_modules/.bin/tsc`.
Configure your IDE to use the TypeScript version from the Grafana repository. The version should match the TypeScript version in the `package.json` file, and is typically located at `node_modules/.bin/tsc`.
Previously Grafana used Yarn PnP to install frontend dependencies, which required additional special IDE configuration. This is no longer the case. If you have custom paths in your IDE for ESLint, Prettier, or Typescript, you can now remove them and use the defaults from node_modules.
Previously, Grafana used Yarn PnP to install frontend dependencies, which required additional special IDE configuration. This is no longer the case. If you have custom paths in your IDE for ESLint, Prettier, or TypeScript, you can now remove them and use the defaults from `node_modules`.
### Too many open files when running `make run`
Depending on your environment, you may have to increase the maximum number of open files allowed. For the rest of this section, we will assume you are on a Unix like OS (e.g. Linux/macOS), where you can control the maximum number of open files through the [ulimit](https://ss64.com/bash/ulimit.html) shell command.
Depending on your environment, you may have to increase the maximum number of open files allowed. For the rest of this section, we will assume you are on a UNIX-like OS (for example, Linux or macOS), where you can control the maximum number of open files through the [ulimit](https://ss64.com/bash/ulimit.html) shell command.
To see how many open files are allowed, run:
@@ -312,7 +339,7 @@ find ./conf ./pkg ./public/views | wc -l
Another alternative is to limit the files being watched. The directories that are watched for changes are listed in the `.bra.toml` file in the root directory.
To retain your `ulimit` configuration, i.e. so it will be remembered for future sessions, you need to commit it to your command line shell initialization file. Which file this will be depends on the shell you are using, here are some examples:
You can retain your `ulimit` configuration, that is, save it so it will be remembered for future sessions. To do this, commit it to your command line shell initialization file. Which file this is depends on the shell you are using. For example:
- zsh -> ~/.zshrc
- bash -> ~/.bashrc
@@ -331,11 +358,15 @@ For some people, typically using the bash shell, ulimit fails with an error simi
ulimit: open files: cannot modify limit: Operation not permitted
```
If that happens to you, chances are you've already set a lower limit and your shell won't let you set a higher one. Try looking in your shell initialization files (~/.bashrc typically), if there's already an ulimit command that you can tweak.
If that happens to you, chances are you've already set a lower limit and your shell won't let you set a higher one. Try looking in your shell initialization files (`~/.bashrc`, typically), to see if there's already an `ulimit` command that you can tweak.
### Getting `AggregateError` when building frontend tests
If you encounter an `AggregateError` when building new tests, this is probably due to a call to our client [backend service](https://github.com/grafana/grafana/blob/main/public/app/core/services/backend_srv.ts) not being mocked. Our backend service anticipates multiple responses being returned and was built to return errors as an array. A test encountering errors from the service will group those errors as an `AggregateError` without breaking down the individual errors within. `backend_srv.processRequestError` is called once per error and is a great place to return information on what the individual errors might contain.
## Next steps
- Read our [style guides](/contribute/style-guides).
- Learn how to [Create a pull request](/contribute/create-pull-request.md).
- Learn how to [create a pull request](/contribute/create-pull-request.md).
- Read about the [architecture](architecture).
- Read through the [backend documentation](/contribute/backend/README.md).
+9 -9
View File
@@ -1,17 +1,17 @@
# Making changes to the Drone pipeline
_Only people in the Grafana organization can make changes to the Drone pipeline_
> Only members of the Grafana organization can make changes to the Drone pipeline.
The Drone pipelines are built with [Starlark](https://github.com/bazelbuild/starlark), a language which is similar to Python. The Starlark files are located in [`scripts/drone`](https://github.com/grafana/grafana/tree/main/scripts/drone).
The Drone pipelines are built with [Starlark](https://github.com/bazelbuild/starlark), a similar language to Python. The Starlark files are located in [`scripts/drone`](https://github.com/grafana/grafana/tree/main/scripts/drone).
## Setup
## Drone setup
- Set environment variables `DRONE_SERVER` and `DRONE_TOKEN`, which can be found on your [Drone account](https://drone.grafana.net/account). These are used to verify that only Grafana employees can make changes to the pipelines.
- Install [buildifier](https://github.com/bazelbuild/buildtools/blob/master/buildifier/README.md), and use it to format the Starlark files you edit.
1. Set environment variables `DRONE_SERVER` and `DRONE_TOKEN` found in your [Drone account](https://drone.grafana.net/account). These environment variables are used to verify that only Grafana employees can make changes to the pipelines.
1. Install [buildifier](https://github.com/bazelbuild/buildtools/blob/master/buildifier/README.md), and use it to format the Starlark files you want to edit.
## Develop
## Drone development
- Open a PR where you can do test runs for your changes. If you need to experiment with secrets, create a PR in the [grafana-ci-sandbox repo](https://github.com/grafana/grafana-ci-sandbox), before opening a PR in the main repo.
- Run `make drone` after making changes to the Starlark files. This builds the `.drone.yml` file.
1. Open a pull request where you can do test runs for your changes. If you need to experiment with secrets, create a pull request in the [`grafana-ci-sandbox repo`](https://github.com/grafana/grafana-ci-sandbox) before opening a pull request in the main repo.
1. Run `make drone` after making changes to the Starlark files. This builds the `.drone.yml` file.
For further questions, reach out to the grafana-release-guild squad.
For further questions, reach out to the `grafana-release-guild` squad.
+7 -5
View File
@@ -1,15 +1,17 @@
# Feature toggle guide
This guide helps you get started adding your feature behind a feature flag in Grafana.
This guide helps you to add your feature behind a _feature flag_, code that lets you enable or disable a feature without redeploying Grafana.
## Steps to adding a feature toggle
1. Define the feature toggle in [registry.go](../pkg/services/featuremgmt/registry.go). To see what each feature stage means, look at the comments [here](../pkg/services/featuremgmt/features.go). If you are a community member, use the [CODEOWNERS](../.github/CODEOWNERS) file to determine which team owns the package you are updating.
2. Run the go tests mentioned at the top of [this file](../pkg/services/featuremgmt/toggles_gen.go). This will generate all the additional files needed: `toggles_gen` for the backend, `grafana-data` for the frontend, and docs. You can run the test by running `make gen-feature-toggles`.
1. Define the feature toggle in [registry.go](../pkg/services/featuremgmt/registry.go). To see what each feature stage means, look at the [related comments](../pkg/services/featuremgmt/features.go). If you are a community member, use the [CODEOWNERS](../.github/CODEOWNERS) file to determine which team owns the package you are updating.
2. Run the Go tests mentioned at the top of [this file](../pkg/services/featuremgmt/toggles_gen.go). This generates all the additional files needed: `toggles_gen` for the backend, `grafana-data` for the frontend, and docs. To run the test, run `make gen-feature-toggles`.
## How to use it in the code
## How to use the toggle in your code
Once your feature toggle is defined, you can then wrap your feature around a check if the feature flag is enabled on that Grafana instance. Here are examples of how to do that:
Once your feature toggle is defined, you can then wrap your feature around a check if the feature flag is enabled on that Grafana instance.
Examples:
- [Backend](https://github.com/grafana/grafana/blob/feb2b5878b3e3ec551d64872c35edec2a0187812/pkg/services/authn/clients/session.go#L57): Use the `IsEnabled` function and pass in your feature toggle.
- [Frontend](https://github.com/grafana/grafana/blob/feb2b5878b3e3ec551d64872c35edec2a0187812/public/app/features/search/service/folders.ts#L14): Check the config for your feature toggle.
+78 -50
View File
@@ -2,47 +2,73 @@
Grafana uses the [i18next](https://www.i18next.com/) framework for managing translating phrases in the Grafana frontend.
## tl;dr
## TL;DR
**Please note:** We do not currently accept contributions for translations. Please do not submit pull requests translating grafana.json files - they will be rejected. We do accept contributions to mark up phrases for translation.
**Note:** We don't currently accept contributions for translations. Please don't submit pull requests translating `grafana.json` files - they will be rejected. We do accept contributions to mark up phrases for translation.
- Use `<Trans i18nKey="search-results.panel-link">Go to {{ pageTitle }}</Trans>` in code to add a translatable phrase
- Translations are stored in JSON files in `public/locales/{locale}/grafana.json`
- If a particular phrase is not available in the a language then it will fall back to English
- To update phrases in English, edit the default phrase in the component's source and then run `yarn i18n:extract`.
- The single source of truth for en-US (fallback language) is in grafana/grafana, the single source of truth for any translated language is Crowdin
- Use `<Trans i18nKey="search-results.panel-link">Go to {{ pageTitle }}</Trans>` in code to add a translatable phrase.
- Translations are stored in JSON files in `public/locales/{locale}/grafana.json`.
- If a particular phrase isn't available in a given language, then it will fall back to English.
- To update phrases in English, edit the default phrase in the component's source, and then run `make i18n-extract`.
- The single source of truth for `en-US` (fallback language) is in `grafana/grafana`, and the single source of truth for any translated language is Crowdin.
- To update phrases in any translated language, edit the phrase in Crowdin. Do not edit the `{locale}/grafana.json`
## How to add a new translation phrase
### JSX
1. For JSX children, use the `<Trans />` component from `app/core/internationalization` with the `i18nKey`, ensuring it conforms to the guidelines below, with the default english translation. e.g.
1. For JSX children, use the `<Trans />` component from `app/core/internationalization` with the `i18nKey`, ensuring it conforms to the following guidelines, with the default English translation. For example:
```jsx
import { Trans } from 'app/core/internationalization';
const SearchTitle = ({ term }) => <Trans i18nKey="search-page.results-title">Results for {{ term }}</Trans>;
```
Prefer using `<Trans />` for JSX children, and `t()` for props and other JavaScript usage.
There may be cases where you need to interpolate variables inside other components in the translation.
If the nested component is displaying the variable only (e.g. to add emphasis or color), the best solution is to create a new wrapping component:
```jsx
import { Trans } from 'app/core/internationalization';
import { Text } from '@grafana/ui';
const SearchTerm = ({ term }) => <Text color="success">{term}</Text>;
const SearchTitle = ({ term }) => (
<Trans i18nKey="search-page.results-title">
Results for <em>{{ term }}</em>
Results for <SearchTerm term={term} />
</Trans>
);
```
Prefer using `<Trans />` for JSX children, and `t()` for props and other javascript usage.
However there are also cases where the nested component might be displaying additional text which also needs to be translated. In this case, you can use the `values` prop to explicitly pass variables to the translation, and reference them as templated strings in the markup. For example:
When translating in grafana-ui, use a relative path to import `<Trans />` and `t()` from `src/utils/i18n`.
```jsx
import { Trans } from 'app/core/internationalization';
import { Text } from '@grafana/ui';
Note that our tooling must be able to statically analyse the code to extract the phrase, so the `i18nKey` can not be dynamic. e.g. the following will not work:
const SearchTitle = ({ term }) => (
<Trans i18nKey="search-page.results-title" values={{ myVariable: term }}>
Results for <Text color="success">{'{{ myVariable }}'} and this translated text is also in green</Text>
</Trans>
);
```
When translating in `grafana-ui`, use a relative path to import `<Trans />` and `t()` from `src/utils/i18n`.
Note that our tooling must be able to statically analyze the code to extract the phrase, so the `i18nKey` can't be dynamic. For example: the following will not work:
```jsx
const ErrorMessage = ({ id, message }) => <Trans i18nKey={`errors.${id}`}>There was an error: {{ message }}</Trans>;
```
2. Upon reload, the default English phrase will appear on the page.
2. Upon reload, the default English phrase appears on the page.
3. Before submitting your PR, run the `yarn i18n:extract` command to extract the messages you added into the `public/locales/en-US/grafana.json` file and make them available for translation.
**Note:** All other languages will receive their translations when they are ready to be downloaded from Crowdin.
3. Before submitting your PR, run the `make i18n-extract` command to extract the messages you added into the `public/locales/en-US/grafana.json` file and make them available for translation.
**Note:** All other languages receive their translations when they are ready to be downloaded from Crowdin.
### Plain JS usage
@@ -62,37 +88,40 @@ Interpolating phrases is a bit more verbose. Make sure the placeholders in the s
const placeholder = t('page.greeting', 'Hello {{ username }}', { username });
```
While the `t` function can technically be used outside of React functions (e.g, in actions/reducers), aim to keep all UI phrases within the React UI functions.
While the `t` function can technically be used outside of React functions (for example, in actions or reducers), aim to keep all UI phrases within the React UI functions.
## How to add a new language
1. Add a new locale in Crowdin
1. Grafana OSS Crowdin project
2. "dot dot dot" menu in top right
3. Target languages, and add the language
4. If Crowdin's locale code is different from our IETF language tag (such as Chinese Simplified), add a custom mapping in Project Settings -> Language mapping
2. Sync the new (empty) language to the repo
1. In Grafana's Github Actions, go to [Crowdin Download Action](https://github.com/grafana/grafana/actions/workflows/i18n-crowdin-download.yml)
2. Select 'Run workflow', from main
3. The workflow will create a PR with the new language files, which can be reviewed and merged
3. Update `public/app/core/internationalization/constants.ts`
1. Add a new constant for the new language
2. Add the new constant to the `LOCALES` array
3. Create a PR with the changes and merge when you are ready to release the new language (probably wait until we have translations for it)
1. Add a new locale in Crowdin.
1. Go to the Grafana OSS Crowdin project.
2. In the top right, select the "dot dot dot" menu.
3. Under **Target languages**, add the language.
4. If Crowdin's locale code is different from our IETF language tag (such as Chinese Simplified), add a custom mapping in **Project Settings** -> **Language mapping**.
2. Sync the new (empty) language to the repo.
1. In Grafana's Github Actions, go to [Crowdin Download Action](https://github.com/grafana/grafana/actions/workflows/i18n-crowdin-download.yml).
2. From main, select **Run workflow**.
3. The workflow creates a PR with the new language files, which can be reviewed and merged.
3. Update `public/app/core/internationalization/constants.ts`.
1. Add a new constant for the new language.
2. Add the new constant to the `LOCALES` array.
3. Create a PR with the changes and merge when you are ready to release the new language (as a general rule, wait until we have translations for it).
4. In the Grafana Enterprise repo, update `src/public/locales/localeExtensions.ts`.
## How translations work in Grafana
Grafana uses the [i18next](https://www.i18next.com/) framework for managing translating phrases in the Grafana frontend. It:
- Marks up phrases within our code for extraction
- Extracts phrases into the default messages catalogue for translating in external systems
- Manages the user's locale and putting the translated phrases in the UI
- Marks up phrases within our code for extraction.
- Extracts phrases into the default messages catalog for translating in external systems.
- Manages the user's locale and puts the translated phrases in the UI.
Grafana will load the message catalogue JSON before the initial render.
Grafana loads the message catalog JSON before the initial render.
### Phrase ID naming convention
We set explicit IDs for phrases to make it easier to identify phrases out of context, and to track where they're used. IDs follow a naming scheme that includes _where_ the phrase is used. The exception is the rare case of single reoccuring words like "Cancel", but default to using a feature/phrase specific phrase.
We set explicit IDs for phrases to make it easier to identify phrases out of context, and to track where they're used.
IDs follow a naming scheme that includes _where_ the phrase is used. The exception is the rare case of a single reoccurring word like "Cancel", but the default is to use a feature-specific phrase.
Message IDs are made of _up to_ three segments in the format `feature.area.phrase`. For example:
@@ -106,11 +135,11 @@ For components used all over the site, use just two segments:
### I18next context
We rely on a global i18next singleton (that lives inside the i18next) for storing the i18next config/context.
We rely on a global i18next singleton (that lives inside the i18next) for storing the i18next configuration.
## Examples
See [i18next](https://www.i18next.com/) and [react-i18next](https://react.i18next.com/) documentation for more details.
Refer to the [i18next](https://www.i18next.com/) and [react-i18next](https://react.i18next.com/) documentation for more details.
### Basic usage
@@ -122,7 +151,7 @@ import { Trans } from 'app/core/internationalization';
<Trans i18nKey="page.greeting">Hello user!</Trans>;
```
To interpolate variables, include it as an object child. It's weird syntax, but Trans will do it's magic to make it work:
To interpolate a variable, include it as an object child. It's a weird syntax, but `Trans` will do its magic to make it work:
```jsx
import { Trans } from 'app/core/internationalization';
@@ -133,7 +162,7 @@ const userName = user.name;
<Trans i18nKey="page.greeting">Hello {{ userName }}!</Trans>;
```
Variables must be strings (or, must support calling `.toString()`, which we almost never want).
Variables must be strings (or, must support calling `.toString()`, which we almost never want). For example:
```jsx
import { Trans } from 'app/core/internationalization';
@@ -151,7 +180,7 @@ const userName = user.name;
### React components and HTML tags
Both HTML tags and React components can be included in a phase. The Trans function will handle interpolating it's children properly
Both HTML tags and React components can be included in a phase. The `Trans` function handles interpolating for its children.
```js
import { Trans } from "app/core/internationalization"
@@ -170,23 +199,23 @@ import { Trans } from "app/core/internationalization"
### Plurals
Plurals require special handling to make sure they can be translating according to the rules of each locale (which may be more complex that you think!). Use either the `<Trans />` component or the `t` function, with the `count` prop to provide a singular form.
Plurals require special handling to make sure they can be translated according to the rules of each locale (which may be more complex than you think). Use either the `<Trans />` component or the `t` function, with the `count` prop to provide a singular form. For example:
```js
import { Trans } from 'app/core/internationalization';
<Trans i18nKey="inbox.heading" count={messages.length}>
You got {{ count: messages.length }} message
You got {{ count: messages.length }} messages
</Trans>;
```
```js
import { t } from 'app/core/internationalization';
const translatedString = t('inbox.heading', 'You got {{count}} message', { count: messages.length });
const translatedString = t('inbox.heading', 'You got {{count}} messages', { count: messages.length });
```
Once extracted with `yarn i18n:extract` you will need to manually edit the [English grafana.json message catalogue](../public/locales/en-US/grafana.json) to correct the plural forms. See the [react-i18next docs](https://react.i18next.com/latest/trans-component#plural) for more details.
Once extracted with `make i18n-extract` you need to manually edit the [English `grafana.json` message catalog](../public/locales/en-US/grafana.json) to correct the plural forms. Refer to the [react-i18next docs](https://react.i18next.com/latest/trans-component#plural) for more details.
```json
{
@@ -199,20 +228,19 @@ Once extracted with `yarn i18n:extract` you will need to manually edit the [Engl
## Feedback
**Please note:** This is only for proofreaders with permissions to Grafana OSS project on Crowdin.
**Note:** This is only for proofreaders with permissions to the Grafana OSS project on Crowdin.
To provide feedback on translations, sign into Crowdin and follow these steps:
1. Open the Grafana OSS project in Crowdin.
2. In the left-hand menu, click on the 'Dashboard' menu item.
3. A list of available languages appears under the 'Translations' section. Click on the one you want to comment on.
4. There is a table with the file structure in it:
1. On the left menu, click **Dashboard**. A list of available languages appears under the **Translations** section. Click the one you want to comment on.
1. There is a table with the file structure in it:
<br>
`grafana/main > public > locales > 'language denomination' > grafana.json`
<br>
Click on the `grafana.json` file.
5. In the left-hand section, click on the 'Search in file' input and search for the string that you want to comment on. You can search in English, as it is the default language, or in the language the string is translated to.
6. Once you have found the string, on the right hand side there is a 'Comments' section where you can send the feedback about the translation. Tag @Translated to be sure the team of linguists gets notified.
Click the `grafana.json` file.
1. In the left section, click the **Search in file** input. Search for the string that you want to comment on. You can search in English, as it's the default language, or in the language the string is translated into.
1. Once you have found the string, on the right hand side there is a **Comments** section where you can send your feedback about the translation. Tag `@Translated` to be sure the team of linguists gets notified.
## Documentation
+60 -56
View File
@@ -1,24 +1,24 @@
# Merge a pull request
When a pull request has been reviewed and approved by at least one person and all checks have passed it's time to merge the pull request.
When a pull request has been reviewed and approved by at least one person and all checks have passed, then it's time to merge the pull request.
## Who is expected to merge a pull request?
Maintainers are responsible for merging all pull requests. If a maintainer has opened a pull request the general rule is that the same maintainer merges the pull request. If a non-maintainer has opened a pull request it's suggested that one of the maintainers reviewing the pull request merges the pull request.
Maintainers are responsible for merging all pull requests. If a maintainer has opened a pull request, then the general rule is that the same maintainer merges the pull request. If a non-maintainer has opened a pull request, then it's suggested that one of the maintainers who reviews the pull request should merge the pull request.
## Checklist/summary
## Checklist of considerations
The following checklist/summary should give you a quick overview of what to ask/consider before merging a pull request.
Consider (and ask about) the items on the following checklist before merging a pull request:
- Reviewed and approved?
- All checks passed?
- Proper pull request title?
- Add to changelog/release notes?
- Needs backporting?
- Is it reviewed and approved?
- Have all checks passed?
- Does it have a proper pull request title?
- Does it need to be added to the changelog (release notes)?
- Does it need backporting?
## Before merge
Before actually merging a pull request there's a couple of things to take into consideration.
Before actually merging a pull request, consider the following things:
### Status checks
@@ -30,74 +30,73 @@ The pull request title should be formatted according to `<Area>: <Summary>` (Bot
Keep the summary short and understandable for the community as a whole.
All commits in a pull request are squashed when merged and the pull request title will be the default subject line of the squashed commit message. It's also used for [changelog/release notes](#include-in-changelog-and-release-notes).
All commits in a pull request are squashed when merged and the pull request title will be the default subject line of the squashed commit message. It's also used for the [changelog](#include-in-changelog-and-release-notes).
**Example:**
`Docs: Change url to URL in all documentation files`
See [formatting guidelines](create-pull-request.md#formatting-guidelines) for more information.
### Assign a milestone
### Assign a milestone (automated)
Several things in the Grafana release process requires at least pull requests to be in a milestone, for example [generating changelog/release notes](#include-in-changelog-and-release-notes).
The Grafana release process uses a bot to automatically assign pull requests to a milestone to make it easier for release managers to track changes. For example, [generating changelog (release note)](#include-in-changelog-and-release-notes) must be in a milestone.
This makes it easier to track what changes go into a certain release. Without this information, release managers have to go through git commits which is not an efficient process.
That being said, _you don't have to assign a milestone manually_ to a pull request. Instead, when it is merged and closed, a bot will then look for the most appropriate milestone and assign it to the pull request.
That being said, _you don't have to assign a milestone manually_ to a pull request.
Instead, when it is merged & closed then a bot will look for the most appropriate miletone and assign it to the pull request.
The bot-assigned milestone should always reflect the branch into which the pull request is merged. For example:
That milestone should always reflect the branch that the pull request is merged into.
For every major and minor release there is a milestone ending with `.x` (e.g. `10.0.x` for the 10.0.x releases).
Pull requests targeting `main` should use the `.x` milestone of the next minor (or major) version (you can find that version number inside the `package.json` file).
Backport pull requests should use the version of the target branch (e.g. `9.4.x` for the `v9.4.x` branch).
- For every major and minor release, there is a milestone ending with `.x` (for example, `10.0.x` for the 10.0.x releases).
- Pull requests targeting `main` use the `.x` milestone of the next minor (or major) version (you can find that version number inside the `package.json` file).
- Backport pull requests use the version of the target branch (for example, `9.4.x` for the `v9.4.x` branch).
### Include in changelog and release notes?
### What to include in changelog and release notes
At Grafana we generate the [changelog](https://github.com/grafana/grafana/blob/main/CHANGELOG.md) and [release notes](https://grafana.com/docs/grafana/latest/release-notes/) based on merged pull requests. Including changes in the changelog/release notes is very important to provide a somewhat complete picture of what changes a Grafana release actually includes.
At Grafana we generate the [changelog](https://github.com/grafana/grafana/blob/main/CHANGELOG.md) and [release notes](https://grafana.com/docs/grafana/latest/release-notes/) based on merged pull requests. Including changes in the changelog (release notes) is very important to provide a relatively complete picture of what changes a Grafana release actually includes.
There's a GitHub action available in the repository named [Update changelog](https://github.com/grafana/grafana/blob/main/.github/workflows/update-changelog.yml) that can manually be triggered to re-generate the changelog and release notes for any release.
There's a GitHub action available in the repository named [Update changelog](https://github.com/grafana/grafana/blob/main/.github/workflows/update-changelog.yml) that can be triggered manually to re-generate the changelog and release notes for any release.
Exactly what changes should be added to the changelog is hard to answer but here's some general guidance:
- Include any bug fix in general.
- Include any change that you think would be interesting for the community as a whole.
- Skip larger features divided in multiple pull requests since they might go into the release blog post/What's New article.
- Use your best judgement and/or ask other maintainers for advice.
- Including a change in error rather than skipping one that should have been there is better.
- Always keep [Format the pull request title](#format-the-pull-request-title) in mind.
- Skip larger features divided into multiple pull requests since they might go into the release's What's New article.
- Use your best judgement and, if you aren't sure, then ask other maintainers for advice.
- It's better to err on the side of inclusion. Introducing an unnecessary or duplicate change in the changelog is better than leaving out a change.
- Always keep the guidelines in [Format the pull request title](#format-the-pull-request-title) in mind.
An active decision to include change in changelog/release notes needs to be taken for every pull request. There's a pull request check named **Changelog Check** that will enforce this. By adding/removing labels on the pull request or updating the pull request title/description the check will be re-evaluated.
An active decision to include a change in the changelog needs to be taken for every pull request. There's a pull request check named **Changelog Check** that enforces this rule. By adding or removing labels on the pull request or updating the pull request title, description, or both, the check is re-evaluated.
#### Skip changelog
If you don't want to include your change in changelog/release notes you need to add a label named **no-changelog** to the pull request.
If you don't want to include your change in changelog, you need to add a label named **no-changelog** to the pull request.
#### Include in changelog/release notes
#### Include in changelog
To include a pull request in the changelog/release notes you need to add a label named `add to changelog` to the pull request. Then additional validation rules is checked:
To include a pull request in the changelog, add a label named `add to changelog` to the pull request. Then the following additional validation rules are checked:
- Title need to be formatted according to [Format the pull request title](#format-the-pull-request-title)
- Description needs to include a breaking change notice if change is labeled to be a breaking change, see Breaking changes below for more information.
- The title must be formatted according to [Format the pull request title](#format-the-pull-request-title)
- The description must include a breaking change notice if the change is labeled to be a breaking change. Refer to [Breaking changes](#breaking-changes) below for more information.
Not complying with above rules can make the **Changelog Check** fail with validation errors.
The changelog/release notes are divided into sections and here's a description of how you make a pull request show up in a certain section.
The changelog is divided into various sections. Here's how to make a description of a pull request show up in a certain section of the release notes:
**Features and enhancements:**
Labeled with `add to changelog` and any of the other section rules don't apply.
Label the pull request with `add to changelog` and any of the other section rules don't apply.
**Bug fixes:**
Labeled with `add to changelog` and either labeled with `type/bug` or the pull request title contains `fix` or `fixes`.
Label the pull request with `add to changelog` and either label with `type/bug` or the pull request title contains `fix` or `fixes`.
**Plugin development fixes & changes:**
**Plugin development fixes and changes:**
Labeled with `area/grafana/ui` or `area/grafana/runtime`.
Label the pull request with `area/grafana/ui` or `area/grafana/runtime`.
**Deprecations:**
In case the pull request introduces a deprecation you should document this. Label the pull request with `add to changelog` and use the following template at the end of the pull request description describing the deprecation change.
In case the pull request introduces a deprecation you should document this. Label the pull request with `add to changelog` and use the following template at the end of the pull request description to describe the deprecation change.
```md
# Deprecation notice
@@ -107,7 +106,7 @@ In case the pull request introduces a deprecation you should document this. Labe
**Breaking changes:**
In case the pull request introduces a breaking change you should document this. Label the pull request with `add to changelog` and `breaking change` and use the following template at the end of the pull request description describing the breaking change.
In case the pull request introduces a breaking change you should document this. Label the pull request with `add to changelog` and `breaking change` and use the following template at the end of the pull request description describing the breaking change:
```md
# Release notice breaking change
@@ -118,39 +117,44 @@ In case the pull request introduces a breaking change you should document this.
### Backporting
Backporting is the process of copying the pull request into the version branch of one or multiple previous releases.
This is a rare exception, should only be done for _critical bug fixes_, and involves the intervention of a Grafana Labs employee.
If your pull request fixes a critical bug and needs to be backported, add it to the "Critical Bug Release" form so the team can approve the backport and know that a release needs to be made. Specify the correct `backport vx.x` labels for the releases the fix needs to be backported to. Once approved, the backporting process will continue from there.
Backporting is a rare exception, should only be done for _critical bug fixes_, and involves the intervention of a Grafana Labs employee.
If your pull request fixes a critical bug and needs to be backported, add it to the "Critical Bug Release" form so the team can approve the backport and know that a release needs to be made. Specify the correct `backport vx.x` labels for the releases to which the fix needs to be backported. Once approved, the backporting process continues.
#### Required labels
To ensure that we don't backport pull requests that don't need to be backported, i.e. implement new features, and only backport pull requests that address bugs, have a product approval, or refer to docs changes, backport labels need to be followed by either:
We aim to ensure that we don't backport pull requests unnecessarily. The only scenarios for backporting are typically pull requests that address bugs, have a product approval, or refer to documentation changes.
- `type/bug` label: Pull requests which address bugs,
- `product-approved` label: Urgent fixes which need product approval, in order to get merged,
- `type/docs` label: Docs changes.
- `type/ci` label: Changes to the CI automation.
Backport labels need to be followed by either:
- `type/bug` label: Pull requests which address bugs
- `product-approved` label: Urgent fixes which need product approval, in order to get merged
- `type/docs` label: Docs changes
- `type/ci` label: Changes to the CI automation
> **Note:** You can still backport a pull request after it's been merged.
## Doing the actual merge
Time to actually merge the pull request changes. All commits in a pull request are squashed, hence the GitHub `Squash and merge` button is used to initialize the merge.
The best time to actually merge the pull request varies from case to case. All commits in a pull request are squashed.
This will present you with options allowing you to optionally change the commit message before merging. Please remember that developers might use the commit information when reviewing changes of files, doing git blame and resolving merge conflicts etc., trying to quickly figure out what the actual change was. But there's not really any best practices around this, the following is an attempt to bring some guidance.
You can change the commit message before merging. Please remember that developers might use the commit information for tasks like reviewing changes of files, doing Git blame, and resolving merge conflicts.
Do:
While there aren't formal best practices around this process, you can consider the following guidance:
- Make sure the pull request title is formatted properly before merging, this will automatically give you a good and short summary of the commit/change.
- Leave `Co-authored-by:` lines as is so that co-authors will be accounted for the contribution.
**Do:**
- Make sure the pull request title is formatted properly before merging. Doing so automatically gives you a good and short summary of the commit.
- Leave `Co-authored-by:` lines as is so that co-authors are credited for the contribution.
- Remove any commit information that doesn't bring any context to the change.
Consider:
**Consider:**
- Add any references to issues that the pull request fixes/closes/references to ease giving quick context to things. Doing this allows cross-reference between the commit and referenced issue(s).
- Keep any references to issues that the pull request fixes, closes, or references. Doing this allows cross-reference between the commit and referenced issue or issues.
Finalize the merge by clicking on the `Confirm squash and merge` button.
To finalize the merge, click the **Confirm squash and merge** button.
## After the merge
Make sure to close any referenced/related issues. It's recommended to assign the same milestone on the issues that the pull request fixes/closes, but not required.
Make sure to close any referenced or related issues. We recommend that you assign the same milestone on the issues that the pull request fixes or closes, but this isn't required.
+1 -1
View File
@@ -22,4 +22,4 @@ The above commands use some utils scripts under [_\<repo-root>/e2e_](../../e2e)
## Test suites
All the integration tests are located at _\<repo-root>/e2e/suite\<x>/specs_. The page objects and reusable flows are in the [_\<repo-root>/packages/grafana-e2e_](../../packages/grafana-e2e) package.
All the integration tests are located at _\<repo-root>/e2e/suite\<x>/specs_.
+30 -21
View File
@@ -1,28 +1,37 @@
# End-to-End Tests for plugins
# end-to-end tests for plugins
Be sure that you've read the [generalized E2E document](e2e.md).
When end-to-end testing Grafana plugins, it's recommended to use the [`@grafana/plugin-e2e`](https://www.npmjs.com/package/@grafana/plugin-e2e?activeTab=readme) testing tool. `@grafana/plugin-e2e` extends [`@playwright/test`](https://playwright.dev/) capabilities with relevant fixtures, models, and expect matchers; enabling comprehensive end-to-end testing of Grafana plugins across multiple versions of Grafana. For information on how to get started with Plugin end-to-end testing and Playwright, checkout the [Get started](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/get-started) guide.
## Adding end-to-end tests for a core plugin
Playwright end-to-end tests for plugins should be added to the [`e2e/plugin-e2e`](https://github.com/grafana/grafana/tree/main/e2e/plugin-e2e) directory.
1. Add a new directory that has the name as your plugin [`here`](https://github.com/grafana/grafana/tree/main/e2e/plugin-e2e). This is where your plugin tests will be kept.
2. Playwright uses [projects](https://playwright.dev/docs/test-projects) to logically group tests together. All tests in a project share the same configuration.
In the [Playwright config file](https://github.com/grafana/grafana/blob/main/playwright.config.ts), add a new project item. Make sure the `name` and the `testDir` sub directory matches the name of the directory that contains your plugin tests.
Adding `'authenticate'` to the list of dependencies and specifying `'playwright/.auth/admin.json'` as storage state will ensure all tests in your project will start already authenticated as an admin user. If you wish to use a different role for and perhaps test RBAC for some of your tests, please refer to the plugin-e2e [documentation](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/use-authentication).
```ts
{
name: 'mysql',
testDir: path.join(testDirRoot, '/mysql'),
use: {
...devices['Desktop Chrome'],
storageState: 'playwright/.auth/admin.json',
},
dependencies: ['authenticate'],
},
```
3. Update the [CODEOWNERS](https://github.com/grafana/grafana/blob/main/.github/CODEOWNERS/#L315) file so that your team is owner of the tests in the directory you added in step 1.
## Commands
- `yarn test:e2e` will run [Grafana's E2E utility](../../packages/grafana-e2e) against an already running Grafana server.
- `yarn test:e2e:update` will run `test:e2e` but instead of asserting that screenshots match their expected fixtures, they'll be replaced with new ones.
- `yarn e2e:playwright` will run all Playwright tests. Optionally, you can provide the `--project mysql` argument to run tests in a certain project.
Your running Grafana instance can be targeted by setting the `CYPRESS_BASE_URL`, `CYPRESS_USERNAME` and `CYPRESS_PASSWORD` environment variableS:
The script above assumes you have Grafana running on `localhost:3000`. You may change this by providing environment variables.
```shell
CYPRESS_BASE_URL=https://localhost:3000 CYPRESS_USERNAME=admin CYPRESS_PASSWORD=admin yarn test:e2e
```
`HOST=127.0.0.1 PORT=3001 yarn e2e:playwright`
## Test suites
All tests are located at _\<repo-root>/cypress/integration_ by default.
## Things to test
- Add data source (if applicable)
- Add panel
- Edit panel
- Annotations (if applicable)
- Aliases (if applicable)
- Template variables
- "Explore" view
- `yarn e2e:playwright:server` will start a Grafana [development server](https://github.com/grafana/grafana/blob/main/scripts/grafana-server/start-server) on port 3001 and run the Playwright tests. The development server is provisioned with the [devenv](https://github.com/grafana/grafana/blob/main/contribute/developer-guide.md#add-data-sources) dashboards, data sources and apps.
+2 -2
View File
@@ -1,13 +1,13 @@
# End-to-End tests
Grafana Labs uses a minimal [homegrown solution](../../packages/grafana-e2e) built on top of [Cypress](https://cypress.io) for its end-to-end (E2E) tests.
Grafana Labs uses a minimal [homegrown solution](../../e2e/utils/index.ts) built on top of [Cypress](https://cypress.io) for its end-to-end (E2E) tests.
Important notes:
- We generally store all element identifiers ([CSS selectors](https://mdn.io/docs/Web/CSS/CSS_Selectors)) within the framework for reuse and maintainability.
- We generally do not use stubs or mocks as to fully simulate a real user.
- Cypress' promises [do not behave as you'd expect](https://docs.cypress.io/guides/core-concepts/introduction-to-cypress.html#Mixing-Async-and-Sync-code).
- [Testing core Grafana](e2e-core.md) is slightly different than [testing plugins](e2e-plugins.md).
- [Testing core Grafana](e2e-core.md) is different than [testing plugins](e2e-plugins.md) - core Grafana uses Cypress whereas plugins use [Playwright test](https://playwright.dev/).
## Framework structure
-2
View File
@@ -13,7 +13,6 @@ To access the theme in your styles, use the `useStyles` hook. It provides basic
> Please remember to put `getStyles` function at the end of the file!
```tsx
import React from 'react';
import { GrafanaTheme2 } from '@grafana/data';
import { useStyles2 } from '@grafana/ui';
import { css } from '@emotion/css';
@@ -40,7 +39,6 @@ Let's say you need to style a component that has a different background dependin
```tsx
import { css, cx } from '@emotion/css';
import React from 'react';
import { GrafanaTheme2 } from '@grafana/data';
import { useStyles2 } from '@grafana/ui';
-1
View File
@@ -176,7 +176,6 @@ Here's how the test would look like for this [OrgPicker](https://github.com/graf
```tsx
import { screen, render } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import React from 'react';
import { OrgPicker } from './OrgPicker';
+2 -2
View File
@@ -20,7 +20,7 @@ Here's how to use Grafana themes in React components.
`useStyles2` memoizes the function and provides access to the theme.
```tsx
import React, { FC } from 'react';
import { FC } from 'react';
import { GrafanaTheme2 } from '@grafana/data';
import { useStyles2 } from '@grafana/ui';
import { css } from '@emotion/css';
@@ -39,7 +39,7 @@ const getStyles = (theme: GrafanaTheme2) =>
#### Get the theme object
```tsx
import React, { FC } from 'react';
import { FC } from 'react';
import { useTheme2 } from '@grafana/ui';
const Foo: FC<FooProps> = () => {
+4 -4
View File
@@ -1,6 +1,6 @@
# Triage issues
Triage helps ensure that issues resolve quickly by:
Triage helps ensure that GitHub issues resolve quickly by:
- Ensuring the issue's intent and purpose is conveyed precisely. This is necessary because it can be difficult for an issue to explain how an end user experiences a problem and what actions they took.
- Giving a contributor the information they need before they commit to resolving an issue.
@@ -11,11 +11,11 @@ This document gives you some ideas on what you can do to help. For more informat
## Improve issues
Improve issues by suggesting improvements to the title and description. If you think an issue has formatting issues, bad language, or grammatical errors, post a comment to let the author and maintainers know.
Improve issues by suggesting improvements to the title and description of the issue. If you think an issue has formatting issues, bad language, or grammatical errors, post a comment to let the author and maintainers know.
## Report resolved issues
If you think an issue has been resolved, or is no longer relevant, suggest us to close it. Add a comment on the issue, where you explain the reason it should be closed. Make sure to include any related issues and pull requests.
If you think an issue has been resolved, or is no longer relevant, suggest that we close it. Add a comment on the issue in which you explain the reason that it should be closed. Make sure to include any related issues and pull requests.
## Investigate issues
@@ -29,4 +29,4 @@ Read more about [how we prioritize issues](/ISSUE_TRIAGE.md#4-prioritization-of-
## Report duplicates
If you find two issues that describe the same thing, add a comment in one of the issues, with a reference (`#<issue number>`) to the other. Explain why you think the issue is duplicated.
If you find two issues that describe the same thing, add a comment in one of the issues. In the comment, include a reference (`#<issue number>`) to the duplicate. Explain why you think the issue is duplicated.
+5
View File
@@ -4,6 +4,7 @@ const path = require('path');
const benchmarkPlugin = require('./e2e/cypress/plugins/benchmark/index');
const readProvisions = require('./e2e/cypress/plugins/readProvisions');
const smtpTester = require('./e2e/cypress/plugins/smtpTester');
const typescriptPreprocessor = require('./e2e/cypress/plugins/typescriptPreprocessor');
module.exports = defineConfig({
@@ -27,6 +28,10 @@ module.exports = defineConfig({
benchmarkPlugin.initialize(on, config);
}
if (config.env['SMTP_PLUGIN_ENABLED'] === true) {
smtpTester.initialize(on, config);
}
on('task', {
readProvisions: (filePaths) => readProvisions({ CWD: process.cwd(), filePaths }),
});
@@ -3,6 +3,7 @@ apiVersion: 1
providers:
- name: 'Bulk dashboards'
folder: 'Bulk dashboards'
updateIntervalSeconds: 3600
type: file
options:
path: devenv/bulk-dashboards

Some files were not shown because too many files have changed in this diff Show More