Compare commits

..

1132 Commits

Author SHA1 Message Date
Leon Sorokin b104c045db cremate graveyard legend 2024-11-25 14:07:17 -06:00
Leon Sorokin 26025c1049 fix candlestick suggestions 2024-11-25 13:57:55 -06:00
Leon Sorokin fed7ccc69b fix candlestick 2024-11-25 13:53:07 -06:00
Leon Sorokin 663614f3c6 fix test 2024-11-25 13:40:57 -06:00
Leon Sorokin af6be4cbf3 clarify comment 2024-11-25 13:29:18 -06:00
Leon Sorokin b79ba4dc07 fix Histogram 2024-11-25 13:26:47 -06:00
Leon Sorokin 72c8e13bf6 fixes 2024-11-25 12:52:50 -06:00
Leon Sorokin 08f18b0cae wip 2024-11-25 11:46:18 -06:00
Leon Sorokin 87100e72d6 better 2024-11-25 09:34:41 -06:00
Leon Sorokin 74badbf831 progress 2024-11-25 07:34:33 -06:00
Leon Sorokin 5b7af0a9ea Merge branch 'main' into kristina/hidden-fields-links 2024-11-23 00:49:13 -06:00
Isabel Matwawana dc97e60323 Add example to Extract fields RegExp option (#96946)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-11-23 00:15:20 +02:00
Sriram ea3bc8f253 MySQL: Datasource health check error message improvements (#96906)
* updated mysql health check error messages

* fix betterer error

* fix lint errors

* renamed moreDetailsLink to errorDetailsLink

* update

* added i18n locale files
2024-11-22 21:58:35 +00:00
Ryan McKinley 94262fd095 Search: expose search on dashboard apiserver (v0alpha1) (#96907) 2024-11-22 22:26:56 +02:00
Nick Richmond 8a006dd4b6 ExploreMetrics: Prefer underscores for events (#96938)
refactor: event casing
2024-11-22 22:18:27 +02:00
Andreas Christou 4ea15f2f2c Bump Plugin SDK version (#96933)
* Bump Plugin SDK version

* Rerun update-workspace
2024-11-22 20:43:13 +02:00
Sven Grossmann b3b339d5bb Explore Metrics: Remove disabled state from exploration button (#96910) 2024-11-22 18:39:38 +01:00
Karl Persson c2cd08ee84 AdminUserTable: Add some basic render tests (#96927)
* Add some basic render tests
2024-11-22 17:11:27 +01:00
Leonor Oliveira 2a74778776 Support delete endpoint for folders (#96573)
* Support delete endpoint for folders

* Include authorizer

* Add test for delete verb

* Add delete command to delete options

* Pass query string to context to admission

* Dont support nested folder deletion for now

* Skip test if feature flag is present

* Add test case

* Remove comment

* Only rely on the storage type config to run alerting tests

* Dont change legacy subpath

* Remove unised function

* Add test case when an editor can delete alert rules

* Lint
2024-11-22 16:51:53 +01:00
Gabriel MABILLE 3c876f0208 AuthZ: Introduce cloud mode (#96922)
* AuthZ: Introduce cloud mode

* Update readme
2024-11-22 16:19:53 +01:00
Ryan McKinley c6848d4b68 UnifiedSearch: Introduce a ResourceIndex interface and bleve implementation (#96826)
Co-authored-by: Scott Lepper <scott.lepper@gmail.com>
2024-11-22 16:44:06 +03:00
maicon bbae396db4 Unistore: Add GetFolders endpoint backed by UnifiedStorage (#96399)
* Unistore: Add GetFolders endpoint backed by UnifiedStorage

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
2024-11-22 10:38:00 -03:00
Pepe Cano 706300e9b7 Alerting: notification template group (#96447)
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-11-22 14:40:20 +02:00
Bogdan Matei 451b226644 Scopes: Change icon for suggested dashboards (#96902) 2024-11-22 14:30:14 +02:00
Alex Khomenko d981c67a69 UserTable: Fix translations in tooltip (#96909) 2024-11-22 14:03:47 +02:00
Matias Chomicki 03b323cb61 DataSourceWithSupplementaryQueriesSupport: remove @internal (#96901)
* DataSourceWithSupplementaryQueriesSupport: no longer internal

* Loki: update comments
2024-11-22 12:12:59 +01:00
Sonia Aguilar 977184b878 Alerting: Simplify notification step (#96430)
* Move evaluation outside folder section, and move labels in instead

* rename file

* update translations

* refactor

* rename file and component

* refactor

* fix test

* refactor

* rename files and components

* update translations

* fix style

* update translations

* Add feature toggle for simplified mode in notifications step

* WIP

* Use useAppNotification for toasts

* update label when group can not be selected yet

* update translations

* WIP

* update some texts and add comment

* update translations

* remove duplicated code

* fix typo

* update translations

* update styles and remove label

* update simplified_notifications_section name according BE changes

* remove FolderWithoutGroup

* remove commented code

* prettier

* remove SIMPLIFIED_NOTIFICATION_STEP_KEY and use MANUAL_ROUTING_KEY instead

* styles cleanup

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

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* merge main and prettier doc

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-11-22 13:07:45 +02:00
Ryan McKinley 68c61514b0 Chore: Remove experimental Storage UI (#96887) 2024-11-22 12:38:02 +02:00
Andre Pereira 6a0fd05a9e Datasources: Allow clearing trace to logs, metrics and profiles datasource pickers (#96554)
Allow clearing trace to logs, metrics and profiles datasource pickers
2024-11-22 09:54:41 +00:00
Sergej-Vlasov 446895ce3f TransformationFilter: Implement RefID multi picker (#96841)
* implement refID multi picker for transformation filter

* regexp-foo

* reword comment

* lint

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-11-22 09:24:59 +00:00
Ryan McKinley 53245e2742 Provisioning: Add feature toggle (#96891) 2024-11-22 11:03:50 +02:00
Ryan McKinley c63305a700 Chore: Remove unreachable dashboards from datasource code (#96886) 2024-11-22 11:47:51 +03:00
Larissa Wandzura 26be86ee15 Docs: Update InfluxDB data source documentation (#96343)
* created config doc, made initial changes

* initial draft of config doc completed

* additional edits

* moved config doc into directory, renamed

* made additional updates

* template variables updates/cleanup

* cleaned up intro page, some more minor edits

* edited and re-formatted configure the data source doc

* final edits

* more edits

* minor changes prior to PR

* fix typo

* Update docs/sources/datasources/influxdb/_index.md

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

* Update docs/sources/datasources/influxdb/_index.md

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

* Update docs/sources/datasources/influxdb/_index.md

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

* Update docs/sources/datasources/influxdb/_index.md

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

* Update docs/sources/datasources/influxdb/_index.md

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

* Update docs/sources/datasources/influxdb/query-editor/index.md

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

* Update docs/sources/datasources/influxdb/query-editor/index.md

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

* Update docs/sources/datasources/influxdb/template-variables/index.md

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

* Update docs/sources/datasources/influxdb/query-editor/index.md

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

* Update docs/sources/datasources/influxdb/configure-influxdb-data-source/_index.md

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

* Update docs/sources/datasources/influxdb/query-editor/index.md

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

* updates based on feedback

* ran prettier

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-11-21 13:37:03 -06:00
Leon Sorokin 3e79ead240 TraceQL: Speed up autocomplete tag processing by 100x (#96862) 2024-11-21 18:52:58 +00:00
Kristina f9eb013334 Transformations: Preserve base threshold when using Config from query results (#96781)
* Merge in default threshold base if exists

* Fix tests to not expect default threshold

* Add config from query example to gdev

* Add a test around the merging of thresholds

* Revert "Add config from query example to gdev"

This reverts commit a239224ebb.

* update gdev

* Add note about keeping the base threshold

* Update public/app/features/transformers/docs/content.ts

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

* Merge in generated code

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-21 12:46:29 -06:00
lean.dev e9fae5bd7f CloudMigration: Create authapi service (#96581) 2024-11-21 20:46:06 +02:00
Kat Yang c8bc1f8637 Test: Add unit tests for the homepage (#95912)
* test: add skeleton for initial unit tests

* test: add basic tests for DataTrailsHome

* test-wip: add tests for recent metrics functionality, but need to move from DataTrailsHome.test to DataTrailsRecentMetrics.test

* wip: tests for DataTrailBookmarks

* test: add tests for recent metrics; refactor: make DataTrailsRecentMetrics accept onSelect as prop rather than whole trail; test: add tests for DataTrailCard (WIP)

* test: add test for truncates long list of labels after 3 lines in recent explorations

* refactor: make DataTrailBookmarks take in onSelect and onDelete as props rather than a whole trail and onDelete; test: add tests for bookmarks (WIP)

* remove deprecated style

* fix import issues

* fix getTrailForBookmark tests by returning a trail, clean up tests

* chore: delete notes to self

---------

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2024-11-21 12:36:45 -05:00
Matias Chomicki 30b3fd2864 Shard query splitting: don't shard metric queries (#96848) 2024-11-21 19:20:48 +02:00
Kristina d5a5edf5a8 NodeGraph: Use target if in link (#95733)
* Add target to items, use item target for link

* let defined false mean self, only use default in explore if one is not defined
2024-11-21 10:15:27 -06:00
Adela Almasan d152770b6a Table: Update background in nested table (#96754) 2024-11-21 09:32:50 -06:00
Joao Silva 3ceaa42d20 Bookmarks: Do not show on navigation or button for unauthed users (#96836) 2024-11-21 15:32:38 +00:00
Carl Bergquist 35d1274919 Logging: Enables unified error logging by default (#96512)
enables unified error logging by default

Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-11-21 17:12:00 +02:00
Kevin Minehart 2400483d6c CI: Add github app token generation in pipelines that use GITHUB_TOKEN (#96646)
* Add github app token generation in pipelines that use GITHUB_TOKEN

* ci?

* clone gh repo using x-access-token user

* address linting issues

* use mounted volume for exporting token

* remove unused github_token env var swagger gen step

* replace pat on release_pr pipepline

* cleanup GH PAT references

* linting

* Update scripts/drone/steps/lib.star

* make drone

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2024-11-21 17:08:02 +02:00
grafana-pr-automation[bot] 3984756ccc I18n: Download translations from Crowdin (#96835)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-21 16:18:36 +02:00
brendamuir b392a44737 Alerting docs: fix data source link (#96819)
* Alerting docs: fix data source link

* updates

* corrects menu path

* correct pattern destination
2024-11-21 15:03:03 +01:00
Misi d0d62fc518 Chore: Use the correct value in log (#96840) 2024-11-21 16:02:37 +02:00
Victor Marin d5f404d082 Dashboards: Add possibility to lock multi value variables option list (#95949)
* add new option for multi variables to lock value list wip

* WIP - lock option list

* tests

* fix

* fixes + canary scenes

* wip

* wip

* fix snapshot

* bump scenes

* Dashboards: Add possibility to lock adhoc variables options list (#96077)

* Lock list of options flag for ad hoc

* refactor

* fix snapshot
2024-11-21 16:01:54 +02:00
Marc M. d567be2f10 Tempo: Add ellipsis to span name in the span details view (#96719) 2024-11-21 13:57:42 +00:00
Misi 1061e4712f OAuth: Refactor OAuthToken service to make it easier to use the new external sessions (#96667)
* Refactor OAuthToken service

* introduce user.SessionAwareIdentityRequester

* replace login.UserAuth parameters with user.SessionAwareIdentityRequester

* Add nosec G101 to fake ID tokens

* Opt 2, min changes

* Revert a change to the current version
2024-11-21 15:36:28 +02:00
jackyin afb4f6c0ce Org Selection: Show correct selected org when select is open (#96601)
* Org: select default is incorrect

* optimize

* Update public/app/core/components/AppChrome/OrganizationSwitcher/OrganizationSelect.tsx

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

* optimize

* optimize

---------

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2024-11-21 15:20:22 +02:00
Prem Saraswat ca2c874161 authn: grpcutils: Mark ID Tokens optional in cloud mode in gRPC Authenticator (#96824)
This patch marks ID tokens as not required when initalising a gRPC
Authenticator to be used in `cloud` mode. ID Tokens are still enabled in
`cloud` mode, but the `Required` option is set to `false`.

This is needed for MT services like Cloud API Server to authenticate
against gRPC services like Resource Store with only an Access Token.

Signed-off-by: Prem Kumar <prem.saraswat@grafana.com>
2024-11-21 18:41:49 +05:30
Ashley Harrison c2e1a405b9 Chore: Mark up some content for translations (#96716)
* translate some of core

* more

* translate admin

* fix count translations

* update unit tests
2024-11-21 12:59:14 +00:00
Georges Chaudy 4f8ab73a8c unistore: Add support for verify-full in postgres (#96825)
Add support for verify-full in postgres
2024-11-21 12:31:33 +00:00
Josh Hunt f6b6935563 Chore: Make ResizeObserver test mock only emit if an element is being observed (#96770)
* Chore: Make ResizeObserver test mock only emit if an element is being observed

* update test that relied on old mock behaviour
2024-11-21 10:39:19 +00:00
Andrej Ocenas 58e9f22c1b Sidecar: Specify where it can be opened and when it automatically closes (#96683) 2024-11-21 11:27:01 +01:00
Tobias Skarhed fd3ecacd05 Angular: Remove unused admin pages (#96526)
* Remove unused Angular admin pages

* Update betterer
2024-11-21 11:23:35 +01:00
Georges Chaudy 8bb59c64f0 unistore: handle auth when fallback is used (#96772)
* handle auth when fallback is used

* handle auth when fallback is used

* add traces
2024-11-21 12:21:22 +02:00
Bogdan Matei ef3759449d Scopes: Refactor the way scope paths are created (#96712) 2024-11-21 11:52:39 +02:00
Karl Persson a5e743895b Zanzana: Capabilities api (#96682)
* Add capabilities api
2024-11-21 10:51:16 +01:00
antonio 59e9b42557 Tonypowa/tutorials (#96747)
* replaced request bin

* advanced options

* test data + screenshot
2024-11-21 10:46:00 +01:00
Daniel Strobusch 169b61b98d [docs] document 409 Conflict on updating data sources. (#93170) 2024-11-21 11:28:30 +02:00
Gabriel MABILLE a9b938427e Fix: Correct handling of base64 padding during aes-gcm private key decryption. (#96761)
* SecretsService: Use RawStdEncoding to avoid padding

* Commment

* Forgot one line

* Backward compatibility
2024-11-21 10:08:48 +01:00
Sonia Aguilar a15c612427 Alerting: Fix bug when saving a rule more than once (#96658)
* Update existing property once we save the new rule data and stay in the same page

* prettier

* use cache invalidation for updating the existing property

* fix cloud usecase
2024-11-21 10:25:15 +02:00
Karl Persson e995d4f682 Zanzana: Add setting zanzana reconciliation interval (#96687)
Add config option under RBAC for zanzana reconciliation interval
2024-11-21 09:20:29 +01:00
Ryan McKinley 0cb6c3d7bf UnifiedSearch: Introduce a DocumentBuilder interface (#96738) 2024-11-21 07:53:25 +02:00
Sven Grossmann 8d4db7ac85 Explore Metrics: Add button to add to exploration (#95637)
* Explore Metrics: Add button to add to exploration

* feat: enable explorations for breakdown panels

* refactor: types

* refactor: code should reflect single expected link

* test: exploration button basics

* refactor: leverage link limit

* feat: add exploration button to more panels

* chore: update betterer results

* test: refactor for clarity

* test: prefer consistent approach

---------

Co-authored-by: Nick Richmond <nick.richmond@grafana.com>
2024-11-20 22:13:11 -06:00
Jacob Valdez e6a771cf4a Docs: Removing outdated versioning info in create reports (#96804)
Removing outdated versioning info in create reports
2024-11-20 14:57:51 -06:00
Isabel Matwawana 64dbffc372 Docs: stat visualization refactor (#96729) 2024-11-20 15:27:14 -05:00
Isabel Matwawana 39e4024f9d Docs: Moved and renamed navigation section (#96722) 2024-11-20 15:07:07 -05:00
renovate[bot] a3fb210979 Update dependency @grafana/faro-web-sdk to v1.12.2 (#96789)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 18:40:38 +00:00
Torkel Ödegaard bd07c6cf35 PanelEditor: Tweak category design (#96760)
* PanelEditor: Tweak category design

* Update

* remove unused import

* Switch angle dirctions

* Fix test
2024-11-20 19:37:51 +01:00
renovate[bot] fcae9c26b8 Update dependency @grafana/faro-web-sdk to v1.12.2 (#96788)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 18:21:05 +00:00
Ezequiel Victorero 5b386472d2 Docs: Add domain allow list report docs (#96778)
* Docs: Add domain allow list report docs

* Update docs/sources/setup-grafana/configure-grafana/enterprise-configuration/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-11-20 14:43:53 -03:00
renovate[bot] a758c2dbb7 Update dependency @grafana/faro-core to v1.12.2 (#96786)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 17:38:21 +00:00
Ieva a60953c8f9 GAS: Show mapped roles in role picker (#96681)
* add group mapping UID returned mapped roles

* request mapped roles from the frontend, but don't attempt to update mapped roles

* lock mapped roles and show a pop-up message about why a role is locked

* update role selectors to not allow deselecting a mapped role

* swagger gen

* simplify and set mapped as bool instead of mapping UID array

* swagger gen
2024-11-20 17:37:12 +00:00
Larissa Wandzura e06ad2a6ef Docs: Added datasources codeowner (#96784)
added lwandz13 as datasources codeowner
2024-11-20 19:11:21 +02:00
renovate[bot] 68e7f6069c Update scenes to v5.25.1 (#96782)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 19:07:03 +02:00
renovate[bot] 3aa5811b1e Update emotion monorepo (#96780)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 17:06:44 +00:00
Matias Chomicki b5e9b78623 Loki: Added support for disabled operations in Query Builder (#96751)
* Loki operations: define basic toggleable operations

* LokiQueryModeller: skip disabled operations

* Loki operations: define toggleable operations

* Add test

* Add test
2024-11-20 19:04:30 +02:00
renovate[bot] c3c4c6b49f Update dependency @grafana/experimental to v2.1.4 (#96777)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 17:31:53 +01:00
Ivana Huckova 6b5a05486b Fix error source for clientSecret not found error (#96771)
* Fix error source for clientSecret not found errir

* Use errors.New as we are not formatting the error
2024-11-20 17:16:02 +01:00
renovate[bot] 1f37311de4 Update dependency rudder-sdk-js to v2.48.29 (#96768)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 16:08:22 +00:00
Sofia Papagiannaki 88fc368c88 Update alpine version in Dockerfile (#95051)
Update Dockerfile
2024-11-20 17:41:43 +02:00
renovate[bot] ca422ce5c0 Update dependency i18next to v23.16.8 (#96765)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 15:30:38 +00:00
Adam Simpson c010bf2dc7 ds-querier: account for -100 meaning __expr__ (#96565)
* ds-querier: account for -100 meaning __expr__

* temp debug log error parsing query

* var confusion

* log error
2024-11-20 10:28:31 -05:00
renovate[bot] 51dec6317f Update dependency dompurify to v3.2.1 (#96762)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 14:56:17 +00:00
Juan Cabanas b8e92aacd2 PublicDashboards: Remove publicDashboards FF (#96578) 2024-11-20 11:36:19 -03:00
Eric Leijonmarck 9f53362e3c Serviceaccounts: FIX adds qoute for user UID query for postgres (#96749)
* Add qoute for user UID of postgres

* add tests for uid

* fix for uid check not expectable
2024-11-20 16:11:03 +02:00
renovate[bot] 6e7f30f301 Update dependency msw to v2.6.5 (#96745)
* Update dependency msw to v2.6.5

* add TransformStream to jest-setup

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-11-20 13:48:25 +00:00
Ryan McKinley e0b93f055f Swagger: show user icon (#96736) 2024-11-20 15:43:25 +02:00
Torkel Ödegaard b0fe898fa1 Dashboard: Panel edit and support for different layout items (#96203)
* Dashboard: Panel edit and support for more layout items

* It's working

* Fix discard issue

* remove unused file

* Update

* Editing for responsive grid items now work

* Update

* Update

* Review fix
2024-11-20 14:09:56 +01:00
Ashley Harrison 0cd19d76ce Chore: Enhance debug theme with more hover colors (#96753)
enhance debug theme with more hover colors
2024-11-20 13:07:36 +00:00
Ivan Ortega Alba 1a7faed56a Add tests to SceneToSaveModelV2 transformer (#96700)
* Add tests to SceneToSaveModelV2 transformer

* Add text properties always
2024-11-20 14:53:58 +02:00
Mihai Doarna cb7dd25f8a Optimize tokens count from service accounts query (#96663)
* optimize tokens count from service accounts query

* add unit tests for tokens count

* skip broken test

* fix lint error

* rename Tokens to TokenCount
2024-11-20 14:52:23 +02:00
Laura Fernández f1601b1c0f SingleTopNav: Update singleTopNav feature toggle to GA and enabled by default (#96752) 2024-11-20 13:30:19 +01:00
Sriram 492e7d4a3d Datasources: health check logging improvements (#96403)
* basic healthcheck logging

* show detailed error for admins

* fix linting errors

* fix config summary keys

* passing context to logger

* tracking health check errors

* remove tracking
2024-11-20 11:42:05 +00:00
grafana-pr-automation[bot] b21adb8144 I18n: Download translations from Crowdin (#96671)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-20 13:20:30 +02:00
renovate[bot] 01b7fe0cd5 Update dependency @leeoniya/ufuzzy to v1.0.16 (#96743)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 10:14:52 +00:00
Gabriel MABILLE aa2b4751a0 AuthZ: Launch service within IAM app (#96421) 2024-11-20 11:13:33 +01:00
renovate[bot] 4800b8a26b Update dependency knip to v5.37.1 (#96718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 09:47:11 +00:00
Jack Baldry 7c18a927f0 Update Explore CODEOWNERS (#93531) 2024-11-20 11:25:15 +02:00
Oscar Kilhed 5986b03a8f Scenes: Fix angular migrations that are using the targets property on the old panel model (#96626)
Fix angular migrations using target
2024-11-20 09:52:52 +01:00
Brendan O'Handley be59a6113b Explore metrics: Default for OTel to select deployment environment like prod (#96585)
* default to select deployment environment like prod

* add tests

* return null if options are empty to prevent error, fix test
2024-11-20 05:13:57 +02:00
Brendan O'Handley 3e2d849850 Prometheus: Add deprecation message for AMP in Promehteus docs (#96689)
deprecate message for AMP in prom docs
2024-11-19 16:42:42 -06:00
Simon Podlipsky 2b2c94050c Docker: Don't use legacy ENV syntax (#93218)
chore(docker): don't use legacy ENV syntax
2024-11-19 16:13:55 -05:00
margotphelps b69af9240d Added docket tag note to security section (#96725)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-19 15:28:02 -05:00
Leon Sorokin 33bf94f4d2 Transformations: Add RegExp option to Extract fields transformer (#96593) 2024-11-19 22:04:31 +02:00
Sven Grossmann 51efde972b Loki: Allow regex in label derived field (#96609)
* Loki: Allow regex in `label` derived field

* add docs

* change to caution
2024-11-19 21:01:56 +02:00
kay delaney 8527f986db PanelInspectDrawer: Fix issue where closing inspect drawer on home dashboard redirects to new dashboard (#96711) 2024-11-19 18:55:14 +00:00
Ieva 2ffb7344e8 GAS: update auth provider docs (#96097)
* add docs describing what GAS is and how it can be configured

* auth provider docs for GAS

* PR feedback
2024-11-19 18:27:34 +00:00
grafana-delivery-bot[bot] 82a2d9b9e2 Release: update changelog for 11.3.1 (#96713)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-11-19 17:33:14 +00:00
renovate[bot] af9dd65c01 Update dependency i18next to v23.16.6 (#96715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 17:22:55 +00:00
Jev Forsberg d8c19136bf CI: Fix latest tag not being correctly applied to releases (#96497)
* baldm0mma/tag_latest_bug/ update github-release.yml default values

* baldm0mma/tag_latest_bug/ update release-comms.yml

* baldm0mma/tag_latest_bug/ update logic

* baldm0mma/tag_latest_bug/ update logic

* baldm0mma/tag_latest_bug/ update logic

* baldm0mma/tag_latest_bug/ update logic for both cases

* baldm0mma/tag_latest_bug/ update comment
2024-11-19 10:17:01 -07:00
Matias Chomicki aace94438e Logs: Allow scroll to reach the bottom of the log list before loading more (#96668)
* Infinite scroll: use timestamps to improve scrolling experience

* Add unit tests
2024-11-19 19:12:41 +02:00
renovate[bot] 3af87261a8 Update dependency eslint-plugin-unicorn to v56.0.1 (#96709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 17:02:59 +00:00
grafana-delivery-bot[bot] f427f8dc15 Release: update changelog for 11.2.4 (#96691)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-11-19 17:59:59 +01:00
grafana-delivery-bot[bot] a288ec6450 Release: update changelog for 11.1.9 (#96692)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-11-19 16:49:32 +00:00
renovate[bot] 39707fcc8c Update dependency @grafana/faro-web-tracing to v1.12.1 (#96698)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 16:40:16 +00:00
Sonia Aguilar 1b0cc60d65 Alerting: Move evaluation outside folder section, and move labels in instead (#95121)
* Move evaluation outside folder section, and move labels in instead

* rename file

* update translations

* refactor

* rename file and component

* refactor

* fix test

* refactor

* rename files and components

* update translations

* fix style

* update translations

* Use useAppNotification for toasts

* update label when group can not be selected yet

* update translations

* update some texts and add comment

* update translations

* remove duplicated code

* fix typo

* update texts and translations

* rename FolderWithoutGroup to FolderSelector

* restore wrong updates

* restore wrong updates

* translations and remove GroupAndFolder component

* address review comments

* remove container

* address review comments

* address review comments

* prettier

* prettier
2024-11-19 17:26:49 +01:00
grafana-delivery-bot[bot] d3a000e7da Release: update changelog for 11.0.8 (#96690)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-19 16:17:42 +00:00
Kristina 005de7db95 Correlations: Handle special field for loki labels (using data plane) (#94033)
Use dataplane data if available
2024-11-19 10:12:53 -06:00
Sven Grossmann f44bc2bfd8 Logs: Let level label take precedence over detected_level (#96678) 2024-11-19 16:55:05 +01:00
Andre Pereira bf74b9c9c0 Tempo: Run TraceQL metrics queries through backend (#96246)
* Move TraceQL metrics queries to backend

* Add tests for TransformMetricsResponse

* Add tests for createMetricsQuery

* Refactor, detect metric queries and throw error for search queries

* Remove unneeded types

* Don't add start and end if they are 0. Return on err

* lint

* Fix pre-alloc of frames

* Address PR comments
2024-11-19 15:51:07 +00:00
renovate[bot] 6d97d170f6 Update dependency @grafana/faro-web-sdk to v1.12.1 (#96688)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 15:48:08 +00:00
grafana-delivery-bot[bot] 19c94301ff Release: update changelog for 10.4.13 (#96674)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-19 15:30:22 +00:00
renovate[bot] 306f9e5b91 Update dependency @grafana/faro-web-sdk to v1.12.1 (#96685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 15:29:05 +00:00
Matias Chomicki f3783146bb Explore: Sync logs displayed fields with URL state (#96242)
* Explore: store displayedFields in URL state

* Displayed fields: reset when queries change

* Add test

* LogRowMessageDisplayedFields: pass logRowMenuIcons props to component

* LogsMetaRow: use primary outline for reset button

* Logs: clear displayedFields from URL
2024-11-19 16:27:26 +01:00
renovate[bot] 4a071c6491 Update dependency @grafana/faro-core to v1.12.1 (#96684)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 15:08:01 +00:00
Ashley Harrison b662879c98 Internationalisation: Add basic e2e test to ensure languages load correctly (#96556)
* fix pseudo locale and add simple e2e test

* add comment

* update test and add comments

* fix unit test

* try 5 instead of 6?

* clear input

* only check pseudo in dev mode

* don't check pseudo in CI

* don't test pseudo locale

* isolate language changes

* move waits around

* only wait for preferences on first visit

* add proper loading state

* bit of tidy up

* hook up ids correctly

* use disabled/isLoading instead of skeleton

* set props on Field
2024-11-19 15:07:14 +00:00
Kristina 32de1a00d3 Correlation: Fix loki dataplane field change (#94088)
* Fix loki dataplane field change

* Add test for dataplane

* Reset feature toggle in test
2024-11-19 09:06:16 -06:00
Josh Hunt 4cc28c76fb GrafanaUI: Size AutoSizeInput correctly when used with suffix/prefix (#96575)
* GrafanaUI: Size AutoSizeInput correctly when used with suffix/prefix

* comment

* reword comment
2024-11-19 14:53:45 +00:00
renovate[bot] efb420dd78 Update dependency @formatjs/intl-durationformat to v0.6.4 (#96662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 14:43:36 +00:00
Ryan McKinley 7985fa573e UnifiedStorage: Add ResourceTable format (#96506) 2024-11-19 15:47:59 +02:00
Karl Persson 11a4a366c6 Zanzana: Optimize batch check (#96669)
* Restructure check code so we only check namespace access once for each GroupResource during for batch
2024-11-19 14:39:46 +01:00
Georges Chaudy e270412dbf unistore: wire the authz client (#96632)
* unistore: wire the authz client

* rename dashboards.grafana.app into dashboard.grafana.app

* wire the authz client

* wire the authz client

* resuse the Standalone constructor

* configure default migration for resource folder

* add tests

* cleanup

* add logging
2024-11-19 15:13:30 +02:00
Stephanie Hingtgen 6571451a57 K8s: dashboards: fix conversion (#96648) 2024-11-19 05:32:05 -07:00
Karl Persson 7e442efa9c Zanzana: sync roles and bindings (#96661)
* Sync fix and custom roles and team bindings.

* Add collector for user role bindings
2024-11-19 13:18:44 +01:00
Alexa V 3c182a37fa Transform DashboardScene into Schema V2 (#95546)
---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2024-11-19 13:01:40 +01:00
Isabel Matwawana 77a1b0ecce Docs: Node graph visualization refactor (#96647) 2024-11-19 06:49:50 -05:00
Gilles De Mey 73ae4a51b2 Alerting: Silence drawer being forcefully closed (#96579)
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-11-19 11:32:45 +00:00
Tobias Skarhed ed31457c00 Combobox: Support undefined, null value and improve typing (#96523)
* Support undefined value

* Check truthiness of value instead

* check falsy

* Conditional typing for clearing value

* Less restrictive default typing

* simplify props

* Add tests for autosizing

* Write failing test case

* Add list of falsy values

* Check if nullish

* Check nullish in itemToString

* Nvm, it doesn't matter here

* Add support for autoFocus

* Pick from InputProps

* Move docstring

* Solve type issues in Storybook

* Fix failing story
2024-11-19 11:52:52 +01:00
xavi d9395f2682 Update JWT docs (#96623) 2024-11-19 10:45:35 +00:00
renovate[bot] 8789e23fe2 Update dependency react-dropzone to v14.3.5 (#96454)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-11-19 10:44:25 +00:00
Gilles De Mey 0929feba06 Alerting: Use NestedFolderPicker (#96398)
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-11-19 11:41:31 +01:00
linoman 8b7100a9aa Auth: Add None role to Viewer case (#96624)
Add None role to Viewer case
2024-11-19 11:29:58 +01:00
Zoltán Bedi 3fa8df6b62 MySQL: Fix tls skip verify option (#96475)
MySQL: Fix skip tls verify option
2024-11-19 10:46:24 +01:00
antonio d3badb8a07 Alerting-loki tutorial: update docker env (#96486) 2024-11-19 10:28:27 +01:00
Sriram bd56b47bb5 Datasources: Health check error tracking (#96629)
* datasource health check error tracking

* type fix
2024-11-19 08:47:46 +00:00
Cedric Ziel 89e7e25b60 Backend: Inject server-timing header to match initial loads with client-side telemetry (#94978)
feat: inject server-timing header to match initial loads with client-side telemetry

Faro Web SDK can read the server-timing info and
correlate the initial request with the client side telemetry gather from navigation timings.
2024-11-19 10:01:58 +02:00
Matthew Jacobson 2364299a8c Alerting: Fix annotation state migration to retain nullability on MySQL (#96640) 2024-11-18 15:51:45 -05:00
grafana-pr-automation[bot] 5a84048b9a I18n: Download translations from Crowdin (#96612)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-18 17:25:48 +00:00
Andrej Ocenas 4b5ce0efe7 Sidecar: Add rudderstack events (#96566) 2024-11-18 18:17:28 +01:00
Nick Richmond 466688436e Prometheus: Performant Code Mode autocomplete with long metric names (#96580)
* fix: autocomplete performance

* refactor: simplify the complex search strategy

* chore: allow json imports to aid testing

* perf: prefer for loop for perf-critical path

* perf: use ufuzzy in intraMode: 0 (#96584)

* refactor: add clarity

* refactor: simplify

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-11-18 12:12:25 -05:00
jackyin 9cd2598e8c Explore Metrics: Duplicate subpath (#96287)
* explore metrics subpath

* optimize
2024-11-18 17:57:51 +01:00
Ashley Harrison a049183ecd UPlot: don't use state to hold reference to uplot instance (#96630)
don't use state to hold reference to uplot instance
2024-11-18 15:15:04 +00:00
Bogdan Matei 984fbac1ad Dashboard: Fix dashboard reload behavior (#96427) 2024-11-18 17:09:03 +02:00
Isabel Matwawana 8e0e3397a3 Docs: Logs visualization refactor (#96576) 2024-11-18 09:56:20 -05:00
Isabella Siu 933c83e373 AWS: Add amazon managed prometheus and aurora to the forward list (#96590)
AWS: add amazon managed prometheus and aurora to the forward list
2024-11-18 09:07:41 -05:00
Ivana Huckova d00c4fd35a Elasticsearch: Replace error source http client with a new error source methods (#96570)
* Elasticsearch: Replace error source http client with methods

* Update

* Update

* Update tests

* Update

* Update

* Update pkg/tsdb/elasticsearch/data_query.go

Co-authored-by: Nathan Vērzemnieks <njvrzm@gmail.com>

* Trigger build

---------

Co-authored-by: Nathan Vērzemnieks <njvrzm@gmail.com>
2024-11-18 14:39:21 +01:00
Alexander Zobnin 1366197522 Zanzana: Search with check server side (#96268)
* pass zclient into dashboard service

* Search then check implementation

* Use GetNamespace() for user

* remove unused orgID

* simple batch check

* refactor

* add tests

* fix batchCheckItem

* client implements batch check

* use batch check in search

* remove unused

* remove All field from response

* refactor: extract checkNamespace

* fix search result uniqueness

* comment fix

* Apply suggestions from code review

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

* refactor

* cleanup

* remove unnecessary check

* fix tests

* fix protobuf def

* Fix query page

* fix type

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-11-18 14:01:28 +01:00
Andreas Christou 78930314c3 CloudMonitoring: Improve metric handling for DISTRIBUTION value types (#96412)
* Set crossSeriesReducer value based on metric valueType

* Update label retrieval to retrieve all values

* Update tests

* Update documentation

* Add tooltip

* fix typo

* Docs lint

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2024-11-18 12:27:40 +00:00
Sven Grossmann 2ff9baa271 Sidecar: Always hide at /login page (#96621) 2024-11-18 14:07:59 +02:00
Sam Jewell 1915efbc95 SQL Expressions: Simplify where code is being stubbed out (#96227)
* Rename from DuckDB

* Remove unused function
2024-11-18 12:05:08 +00:00
Laura Fernández 30bbcf8200 Combobox: Menu places itself under topnav (#96545) 2024-11-18 12:00:24 +01:00
Sonia Aguilar 76444c7913 Alerting: Add alertingOptimizeReducerInUI feature toggle (#96608)
add alertingOptimizeReducerInUI feature toggle
2024-11-18 12:59:00 +02:00
brendamuir d187716e73 Alerting docs: fix query syntax sentence (#96614)
* Alerting docs: fix query syntax sentence

* updates sentence

* pepes feedback
2024-11-18 11:52:43 +01:00
Ieva 0a85f15214 RBAC: Remove folder name scope resolver (#96484)
* remove folder name scope resolver

* update test
2024-11-18 12:47:10 +02:00
Misi 7d10ffff1b Docs: Clarify MFA/2FA in the docs (#96610)
* Docs: Clarify MFA/2FA in the docs

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

Co-authored-by: Vardan Torosyan <vardants@gmail.com>

---------

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2024-11-18 11:02:09 +01:00
Ivana Huckova 8a551bacfb Zipkin: Move query running to backend (#96404)
* Rename method applyTemplateVariables so it used by backend

* Zipkin: Move query running to backend

* Fix error source

* Hndle invalid query and return error response
2024-11-18 10:59:29 +01:00
Konrad Lalik b73ab15878 Alerting: New list view (Part 1) (#95039)
* initial commit

* update styles

* wip

* update list view

* update translations

* abstract components

* metadata separator

* refactor

* cleanup

* fix tests

* WIP

* translations

* refactor to use maps and type-safety

* WIP

* UI updates

* Rule action buttons early draft

* recording rules

* WIP typescript errors

* implement action button loading

* move section loader etc

* add placeholder for group actions

* Change files structure, remove CombinedRule from AlertRuleMenu

* Refactor fetching data sources with ruler

* Fix tests

* Unify data source features

* move files

* make actions column wider

* update translations

* Update tests to reflect code changes

* Remove direct buildinfo usages

* Fix useCanSilence hook

* Add missing translations, fix lint errors

* PR feedback

* update test

* Remove featureDiscovery mock from a test

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-11-18 10:48:15 +01:00
Matthew Jacobson 65097d4b54 Alerting: Fix k8s api route fingerprint to include ObjectMatchers and Provenance (#96591)
Fix route fingerprint to include ObjectMatchers and Provenance
2024-11-16 08:38:30 -05:00
Charandas 9223cd8f59 Cloud Aggregation: make it work for users with no name (#96509) 2024-11-16 01:28:54 +02:00
Ryan McKinley 29cdfdff87 Storage: Revert using real gRPC for integration tests (#96410)
---------

Co-authored-by: Todd Treece <todd.treece@grafana.com>
2024-11-15 16:50:49 -05:00
Todd Treece 66d5c051aa Dashboards: Add v1alpha1 and v2alpha1 conversion (#96415)
---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2024-11-15 15:49:45 -05:00
Isabella Siu fcd88d356c Cloudwatch: Fix parsing for ec2 resource attributes (#96501) 2024-11-15 15:17:50 -05:00
Yuri Tseretyan 420db99d16 Alerting: Update state manager to have immutable state in cache (#95985)
* create a new state and set at the end
* propagate labels datasource_uid and ref_id from current state if it's error
* copy the state when apply to all
2024-11-15 15:01:02 -05:00
colin-stuart f9ac3301d3 Docs: add note that support for Auth0 "audience" feature is not available (#96507)
* add note that support for Auth0 audience feature is not available

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

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-11-15 11:43:29 -05:00
Mohammad Iskandarany 4e3e50bf91 Chore: Update native histogram hints in prometheus data source (#96270)
* [Prometheus] Update native histogram hints

* update unit tests
2024-11-15 10:12:01 -06:00
margotphelps 11f1a6b034 Docs: Added New Release Dates,Security Versioning and Freezes (#96413)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2024-11-15 10:52:49 -05:00
Stephanie Hingtgen b12c731d59 Stars: Add dashboard_uid and org_id to table (#96408) 2024-11-15 09:51:31 -06:00
Matthew Jacobson c6a90ed3cd Alerting: Fix long KeepLast annotations failing to save (#96503)
Certain combinations of KeepLast state transition annotations exceed the current
 limit of 25 characters. This increases the column size limit to be able to
 handle the longest combination (27) with some extra space for comfort.
2024-11-15 10:43:56 -05:00
Mihai Doarna 7d25e9ce86 docs: Add docs on generating SAML cert from the UI (#96538)
* add docs on generating SAML cert from the UI

* run prettier
2024-11-15 17:36:45 +02:00
Isabella Siu 06196022cf Elasticsearch: Update grafana-plugin-sdk-go for sse errorsource updates (#96144) 2024-11-15 10:18:07 -05:00
Isabel Matwawana 17a4eab58e Docs: Bar chart visualization refactor (#96555) 2024-11-15 09:50:38 -05:00
Galen Kistler 062f9b6dbf Loki: skip tests that are flaking in CI (#96551)
test: skip tests that are flaking in CI
2024-11-15 08:47:00 -06:00
Gareth Dawson cc1d76fc0a Jaeger: Add feature toggle for backend migration (#96494)
* add feature toggle for jaeger backend migration

* add codeowners
2024-11-15 14:40:20 +00:00
Ryan McKinley cc6d057a18 Provisioning: Rename k8s origin metadata to repo (#96524) 2024-11-15 17:26:14 +03:00
Arati R. 2e62f75166 K8s/Folders: Allow recursive creation of DTO (#96439)
* Fix toDTO
* Remove conversion function for folder dto
* Convert toDTO to a standalone function

---------

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2024-11-15 15:21:57 +01:00
Tom Ratcliffe 7ae0d551fe Chore: Move betterer eslint rules to separate file and allow opting in (#96240)
* Move betterer eslint rules to separate file and allow opt-in for local dev

* Add betterer eslint to codeowners
2024-11-15 14:01:39 +00:00
Vardan Torosyan 97103a5256 Docs: Clarify disabling auto login for SAML and OAuth (#96520) 2024-11-15 14:46:03 +01:00
Vardan Torosyan f31d3f424c Docs: Add secondsToLive to the SA HTTP API docs (#96518)
* Docs: Add secondsToLive param to the SA HTTP API docs

* Docs: Add secondsToLive param to the SA HTTP API docs
2024-11-15 14:45:48 +01:00
Marco Schaefer b324925bd5 Frontend Monitoring: Update regex to ignore options.customEndpoint (#96542)
* fix(GrafanaJavascriptAgentBackend): update regex to ignore options.customEndpoint

* update test
2024-11-15 14:11:59 +01:00
Sven Grossmann 5965aa9aca Loki: Fix healthcheck logger always appending endpoint (#96531)
* Loki: Fix healthcheck logger always appending `endpoint`

* add test
2024-11-15 12:51:52 +01:00
Victor Marin 927d0dddfe DashboardScene: Update repeated panels in dashboard after saving in panel edit and returning to it (#96536)
* Update repeated panels after saving dashboard when returning to it from panel edit

* cleanup
2024-11-15 13:40:51 +02:00
Jack Westbrook 329a4605fb SQL Datasources: Make QueryEditor lazy loaded (#96179)
* feat(grafana-sql): make sqlqueryeditor lazy loaded

* feat(sql-datasources): switch out query editor for lazy query editor

* build(postgresql): put tsconfig jsx prop inside compilerOptions

* chore(sql-queryeditor): move lazy import out of component
2024-11-15 12:28:01 +01:00
Karl Persson 1f34096fdf Zanzana: reconcile basic roles and bindings (#96473)
* Add reconciler for basic roles

* Add reconciler for basic role bindings
2024-11-15 12:10:22 +01:00
Timur Olzhabayev 0f4517df98 Docs: Plugin Installation - reorganize and add air-gapped environments (#96437)
* rewriting installation docs and including info about airgapped environments

* Changing example to lokieexplore app

* run prettier

* adding corrections

* running prettier

---------

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-11-15 11:53:56 +01:00
Karl Persson 7e38fd733b Zanzana: Lazy load cached store info (#96452)
* Lazy load cached store infos
2024-11-15 11:44:34 +01:00
Sonia Aguilar 76a3d79231 Alerting: Remove reducer when creating and instant (#94246)
* Remove reducer when using a non complex query that is instant

* remove reducer when changing data source

* Fix whenField

* use DataSourceType instead of string literal

* add reducer when using range

* add tests

* use an object for SimpleCondition refids identifiers

* fix threshold expression to point to B after switching back to range

* address pr review comments

* refactor: extract reducer optimization to the reducer

* fix tests

* fix snapshot

* rename constants
2024-11-15 12:28:54 +02:00
Ashley Harrison 20837d3837 Chore: silence sass warnings since we're going to remove sass anyway (#96530)
silence sass warnings since we're going to remove sass anyway
2024-11-15 12:18:58 +02:00
renovate[bot] 70601a5367 Update dependency @floating-ui/react to v0.26.28 (#96528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 12:11:09 +02:00
Ashley Harrison eededdd4c1 SingleTopNav: Update singleTopNav feature toggle to public preview (#96527)
update singleTopNav to public preview
2024-11-15 12:06:27 +02:00
renovate[bot] 0e0920efbe Update dependency @grafana/faro-web-tracing to v1.12.0 (#96493)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 09:52:33 +00:00
Josh Hunt 9a4a17f338 GrafanaUI: AutoSizeInput uses placeholder for width calculation (#96458)
AutoSizeInput: Use placeholder for width calculation also
2024-11-15 09:45:05 +00:00
Andre Pereira 65b50b67c4 Tempo: Fix trace kvlist and array transformations (#96388)
* Fix kvlist and array transformations

* Log transformation errors
2024-11-15 09:35:41 +00:00
Andrej Ocenas d8d1886938 Grafana/ui: Allow adjusting the handle size of the useSplitter (#96039) 2024-11-15 09:58:52 +01:00
Vardan Torosyan 26b596d351 Docs: Adding a note about how to parse JMESPath expression with a colon (#96237)
* Docs: Adding a note about how to parse JMESPath expression with a colon

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2024-11-15 09:56:58 +01:00
Mihai Doarna c276bd1ccc docs: Add docs on configuring role mapping for multiple GitHub teams (#96483)
add docs on configuring role mapping for multiple GitHub teams
2024-11-15 10:43:53 +02:00
Edvard Falkskär af7512741c NodeGraph: Zoom mode option (#95823)
* NodeGraph: Zoom mode option

* Update the docs

* refactor stepUp/stepDown handling

* fix

* Update cooperative description

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

* Update zoom mode wording

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

* Add  tests

* Move node graph settings to align with other viz

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-15 09:43:28 +01:00
Brendan O'Handley e331b778c1 Combobox: Add a warning for combobox when exceeding the recommended amount of options (#96070)
* add a warning for components when they exceed the recommended options amount

* Update packages/grafana-ui/src/components/Combobox/Combobox.tsx

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

* Update packages/grafana-ui/src/components/Combobox/Combobox.tsx

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

* log faro

* log once with flag

* log in setItems

* move logOptions to utils and write tests

* import function, update betterer for combobox

* Fix lint errors

* log once without the try

* fix tests

---------

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
2024-11-14 22:19:40 +02:00
Juan Cabanas ec1a722504 Reporting: useReportRawTimeRange FF (#95683) 2024-11-14 17:08:03 -03:00
Kristina 3a921d898c Codeowners: reflect changed ownership for explore squad (#96492) 2024-11-14 13:51:06 -06:00
Isabel Matwawana 74b2cd6c83 Docs: Add private preview info for email sharing (#96350) 2024-11-14 14:46:39 -05:00
Lucy Chen 3b36438b1c Reporting: Add theme option (#95008)
* swagger doc

* Update doc for report settings

* Apply suggestions from code review

* swagger doc

* add doc for current theme

* update text

* wording feedback changes

* make it clearer

* update again

* update theme component

* swagger doc

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-14 14:45:49 -05:00
owensmallwood 9240cf1930 Unified storage Indexer: Add kind to hardcoded resource types (#96149)
* add kind to hardcoded resource types for indexer

* call ListOptions in Watch

* Use GaugeVec instead of CounterVec

* index folders before dashboards
2024-11-14 14:28:52 -05:00
Matthew Jacobson 64c93217ff Alerting: Fix incorrect 500 code on missing alert rule dashboardUID / panelID (#96491) 2024-11-14 21:24:48 +02:00
renovate[bot] 97347a1f94 Update dependency @eslint/compat to v1.2.3 (#96487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 17:59:56 +00:00
renovate[bot] 4f095bcd65 Update dependency @grafana/faro-web-sdk to v1.12.0 (#96485)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 17:02:42 +00:00
Ieva d5cbb9fdc4 GAS: Document group attribute sync roles and permissions (#96087)
document GAS roles and permissions
2024-11-14 16:37:57 +00:00
Leon Sorokin 39fe0b29ff XYChart: Remove old implementation (#96416) 2024-11-14 10:36:18 -06:00
renovate[bot] c6f85579db Update dependency @grafana/plugin-e2e to v1.12.1 (#96476)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 16:33:48 +00:00
Andrej Ocenas 19844c4ba8 Sidecar: Route handling rework (#96337) 2024-11-14 17:28:12 +01:00
Kevin Minehart 54cc666aa0 Alerting: Add useReturnTo hook to safely handle returnTo parameter (#96474)
Add useReturnTo hook to safely handle returnTo parameter

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-11-14 18:08:58 +02:00
renovate[bot] 8375fcd350 Update scenes to v5.25.0 (#96463)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 16:05:18 +00:00
Jacob Valdez 28ad9684e9 Docs/adding information on using variable expansion and env variable for TLS certs when provisioning data sources (#96400)
Docs/adding information on using variable expansion and env variables for TLS certs when provisioning data sources
2024-11-14 17:32:42 +02:00
Isabel Matwawana af31ae0593 Docs: Add canvas custom images and icon guidance (#91806)
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-11-14 17:25:18 +02:00
dependabot[bot] 0b84d8afe7 Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (#95807)
* Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1

Bumps [github.com/golang-jwt/jwt/v4](https://github.com/golang-jwt/jwt) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/golang-jwt/jwt/releases)
- [Changelog](https://github.com/golang-jwt/jwt/blob/main/VERSION_HISTORY.md)
- [Commits](https://github.com/golang-jwt/jwt/compare/v4.5.0...v4.5.1)

---
updated-dependencies:
- dependency-name: github.com/golang-jwt/jwt/v4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix make workspace update

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jo <me@jguer.space>
2024-11-14 17:06:12 +02:00
renovate[bot] a983e8254c Update dependency @grafana/faro-web-sdk to v1.12.0 (#96462)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 16:59:14 +02:00
renovate[bot] 0e4bfefd37 Update dependency @grafana/faro-core to v1.12.0 (#96461)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 16:40:05 +02:00
Joao Silva b23fdd63a6 New Select: Fix not being able to click around the caret (#96026) 2024-11-14 14:24:26 +00:00
Joao Silva b820fc0111 Bookmarks: Lazy loading page (#96455) 2024-11-14 14:24:03 +00:00
grafana-pr-automation[bot] 09fa80a7cb I18n: Download translations from Crowdin (#96460)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-14 16:20:18 +02:00
colin-stuart 6abe99efd6 Auth: Passwordless Login Option Using Magic Links (#95436)
* initial passwordless client

* passwordless login page

* Working basic e2e flow

* Add todo comments

* Improve the passwordless login flow

* improved passwordless login, backend for passwordless signup

* add expiration to emails

* update email templates & render username & name fields on signup

* improve email templates

* change login page text while awaiting passwordless code

* fix merge conflicts

* use claims.TypeUser

* add initial passwordless tests

* better error messages

* simplified error name

* remove completed TODOs

* linting & minor test improvements & rename passwordless routes

* more linting fixes

* move code generation to its own func, use locationService to get query params

* fix ampersand in email templates & use passwordless api routes in LoginCtrl

* txt emails more closely match html email copy

* move passwordless auth behind experimental feature toggle

* fix PasswordlessLogin property failing typecheck

* make update-workspace

* user correct placeholder

* Update emails/templates/passwordless_verify_existing_user.txt

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

* Update emails/templates/passwordless_verify_existing_user.mjml

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

* Update emails/templates/passwordless_verify_new_user.txt

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

* Update emails/templates/passwordless_verify_new_user.txt

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

* Update emails/templates/passwordless_verify_new_user.mjml

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

* use &amp; in email templates

* Update emails/templates/passwordless_verify_existing_user.txt

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

* remove IP address validation

* struct for passwordless settings

* revert go.work.sum changes

* mock locationService.getSearch in failing test

---------

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Dan Cech <dcech@grafana.com>
2024-11-14 08:50:55 -05:00
renovate[bot] c865958292 Update dependency sass to v1.80.7 (#96459)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 15:43:26 +02:00
Ezequiel Victorero dd3bbbe317 Docs: Add allow list email domain configuration (#95882) 2024-11-14 10:32:01 -03:00
grafana-pr-automation[bot] ba3a0d897b I18n: Download translations from Crowdin (#96440)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-14 13:28:09 +00:00
renovate[bot] 6300591c6b Update dependency rollup to v4.26.0 (#96456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 15:25:22 +02:00
dependabot[bot] 093f99ad75 Chore(deps): Bump http-proxy-middleware from 2.0.4 to 2.0.7 (#95682)
Bumps [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) from 2.0.4 to 2.0.7.
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases)
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.7/CHANGELOG.md)
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.4...v2.0.7)

---
updated-dependencies:
- dependency-name: http-proxy-middleware
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-14 14:22:02 +01:00
renovate[bot] 144c1b0c9d Update dependency react-dropzone to v14.3.5 (#96453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 12:44:01 +00:00
Andres Martinez Gotor e886079d4c Enable preinstallAutoUpdate by default (#96446) 2024-11-14 13:37:21 +01:00
Andres Martinez Gotor 369d0a6aca Preinstall: Allow to extend default list (#96402) 2024-11-14 13:36:57 +01:00
renovate[bot] 4051df1f6c Update dependency react-calendar to v5.1.0 (#96449)
* Update dependency react-calendar to v5.1.0

* use properly exported CalendarType

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-11-14 14:30:52 +02:00
Laura Fernández 6a8755a8af New Select: decrease item height (#95952) 2024-11-14 13:24:02 +01:00
renovate[bot] c8aaefd54a Update dependency rc-tree to v5.10.1 (#96445)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 12:11:54 +00:00
Ashley Harrison 192423956b GrafanaUI: Mark ScrollContainer as stable and deprecate CustomScrollbar (#96331)
* deprecate CustomScrollbar, promote ScrollContainer

* add documentation start

* use the properly exported ScrollContainer

* Update packages/grafana-ui/src/components/ScrollContainer/ScrollContainer.mdx

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

---------

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2024-11-14 12:06:21 +00:00
Alexander Akhmetov 324503ee8b Alerting: Add simplified_notifications_section field to the alert rule metadata (#95988) 2024-11-14 12:55:54 +01:00
Sam Jewell c8a5be0bb3 Set CoreServices as codeowners for SQL Expressions (#96342)
* Set CoreServices as codeowners for SQL Expressions

* Set CoreServices as CodeOwners for ALL SSEs

Don't limit to SQL Expressions alone, but take all of the
Server Side Expressions
2024-11-14 11:54:26 +00:00
renovate[bot] c023b441f5 Update dependency rc-cascader to v3.30.0 (#96444)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 11:37:29 +00:00
Isabel Matwawana 1d4b336f26 Docs: update docs for singleTopNav (#95663)
* updated kiosk behaviour

* Removed TV mode and updated Normal mode

* Updated kiosk mode and other small edits

* Removed dashboard controls from playlist controls section and reformatted

* Added playlist controls behaviour in kiosk mode

* Updated Use dashboards image and descriptions
2024-11-14 11:28:41 +00:00
renovate[bot] bd0ee50e7c Update dependency msw to v2.6.4 (#96436)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 10:55:17 +00:00
renovate[bot] 64047be78c Update dependency knip to v5.37.0 (#96435)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 10:54:34 +00:00
brendamuir 14d868a791 Alerting docs: adds cloud alert rule limits (#96441) 2024-11-14 11:34:46 +01:00
Tobias Skarhed a8ab82c80f Combobox: Documentation (#96307)
* Initial Combobobox docs

* Add test docs

* Add docs to props

* Add ComboboxOption docs

* Apply suggestions from code review

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-11-14 11:01:43 +01:00
Tom Ratcliffe 7a414a04a0 Alerting: Fix permissions for timeintervals UI and improve display of contact points in notification policies (#96129)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-11-14 09:55:15 +00:00
Misi 9233ad6462 Docs: Update GitLab, GitHub, Okta, Generic OAuth docs (#96386)
* GitHub docs changes

* Bunch of updates

* More updates
2024-11-14 10:47:25 +01:00
renovate[bot] 98caf47b22 Update dependency eslint-plugin-testing-library to v6.4.0 (#96391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 11:16:43 +02:00
renovate[bot] 1911256fbb Update dependency i18next to v23.16.5 (#96392)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 11:15:15 +02:00
Karl Persson 5115247818 Zanana: Fix list test (#96401)
Fix: List operation are not guaranteed to respond in a certain order
2024-11-14 10:13:59 +01:00
Timur Olzhabayev c5320e2ae7 Docs: fixing angular migration link (#96431)
fixing docs link
2024-11-14 09:00:04 +00:00
Brendan O'Handley ad3fc95755 Revert "Prometheus: Check both error and http status for source of error " (#96396) 2024-11-14 04:19:30 +02:00
Leon Sorokin 7038bbe318 Matchers: Require explicit regexp syntax in byRefId matcher (#96358) 2024-11-13 14:57:17 -06:00
Tom Ratcliffe bfecce320a Alerting: Fix some templates RBAC UI action control/checks (#94898) 2024-11-13 17:14:15 +00:00
Santiago 9e408f842c Alerting: Skip sanitizing labels when sending alerts to the remote Alertmanager (#96251)
* Alerting: Skip sanitizing labels when sending alerts to the remote Alertmanager

* fix drone image name
2024-11-13 11:21:44 -03:00
Isabel Matwawana 30b9f3e22a Docs: Add auth entries to what's new 11.2 (#96353) 2024-11-13 09:14:27 -05:00
Roberto Jiménez Sánchez 7bfaf2a7bf [Cloud Migrations] Fix panic in unit tests (#96389)
* Fix panic in unit test

* Reset mock to new one between tests
2024-11-13 16:06:32 +02:00
Carl Bergquist 16330e4113 Loki: Adds a suggestions resource call that inject scopes for finding label/labelvalues (#96025)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-11-13 14:36:12 +01:00
Victor Marin 19c04168c3 Fix dashboards listing table appearing distorted (#96371)
* fix CSS

* approx height calc to account for header div
2024-11-13 15:30:29 +02:00
renovate[bot] 7ecdad5a2d Update dependency eslint-plugin-no-barrel-files to v1.2.0 (#96387)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 13:28:18 +00:00
renovate[bot] 20fa35f931 Update dependency eslint-plugin-jsdoc to v50.5.0 (#96385)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 15:26:28 +02:00
Vardan Torosyan 82fdd4f03f Docs: Clean up basic auth, anonymous access and main pages for auth configuration (#96259)
* Docs: Clean up basic auth, anonymous access and main pages for auth configuration

* Fix the typo

* Prettier should fix this

* fix minor typo

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

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-11-13 14:25:37 +01:00
renovate[bot] 85caabf8e4 Update dependency eslint-plugin-jest to v28.9.0 (#96383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 13:02:12 +00:00
renovate[bot] ed707098e1 Update dependency eslint to v9.14.0 (#96382)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 13:01:43 +00:00
Leon Sorokin 0459a1eb80 BarChart: Fix decimals=0 config (#96354) 2024-11-13 06:43:16 -06:00
Ryan McKinley d9b87ef987 Storage: Add authz access client stubs (#95548)
authz stubs

authz stubs

lint fix

Add folder

move check.Name on creat

fix watch
2024-11-13 13:17:15 +01:00
renovate[bot] 1129647039 Update dependency dompurify to v3.2.0 (#96380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 11:56:07 +00:00
renovate[bot] 6db8aa2d40 Update dependency core-js to v3.39.0 (#96379)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 11:55:19 +00:00
Misi 092b2ef5d2 Docs: Improve Google OAuth docs (#96377)
* Add Configuration options to the bottom, align the setup with Cloud docs

* Fixes, format changes

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

Co-authored-by: xavi <114113189+volcanonoodle@users.noreply.github.com>

* fix

---------

Co-authored-by: xavi <114113189+volcanonoodle@users.noreply.github.com>
2024-11-13 11:38:43 +00:00
Matheus Macabu 29ee90bc26 CloudMigrations: add parent folder name to alert rule resource (#96366) 2024-11-13 12:20:56 +01:00
Dana Axinte 924b0d0863 CloudMigration: Add user uid to on prem event collection (#94804)
* add useruid to report events

* test
2024-11-13 11:07:00 +00:00
renovate[bot] 3e9033c3bc Update dependency @testing-library/jest-dom to v6.6.3 (#96374)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 11:04:40 +00:00
renovate[bot] 94762d1e10 Update dependency @stylistic/eslint-plugin-ts to v2.10.1 (#96373)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 11:04:15 +00:00
Gilles De Mey f0c57622f8 Alerting: useProduceNewAlertmanagerConfiguration for notification templates (#95290) 2024-11-13 11:46:10 +01:00
renovate[bot] 33b4c71cb2 Update dependency @reduxjs/toolkit to v2.3.0 (#96370)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 10:18:43 +00:00
Misi f5bd4d078b Docs: Extend SAML docs (improvements, assertion mapping) (#96367)
* Move the configuration options to the bottom and extend it

* Improve assertion mapping docs for Okta

* fix typo

* Update index.md

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2024-11-13 11:18:27 +01:00
renovate[bot] 483a6c7fe2 Update dependency @grafana/plugin-e2e to v1.12.0 (#96368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 10:17:51 +00:00
Tom Ratcliffe c28c8f920f Alerting: Increase timeout and add retry to flaky EditContactPoint test (#96372) 2024-11-13 12:13:33 +02:00
Andres Martinez Gotor 8eff84661a Plugin history: Hide downgrade or upgrade buttons for preinstalled plugins (#96332) 2024-11-13 12:08:21 +02:00
renovate[bot] aacce9e5f7 Update dependency @grafana/faro-web-tracing to v1.11.0 (#96341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 09:40:14 +00:00
renovate[bot] ba836dec63 Update dependency @formatjs/intl-durationformat to ^0.6.0 (#96340)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 09:39:54 +00:00
Misi 275ee55e8f Auth: Extend the SAMLStrategy with entity_id (#96234)
Add the ability to specify EntityID
2024-11-13 10:36:46 +01:00
Esteban Beltran acf57aa556 Frontend Sandbox: Do not consider internal plugins as elegible (#96325) 2024-11-13 10:28:19 +02:00
Jacob Valdez f83f7332a1 Docs/removing outdated versioning info in OSS data source docs (#96351)
docs/removing outdated versioning info in oss data source docs
2024-11-12 14:55:05 -06:00
lean.dev 750a0bed71 MigrationAssistant: Restrict dashboards, folders and datasources by the org id of the signed in user (#96339)
apply security patch: main/206-202410241510.patch
2024-11-12 13:03:16 -06:00
Kristina 9f02acd4ca Transformations: Window calculation should use 0 if value in window does not exist (#95625)
* Use 0 for window functions if value does not exist

* Simplify logic, add test

* Fix tests, have first value count as 0 if null as well

* evaluate entire array instead of individual values

* Adjust logic, move prior results back
2024-11-12 12:50:38 -06:00
Matias Chomicki 68db1c6e68 Legacy annotations: add dataplane support (#96226) 2024-11-12 18:44:06 +00:00
Alexander Akhmetov 580d073b96 Alerting: Add context to the logger in state manager Warm (#96228) 2024-11-12 19:41:05 +01:00
Ieva d4d9d56e9d GAS: Add docs for group attribute sync (#96090)
* add docs describing what GAS is and how it can be configured

* Update configure-group-attribute-sync.md

* Update configure-group-attribute-sync.md

---------

Co-authored-by: Aaron Godin <aaron.godin@grafana.com>
2024-11-12 18:05:46 +00:00
Matias Chomicki 01d2376782 Shard query splitting: stop querying on failure (#96284)
Shard query splitting: stop querying on final errors
2024-11-12 11:46:25 -06:00
Ryan McKinley e9956f2345 Storage: Always set a UID in the apiserver (#96086) 2024-11-12 18:58:32 +02:00
Roberto Jiménez Sánchez 7f99e943a6 Do not use the span recorder in test (#96324) 2024-11-12 17:55:53 +01:00
Joao Silva 6414bcb6aa Combobox: Increase min height of the menu (#96327) 2024-11-12 16:39:49 +00:00
Alex Khomenko 1fcc0a8454 Alerting: Remove history patches (#95407) 2024-11-12 17:24:51 +01:00
renovate[bot] 29bcf7dbe9 Update babel monorepo to v7.26.0 (#96333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 18:23:05 +02:00
renovate[bot] e1533ff39b Update dependency @faker-js/faker to v9.2.0 (#96334)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 18:21:48 +02:00
Sven Grossmann 1c25d2ac2b Explore Metrics: Hide errors when fetching loki rules (#96328) 2024-11-12 18:17:08 +02:00
ismail simsek 7b3364cbc9 Chore: Rename the sorting option in explore metrics (#96160)
rename the option
2024-11-12 11:15:32 -05:00
grafana-delivery-bot[bot] eaa6ba81cf Release: update changelog for 11.3.0+security-01 (#96294)
* Update changelog

* add relevant CVE fix to the changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2024-11-12 16:11:34 +00:00
grafana-delivery-bot[bot] 9e1812dc3e Release: update changelog for 11.2.3+security-01 (#96264)
* Update changelog

* add relevant CVE fix to changelog

* remove irrelevant changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2024-11-12 16:01:22 +00:00
Ashley Harrison 1e001451bd ScrollContainer: Replace CustomScrollbar usage (#96229)
* replace CustomScrollbar

* use ScrollContainer in RolePickerMenu and PanelDataPane
2024-11-12 15:43:04 +00:00
renovate[bot] 108d611205 Update dependency sass-loader to v16.0.3 (#96322)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 15:34:09 +00:00
renovate[bot] ec32f47db3 Update dependency rudder-sdk-js to v2.48.26 (#96321)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 15:32:26 +00:00
Alyssa (Bull) Joyner 2e687a1090 Azure Monitor: Fix JSON parsing error (#96004) 2024-11-12 08:07:43 -07:00
Piotr Jamróz 3a6858cf26 Frontend o11y: Report browser crashes to Faro (#95772)
* Report browser crashes to Faro

* Fix linting

* Change context log context prefix

* Update types

* Update crash detection library to report stale tabs

* Post merge fixes
2024-11-12 16:07:27 +01:00
Señor Performo - Leandro Melendez 6e7de36a67 docs: Fixed title wording from bar gauge to canvas (#96312) 2024-11-12 09:51:57 -05:00
Karl Persson ae95a6158f Zanana: Remove opefga from client and implement compile (#96275)
Zanana: Remove opefga from client and implement Compile
2024-11-12 15:30:34 +01:00
renovate[bot] 095be20f8e Update dependency react-select to v5.8.3 (#96302)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 14:30:09 +00:00
renovate[bot] f3a3ce7691 Update dependency react-hook-form to v7.53.2 (#96301)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 14:27:15 +00:00
Georges Chaudy f4e91da6b1 Unistore: fix fodler migration (#96299)
configure default migration for resource folder
2024-11-12 16:06:42 +02:00
Isabella Siu 749f59b3e3 Elasticsearch: Mark elasticsearch errors as downstream (#96152)
Elasticsearch: mark elasticsearch errors as downstream
2024-11-12 08:46:31 -05:00
renovate[bot] 9df0f8a98d Update dependency re-resizable to v6.10.1 (#96293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 13:41:32 +00:00
renovate[bot] 70b7453f78 Update dependency postcss to v8.4.49 (#96292)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 13:40:16 +00:00
Kristina 06f2f62223 Annotations: Hide edit/delete if annotations are from loki (#96141)
add in logic to hide edit/delete on annotations from loki
2024-11-12 07:38:33 -06:00
renovate[bot] ed623f52db Update dependency nanoid to v5.0.8 (#96285)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 13:17:34 +00:00
renovate[bot] d07977d366 Update dependency browserslist to v4.24.2 (#96276)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 13:16:52 +00:00
Ashley Harrison 265342fbae Combobox: only render ScrollContainer when menu is open (#96271)
only render ScrollContainer when menu is open
2024-11-12 13:15:22 +00:00
Ieva 69a38c634c RBAC: Enable action sets by default (#96286)
enable action sets by default
2024-11-12 12:39:51 +00:00
Josh Hunt b9beb14da0 Revert "Update dependency lerna to v8.1.9" (#96279)
* Revert "Update dependency lerna to v8.1.9 (#96239)"

This reverts commit 3b7c793c37.

* pause updating lerna with renovate
2024-11-12 12:16:35 +00:00
Andres Martinez Gotor c3494614e3 PoC: Define userstorage API (#95557) 2024-11-12 12:56:41 +01:00
Georges Chaudy c3571752b6 Unitstore: Fix the Folder migration (#96078)
* UniStore: Add folder to the SQL backend

This reverts commit aaa4f4a23e.

* fix folder migration
2024-11-12 12:52:04 +01:00
renovate[bot] 7f675cd218 Update dependency mini-css-extract-plugin to v2.9.2 (#96280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 11:48:58 +00:00
renovate[bot] be7a1d8805 Update dependency marked-mangle to v1.1.10 (#96278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 11:25:17 +00:00
Eric Leijonmarck 6fa06a1406 Serviceaccounts: FIX nul for field for toString (#96267)
Switch to uid for profilerow
2024-11-12 11:10:37 +00:00
Torkel Ödegaard 8a1bbe7517 PanelEdit: Fixes issue with repeat options (#96260) 2024-11-12 12:01:08 +01:00
renovate[bot] 7090fd5b34 Update dependency @tanstack/react-virtual to v3.10.9 (#96266)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 11:00:55 +00:00
Karl Persson db6422c8a3 Zanzana: Use correct namespace when evaluating permission (#96258)
Use correct namespace
2024-11-12 11:52:29 +01:00
renovate[bot] 7812cb83e9 Update dependency eslint-plugin-jsdoc to v50.4.3 (#96238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 10:46:13 +00:00
brendamuir 35572c9731 Alerting docs: adds prereqs to configure data source (#96272)
* Alerting docs: adds prereqs to configure data source

* fixes numbering
2024-11-12 11:44:42 +01:00
Younjin Song 44d206c272 Azure: Unify credentials in frontend (#95354)
* init

* fix lint

* fix lint

* lint

* update version

* fix
2024-11-12 10:36:48 +00:00
Sonia Aguilar 2f58311eea Alerting: Fix setting datasource uid, when datasource is string in old version (#96085)
fix setting datasource uid, when datasource is string in old versions rules
2024-11-12 11:35:01 +01:00
Roberto Jiménez Sánchez fde9ddfc8c [Cloud Migration] Skip flaky cloud migration unit test (#96256)
Skip Flaky Cloud Migration test
2024-11-12 11:08:35 +01:00
Misi a2c998ba1d Docs: Azure AD/ Entra ID docs improvements (#96225)
* Add Configuration options to Azure/Entra docs

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

Co-authored-by: Vardan Torosyan <vardants@gmail.com>

* Address feedback

* Address other feedback

* Fix link

---------

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2024-11-12 11:04:39 +01:00
renovate[bot] 3b7c793c37 Update dependency lerna to v8.1.9 (#96239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 10:02:29 +00:00
Jara Suárez de Puga García b14d58a890 Update images-in-notifications for Alerting (#95765)
* Update images-in-notifications for Alerting

* Review I

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

* Clarify it's only on Emails

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

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2024-11-12 10:34:36 +01:00
Gabriel MABILLE cc9cdbe82d Authz: Move extension proto up a layer (#96254)
* Authz: Move extension proto up a layer

* Lint
2024-11-12 10:19:12 +01:00
MAFLO321 ab813cb601 Postgresql: Support tables from non-default schema (#95636)
* Postgresql: Support tables from non-default schema

- Add support for schema-qualified table names.
- Partially resolve an issue where the column type of a table from the
  wrong schema with the same table name was incorrectly used. Now
  limited to tables of schemas within the search_path.

* Support schema in raw query editor

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2024-11-12 09:18:29 +00:00
Karl Persson 8d74296b6c Authn: Always set namespace (#96230)
* Rename from AllowedKubernetesNamespace to Namespace

* Use a sync hook to always set namespace for Identity.

* format

* Don't set uid when authenticating as user
2024-11-12 10:12:47 +01:00
Vardan Torosyan 7eb4b974e0 Docs: Better explanation for enabling lookup and a small fix on okta role mapping (#96232)
* Docs: Better explanation for enabling lookup and a small fix on okta role mapping

* Run prettier
2024-11-12 09:44:49 +01:00
Agnès Toulet d2aca99d38 Public Dashboard: Support relative time range in panels when time picker is disabled (#96076)
Public Dashboard: Support relative time range in panels
2024-11-12 09:21:13 +01:00
Erik Sundell 4c0dde6f2f Plugin Extensions: Streamline log messages (#95943)
* streamline log messages

* cleanup

* fix tests

* only log errors to the console

* more cleanup again

* cleanup

* Update public/app/features/plugins/extensions/errors.ts

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

* pr feedback

* remove white space

* Update public/app/features/plugins/extensions/registry/ExposedComponentsRegistry.ts

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

* revert touched file

* revert touched file

* fix tests

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-11-12 08:55:04 +01:00
Roberto Jiménez Sánchez 477326b9c3 [CloudMigrations] Fetch cloud migration status asynchronously (#96084)
* Single go-routine without touching too many lines.
* Fix unit tests
* Use require for Eventually
* Use a 10 second internal to poll for new results.
2024-11-11 19:26:30 +01:00
Adela Almasan 754351273b Actions: Fix interpolation (#96161) 2024-11-11 11:08:15 -06:00
Eric Leijonmarck 4f24a91484 LBAC for datasources: FIX adds missing uid in endpoint url (#96241)
FIX: adds missing uid in endpoint ulrl
2024-11-11 17:06:07 +00:00
Ieva c8f3173f2c GAS: Set group attribute sync to private preview (#96146)
set GAS to private preview
2024-11-11 16:25:17 +00:00
Ieva fa498e4836 GAS: Add HTTP API docs for group attribute sync (#96088)
add HTTP API docs for GAS
2024-11-11 16:24:26 +00:00
renovate[bot] de6a37e1c5 Update dependency comlink to v4.4.2 (#96231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 16:17:03 +00:00
renovate[bot] 2799e5aa75 Update dependency @types/lodash to v4.17.13 (#96159)
* Update dependency @types/lodash to v4.17.13

* fix types

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-11-11 18:16:20 +02:00
Alexander Zobnin b1fb581ab1 Zanzana: Evaluate access with Check request (server-side) (#96213)
* Zanzana: Evaluate access with Check request (server-side)

* Pass parent folder for checking access

* Review suggestions

* remove fixme comment
2024-11-11 16:39:21 +01:00
renovate[bot] 27a0491f30 Update dependency @swc/helpers to v0.5.15 (#96224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 15:11:53 +00:00
Will Browne 6bd1865749 Plugins: Fix flaky reverse proxy response tests (#96051)
tidy
2024-11-11 14:35:42 +00:00
Josh Hunt e8241636b8 Combobox: Improve async UX (#96054)
* Refactor basic usage with stateReducer

This is a combination of 3 commits.
This is the 1st commit message:
more wip

This is the commit message #2:
even more wip

This is the commit message #3:
got basic usage working well with stateReducer

remove unrelated change

todo tests

* fix behaviour for async

* clean up dev stuff

* story

* Fix options being cleared for non-async combobox

* Fill out tests!

* put story back

* clean up metriccombobox test

* show selected value as placeholder while menu is open

* properly fallback placeholder to the prop
2024-11-11 16:35:37 +02:00
renovate[bot] 3a242d8274 Update dependency @grafana/azure-sdk to v0.0.5 (#96220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 14:19:57 +00:00
Misi 1dcce86cce Docs: Update Okta docs (#96216)
* Update Okta docs

* fix typo

* fix typo

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2024-11-11 14:49:18 +01:00
renovate[bot] b9f8e66806 Update dependency @rollup/plugin-typescript to v12.1.1 (#96210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 13:45:39 +00:00
Tom Ratcliffe cbe8b8a290 Alerting: Lint and remove unused object properties (#92996) 2024-11-11 13:02:46 +00:00
brendamuir ca04cf780b Alerting docs: fixes broken oncall link (#96215) 2024-11-11 14:00:30 +01:00
Karl Persson 9f66843915 Zanzana: use namespace when performing reconciliation (#96205)
* Special handling for zanzana reconciliation if stack id is configured

* remove sync call
2024-11-11 13:48:49 +01:00
brendamuir 19bed65d9b Alerting docs: updates to landing page (#96200)
* Alerting docs: updates to landing page

* Update docs/sources/alerting/_index.md

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>

---------

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-11-11 13:39:02 +01:00
Josh Hunt 436f8db3e3 AutoSizeInput: Fix controlled value being ignored when it's empty string (#96212) 2024-11-11 12:35:30 +00:00
Laura Fernández a459f648b5 Combobox: Add default border-radius to the menu/dropdown (#96208) 2024-11-11 13:27:54 +01:00
Ivana Huckova e5519161f2 Zipkin: Run resource calls through backend with feature toggle enabled (#96139)
* Zipkin: Run resource calls througgh backend with feature toggle enabled

* Update

* Don't return early in createZipkinURL and add tests

* Update pkg/tsdb/zipkin/client.go

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>

* Update pkg/tsdb/zipkin/client.go

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>

* Update pkg/tsdb/zipkin/client.go

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>

* Update pkg/tsdb/zipkin/client_test.go

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>

* Update pkg/tsdb/zipkin/client_test.go

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>

* Update pkg/tsdb/zipkin/client_test.go

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>

* Update pkg/tsdb/zipkin/client_test.go

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>

* Fix lint

* Fix tests

---------

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>
2024-11-11 13:04:22 +01:00
Carl Bergquist c7b6822a5e Loki: Apply scopes to expression if feature toggle is enabled. (#95917)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
2024-11-11 12:53:24 +01:00
Erik Sundell 8148f0c3bb Plugin extensions: Make description optional (#95555)
make description optional
2024-11-11 12:22:57 +01:00
grafana-pr-automation[bot] 5bce96e8e7 I18n: Download translations from Crowdin (#96142)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-11 13:19:50 +02:00
jackyin 3012d4c043 Flame Graph: Fix crash when it receives empty data (#95604)
flame graph crash
2024-11-11 11:09:11 +00:00
renovate[bot] c7aef6a375 Update dependency @grafana/plugin-e2e to v1.11.3 (#96204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 11:05:45 +00:00
Tobias Skarhed 4f433ada14 Combobox: Fix stories (#96206)
Spread args onto component in stories
2024-11-11 12:02:58 +01:00
Pepe Cano 7112a79b35 Alerting UI: Update help button and descriptions for recording rules (#96047)
* Hide `Instances` field in RuleDetails view for recording rules

* Alerting UI: add `helpLink` to Recording Rules docs

* Make the Metric input placeholder more explicit for recording rules
2024-11-11 11:59:53 +01:00
Pepe Cano 154a2e0d06 Alerting docs: Move Meta monitoring to Additional configuration section (#96150) 2024-11-11 11:08:12 +01:00
Leonor Oliveira a1de4cc5fc Allow downgrade from any mode to mode 1 or 2. Allow setting all dual writer combinations (#95968)
* Allow downgrade from any mode to mode 1 or 2

* Allow for all combinations of dual writer setting

* Add all cases

* Include mode3
2024-11-11 10:52:36 +01:00
Ashley Harrison ee7f521c08 ScrollContainer: Use ScrollContainer in some dashboard components (#95668)
* use ScrollContainer in some dashboard components

* remove unnecessary wrapper

* remove unnecessary minHeight
2024-11-11 09:50:35 +00:00
renovate[bot] c04236b60d Update dependency @floating-ui/react to v0.26.27 (#96158)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 09:43:56 +00:00
Jack Westbrook 787f3b8d6c Webpack: Set eslint plugin config to flat to prevent cli errors (#96199)
fix(webpack): set eslint plugin config to flat to prevent cli errors
2024-11-11 10:23:24 +02:00
Elliot Kirk e22deeac04 Frontend Monitoring: adding ignoreUrls param to EchoSrvTransport (#95801)
* adding ignoreUrls param to EchoSrvTransport

* adding test for ignore urls

* linting

* cleaning up

* adding a new error message to the list of ignored errors
2024-11-11 09:15:24 +01:00
Ryan McKinley c0de407fee K8s/Dashboards: Delegate large objects to blob store (#94943) 2024-11-09 08:09:46 +03:00
renovate[bot] b1c5aa0929 Update dependency @prometheus-io/lezer-promql to v0.55.1 (#95272)
* Update dependency @prometheus-io/lezer-promql to v0.55.1

* chore(grafana-prometheus): update type import

* fix duration resolver

* fix unit test

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-11-09 01:16:51 +02:00
Ben Sully b4644580cf chore: bump @bsull/augurs to v0.6.0 (#96119) 2024-11-08 22:35:22 +00:00
renovate[bot] 66f0d97aad Update dependency @eslint/compat to v1.2.2 (#96156)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-08 22:32:45 +00:00
renovate[bot] 8d3faabc90 Update dependency @lezer/lr to v1.4.2 (#87522)
* Update dependency @lezer/lr to v1.4.2

* Fix: Update dependency @lezer/lr to v1.4.2 (#94818)

* Update dependency @lezer/lr to v1.4.2

* Tempo: Update error detection shift in error lookup

Since lezer 1.3.8 the position seems to be shifted + 1

* Add back looking for errors behind the cursor

* Post-merge fixes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Fix the resolvers for loki situation

* grammar

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-11-08 23:09:52 +01:00
Scott Lepper f93fd77c9c search: list and filter tags (#96130)
search: list and filter tags on the dashboard list
2024-11-08 16:39:08 -05:00
Brendan O'Handley 3f81f0d145 Prometheus: Check both error and http status for source of error (#96060)
* check error for source and check http status for source

* refactor

* add source to health check status code as well

* remove error where it will be nil
2024-11-08 23:19:14 +02:00
Fayzal Ghantiwala 5a143be653 Alerting: Add pagination to /api/prometheus/grafana/api/v1/rules (#95959)
* Intermediate step before refactoring

* Sort groups to paginate on them

* Formatting and improved test

* Address comments

* Update tests
2024-11-08 16:58:14 +00:00
Ashley Harrison 2458329f4f ScrollContainer: use in Explore pages (#95830)
use ScrollContainer in explore pages
2024-11-08 16:46:07 +00:00
Ashley Harrison 4a362d41a6 Chore: Remove/replace CustomScrollbar in alerting (#96102)
remove/replace CustomScrollbar in alerting code
2024-11-08 16:45:30 +00:00
Kristina 95692b3d68 BarChart: Fix threshold lines rendering for horizontal orientation (#95737)
* Use different threshold x/y coordinates depending on orientation

* invert wording / semantics

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-11-08 10:43:23 -06:00
Todd Treece 7bb1b352e1 CI: Use grot for dependabot go workspace commits (#96136) 2024-11-08 18:26:26 +02:00
Sonia Aguilar d92e17ee55 Alerting: Create reusable components for threshold (#94045)
* Create reusable components for threshold

* update translations

* do not use capital letters for keys in translations
2024-11-08 18:15:29 +02:00
Karl Persson acf119a12c Zanzana: resource sets on folder grants read on all children (#96127)
* resource sets on folder grants read on all children

* remove comment

* Add type for consistency
2024-11-08 16:53:51 +01:00
ismail simsek 40637a221e Chore: Don't require exemplar query for instant query when "Both" query type is selected (#96122)
Don't require exemplar for instant query
2024-11-08 17:51:14 +02:00
maicon b5e636b126 UniStore: Legacy List Folders must return all folders (#96062)
* UniStore: Legacy List Folders must return all folders

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-11-08 12:38:34 -03:00
Marc M. 9525891455 Pyroscope: Add limit number of series returned by the data source (#95780) 2024-11-08 17:22:29 +02:00
Sonia Aguilar ea0a6a1f7f Alerting: Force refetch prom rules when refreshing panel (#96120)
Force refetch prom rules when refreshing panel
2024-11-08 17:07:43 +02:00
Pepe Cano b953190328 Alerting docs: reuse Additional configuration page for Cloud docs (#96101) 2024-11-08 16:03:47 +01:00
Gabriel MABILLE bd53fa9580 LocalSigner: Remove unused dependency (#96118)
ID Token Signer: Remove unecessary deps
2024-11-08 15:46:16 +01:00
ismail simsek c972ec9737 Explore Metrics: Persist otel experience toggle state in local storage (#96057)
persist otel experience toggle state in local storage
2024-11-08 15:39:46 +01:00
Victor Marin d9dfa3ece3 DashboardScenes: Fix queryOptions interval not resetting on empty minInterval (#95659)
* Fix queryOptions interval not resetting on empty minInterval

* fix

* refactor + tests
2024-11-08 16:22:20 +02:00
grafana-delivery-bot[bot] 3dfbae7331 Release: update changelog for 10.4.12 (#96108)
* Update changelog

* Update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-11-08 14:12:35 +00:00
Alexander Zobnin 910ec7e7dc Zanzana: Use separate store for each org (#96015)
* Move server init into server package

* map store name to id

* refactor model loading

* pass namespace into reconcilers and collectors

* refactor

* Extend authz server with Read and Write methods

* use new read/write in reconciler

* implement server side read and write

* Sync permissions for every org

* handle namespace in check and list

* split read and write

* provide conditions

* Fix client implementation

* fix nil conditions

* remove unused client code

* use lock for store access

* move type translators to common package

* fix folder collector

* fix store creation

* remove unused AuthorizationModelId

* fix server tests

* fix linter
2024-11-08 14:54:36 +01:00
brendamuir 86bc087257 Alerting docs: changes advanced to additional (#96083) 2024-11-08 13:29:10 +01:00
Eric Leijonmarck e86283e8b1 LBAC for datasources: Adds teamUID to lbac rules for terraform resource consumption (#96048)
Add teamUID to lbac rules swagger
2024-11-08 08:53:38 +00:00
Mariell Hoversholm 741aa91e6f docs: clarify incompatibility with unsupported databases (#96073)
* docs: clarify incompatibility with unsupported databases

* fix: missed a quote
2024-11-08 09:47:59 +01:00
Karl Persson f0a5b444e3 Zanzana: generic resource only (#96019)
* Remove collectors

* Remove zanzana search check, we need to rewrite that part to the new schema

* Only use generic resource schema and cleanup code we don't want to keep / need to re-write
2024-11-08 09:30:41 +01:00
Adam Simpson 9b0644e5c8 chore: move DatasourceUid parsing to ruler instead (#95972)
Reverts #95629

This reverts commit 3adc7c8771.
2024-11-07 21:48:29 -05:00
Todd Treece 0b06dca472 CI: Add Dependabot go workspace action (#96064) 2024-11-07 20:14:04 -05:00
Stephanie Hingtgen 4e318e6285 Revert "Chore: Enable cache on golangci linter" (#96069)
Revert "Chore: Enable cache on golangci linter (#95471)"

This reverts commit d5cde0b60a.
2024-11-08 01:05:14 +02:00
Stephanie Hingtgen a5bef386ad Revert "Chore: Clean up some excludes and fix makefile" (#96068)
Revert "Chore: Clean up some excludes and fix makefile (#96052)"

This reverts commit f2998037e5.
2024-11-08 00:44:35 +02:00
Eric Leijonmarck 00c3c17035 Flaky tests alerting (#96055) 2024-11-07 21:08:51 +00:00
owensmallwood d023cb5931 Unified Storage: Adds metric to count indexed docs by kind (#96056)
Adds metric to count indexed docs by kind
2024-11-07 16:12:13 -03:00
Fayzal Ghantiwala 1fdc48faba Alerting: Make context deadline on AlertNG service startup configurable (#96053)
* Make alerting context deadline configurable

* Remove debug logs

* Change default timeout

* Update tests
2024-11-07 18:23:55 +00:00
Serge Zaitsev f2998037e5 Chore: Clean up some excludes and fix makefile (#96052)
clean up some excludes and fix makefile
2024-11-07 20:05:10 +02:00
Kristina ac88461fe6 Canvas: Fix references for ResourcePicker (#95580)
* useRef instead of create ref for functional components, pass function to close popper if needed

* Cleanup, hide on save as well

* add comment about when hidePopper is available to content
2024-11-07 11:37:49 -06:00
Serge Zaitsev d5cde0b60a Chore: Enable cache on golangci linter (#95471)
* try to enable cache on golangci linter

* bump version

* exclude G115

* reduce timeout

* remove deprecated linter

* bump linter version in bingo

* try a different syntax for workspace modules

* try another command

* add apps to linter path

* try disabling cue codegen

* skip some linting in devenv

* exclude dirs and try again

* try workaround for pkg

* try path instead of dir

* make it one line

* replace package prefix

* exclude xorm

* exclude wire

* file-based aproach to nolint in workspaces

* missing quote

* simplify command line

* change ownership
2024-11-07 18:15:52 +01:00
Brendan O'Handley 6638dd9a83 Revert "Prometheus: Add error source to differentiate errors for api server work" (#96043)
Revert "Prometheus: Add error source to differentiate errors for api server w…"

This reverts commit b9b5445090.
2024-11-07 16:52:42 +00:00
Jacob Valdez 4cc204affe Docs: clarify the description of actions_allow_post_url (#95995)
* Docs: clarify the description of actions_allow_post_url

* adding a word to clarify this extends the default behavior and doesn't replace it

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

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

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

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

---------

Co-authored-by: Beverly Buchanan <131809838+BeverlyJaneJ@users.noreply.github.com>
2024-11-07 09:55:49 -06:00
Ivana Huckova 4d0a7637b2 Zipkin: Run health check through backend (#96031)
* Zipkin: Run health check through backend

* Mark some errors as downstream

* Update pkg/tsdb/zipkin/zipkin.go

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

* Use errors.New where error formatting is not needed

* Remove executable in plugin.json

* Fix joining the path

* Keep logger as global and then create from context

* Close the res body

---------

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2024-11-07 16:48:00 +01:00
ismail simsek 21ba507bcb Revert "Prometheus: Fix escaping of quotation marks for variables" (#96038)
Revert "Prometheus: Fix escaping of quotation marks for variables (#93415)"

This reverts commit 2bfdee73e3.
2024-11-07 16:38:05 +01:00
Pepe Cano ff2f612412 Alerting docs: Introduction - brief overview of notification messages. (#95987)
* Intro: simplify `Architecture`. Add a new guideline

* Define `Notification policies` as an advanced option

* Intro: include about "Notification messages"

* Minor copy changes
2024-11-07 16:35:27 +01:00
Jack Westbrook 8c41137bcf Frontend: Update to Eslint 9 (#94823)
* chore(eslint): bump all eslint related packages to latest

* chore(eslint): update linting scripts work with v9

* chore(eslint): introduce flat config

* chore(eslint): delete legacy configs

* feat(grafana-eslint-rules): update rules to use eslint 9 APIs

* chore(eslint): migrate all nested eslintrc files over to root config

* chore(packages): bump eslint dependencies

* feat(betterer): make it work with eslint 9

* style(grafana-data): remove non-existant ban-types rule from disable declarations

* chore(wip): [wip] link eslint-config-grafana

* chore(packages): add @eslint/compat

* chore(eslint): add compat to testing library and fix alerting rules

* chore(eslint): bump grafana eslint-config to v8

* chore(explore): delete legacy eslint config

* chore: clean codeowners file, remove grafana/eslint-config from e2e plugins

* test(eslint-rules): fix no-border-radius-literal and no-aria-label-e2e-selectors rule tests

* Add .js to prettier checks so new eslint.config.js file isn't missed

* chore(eslint): move emotion/syntax-preference to grafana/defaults

* test(eslint): use core-js structured-clone

* revert(services): undo merge backend-format githook changes

* test(eslint-rules): remove structured-clone polyfill from tests

* chore(eslint): add back public/lib/monaco to ignore list, sort alphabetically

* chore(e2e-plugins): remove eslint config 7 from plugins package.json

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-11-07 16:31:06 +01:00
ismail simsek 8956400498 Explore Metrics: Fix showing related logs scene (#96036)
remove related logs scene from label breakdown
2024-11-07 17:30:01 +02:00
Alex Khomenko 6bfb24c7b0 BrowseDashboards: Append orgId to folder URL (#96029)
* BrowseDashboards: Append orgId to folder URL

* Extract folder URL creation logic
2024-11-07 17:12:45 +02:00
Gábor Farkas a45deafc96 query: add missing x-rule headers (#95948) 2024-11-07 16:03:54 +01:00
Brendan O'Handley b9b5445090 Prometheus: Add error source to differentiate errors for api server work (#95999)
add error source to differentiate errors for api server work
2024-11-07 08:59:53 -06:00
brendamuir b2af163dc5 Alerting docs: adds advanced config section (#96013)
* Alerting docs: adds advanced config section

* corrects ref

* feedback from pepe

* renames detect and respond
2024-11-07 15:59:00 +01:00
Scott Lepper 05dda7f0a1 search: dashboard list link (#95996)
search: dashboard list link
2024-11-07 09:40:05 -05:00
linoman 3d51ca7377 SCIM: Add feature flag (#96021)
* Add feature flag
2024-11-07 15:38:46 +01:00
Arati R. 7fa4a979e3 K8s/Folders: Add write access hook before creating index server (#96030)
Change order of when to add write access hook
2024-11-07 16:20:07 +02:00
jackyin 1e58747a39 trend: choose trend crash (#95451)
* fix bug

* optimise warning return
2024-11-07 07:48:50 -06:00
Andres Martinez Gotor a415c0b831 Preinstall: Automatic updates if no version is specified (#95970) 2024-11-07 13:14:25 +01:00
Ryan McKinley 6c9afba607 Reporting: update swagger with deprecations (#96008) 2024-11-07 15:08:03 +03:00
Will Browne b87c76ad21 Plugins: Add metric to track plugin backend target (#95976)
* add metric to track plugin backend target

* tidy

* fix test
2024-11-07 12:01:46 +00:00
Carl Bergquist 5722569676 loki: disable flaky tests for scopes injection (#96018)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-11-07 13:03:42 +02:00
Andrej Ocenas e55100fa90 Sidecar: isAppOpened returns true only if there are 2 apps rendered (#95978)
* Check if sidecar is used

* Update packages/grafana-runtime/src/services/SidecarService_EXPERIMENTAL.ts

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-11-07 11:50:05 +01:00
Andrej Ocenas bee29c14c6 Sidecar: Make header consistently 100% width so the X button is visible (#95982)
Make a wrapper overflow so that header can stay 100%
2024-11-07 11:33:07 +01:00
Gabriel MABILLE df8b6e6862 Fix: Close grpc_authenticator fallback trace (#96009)
Fix: Close grpc_authenticator trace
2024-11-07 11:29:25 +01:00
Ivana Huckova c151021b16 Zipkin: Add feature toggle for backend migration (#95973) 2024-11-07 10:35:53 +01:00
Ryan McKinley 8ffc25784c Chore: Add vscode launcher to attach test process (#95718) 2024-11-07 10:05:55 +01:00
Marcus Andersson df4a5aeaf1 PluginExtensions: Logs panel takes full height/width (#95825)
Making the log panel taking full space of page.
2024-11-07 09:54:50 +01:00
Señor Performo - Leandro Melendez cd3a71e7cb docs: Update CanvasDoc adding video link (#95953)
Update CanvasDoc adding video link
2024-11-06 21:53:08 +01:00
Scott Lepper 3dbeacfebc search: dashboard list sorting (#95983)
search: dashboard list sorting
2024-11-06 15:25:44 -05:00
owensmallwood b6596db75e Unified Storage Indexer: Build tenant indexes concurrently (#95795)
* WIP - build tenant indexes concurrently

* adds local dev seeders and readme for indexer

* update logging and adds locking in getShard()

* update logs

* Adds Namespaces func. Initializes index after ResourceServer is created.

* fixes Count() and updates test lint issues

* Initialize index separately. Don't do it when creating the resource server. Makes testing really awkward.

* fix lint error

* handles error when getting namespaces

* updates test and index helper funcs
2024-11-06 12:58:07 -06:00
Eric Leijonmarck 3877537dc0 Reverse proxy: Skip flaky test for 5xx status codes (#95839)
add 5xx status codes
2024-11-06 17:54:34 +00:00
Alexander Akhmetov 4ce1abc6f9 Alerting: Fix saving advanced mode toggle state in the alert rule editor (#95924) 2024-11-06 18:39:15 +01:00
renovate[bot] 70c21a2e4d Update scenes to v5.23.1 (#95951)
* Update scenes to v5.23.1

* Fix e2e tests

* Fix unit tests

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
2024-11-06 19:20:27 +02:00
Timur Olzhabayev fbbb4463f8 Adding Marcus to Hall of Fame and updating codeowners (#95957)
* Adding Marcus to Hall of Fame and updating codeowners

* fixing prettier issue
2024-11-06 19:19:59 +02:00
Yuri Tseretyan af513964c8 Alerting: Migration to remove scope from permission alert.notifications.receivers:create (#95805)
add migration to remove scope from receivers:create permission
2024-11-06 11:31:40 -05:00
Todd Treece f41f0eac80 Chore: Use fork of github.com/goccy/go-json (#95969) 2024-11-06 11:29:43 -05:00
grafana-pr-automation[bot] c565e9869e I18n: Download translations from Crowdin (#95975) 2024-11-06 17:23:14 +01:00
Ashley Harrison b85b18288a Chore: Fix some theme nits (#95887)
fix some theme nits
2024-11-06 16:03:45 +00:00
Tobias Skarhed 0629a34ae4 Combobox: Add no options message and aria live region (#95938)
* Add no options message and aria live region

* Add i18n

* Extract message layout and use Trans component

* Fix unused imports
2024-11-06 17:10:06 +02:00
Leonor Oliveira aaa4f4a23e Revert "UniStore: Add folder to the SQL backend" (#95966)
Revert "UniStore: Add folder to the SQL backend (#95671)"

This reverts commit f075662696.
2024-11-06 17:04:57 +02:00
kay delaney 26b0e8f105 Dashboard datasource: Return annotations as series when query topic is "annotations" (#95965) 2024-11-06 15:03:06 +00:00
Tobias Skarhed a279220d74 Combobox: Use ScrollContainer to show scroll indicators (#95962)
Add CustomScrollbar
2024-11-06 15:35:31 +01:00
Syerikjan Kh 06bdfe8e96 ref: remove alias check - moved to gcom (#95955) 2024-11-06 09:30:24 -05:00
Pepe Cano 290612e366 Alerting docs: specify using multiple contact point integrations in the UI and HTTP API (#95890)
* Sort list of contact points on the sidebar

* Update `Configure contact points` to clarify contact point integrations

* Alerting HTTP API: fix `EmbeddedContactPoint` properties table

* HTTP Alerting API: clarify how `ContactPoint.name` groups contact points

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

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

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-11-06 15:28:44 +01:00
Bogdan Matei 52f4bd64e0 Dashboard: Append orgId to URL (#95960) 2024-11-06 16:01:55 +02:00
Josh Hunt 8d765cfba1 Prometheus: enable custom values in MetricCombobox (#95950) 2024-11-06 13:59:55 +00:00
kay delaney 9d4a087d77 Dashboard datasource: Include source panel annotations (#95958) 2024-11-06 15:52:54 +02:00
Sergej-Vlasov d225e0a95c DiffViewer: update to newer react-diff-viewer-continued for performance improvements (#95729)
update to newer react-diff-viewer-continued for performance improvements
2024-11-06 13:36:12 +00:00
Carl Bergquist 70223b2e3d Loki: Add support for injecting scopes into loki expressions. (#95591)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
2024-11-06 15:28:42 +02:00
Bogdan Matei a80517d6fe Scopes: Add scopes to metrics explore (#94802) 2024-11-06 15:11:33 +02:00
Karl Persson 3311df6e3d Docs: Remove org id from create team request docs (#95947)
* Remove org id from create team request docs

* remove reference to orgId
2024-11-06 13:53:48 +01:00
Andrej Ocenas 86ef3c916d TimeRangeProvider: Fix synced status being kept when only one picker is mounted (#95885) 2024-11-06 13:40:17 +01:00
Mariell Hoversholm f15f6022de fix: pass context into secrets logs (#95944) 2024-11-06 12:52:29 +01:00
Sonia Aguilar 3c1a5ab439 Alerting: Handle regex matchers with flags (#95883)
* handle regex matchers with flags

* add test in alertmanager.test.ts

* refactor to use the same matching functions

* lint

* lint again

* move matchers functions to matchers.ts

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-11-06 13:40:55 +02:00
Ashley Harrison f8ae71e458 Frontend: Replace deprecated meta tag with correct version (#95939)
replace deprecated meta tag with correct version
2024-11-06 10:34:14 +00:00
grafana-pr-automation[bot] 0007ede9de I18n: Download translations from Crowdin (#95942) 2024-11-06 12:20:22 +02:00
Brad Cowie 2bfdee73e3 Prometheus: Fix escaping of quotation marks for variables (#93415)
* Prometheus: Fix escaping of quotation marks for non-regex variables

* Prometheus: Fix escaping of double quotation marks for regex variables

* Prometheus: Add escaping for adhoc filter label queries
2024-11-06 11:19:09 +01:00
grafana-pr-automation[bot] 228bf711f9 I18n: Download translations from Crowdin (#95891)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-06 10:39:59 +01:00
Hugo Kiyodi Oshiro 058b28aaad Plugins: Add install specific version feature in plugins version tab (#93922) 2024-11-06 10:29:03 +01:00
Tobias Skarhed 70e05c6a3a Combobox: Remove Chance to generate options in story (#95842)
Generate basic options
2024-11-06 09:48:44 +01:00
Misi ab974ddf14 ServerLock: Fix pg concurrency/locking issue (#95916)
Fix pg unique constraint validation in serverlock
2024-11-06 09:47:32 +01:00
Ryan McKinley 7f560c13e4 Search: Make the existing dashboard parsing code public (#95649) 2024-11-06 07:35:15 +03:00
Todd Treece ed52515ae3 Playlist: Fix mutation logic (#95925) 2024-11-05 21:00:10 -05:00
Todd Treece 280c27507c Playlist: Add mutation and validation (#95708) 2024-11-05 17:45:09 -05:00
ismail simsek c125ead121 Explore Metrics: Reverse the sorting of outliers (#95919)
reverse the sorting of outliers
2024-11-06 00:35:14 +02:00
Jacob Valdez 9a1e7de79d Docs: Updating steps for pulling Grafana metrics into Prometheus (#95913)
* Docs: Updating steps for pulling Grafana metrics into Prometheus

* slight update based on review
2024-11-05 22:13:47 +00:00
Scott Lepper 1feaf6df99 search: add OR filter for kinds (#95915)
search: add OR filter for kinds
2024-11-05 17:02:13 -05:00
Todd Treece cd9fcd08aa K8s: APIGroupBuilder runner admission support (#95705) 2024-11-05 23:57:20 +02:00
Scott Lepper 6d8ee5fde0 search: use US searcher from dashboard list page (#95888)
search: wire up unified storage searcher
2024-11-05 14:30:10 -05:00
Kim Nylander 78c5fe61df [DOC] Add Pyroscope to list of products (#95884)
* Add Pyroscope to list of products

* Update docs/sources/shared/basics/what-is-grafana.md

* Apply suggestions from code review

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

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Bryan Huhta <32787160+bryanhuhta@users.noreply.github.com>
2024-11-05 14:24:42 -05:00
Juan Cabanas ef4640abfb ShareButton: Add dropdown tracking (#95905) 2024-11-05 15:32:07 -03:00
Andreas Christou da1a5426d0 Azure: Handle namespace request rejection (#95574)
Handle rejection and add test
2024-11-05 17:54:47 +00:00
Jacob Valdez a8578484bb Docs: updating auto_refresh_license information (#95804) 2024-11-05 11:35:09 -06:00
Dave Henderson 04d71068d1 ci: Update Dependabot with a single multi-directory config for gomod (#95881)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-11-05 18:24:43 +01:00
Matias Chomicki a3d3af35da Shard query splitting: improve error handling (#95824)
* Shard query splitting: Improve error handling

* Formatting

* Shard query splitting: do not shard instant queries

* Shard query splitting: stop querying on parse errors
2024-11-05 17:34:22 +01:00
ismail simsek 82ac9e2bb6 Explore Metrics: Explore Logs integration (#94656)
* initial logs integration

* rename back to Integrations

* remove comments

* connect related logs in metrics with logsIntegration service

* rename

* remove comments

* feat: related logs with loki expr

* fix: layout & var updates

* refactor: prefer scene state to context

* fix: limit DS select to relevant loki DSes

* refactor: use existing utils

* refactor: types

* fix: tests and types

* refactor: simplify

* refactor: prefer precise data updates

* refactor: prefer variable for key

* refactor: simplify panel search

* refactor: remove unnecessary short-circuit

* fix: ensure single network request for logs

* fix: add missing limit to fetched log lines

* refactor: add clarity

* refactor: organize imports

* feat: messaging for No Related Logs case

* fix: add missing space

* chore: add `exploreMetricsRelatedLogs` feature toggle

* feat: link to Explore Logs app

* fix: i18n

* fix: use sentence case consistent with design system

* style: avoid competing with metricscene buttons

* fix: capitalization for names

* fix: a11y

* refactor: clean up and document utils

* fix: formatting

* chore: run `make i18n-extract`

* test: improve coverage

* test: fix module resolution side-effects

* extract only the first rule

refactor: organize imports

* remove unnecessary test files

---------

Co-authored-by: Nick Richmond <nick.richmond@grafana.com>
2024-11-05 17:28:43 +01:00
Marcus Andersson c7a7f7dce5 PluginExtensions: Made it possible to enable extensions admin page in non-development environments (#95820)
* Added feature flag for toggling extensions admin page.

* fixed typo.

* require restart

---------

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2024-11-05 16:55:10 +01:00
Torkel Ödegaard 6fd3620d50 Dashboards: Fixes issue with panel header showing even when hide time override was enabled (#95814)
* Dashboards: Fixes issue with panel header showing even when hide time override was enabled

* fixes

* fixed test
2024-11-05 16:40:43 +01:00
Luis Rodrigues bfa1f03315 Prometheus: Fix query editor crash in response to invalid query (#94421)
* Quick fix for RenderParams Function

* Removing unnecessary optional chaining

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

* Removing unittests for RenderParams

---------

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
2024-11-05 10:29:52 -05:00
Ashley Harrison c05bfdf71f Theme: Add debug theme behind extraThemes toggle (#95838)
add debug theme
2024-11-05 14:37:09 +00:00
Scott Lepper ef29ce5b85 [search] - folder tests; search by ids (#95797)
[search] - folder tests; search by ids
2024-11-05 09:34:54 -05:00
Carl Bergquist af6ddad058 go: run gomod updates daily (#95841)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-11-05 15:27:03 +01:00
Konrad Lalik 3c8d29fa46 Alerting: Fix contact points secure settings migration (#95787)
Add missing migration for secure settings, add types to notifiers mocks
2024-11-05 14:46:17 +01:00
Konrad Lalik 91088d1f56 Alerting: Optimize Prometheus rules query params (#95833)
Load alert instances only when label filter is applied

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-11-05 14:35:53 +01:00
Victor Marin 34991f5b44 Chore: Fix dashboards label adding workflow (#95778)
* change auth for dashboards workflow

* fix

* fix

* final changes/ tested action

* fix
2024-11-05 14:43:47 +02:00
Andres Martinez Gotor e6353dcd68 Chore: make update-workspace (#95821) 2024-11-05 11:22:23 +01:00
Ashley Harrison 0fae3579e8 Chore: improve some types (#95728)
* fix some typings

* fix some more

* more type fixes

* fix some graphite types

* few influx fixes
2024-11-05 09:57:30 +00:00
Ashley Harrison 34269a03c0 ScrollContainer: Apply to dashboard panels (#95724)
* add ScrollContainer to panels

* remove unnecessary wrapper

* fix text panel
2024-11-05 09:56:57 +00:00
Georges Chaudy f075662696 UniStore: Add folder to the SQL backend (#95671)
* Add folder to the SQL backend

* remove unused key

* fix tests

* Return folders from watch
2024-11-05 10:37:23 +01:00
Tom Ratcliffe 7e34c015ee Alerting: Load alerting state view based on prom primary feature toggle (#95045) 2024-11-05 09:33:54 +00:00
Pepe Cano facca37f4d Alerting docs: Update Create alert rules from panels (#95566)
* Alerting docs: Update `Create alert rules from panels`

* Remove screenshots except when the panel displays alert status

* Further changes sync with Brenda

* minor changes

* Relocate admonition

* Specify `dashboardUId` and `panelId` must be set together

* Update docs/sources/alerting/alerting-rules/link-alert-rules-to-dashboards.md

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

* change title

* change URL

* fix spell error

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-11-05 10:00:59 +01:00
grafana-pr-automation[bot] 2b370d6e27 I18n: Download translations from Crowdin (#95781)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-05 09:20:43 +01:00
ismail simsek bcdcb1f74b Explore Metrics: Introduce augurs sorting options in breakdown view (#91189)
* refactor breakdown scene

* refactor BreakdownScene along with LayoutSwitcher

* rename

* don't pass default layout

* better type handling

* betterer

* add @bsull/augurs

* implement LabelBreakdownScene

* integrate SortByScene in LabelBreakdownScene

* move to new directory

* introduce BreakdownSearchScene

* integrate searchScene

* cleaning

* initialize @bsull/augurs

* add interaction

* use new breakdown scene

* resolve merge conflicts

* ugrade @bsull/augurs

* update import

* update css

* update tooltip text

* refine sorting

* fix unit test

* fix

* implement outlier detector

* support wasm

* jest testing fix

* localization fix

* use unknown instead of any

* update i18n

* update betterer

* fix locales

* update test

* fix tests maybe

* prettier

* chore: update jest config

* chore: create mock for @bsull/augurs (#92156)

chore: create mock for bsull/augurs

@bsull/augurs assumes it will be running as an ESM, not
a CommonJS module, so can't be loaded by Jest (specifically
because it contains a reference to import.meta.url).

This PR provides a mock implementation which gets tests passing
again.

Ideally we'd be able to load the actual @bsull/augurs module
in tests so this is just a stopgap really, until a better
solution appears.

* fix unit tests

* remove unused BreakdownScene.tsx

* set outliers as undefined if an error occurs

* Add labels

* betterer

* reset event implemented

* fix controls positioning

* update augurs

* betterer

* i18n

* conflict fixes

* update texts

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: Ben Sully <ben.sully@grafana.com>
2024-11-05 08:34:09 +01:00
Vijay Karthik 297ccfc52c Prometheus: Show notice when there is no data (#93936)
Show notice when there is no data
2024-11-05 08:25:28 +01:00
Torkel Ödegaard 2485286c03 DashboardScene: Move DashboardGridItem (#95768)
* DashboardScene: Move DashboardGridItem

* fix lints

* fixes
2024-11-05 08:05:09 +01:00
Patrick Easters a43ba7bd44 Docs: Fix hyphens in adaptive metrics permissions (#95803) 2024-11-05 06:38:39 +00:00
Todd Treece 517a1bef08 Playlist: Migrate to App SDK (#95691) 2024-11-04 14:18:49 -05:00
Jo 4452d0932a Users: Fix potential panics on UID translation (#95794)
fix potential panics on UID translation
2024-11-04 18:50:26 +01:00
Alexander Akhmetov 305123df91 Alerting: Keep state manager cache during cache warm-up (#95727)
* Alerting: Keep state manager cache during cache warm-up

Instead of overwriting the state manager cache during warm-up,
we update the data in the cache if it is not there yet. If the cache
already contains a state entry with the same key, we do not overwrite it.
2024-11-04 18:26:52 +01:00
Aaron Godin ede0b7e9ed IAM - Fix panic from accessing nil serviceAccount (#95681)
Fix panic from accessing nil serviceAccount
2024-11-04 11:18:31 -06:00
Kristina 68aefc73b6 Timeseries: Utilize min/max on stacking percentage (#95581)
* Bring in defined min/max into stacking range

* simplify logic

* different approach

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-11-04 11:02:09 -06:00
Jo ddf766567b RemoteCache: Refactor remote cache settings (#95672)
* refactor remote cache settings

* fix cache error getting treating as application error

* fix cache error getting treating as application error
2024-11-04 17:35:31 +01:00
Zoltán Bedi 85c696c4ad SQL: Add macro support in select case (#88514)
* Feat: timeGroup macro handling in VQB

* Add tests

* Add functions to SQL ds

* Fix lint errors

* Add feature toggle

* Add rendering based on object

* Fix lint

* Fix CI failures

* Fix tests

* Address review comments

* Add docs

* Fix JSX runtime warnings

* Remove docs part that mentions suggest more macros

* Update docs/sources/shared/datasources/sql-query-builder-macros.md

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

* Add smoke test for this feature

* lint

* Add supported macros to influx

* Add setupTests.ts to include in tsconfig.json

* Import jest-dom instead of setupTests.ts

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-11-04 17:13:35 +01:00
Tom Ratcliffe aacc83be5c Alerting: Change any alert notifiers that use templates to be text areas (#95080) 2024-11-04 15:59:28 +00:00
renovate[bot] b4012b6ac8 Update scenes to v5.22.1 (#95655)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 15:41:01 +00:00
Zoltán Bedi bd8da0cf25 JaegerDS: Remove whitespace from traceID in query (#95786) 2024-11-04 15:45:41 +01:00
Tom Ratcliffe 2c57ecc085 Alerting: Only show "misconfigured" warning for templates if AM is not Grafana (#95596) 2024-11-04 14:20:35 +00:00
Konrad Lalik e43bec2cd8 Alerting: Fix contact points secrets validation (#95651)
Add new condition to the determineRequired function
2024-11-04 13:15:48 +01:00
Laura Fernández 0802ebcd1a SingleTopNav: add property to grafana_mega_menu_open (#95774) 2024-11-04 13:12:59 +01:00
Joao Silva afcd620d21 Combobox: Handle error if async fails (#95740) 2024-11-04 12:08:51 +00:00
Pepe Cano 9d937725ad Alerting docs: add Time type documentation for notification templates (#95688)
* Improve `tz` and `date` docs

* Add documentation for `Time` type
2024-11-04 12:21:28 +01:00
Alessandro Chitarrini c490b29d34 Update Discord contact point documentation for use_discord_username type (#95011) 2024-11-04 10:02:19 +00:00
Ashley Harrison 7fd4f220b8 RefreshPicker: Fix styling (#95739)
need to set clear borderRadius explicitly on ButtonSelect
2024-11-04 10:00:12 +00:00
Eric Leijonmarck fe6ec1258f CLI: Remove manager-users conflict users cli (#95135)
* Remove conflict_user cli

* Delete pkg/build/cmd/exportversion.go
2024-11-04 09:38:08 +00:00
Misi 986c024dd7 Auth: Update SAML lib (#94745)
* Update lib

* Add missing TestIntegration prefix

* Update go.sum, go.work.sum
2024-11-04 09:55:29 +01:00
Karl Persson 3bcbf231ee IDToken: fix namespace format (#95341)
* Bump authlib version

* Remove temporary formatter and start signing tokens with `stacks-` prefix

* update workspace
2024-11-04 09:33:03 +01:00
Pepe Cano 8a0c920106 Alerting docs: fix alertname label name (#95665) 2024-11-04 09:25:06 +01:00
Pepe Cano d3a3e53354 Alerting docs: Add one notification template example that prints a title or subject (#95680) 2024-11-04 09:24:40 +01:00
Todd Treece 003b2f14db K8s: Add tracing to apiserver startup (#95744)
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2024-11-02 00:44:40 +01:00
Todd Treece c5178807be Semconv: Add service name attribute (#95743) 2024-11-01 23:29:14 +01:00
Isabella Siu d0ba4f18d3 CloudWatch: Metric Insights builder should wrap keywords in quotes (#95742) 2024-11-01 18:00:54 -04:00
Todd Treece 403b60723d Playlist: Add watch feature toggle (#95730) 2024-11-01 13:47:24 -04:00
Ashley Harrison 620fb87fb8 AppChromeMenu: Fix selector when checking for outside click (#95736)
need quotes...
2024-11-01 17:25:01 +01:00
Erik Sundell 3deffe58f6 Selectors: Remove outdated comment (#95735)
remove comment
2024-11-01 17:08:25 +01:00
Josh Hunt eb781dd46d Prometheus: Add Metrics Explorer button next to MetricCombobox (#95647) 2024-11-01 15:32:17 +00:00
Isabella Siu 5f4944117c Elasticsearch: Stop escaping backslash in regex adhoc filter (#94577) 2024-11-01 11:06:13 -04:00
owensmallwood 0eb7b755e2 Unified Storage Indexer: Add integration tests (#95687)
* indexer integration tests WIP

* make protobuf

* Adds a few more integration test cases to cover the basics. Use Limit instead of Size param from SearchRequest.

* skip if testing.Short()

* adds test comments
2024-11-01 07:58:10 -06:00
Erik Sundell c548a2357b Chore: Remove commented out selectors (#95719)
remove commented out selectors
2024-11-01 13:20:58 +00:00
Todd Treece 30b1e3b289 K8s: APIGroupBuilder App SDK Support (#95638) 2024-11-01 08:28:56 -04:00
Dana Axinte 2ba1740698 CloudMigrations: increase size of resource_uid column (#95684)
* len 255

* comment

* Update pkg/services/sqlstore/migrations/cloud_migrations.go

* comment on sqlite

* postgres varchar

---------

Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2024-11-01 09:09:50 +00:00
Erik Sundell 9c16622160 Plugins: Add buildMode to the plugin.json schema (#95660)
* add buildmode

* improve description
2024-11-01 09:29:31 +01:00
Erik Sundell c29ed503db Test plugins: Add datasource test plugin with field tests (#95472)
* add new test plugin

* add some field validation tests

* update lockfile

* fix bad test file name
2024-11-01 08:25:27 +01:00
Alex Khomenko f3bdf4455c Routing: Explicitly handle goto redirects (#95559) 2024-11-01 07:52:33 +02:00
Liza Detrick 85ee91aa77 chore: (@grafana/ui) - table documentation explain applyFieldOverrides (#95523)
* chore: (@grafana/ui) - table documentation explain applyFieldOverrides
Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2024-10-31 11:14:59 -07:00
Adam Simpson 3adc7c8771 ds-querier: parse datasourceUid correctly (#95629)
* ds-querier: parse datasourceUid correctly

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>

* make test case smaller

---------

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2024-10-31 14:07:26 -04:00
Adam Simpson 6f74c19d75 Update CODEOWNERS with core-services (#95202) 2024-10-31 13:52:51 -04:00
Scott Lepper f8a5813573 [search] grouping - support indexing dashboard tags, filtering by tag, listing tags (#95670)
[search] grouping
2024-10-31 13:09:17 -04:00
Matias Chomicki f539a70d6d Loki shard splitting: QOL improvements (#95602)
* Scan direction: add experimental badge

* Logs model: keep data when the response contains errors

* SupplementaryResultError: extend behaviors

* LogsVolumePanel: add custom message for partial shard data

* SupplementaryResultError: add size prop

* SupplementaryResultError: remove size prop and adjust sizes

* Infinite scroll: disable when direction is scan

* Fix lint issues

* logsModel: add logs volume test

* chore: unfocus test

* modifyQuery: add function to add drop statement to queries

* Shard query splitting: split metric queries

* Shard query splitting: drop stream shard from metric queries

* Fix tests

* logsModel: skip coverage data when the direction is scan
2024-10-31 16:58:02 +00:00
Sergej-Vlasov 9f5258717e E2E: remove duplicate loki e2e tests (#95644)
* remove duplicate loki e2e tests to avoid flakiness

* unskip test

* adjust panel ids
2024-10-31 15:49:28 +00:00
Ashley Harrison ada6249280 Chore: use ScrollContainer across frontend platform components (#95601)
* use ScrollContainer in grafana-ui

* remove extraneous labels

* fix unit tests
2024-10-31 15:27:35 +00:00
Jo 9f43724b57 AccessControl: Use UIDs for Resource permissions frontend (#95552)
* frontend can use uids to set resource permissions

* lint

* add uids to folder acl

* Update public/app/core/components/Select/UserPicker.tsx

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

* simplify conditions

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-10-31 16:17:13 +01:00
Georges Chaudy 76b43267c8 Unified Storage: Use ssl_mode instead of sslmode (#95658)
change unistore to use ssl_mode instead of sslmode
2024-10-31 16:10:47 +01:00
Ashley Harrison b42c34070a SingleTopNav: Fix org switcher in overlayed MegaMenu (#95654)
fix org switcher in singleTopNav
2024-10-31 14:48:01 +00:00
Jo d77fc50198 Users: Add numerical indentifiers to detail pages (#95620)
* add numerical indentifiers to frontend while they're still valid

* lowercase identifier
2024-10-31 14:05:18 +00:00
Haris Rozajac 6c45f7f556 Dashboard Scene: Add Missing Overrides Tab to Panel Edit (#95276)
Add overrides tab
2024-10-31 07:58:53 -06:00
Ida Štambuk 8f2893edd3 Features: Move cloudwatchMetricInsightsCrossAccount toggle to GA and enabled by deafault (#94985) 2024-10-31 13:58:09 +00:00
Syerikjan Kh 35697381d2 fix: make org_id not nullable and set default value (#95610) 2024-10-31 09:53:33 -04:00
Jacob Valdez 0261e8fe80 Docs: Updating versions in activating AWS marketplace license (#95633) 2024-10-31 08:42:44 -05:00
Karl Persson dfa8f786d2 Zanzana: fix generic schema (#95648)
* Change schema so that resource checks on a folder walks the tree
2024-10-31 14:34:48 +01:00
Ryan McKinley 4e1f0dadbd UnifiedStorage: Default to running unified-grpc in integration tests (#93492) 2024-10-31 16:29:32 +03:00
Jack Westbrook a93de5f0d8 CI: Assert NPM package types are bundled correctly (#95533)
* ci(npm-packages): use attw cli to assert package types are built corrctly

* fix(validate-npm-packages): correct path to tarball
2024-10-31 14:29:21 +01:00
Jack Westbrook 2bcc46c338 Frontend: Enable TS IsolatedModules (#95586)
* chore(typescript): enable isolatedModules

* chore(frontend): fix ts errors related to isolated modules
2024-10-31 14:00:32 +01:00
Scott Lepper 7619d9cb11 [search] minimal dashboard indexing (#95631)
[search] minimal dashboard indexing
2024-10-31 07:46:00 -04:00
Leonor Oliveira b1157dbd7a Validate if we are creating a folder more than 5 levels deep (#95579)
* Add getter to FolderAPIBuilder so that we can access it in admission

* Remove deprecated return

* Fix test

* Update pkg/registry/apis/folders/register_test.go

Co-authored-by: maicon <maiconscosta@gmail.com>

* Fix maxNested folder test

* Remove log

---------

Co-authored-by: maicon <maiconscosta@gmail.com>
2024-10-31 12:19:53 +01:00
Alex Khomenko 841a87c978 PluginDetailsBody: Use proper cases for the styles (#95640) 2024-10-31 13:03:27 +02:00
Alex Khomenko f7e9aeac6e FormattedValueDisplay: Improve styles check (#95639) 2024-10-31 12:59:46 +02:00
Josh Hunt bf6056f2fa Prometheus: Use Combobox for metric select (#93262)
* Uses Combobox in Prometheus for the metrics select, behind feature toggle

* switch to new async combobox api

* clean up MetricCombobox, add in dev slowness

* wip

* reset combobox changes to other pr https://github.com/grafana/grafana/pull/95191

* restore placeholder

* wip

* tests :)

* remove history comment

* use main import
2024-10-31 10:36:27 +00:00
Joao Silva e40b19c7a6 Combobox: Debounce async calls (#95485) 2024-10-31 10:27:14 +00:00
grafana-pr-automation[bot] 69bda0b803 I18n: Download translations from Crowdin (#95627)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-31 08:21:34 +00:00
Brendan O'Handley d2d7ae2e86 Explore metrics: Add OTel resource attributes in overview and breakdown scenes (#95009)
* add new otel grouping variables

* add call for resource attributes for a metric

* add function to update variables for otel join

* interpolate metric in match param

* update group left when starting trail

* process the group left before setting the metric and showing the metric scene

* add attributes to metric overview list

* change label name to attributes because it contains resource attributes and metric attributes

* add resource attributes to label breakdown select

* add otel resource attribute to filters from label breakdown

* add otel flag for rudderstack event when breakdown label selected

* for translations

* add test for new variable in datatrail spec

* add test for filtering otel resource attributes

* update documentation

* add tests for updating the join query with group left resource attributes

* use Nick and Ismail's suggestions, return early, space and no type needed for timerange

* remove unused import
2024-10-30 19:29:08 +00:00
owensmallwood 2b0a439ad3 Unified Storage Indexer: Dont create temp dir for indexDir (#95626)
* dont create temp dir for indexDir

* uses logger from trace ctx so traceID is on logs
2024-10-30 18:20:42 +00:00
grafana-pr-automation[bot] 3c8bfb539d I18n: Download translations from Crowdin (#95624)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-30 17:41:17 +00:00
Kat Yang a2755117ac Feat: New homepage design (#93354)
* wip: homepage (new user)

* fix: spacing between button and text; wip refactor: separating bookmarks and recent metrics from home page

* feat: new user homepage; wip: need to clean up code

* fix: change rocket icon to svg

* wip feat: rendering recent metrics

* chore: add comments to understand code, will need to delete / cleanup later / pare down into documentation comments

* wip: new recent metric card design

* wip: display recent metrics cards in rows of 3 (height still incorrect)

* feat: apply conditional styling to remainder recent metrics exploration cards (any cards that are not a complete row of 3)

* fix: render new recent metrics explorations without refresh

* style: render recent metrics explorations in rows of 3 using grid instead of flex; fix: remove remainder card styling

* fix: remove delete button from recent metrics exp cards

* style: make background color for each card take up the entire card/grid space; make height of cards for each row the tallest card

* chore: clean up code

* fix: fix eslint errors

* style: implement recent metrics card header styling

* style: in recent metrics exp cards, format datasource line

* fix: add initial value for _lastModified to fix eslint err

* style: format date correctly; chore: clean up code; wip: get date to render properly on bottom left

* style: make inner card height match outer card height; style: add date footer; style: wrap last metric name; style: wrap labels

* style: adjust font for label name and label value

* style: truncate singular label if value is greater than 35 characters

* style: truncate singular long labels at 44 characters; style: truncate multiple labels at 3 lines; style: correct the border width and radius

* style: make background border radius match the border

* style: correct gap between rows and columns of cards; style: correct padding inside card

* chore: clean up code

* refactor: apply new card UI to DataTrailCard component

* feat: add bookmarks (not formatted correctly), only render section if there are bookmarks, hook up delete functionality

* style: add horizontal line above bookmarks header; style: add bookmarks header

* style: add additional padding above bookmarks divider; chore: delete unused code

* style: add carrot button to bookmarks; style: format heading font style

* refactor: separate bookmarks into functional component; feat: make bookmarks section collapsed by default; feat: allow toggle to expand bookmarks section

* style: position delete button for bookmarks in bottom right of card

* fix: only render recent metrics and bookmarks headings if there are any

* style: add show more button (not functional); style: fix padding around show more button

* chore: delete unused code

* fix: add back gap underneath bookmarks header

* feat: implement show more/less button for recent metrics

* fix: do not show select metric card if user does not actually select a metric

* chore: preliminary code clean up

* chore: delete console.logs, comments

* chore: clean up styling

* Update public/app/features/trails/DataTrailCard.tsx

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

* fix: add i18nKey to Trans tags

* fix: attempt to remove go.work.sum changes that are unrelated to my PR

* fix: add Trans tags

* refactor: sepearate recent metrics into functional component; chore: delete unused code; fix: add Trans tags

* chore: generate translation json

* trigger drone

* trigger drone

* fix: add trans tag to date

* chore: abbreviate descriptive key, regenerate json

* Update public/app/features/trails/DataTrailBookmarks.tsx

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* Update public/app/features/trails/DataTrailsRecentMetrics.tsx

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* Update public/app/features/trails/DataTrailBookmarks.tsx

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* fix: revert trans tag on date created to fix formatting

* chore: return null immediately if no recent metrics

* style: add margin between  bookmarks header and carrot toggle button

* style: adjust margin to 8px between bookmarks header and carrot toggle button

* style: make margins multiples of 4

* Update public/app/features/trails/DataTrailBookmarks.tsx

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>

* style: fix light mode styles; style: fix border radius

* fix: save select metric view as recent metric card if labels are applied

* Update public/app/features/trails/DataTrailCard.tsx

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

* refactor: move rocket svgs into assets folder

* chore: add back accidentally deleted console log

* Update public/app/features/trails/DataTrail.tsx

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

* Update public/app/features/trails/DataTrailBookmarks.tsx

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

* chore: revert lastModified related changes since behavior appears to remain the same

* fix: add back lastModified changes because they make the recent metrics show more functionality work

---------

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2024-10-30 13:03:01 -04:00
Josh Hunt 55bcbcef83 GrafanaUI: Export Combobox from @grafana/ui (#95622) 2024-10-30 16:59:28 +00:00
Jacob Valdez acebe9bee5 Docs: adding SAML name parameter configuration info (#95575) 2024-10-30 11:38:29 -05:00
kay delaney db5f893ea6 Chore: Remove code related to viz/widget split feature (#95614) 2024-10-30 16:12:03 +00:00
Andreas Christou 08e880a823 GCM: Fix error checking for GCE project getter (#95613)
Appropriately check error
2024-10-30 15:28:53 +00:00
Josh Hunt fe4f44723d Combobox: Call loadOptions with current input value when reopening menu (#95573) 2024-10-30 14:27:13 +00:00
Bogdan Matei 048ba14c34 Fix relative time range parsing (#95603) 2024-10-30 15:52:19 +02:00
Galen Kistler 777979965d Loki: pass backendSrv request options (#95608)
* chore: allow passthrough of options, reject promise on error
2024-10-30 13:50:51 +00:00
Jo 90d2f4659e Users: Allow specifying user UIDs in params (#95424)
* add user ID API translation

* add uid to user frontend

* use users' UIDs in admin pages

* fix ldapSync page

* use global user search for user by UID

* remove active org filtering

* remove orgID params
2024-10-30 14:14:42 +01:00
Syerikjan Kh f0391e31d2 Revert "fix: make org_id not nullable and provide default value" (#95606)
Revert "fix: make org_id not nullable and provide default value (#95556)"

This reverts commit 261b4a5564.
2024-10-30 08:55:02 -04:00
Laura Fernández 0bd0dc374a BrowseDashboardPage: remove error property from tracking event (#95599) 2024-10-30 13:02:28 +01:00
renovate[bot] 3034bcaa72 Update dependency ansicolor to v2 (#95543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-30 12:31:45 +01:00
Shane Kenney 1f70aa8f80 Loki: Adds support for Loki derived fields to open links in a new tab (#92265)
* Open in new tab for loki derived fields

* Refactor styles

* Update documentation

* Initialise as boolean
2024-10-30 07:07:34 -04:00
Ieva 092a1813ef Folders: Don't show error pop-up if the user can't fetch the root folder (#95569)
don't show error pop-up if the user can't read general folder
2024-10-30 10:48:34 +00:00
Ashley Harrison 87c2bc44b2 GrafanaUI: Add new unstable ScrollContainer component (#95547)
add new unstable ScrollContainer component
2024-10-30 10:19:42 +00:00
antonio 9b773b8501 sandboxfy alerting tutorial part 2 (#95260)
* sandboxfy alerting tutorial part 2

* format

* format2

* added frontmatter

* all pretty no pity

* added setup, login

* link

* STEPS

* login link

* update steps

* improve visibility of part 2

* link

* new diagram image

* img

* all pretty, no pity
2024-10-30 09:58:05 +00:00
Jack Baldry 6fcfd132e5 Remove second aliases section (#95587) 2024-10-30 09:56:36 +00:00
Yuri Tseretyan c5bad9f843 Alerting: Update documentation to include new permissions for routes (#95437)
* update documentation

* Update index.md
2024-10-30 10:09:32 +01:00
Oscar Kilhed 5673fafbfb Chore: Rename activateInActiveParents -> activateSceneObjectAndParentTree (#95534)
* Activate parents of query runner when using dashboard ds

* Set plugin loading util to fix test because activating the ancestors of the query runner needs to be able to load the plugin for the panel

* Rename activateInActiveParents -> activateSceneObjectAndParentTree

* Add back but deprecate activeInActiveParents
2024-10-30 09:55:16 +01:00
grafana-pr-automation[bot] a20c9db6b7 I18n: Download translations from Crowdin (#95561)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-30 08:53:05 +00:00
owensmallwood 50a6069532 Unified Storage Indexer: Uses in-memory index (#95576)
uses in-memory index
2024-10-29 21:40:25 +00:00
maicon af1a732821 UniStore: test folders circular reference (#95496)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-10-29 21:06:55 +00:00
dependabot[bot] a115d5db03 Bump aquasecurity/setup-trivy from 0.2.1 to 0.2.2 (#95456)
Bumps [aquasecurity/setup-trivy](https://github.com/aquasecurity/setup-trivy) from 0.2.1 to 0.2.2.
- [Release notes](https://github.com/aquasecurity/setup-trivy/releases)
- [Commits](https://github.com/aquasecurity/setup-trivy/compare/v0.2.1...v0.2.2)

---
updated-dependencies:
- dependency-name: aquasecurity/setup-trivy
  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-10-29 19:20:45 +00:00
Galen Kistler 7fa0ae48c5 Loki: add detected_field/.../values support to language provider (#95204)
* add detected_field values to language provider
2024-10-29 13:54:28 -05:00
owensmallwood 995128d1db Search PoC: Improves initial indexing speed. Makes params configurable. (#95439)
* Improves initial indexing speed. Makes params configurable.

* fix linter errors

* removes kind param

* updates index test

* remove println from test

* removes error check in test

* adds log for high index latency ands updates max goroutine var with workers config var

* fix test timing out - set worker limit

* set the batch size

---------

Co-authored-by: Scott Lepper <scott.lepper@gmail.com>
2024-10-29 12:24:31 -06:00
Josh Hunt 189802d3c3 EchoSrv: Add BrowserConsoleBackend to log analytics events (#95554)
* EchoSrv: Add BrowserConsoleBackend to log analytics events

* rename config name

* warn on non-scalar property values
2024-10-29 18:20:54 +00:00
Jacob Valdez d480900a9b Docs: Adding memory requirements to image renderer docs (#95571)
Adding memory requirements to image renderer docs
2024-10-29 13:04:29 -05:00
Josh Hunt 952957248f Combobox: Squish the menu height in small viewports (#95568)
* Combobox: Squish the menu height in small viewports

* rename constants
2024-10-29 17:47:31 +00:00
Syerikjan Kh 261b4a5564 fix: make org_id not nullable and provide default value (#95556) 2024-10-29 13:21:48 -04:00
Nick Richmond 6be787dd47 Prometheus: Ensure auth config can be switched away from Azure option (#95003)
fix: sanitize jsondata when azure auth disabled
2024-10-29 12:15:19 -04:00
Tom Ratcliffe 03715f062b Chore: Move structured-clone polyfill to setupTests (#95406)
* Add structured-clone polyfill to setupTests

* Remove manual structured-clone imports
2024-10-29 16:40:05 +01:00
Leonor Oliveira 55afbdc6be [Folder] Add general UID validation (#95549)
* Add general UID validation

* [REVIEW] group all folder validation rules into struct

* Fix test
2024-10-29 16:09:28 +01:00
Yulia Shanyrova 3e1046ee2e Plugins: Show latest commit date at plugin details right panel (#95333)
* get last commit info from backend

* change last commit date type

* fix tests

* add tests to check lastCommitDate
2024-10-29 16:09:02 +01:00
renovate[bot] 61929b785a Migrate renovate config (#95504)
* Migrate config .github/renovate.json5

* readd comments

* remove space

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-10-29 14:24:48 +00:00
antonio 0ef08ca737 docs>alerting:tutorial update (#95402)
* updated steps

* update before you begin

* updated title

* update title 2

* elaborated on 'Sample logs' section

* updates to improve visibility

* updated links

* format

* updated link

* links and steps

* updated call-to-action boxes

* updated box

* title

* format

* steps

* format

* Made docs live in the now

* all pretty, no pity
2024-10-29 12:18:07 +00:00
Stephanie Hingtgen fe74dfcb77 Logging: Add error logging to syslog (#95525) 2024-10-29 06:57:15 -05:00
David Harris 985b390a46 docs: clarify release stage for frontend sandbox (#95530) 2024-10-29 11:39:01 +01:00
Alexa V f062c66f89 Dashboard: Add new dashboardSchemaV2 feature toggle (#95536)
Dashboard Scene: Add new dashboardSchemaV2 feature toggle
2024-10-29 11:35:18 +01:00
Erik Sundell 1d8f8178ee E2E Selectors: Force plugin-e2e to use workspace version of e2e-selectors (#95511)
* provoke an error

* resolve local selectors package

* Update package.json

* bump plugin-e2e

* Revert "provoke an error"

This reverts commit a2df215189.

* update readme
2024-10-29 10:54:56 +01:00
Jo 2b867d9850 AccessControl: Resource permission translator (#95423)
* Standardize Resource Translator in options

* Add resource UID translator for resource permissions

* fix comments

* fix comments
2024-10-29 10:21:39 +01:00
Marc M. fb51a5e21f Tempo: escape span names in TraceQL editor (#95483) 2024-10-29 11:19:17 +02:00
Jack Westbrook eae83609b8 Grafana UI: Remove re-export of Ansicolor package (#95531)
chore(grafana-ui): remove re-export of ansicolor package
2024-10-29 10:04:33 +01:00
Oscar Kilhed 97027834a1 Dashboard datasource: Activate parents of query runner when using dashboard ds (#95507)
* Activate parents of query runner when using dashboard ds

* Set plugin loading util to fix test because activating the ancestors of the query runner needs to be able to load the plugin for the panel
2024-10-29 09:55:13 +01:00
Pepe Cano 9b91be739d Alerting docs: Update Recording Rules (#95435)
* WIP - Restructure recording rule pages

* Add more `Recording rules` use cases

* Update `Intro > Alert rules`. Minor style changes and updates to the recording rules section

* Minor verb change

* Switch `aliases` and fix broken link

* Bold for clarity

* Complete `Create recording rules in Grafana Alerting`

* Complete data source-managed recording rules

* Final update
2024-10-29 09:41:59 +01:00
Ryan McKinley 2f40fd6741 Dashboards: Remove unique name constraints (#90687) 2024-10-29 08:58:39 +03:00
Todd Treece c8238c7914 K8s: Add admission mutation support to builder (#95526) 2024-10-29 03:14:07 +02:00
Todd Treece 4508d6c143 Chore: Add additional builder validation tests (#95518) 2024-10-28 20:42:10 -04:00
Russ 9f2da249fd Chore: update Asserts menu icon again (#95522) 2024-10-28 23:55:19 +02:00
Isabel Matwawana 097fa053e4 Docs: Update variables creation tasks (#95078) 2024-10-28 16:04:31 -04:00
Scott Lepper 337f2a0a8b [search] add index; increase page size (#95515)
[search] add index; increase page size
2024-10-28 15:48:49 -04:00
Josh Hunt c9abe04d46 Prometheus: Add instrumentation for query patterns (#95288)
Prometheus: Add instrumentation for query patterns/kickstart your query
2024-10-28 20:46:08 +02:00
renovate[bot] 5717cb5055 Update dependency rudder-sdk-js to v2.48.23 2024-10-28 18:42:14 +00:00
renovate[bot] bac7fb6c32 Update dependency rollup to v4.24.2 2024-10-28 17:23:07 +00:00
grafana-pr-automation[bot] 39d0db05f3 I18n: Download translations from Crowdin (#95484) 2024-10-28 19:21:21 +02:00
Eric Leijonmarck 32c43f3f06 Chore: Add to gitignore (#95509)
Add to gitignore
2024-10-28 16:50:24 +00:00
Isabel Matwawana b2b169c666 Docs: Update ad hoc filters docs (#94828) 2024-10-28 12:42:55 -04:00
Matias Chomicki d6efd6d606 Logs Panel: Added support to pass custom options to the log rows menu (#95330)
* LogsPanel: add props to prepend or append icons to the log row menu

* LogsPanel: add test and type guard

* LogsPanel: add test

* Fix addonBefore position

* Refactor to be an array of ReactNode

* Remove comment

* chore: add docs

* Linting issues
2024-10-28 17:39:12 +01:00
renovate[bot] d68b5d222a Update dependency react-select to v5.8.2 2024-10-28 16:38:06 +00:00
Erik Sundell 8f0c8778b4 E2E Selectors: Remove orphan comment (#95505)
remove comments
2024-10-28 18:14:47 +02:00
renovate[bot] abee323789 Update dependency nanoid to v5.0.8 2024-10-28 15:43:17 +00:00
Todd Treece 5533b30135 K8s: Add validation support to builder (#95502) 2024-10-28 11:40:25 -04:00
Karl Persson e0163c93c2 Zanzana: reconcile generic schema (#95492)
* Rename to CheckObject

* Implement authz.AccessClient

* Move folder tree to reconciler and use new schema

* Move shared functionality to common package

* Add reconciler for managed permissions and resource translations

* Add support for folder resources
2024-10-28 16:32:16 +01:00
Esteban Beltran 7b5c84f366 Docs: Clarify plugin frontend sandbox (#95501)
Add missing message for sandbox docs
2024-10-28 15:29:57 +00:00
renovate[bot] 865be67dd1 Update dependency eslint-plugin-jsx-a11y to v6.10.2 2024-10-28 15:20:29 +00:00
Alex Khomenko ba2d004161 Routing: Enforce imports from the compat package (#95499) 2024-10-28 17:18:49 +02:00
jackyin 6f888720de Alert: unexpected error log occur (#95491) 2024-10-28 15:34:07 +01:00
renovate[bot] 209dbcf894 Update dependency @playwright/test to v1.48.2 2024-10-28 14:23:31 +00:00
Esteban Beltran c7cdaedd6f Docs: Add documentation about the frontend sandbox (#95467)
* Docs: Add documentation about the frontend sandbox

* Clarify

* minor style fix

* fix list style

* Update docs/sources/administration/plugin-management/index.md

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>

* Update docs/sources/administration/plugin-management/index.md

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>

* Add grafana version required for the plugin frontend sandbox

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2024-10-28 14:20:54 +00:00
Ashley Harrison 55673e2f41 Chore: Add emotion object syntax rule to eslint (#95429)
add object syntax rule to eslint
2024-10-28 13:47:46 +00:00
maicon f6a5e03bfb UniStore: Add testcase for trimming folder title (#95405)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-10-28 10:24:28 -03:00
Jack Baldry 47b8379194 Replace myself with Irene who oversees Grafana documentation (#95477)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2024-10-28 13:15:42 +00:00
Tobias Skarhed c9984cbb7a Frontend Traces: Ignore Faro tracking of Google Analytics and Rudderstack (#95322)
* Ignore Faro tracking of Google Analytics and Rudderstack

* Fix test

* Fancy it up Tom style
2024-10-28 13:44:52 +01:00
Gabriel MABILLE 5a0ef46280 Add tracing to the gRPC Authentication flow (#94466)
commit ad4df4b3f63bdf3e16423ac8c3fdb1a7fae5582e
Author: gamab <gabriel.mabille@grafana.com>
Date:   Thu Oct 24 10:24:04 2024 +0200

    nit

commit eb8b9cf2f3e27cae258b3ae310f1584da5ba36b5
Author: gamab <gabriel.mabille@grafana.com>
Date:   Thu Oct 24 10:23:25 2024 +0200

    miss

commit aab1aed204a5dedcc6dd187b2f636995bbe2c5c6
Merge: 5aafdec9233 7fe710b141
Author: gamab <gabriel.mabille@grafana.com>
Date:   Thu Oct 24 10:22:05 2024 +0200

    Merge remote-tracking branch 'origin/main' into gamab/resourcestore/tracing

commit 5aafdec9233d6824cba977b069d71eabc3d21a8d
Author: gamab <gabriel.mabille@grafana.com>
Date:   Wed Oct 16 18:03:56 2024 +0200

    Did not fix the issue

commit 20522a7f64222fad27268ac640d4b4fb9259c748
Author: gamab <gabriel.mabille@grafana.com>
Date:   Wed Oct 16 17:42:35 2024 +0200

    Test

commit b45199a341b6a57e93927c9eb7de8d7758ed7619
Merge: c0fbbdb95d4 e9e2b11ba2
Author: gamab <gabriel.mabille@grafana.com>
Date:   Wed Oct 16 17:31:59 2024 +0200

    Merge remote-tracking branch 'origin/drclau/unistor/replace-authenticators-3' into gamab/resourcestore/tracing

commit e9e2b11ba2
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Wed Oct 16 18:28:31 2024 +0300

    PR feedback: simplified fallback implementation

    Co-Authored-By: Gabriel MABILLE <gamab@users.noreply.github.com>

commit b5209dba64
Author: Claudiu Dragalina-Paraipan <drclau@users.noreply.github.com>
Date:   Wed Oct 16 18:03:06 2024 +0300

    Update pkg/services/authn/grpcutils/grpc_authenticator.go

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

commit c0fbbdb95d4605f349b902ca8698e7b560433867
Author: gamab <gabriel.mabille@grafana.com>
Date:   Wed Oct 16 10:32:52 2024 +0200

    Add traces to fallback

commit 75aa8dcbd49288f1dca53cdf6e9a7b41688dff38
Merge: d92fafcaf0d 562d499e85
Author: gamab <gabriel.mabille@grafana.com>
Date:   Wed Oct 16 10:29:41 2024 +0200

    Merge remote-tracking branch 'origin/drclau/unistor/replace-authenticators-3' into gamab/resourcestore/tracing

commit 562d499e85
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Wed Oct 16 11:05:01 2024 +0300

    switched to features.IsEnabledGlobally()

commit addc6aaca4
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Wed Oct 16 10:21:31 2024 +0300

    imports cleanup

commit 7c6d80f6aa
Merge: 64a5e55d61 9dc2ccdbfd
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Wed Oct 16 10:18:54 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit 64a5e55d61
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Oct 15 11:01:54 2024 +0300

    cleanup

commit 4fe2c03457
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Oct 15 10:31:06 2024 +0300

    always enable FlagAppPlatformGrpcClientAuth for k8s int tests

commit c7e36759cd
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Oct 15 10:30:43 2024 +0300

    use sync.Once as it's more idiomatic

commit f5c2c79981
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Oct 14 20:43:48 2024 +0300

    remove client side namespace extractor

commit 742295c89a
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Oct 14 20:04:11 2024 +0300

    avoid double registration of metrics (fallbackCounter)

commit a45998c8d3
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Oct 14 19:03:41 2024 +0300

    use FlagAppPlatformGrpcClientAuth to enable new behavior, instead of legacy

commit ffdc301718
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Oct 14 18:37:22 2024 +0300

    remove the NamespaceAuthorizer

    The NamespaceAuthorizer would fail in legacy mode. It will be added back in the future.

commit 4a03ed7d7d
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Oct 14 15:59:08 2024 +0300

    allow using the legacy resource client via

commit a2c30f5328
Merge: ead390f608 2f3c539d9b
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Oct 14 14:08:32 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit ead390f608
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Fri Oct 11 09:38:49 2024 +0300

    added server side gRPC authn fallback-to-legacy mechanism

    - brought back the old gRPC authenticator
    - added `grpc_server_authentication.legacy_fallback` config option
    - introduced `AuthenticatorWithFallback`
    - added telemetry to track fallbacks

commit d92fafcaf0db9c8d97a5d071759fc21ede7d8848
Author: gamab <gabriel.mabille@grafana.com>
Date:   Wed Oct 9 14:58:25 2024 +0200

    Fix test

commit 54f05ff0fecf3d696a0e98621db6991282503917
Author: gamab <gabriel.mabille@grafana.com>
Date:   Wed Oct 9 14:42:18 2024 +0200

    Forgot the tracer 😁

commit 3948048880c7a0eb2360a35b0cc9f3686f2edfef
Author: gamab <gabriel.mabille@grafana.com>
Date:   Wed Oct 9 14:02:41 2024 +0200

    Add traces to NamespaceAuthorizer

commit cc695bb77c37a097174556303721fbc48b9464a0
Author: gamab <gabriel.mabille@grafana.com>
Date:   Wed Oct 9 13:56:48 2024 +0200

    Add traces to authentication flow

commit 8686c46be5
Merge: 08c3d237dc 4a3ce66193
Author: gamab <gabriel.mabille@grafana.com>
Date:   Wed Oct 9 13:56:26 2024 +0200

    Merge remote-tracking branch 'origin/main' into drclau/unistor/replace-authenticators-3

commit 08c3d237dc
Merge: 33fd104cfd 84d580179d
Author: gamab <gabriel.mabille@grafana.com>
Date:   Wed Oct 9 12:41:57 2024 +0200

    Merge remote-tracking branch 'origin/main' into drclau/unistor/replace-authenticators-3

commit 33fd104cfd
Merge: 68af25fbc3 38f57d270a
Author: gamab <gabriel.mabille@grafana.com>
Date:   Wed Oct 9 12:13:25 2024 +0200

    Merge remote-tracking branch 'origin/main' into drclau/unistor/replace-authenticators-3

commit 68af25fbc3
Author: Gabriel MABILLE <gamab@users.noreply.github.com>
Date:   Mon Oct 7 16:31:09 2024 +0200

    Update pkg/services/authz/config.go

commit 4fba5c9b32
Author: gamab <gabriel.mabille@grafana.com>
Date:   Fri Oct 4 15:17:41 2024 +0200

    PR Feedback

commit 86867a14ca
Author: Gabriel MABILLE <gamab@users.noreply.github.com>
Date:   Fri Oct 4 15:13:06 2024 +0200

    Update pkg/services/authn/grpcutils/config.go

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

commit c591631135
Merge: c80c46ca6a e37b43117b
Author: gamab <gabriel.mabille@grafana.com>
Date:   Fri Oct 4 13:07:48 2024 +0200

    Merge remote-tracking branch 'origin/main' into drclau/unistor/replace-authenticators-3

commit c80c46ca6a
Merge: 3acada9d47 4224d05934
Author: gamab <gabriel.mabille@grafana.com>
Date:   Thu Oct 3 14:58:51 2024 +0200

    Merge remote-tracking branch 'origin/main' into drclau/unistor/replace-authenticators-3

commit 3acada9d47
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Fri Sep 27 17:39:59 2024 +0300

    introducing `mode` config for gRPC auth server & client side

commit 914ca237e2
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Thu Sep 26 20:47:57 2024 +0300

    Fixed integration tests

commit 71c33dcbe3
Merge: 52f248eebb 920d79680d
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Thu Sep 26 19:25:33 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit 52f248eebb
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 24 18:44:38 2024 +0300

    updated namespace extractor usage

commit a6c977ba4d
Merge: fb7bbf743b 8da1d78c92
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 24 17:35:03 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit fb7bbf743b
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 24 17:34:36 2024 +0300

    unistor client side updates

commit a28440c40b
Merge: 79d9969aa8 a8b07b0c81
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 24 10:45:09 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit 79d9969aa8
Author: gamab <gabriel.mabille@grafana.com>
Date:   Mon Sep 9 16:14:02 2024 +0200

    Rename NewResourceClient funcs

commit 36b3752490
Merge: 8ce354bb06 b89f3f8115
Author: gamab <gabriel.mabille@grafana.com>
Date:   Mon Sep 9 16:00:54 2024 +0200

    Merge remote-tracking branch 'origin/main' into drclau/unistor/replace-authenticators-3

commit 8ce354bb06
Author: gamab <gabriel.mabille@grafana.com>
Date:   Mon Sep 9 10:40:06 2024 +0200

    Align

commit bdf79f3b2f
Merge: 8f4df8973d 8eb7e55f8f
Author: gamab <gabriel.mabille@grafana.com>
Date:   Mon Sep 9 10:38:45 2024 +0200

    Merge remote-tracking branch 'origin/main' into drclau/unistor/replace-authenticators-3

commit 8f4df8973d
Merge: 2441cd8d53 9338e40dc3
Author: gamab <gabriel.mabille@grafana.com>
Date:   Thu Sep 5 11:26:39 2024 +0200

    Merge remote-tracking branch 'origin/main' into drclau/unistor/replace-authenticators-3

commit 2441cd8d53
Merge: 2904074a2f 2bbce8a7f7
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 3 17:31:36 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit 2904074a2f
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 3 16:35:25 2024 +0300

    refactoring

    Co-Authored-By: Gabriel MABILLE <gamab@users.noreply.github.com>

commit 125cb3c834
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 3 16:34:18 2024 +0300

    refactoring (aesthetics)

    Co-Authored-By: Gabriel MABILLE <gamab@users.noreply.github.com>

commit 499a31df53
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 3 15:59:09 2024 +0300

    update usage of ReadGprcServerConfig()

commit f5d383644d
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 3 15:44:09 2024 +0300

    make update-workspace

commit 755485751e
Author: gamab <gabriel.mabille@grafana.com>
Date:   Tue Sep 3 14:43:22 2024 +0200

    Fix trace

commit d09e14c26a
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 3 15:42:50 2024 +0300

    removed WithIDTokenExtractorOption, and other PR feedback

commit 21220c2cca
Author: gamab <gabriel.mabille@grafana.com>
Date:   Tue Sep 3 14:36:59 2024 +0200

    Else statement

commit 6cf1efdcc4
Author: gamab <gabriel.mabille@grafana.com>
Date:   Tue Sep 3 14:35:02 2024 +0200

    Mod update

commit 4b73a93883
Author: gamab <gabriel.mabille@grafana.com>
Date:   Tue Sep 3 14:32:20 2024 +0200

    Add Auth func overrides

commit 6032ab3ae1
Author: gamab <gabriel.mabille@grafana.com>
Date:   Tue Sep 3 14:26:18 2024 +0200

    Use NamespaceAuthorizer

commit 601beb5327
Author: gamab <gabriel.mabille@grafana.com>
Date:   Tue Sep 3 14:20:47 2024 +0200

    Update authlib

commit a1b6408127
Merge: 0d70225c1a 1128c417d8
Author: gamab <gabriel.mabille@grafana.com>
Date:   Tue Sep 3 14:18:49 2024 +0200

    Merge remote-tracking branch 'origin/main' into drclau/unistor/replace-authenticators-3

commit 0d70225c1a
Author: Claudiu Dragalina-Paraipan <drclau@users.noreply.github.com>
Date:   Tue Sep 3 15:15:54 2024 +0300

    Update pkg/services/authn/grpcutils/grpc_authenticator.go

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

commit 62f165f6f9
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 3 10:55:45 2024 +0300

    refactoring NamespaceAccessChecker usage and use CloudNamespaceFormatter in Cloud

    Co-Authored-By: Gabriel MABILLE <gamab@users.noreply.github.com>

commit bb5ee88d4f
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 3 10:39:11 2024 +0300

    added stackIdExtractor for cloud mode

    Co-Authored-By: Gabriel MABILLE <gamab@users.noreply.github.com>

commit 84866a8a51
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Sep 3 10:38:19 2024 +0300

    authz client cfg changes

    - removed ModeCloud, relying on ModeGrpc and stackID instead to discover if we're running in Cloud
    - reusing settings from "grpc_client_authentication", instead of duplicating in "authorization" section

    Co-Authored-By: Gabriel MABILLE <gamab@users.noreply.github.com>

commit 14a1021605
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Sep 2 21:44:35 2024 +0300

    make update-workspace

commit 84f8c9be94
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Sep 2 21:36:10 2024 +0300

    cleanup: refactoring leftover

commit 7fe8d62304
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Sep 2 19:30:51 2024 +0300

    update authlib version (small fix)

commit 7c2353ae25
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Sep 2 19:17:11 2024 +0300

    cleanup: remove unused `GrpcServerConfig.Mode`

commit 52b7cf8550
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Sep 2 19:06:59 2024 +0300

    make update-workspace

commit 14ddfbd8fb
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Sep 2 19:02:40 2024 +0300

    finalize authlib grpc interceptors usage

commit 884c4a8c24
Merge: 0fd1988bed a1190b165b
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Sep 2 19:00:07 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit 0fd1988bed
Merge: b766bfb24f e0950a1283
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Fri Aug 30 10:45:51 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit b766bfb24f
Merge: 6993f108a2 68751ed310
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Wed Aug 28 15:46:04 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit 6993f108a2
Merge: 5f073b04d0 f1ba609b34
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Tue Aug 27 12:51:07 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit 5f073b04d0
Merge: 0620891d45 ac5ebe6e4d
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Aug 19 21:09:44 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit 0620891d45
Merge: 6a272e8e2a 15f2b08f00
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Mon Aug 12 14:14:44 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit 6a272e8e2a
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Thu Aug 8 18:53:43 2024 +0300

    allow insecure conns in dev mode + refactoring

commit 31c7b030ba
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Thu Aug 8 10:31:13 2024 +0300

    allow insecure connections (for testing purposes); remove audience checks

    audience checks will still need to be done for Access tokens, but not for ID tokens

commit 0fdd2ff802
Merge: 763961210c f384759ad1
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Wed Aug 7 14:42:39 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit 763961210c
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Fri Aug 2 18:54:29 2024 +0300

    wip

commit c46b42a595
Merge: 92aba937a9 0145b0fe70
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Fri Aug 2 14:44:06 2024 +0300

    Merge branch 'main' into drclau/unistor/replace-authenticators-3

commit 92aba937a9
Author: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
Date:   Thu Aug 1 18:32:19 2024 +0300

    authn: client side updates

    Co-Authored-By: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-10-28 14:35:30 +02:00
Misi fedcf47702 User: Check SignedInUser OrgID in RevokeInvite (#95476)
Check SignedInUser OrgID in RevokeInvite
2024-10-28 13:20:17 +01:00
Arati R. 4a13580a2f K8s/Folders: Fix folder status error message (#95464)
* Fix folder status error message
* Add test for folder creation response message
* Add TestFoldersCreateAPIEndpointK8S fixes
* Fix message returned when user has no permissions
2024-10-28 12:33:56 +01:00
Matheus Macabu 69f185b459 CloudMigrations: handle provisioned data source error (#95473) 2024-10-28 12:02:46 +01:00
Tobias Skarhed 187111368a Frontend Monitoring: Only write to custom Faro endpoint if origins are the same in iframe (#95381)
* Only enable Faro if origins are the same in iframe

* Handle non-iframe case

* Remove console logs

* Use try catch to identify cross origin iframe

* Only disable transport
2024-10-28 11:48:44 +01:00
grafana-pr-automation[bot] 712974b26c I18n: Download translations from Crowdin (#95427) 2024-10-28 12:21:22 +02:00
Leonor Oliveira 5cf86c981f Test Folder's GetAuthorizer (#95266)
* WIP: setup to test folders GetAuthorizer

* Setup test

* Extract authorizer fn for tests

* Setup internal test fn

* Better define test inputs

* Add FolderAPI builder to the test

* First test passing

* Test getAuthorize for the create method

* Change authorizerFunc's signature

* [REVIEW] code readability

* Name error

* [REVIEW] add one more test case. Lint

* Remove empty line
2024-10-28 12:00:19 +02:00
Jay 4a4ad66210 Update _index.md (#95460)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2024-10-28 09:57:56 +00:00
Jo ed1ad34f9b ServiceAccounts: Allow use of UIDs for Service Account routes (#95401) 2024-10-28 10:49:48 +01:00
Jay 39d53e65a7 Update _index.md (#95461)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2024-10-28 09:23:12 +00:00
Alex Khomenko 16b9cf07f4 Dashboards: Fix home dashboard loading (#95376)
Dashboards: Fix home dashboard load
2024-10-28 09:19:59 +02:00
Dave Henderson 0880329796 ci(trivy): Use non-default DB registry to avoid rate limits (#95434)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-10-25 22:12:41 +03:00
Dana Axinte fd99b82f78 Cloud migrations: Add cloud migration to auditing docs (#95148)
* add cloud migration management

* use feature toggle note

* just annotation

* Update docs/sources/setup-grafana/configure-security/audit-grafana.md

* Updates from prettier

---------

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
Co-authored-by: Kim Nylander <kim.nylander@grafana.com>
2024-10-25 16:48:45 +01:00
Tom Ratcliffe b0e116c5fa Alerting: Fix template editing issues for contact points (#95387) 2024-10-25 16:41:25 +01:00
Matheus Macabu b2de69d741 CloudMigrations: create snapshot for Alert Rules (#95404)
* CloudMigrations: create snapshot for Alert Rules

* CloudMigrations: display Alert Rules in resource list summary
2024-10-25 17:20:05 +02:00
Kim Nylander 6f4a9eb07b [DOC] Add link to blog post for Explore apps (#95418)
* Add link to blog post for Explore apps

* Updates from prettier
2024-10-25 10:54:57 -04:00
Kevin Minehart 4e6a7121ed CI: Consolidate package and docker steps (#95375)
* Consolidate package and docker steps

* load docker images (if there are any); fix tag-format casing

* I guess e2e tests use pkg/build...

* lint starlark
2024-10-25 09:25:29 -05:00
Eric Leijonmarck cc1976693b LBAC for datasources: Docs update HTTP API (#95392) 2024-10-25 15:20:36 +01:00
Ashley Harrison 94bbc081c8 Chore: Finish converting emotion styles to object syntax (#95399)
* convert some emotion styles to object syntax

* convert more styles to object syntax

* fix placeholder content
2024-10-25 14:50:28 +01:00
Gabriel MABILLE 2788817107 AuthZ: Implement Check (#95162)
* AuthZ: Implement Check


---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2024-10-25 14:57:39 +02:00
Bogdan Matei 97c0ff2ae4 Dashboards: Reload the dashboard based on time range and filters changes (#94190) 2024-10-25 15:56:54 +03:00
Laura Fernández bdab0bc8c0 SingleTopNav: Add kiosk mode tracking events (#95397) 2024-10-25 14:40:34 +02:00
Andreas Christou fd4fc106d9 Azure: Improve handling of deprecated query types (#95363)
* Add logic for handling deprecated query types

* Test

* Improve documentation
2024-10-25 13:25:00 +01:00
Karl Persson bdbe12e980 Zanzana: Implement initial check and list with schema for generic resources (#95056)
* Implement initial check with schema for generic resources

* Implement List and add tests

* Add namespace type and change to folder_resource name

* Handle namespace grants for typed resources

* Run tests as integration tests

* Add support for verb in list requests
2024-10-25 14:19:11 +02:00
Jack Westbrook e894b19c1a Build: Fix failing CSS asset paths (#95380)
* build(webpack): set publicpath and process urls to resolve assets correctly

* build(webpack): add back --progress to build

* Add local cdn

(cherry picked from commit 7a19523fa476fd5ff2d7669d116f5be462b100f5)

* chore(devenv): fix local_cdn path in ngnix conf

* chore(codeowners): add frontend-ops as owners of local_cdn docker block

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-10-25 13:45:44 +02:00
Ashley Harrison d0e124e2f9 Playlists: don't show TV mode in singleTopNav (#95339)
don't show TV mode in singleTopNav
2024-10-25 11:09:05 +01:00
Ashley Harrison d1a00540dd SingleTopNav: Ignore searchBarHidden/kiosk=tv flags (#95344)
ignore searchBarHidden/kiosk=tv flags
2024-10-25 10:46:40 +01:00
Bogdan Matei 69f888e296 Scopes: Fix rendering of the scopes list for large chunk of items (#95327)
* Scopes: Fix rendering of the scopes list for large chunk of items

* Fix outline for overflow

* Fix outline for overflow
2024-10-25 12:27:30 +03:00
Eric Leijonmarck b1e1297bb3 LBAC for datasources: Move validation of rules from datasources to LBAC Rules (#94622)
* FIX: Remove the checks for lbac rules inside of datasources

* Remove json validation for lbac rules

* Preserve lbac rules in updates

* Refactored test to remove the table structure

* refactor: change to allow naming and concise override instead of complex branching

* refactor to make sure we set an empty field for updates

* bugfix

* check for datasources.JsonData

* fix merge

* add datasource to check for field presence only

* add function call for readability
2024-10-25 10:07:53 +01:00
Matias Chomicki 226dcdde0f Query splitting: limit retries (#95364) 2024-10-25 11:53:03 +03:00
Tobias Skarhed 5ee5c7af7b Combobox: Invalidate async calls using counter instead of value (#95049)
* Combobox async: Invalidate using timestamp instead of value

* Simulate keyboard delay in test

* Use a counter instead of timestamps

* Fix feedback

* Expand tests to include case discussed on PR

---------

Co-authored-by: Joao Silva <joao.silva@grafana.com>
2024-10-25 10:10:02 +02:00
Karl Persson beaac3c885 Zanzana: Remove model and store initiation from client (#95328)
* Remove model and store initiation from client
2024-10-25 09:31:27 +02:00
maicon f5ed2f52f7 UniStore: expand nested folders testing (#95374)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-10-24 19:54:33 -03:00
Kevin Minehart 67b3848fd9 CI: Remove drone steps for building windows because it's done in grafana-… (#95373)
Remove drone steps for building windows because it's done in grafana-build now
2024-10-24 17:04:25 -05:00
owensmallwood 5e3e7cca0e Search PoC: Adds traces to indexer (#95372)
* adds traces to indexer

* fix linting errors
2024-10-25 00:05:33 +03:00
owensmallwood ecebaf1bdf Unified Storage: Add traces to poller (#95369)
add traces to poller
2024-10-24 22:49:38 +03:00
Yuri Tseretyan 2deced7d40 Alerting: Notifications Routes API (#91550)
* Introduce new models RoutingTree, RouteDefaults and Route and api-server to serve them that is backed by provisioning notification policy service.

* update method UpdatePolicyTree of notification policy service to return route and new version

* declare new actions alert.notifications.routes:read and alert.notifications.routes:write and two corresponding fixed roles.

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-10-24 13:53:03 -04:00
Jev Forsberg fb0221d561 Chore: Delegate codeowners responsibilities to @grafana/grafana-developer-enablement-squad (#95362)
* baldm0mma/update_codeowners/ update go.mod

* baldm0mma/update_codeowners/ update codeowners

* baldm0mma/update_codeowners/ update go.mod
2024-10-24 19:49:48 +03:00
grafana-pr-automation[bot] 0d272a3b9c I18n: Download translations from Crowdin (#95334)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-24 19:20:32 +03:00
Syerikjan Kh 2f965a07ab Ref: datasource picker rudderstack events (#95074)
* ref: ds picker events added

* ref: track opendropdown only on click

* ref: update/update all payload added to the event

* ref: configure more ds button event path to from path

* ref: result count fix, enable/disable track

* ref: debounce search tracks

* ref: track connections_plugin_card_clicked

* ref: call tracking from the child comp with result count

* ref: change event names, add creator_team and schema version
2024-10-24 12:03:17 -04:00
Sarah Zinger 59f5c1edfb Query Service: Add trace ids to logs in expressions (#95203) 2024-10-24 12:01:14 -04:00
Misi b8b7c7901c Auth: Increase name_id and session_id length to 1024 in user_external_session (#95352)
Increase name_id and session_id length to 1024
2024-10-24 17:14:38 +02:00
Diego Augusto Molina 257aca5340 Unistore Chore: Fix span name (#94965)
fix span name
2024-10-24 12:12:20 -03:00
maicon f379329127 UniStore: add FoldersCreate Endpoint test (#95253)
* UniStore: add FoldersCreate Endpoint test

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-10-24 12:04:32 -03:00
Jacob Valdez 0c73403e00 Docs: initial pruning of outdated versioning info (#95212)
* initial pruning of outdated versioning info

* removing erroneous file
2024-10-24 09:42:04 -05:00
Erik Sundell 967b9ed22c E2E: Fix broken selector (#95357)
fix broken selector
2024-10-24 17:36:53 +03:00
Josh Hunt 0b842eb48e Chore: Change filterTable nth-child to nth-of-type (#95331)
Chore: Change filterTable nth-child styles to fix console warning
2024-10-24 17:27:25 +03:00
Sonia Aguilar f5bd197cdb Alerting: Move logic for simple mode in QueryAndExpressionsStep to a separate hook (#94709)
* Move logic for simple mode in QueryAndExpressionsStep to a separate hook and add tests

* remove unnecessary jest.clearAllMocks
2024-10-24 16:26:46 +02:00
Ashley Harrison 5fb1c7f512 Card: Set an explicit displayName for Card (#95353)
set an explicit displayName for Card
2024-10-24 17:18:05 +03:00
Kazuho Cryer-Shinozuka 06e826d3af Alerting: Fix the unnecessary FolderCreationModal that is displayed twice (#94654) 2024-10-24 16:12:52 +02:00
Levente Balogh d0d0d86880 Extensions: Add base log labels to console warn and error logs (#95348)
feat: add base labels to console logs
2024-10-24 16:58:54 +03:00
Matheus Macabu 152b83b3fb CloudMigrations: handle more error codes from GMS backend (#95257)
* CloudMigrations: remove unnecessary if feature toggle gating

* CloudMigrations: handle new error codes from backend
2024-10-24 15:55:02 +02:00
Esteban Beltran 77b8b505ad Catalog: Allow extensions to render in the plugin catalog subtitle (#95239)
* Plugins Catalog: Allow plugin subtitle additional extensions to register and render

* Add tests

* Fix prettier issues

* Fix typo

* Empty commit
2024-10-24 15:44:50 +02:00
Andreas Christou 2a65de8aaa Azure Monitor: Limit the log rows to 30000 (#93901)
* Limit the amount of rows to 30000

* Lint

* Remove unneeded goldenframe check

* Add feature toggle

* Update toggles

* Use rowLimit variable
2024-10-24 16:32:09 +03:00
Erik Sundell ef253c99d8 Plugin extensions: Temp remove isReactComponent check (#95343)
* temp remove is react component check

* remove unused import
2024-10-24 16:21:00 +03:00
Tom Ratcliffe 9ec48075ee Alerting: Fix escaping of silence matchers in utf8 mode (#95067)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-10-24 14:12:09 +01:00
Gilles De Mey c42f42223a Alerting: New alert state list view (#94068) 2024-10-24 15:37:42 +03:00
Alex Khomenko f671ad51fe Alerting: Update Alert State History router import (#95218)
Update import
2024-10-24 14:27:54 +02:00
Ashley Harrison 5cb4be8c9b SingleTopNav: Use original kiosk mode icon (#95332)
change kiosk mode icon, put profile icon back in corner
2024-10-24 14:24:28 +03:00
Ihor Yeromin 762c7dc3a5 Transformation: Fix label width (#95159)
fix label width
2024-10-24 13:11:52 +02:00
Will Browne 9ae3d049a3 Plugins: Simplify TestExtractFiles test (#95183)
simplify TestExtractFiles test
2024-10-24 12:01:00 +01:00
Will Browne a2868fdb14 Plugins: Replace references of plugin SDK backend.Logger with Grafana logger (#95235)
replace references
2024-10-24 12:00:40 +01:00
Yulia Shanyrova 26fab52086 Plugins: Plugin details right panel improvements (#93982)
* Add installed and latest version information

* get latest changelog for changelog tab from gcom

* fix displaying signature type

* fix integration test

* add translations

* remove gcom request at local changelog method
2024-10-24 12:55:29 +02:00
Erik Sundell 37f82dab49 Docs: Improve readme about e2e selectors (#95326)
add one more bulletpoint
2024-10-24 12:30:28 +02:00
Ashley Harrison 4a9ba41f81 Switch: Improve screen reader behaviour (#95178)
* add role="switch" and only set a label if one is passed in

* fix unit tests

* fix more unit tests
2024-10-24 11:26:04 +01:00
Matias Chomicki 142797032b Logs Volume: update timeout message (#95277)
* Logs Volume: update timeout message

* SupplementaryResultError: add list styles

* Address lint issues

* Update public/app/features/explore/Logs/LogsVolumePanelList.tsx

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-10-24 13:15:52 +03:00
Marcus Efraimsson 5c9071a6c6 Chore: Update SDK to v0.258.0 (#95325) 2024-10-24 12:14:19 +02:00
Erik Sundell b0250cf027 Release: Install git in npm release step (#95324)
install git
2024-10-24 13:07:07 +03:00
Torkel Ödegaard 3523289e98 Dashboards: Fixes performance issue expanding a row (#95311)
* DashboardScene: Optimize change detection

* Remove arg

* remove console log
2024-10-24 11:05:13 +02:00
Lucas Reyna Córdoba 5fc07abef1 Docs: Contact page migration - updates contact links (#94012) 2024-10-24 10:43:18 +02:00
Erik Sundell 58f180d58b E2E Selectors: Add minimum Grafana version to selectors (#93468)
* make selectors versioned

* update readme
2024-10-24 10:28:21 +02:00
Joey 5a9de531d2 Tempo: Support new TraceQL scopes (#94858)
* Support new TraceQL scopes

* Update TraceQL lezer version
2024-10-24 09:17:40 +01:00
Alex Khomenko 7fe710b141 Routing: Update AppRootPage (#95052)
* Update router

* Fix rendering case

* Switch useLocation

* Remove redundant await
2024-10-24 10:50:48 +03:00
Hugo Kiyodi Oshiro 2d27703955 Plugins: Disable plugin uninstall while plugin is installing (#95070) 2024-10-24 09:38:38 +02:00
Claudiu Dragalina-Paraipan 830600dab0 AuthN: Optionally use tokens for unified storage client authentication (#91665)
* extracted in-proc mode to #93124

* allow insecure conns in dev mode + refactoring

* removed ModeCloud, relying on ModeGrpc and stackID instead to discover if we're running in Cloud

* remove the NamespaceAuthorizer would fail in legacy mode. It will be added back in the future.

* use FlagAppPlatformGrpcClientAuth to enable new behavior, instead of legacy

* extracted authz package changes in #95120

* extracted server side changes in #95086

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: gamab <gabriel.mabille@grafana.com>
Co-authored-by: Dan Cech <dcech@grafana.com>
2024-10-24 09:12:37 +02:00
Leon Sorokin f7fcc14f69 Transformations: Add field from calc - avoid frame joining in some cases (#93602)
* Transformations: Add field from calc - avoid frame joining in some cases

* Add test for multiple query, 1 field, replace all

* omit frames that had no binary ops performed on them

---------

Co-authored-by: drew08t <drew08@gmail.com>
2024-10-23 15:14:06 -07:00
owensmallwood 2ffb88b0ee Unified Storage: Add index for poller query (#95293)
add index for poller query
2024-10-23 15:40:56 -06:00
Aaron Godin d89235aa8c IAM: fix GetSearchPermissionCacheKey uniqueness (#95192)
* fix: Change users permissions search to use a consistent key without collisions

* Move HashString to cacheutils

* Change error handling logic for what to do with a cache key

* Add a test that confirms search cache key consistency
2024-10-23 15:37:30 -05:00
Kevin Minehart 66c728d26b CI: use linux to build msi installers (#95215)
* Build the MSI installers using Linux and wine
2024-10-23 22:26:52 +03:00
Isabel Matwawana c84b6b783c Docs: Fix shared file references (#95287) 2024-10-23 15:04:24 -04:00
Isabel Matwawana aa0dc36143 Docs: Table visualization update (#94495)
Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-10-23 14:33:12 -04:00
Isabel Matwawana a0ae08d774 Docs: Add correlations youtube link to What's new (#95279) 2024-10-23 14:26:32 -04:00
Marcus Efraimsson 8780fc554f Chore: Update SDK to v0.257.0 (#95250) 2024-10-23 17:49:12 +02:00
renovate[bot] 23aca476c9 Update scenes to v5.20.4 2024-10-23 15:27:35 +00:00
renovate[bot] 7359e0bcba Update dependency html-webpack-plugin to v5.6.3 2024-10-23 14:43:01 +00:00
Ashley Harrison b23b6d228a Chore: Convert styles to use emotion object syntax (#94989)
* convert to use emotion object syntax

* missed one

* review comments

* set back to 0 and disable lint rule
2024-10-23 15:25:28 +01:00
renovate[bot] 3f47621065 Update dependency eslint-plugin-react to v7.37.2 2024-10-23 14:21:14 +00:00
ismail simsek 78a00d09cd Prometheus: Fix passing query timeout to upstream queries (#95104)
* remove queryTimeout from constructor

* use queryTimeout for range and instant queries

* remove comment

* remove default query timeout

* fix linting
2024-10-23 16:16:00 +02:00
Andre Pereira 0872eb2791 Tempo: Return a not found error if the trace is empty from v2 (#95256)
Return a not found error if the trace is empty from v2
2024-10-23 15:14:40 +01:00
Juan Cabanas 15de8a5433 SharedDashboard: Fix refresh when time picker is hidden (#95258) 2024-10-23 11:08:28 -03:00
ismail simsek 77cb47773f Prometheus: Fix field name setting for heatmap-cells type (#95097)
* add unit test

* ignore setting valueField name if the frame type is heatmap-cells

* return early
2024-10-23 16:07:00 +02:00
Adam Simpson 61b9ffd324 ds-querier: return QDR instead of k8s error (#95184)
* ds-querier: return QDR instead of k8s error

After parseQuery we know the request is a valid k8s request but we don't
know if the query is valid, therefore this change returns a QDR that
other systems, e.g. alerting ruler, can de-serialize properly.

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>

* ds-querier: fix tests

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>

* tweak status

* refactor refID to empty

---------

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2024-10-23 09:58:22 -04:00
jackyin 008c51b5b1 SignupInvitedPage: Show orgName (#94940)
* no orgname

* format code

* update unit test

* delete contextSrv

* fix unit test

* run prettier

---------

Co-authored-by: Laura Benz <laura.benz@grafana.com>
2024-10-23 16:49:27 +03:00
Erik Sundell 022297f359 E2E Selectors: Add 'modified' dist-tag when release includes actual changes (#93813)
* add modified tag to e2e-selectors package

* add sleep

* pr feedback
2024-10-23 15:47:50 +02:00
renovate[bot] f6354339ef Update dependency @types/prismjs to v1.26.5 2024-10-23 13:45:32 +00:00
renovate[bot] 3b37e20df6 Update dependency @grafana/azure-sdk to v0.0.4 (#95252)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-23 16:22:02 +03:00
Gabriel MABILLE b68b69c2b4 AuthN: Use tokens for unified storage server authentication (#95086)
* Extract server code

---------

Co-authored-by: Claudiu Dragalina-Paraipan <drclau@users.noreply.github.com>
2024-10-23 15:04:15 +02:00
Eric Leijonmarck 9ab064bfc5 Folders: Add admin permissions upon creation of a folder w. SA (#95072)
* add admin permissions upon creation of a folder w. SA

* Update pkg/services/folder/folderimpl/folder.go

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

* Grant service account permissions for creation of dashboards

* Grant service account admin permissions upon creating a datasource

* fetch user using the userservice with the userid

* Revert "fetch user using the userservice with the userid"

This reverts commit 23cba78752.

* revert back to original datasource creation

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-10-23 14:02:22 +01:00
Pepe Cano b1a1e7ce61 Alerting: Add example dropdown in the Edit notification template view (#94711)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-10-23 15:01:42 +02:00
renovate[bot] b512e7be0a Update dependency @types/node to v20.16.15 2024-10-23 12:59:48 +00:00
Andreas Christou 8bb7475e4f Azure: Fix duplicated traces in multi-resource trace query (#95156)
Use first resource as base resource for query
2024-10-23 12:30:06 +01:00
Matias Chomicki 2573cbec08 Loki: Added support to split queries by stream shard (#94245)
* Add shard query splitting implementation

* Shard query splitting: reuse function from query splitting

* Shard query splitting: remove max line limit

* Shard query splitting: update test

* Shard query splitting: fix types and non-sharded queries

* Merge responses: fix log merging

* Merge responses: remove legacy code

* Query splitting: add support to retry failed requests

* Query splitting: unit test request retrying

* Query splitting: add unsubscriptions

* Shard query splitting: fix retrying

* Shard query splitting: switch to dynamic grouping

* Shard query splitting: update group size thresholds and fix -1 query

* Shard query splitting: update initial group size + don't retry parse errors

* Shard query splitting: update unit test

* chore: update mock value

* Shard query splitting: add support for multiple targets

* chore: update description

* Shard query splitting: use group targets

* chore: filter hidden queries

* Shard query splitting: issue initial log query without sharding

* Splitting: fix retrying in both methods

* Merge responses: keep execution time

* Shard query splitting: remove no-shard attempt

* Shard query splitting: adjust groups based on rate of change

* chore: clean up experiments

* Shard query splittng: remove log query restrictions

* Shard query splitting: remove fallback to time splitting

* Loki: add new query direction

* Missing generated file

* LokiOptionField: integrate new query direction

* Shard query splitting: delegate non-scan queries to time splitting

* Query splitting: do not retry queries with parse errors

* Loki datasource: add placeholder for feature flag

* Shard query splitting: add function with support criteria

* Shard query splitting: refactor query modification and shard logs volume

* Shard query splitting: update unit tests

* chore: Update scan direction tooltip

* chore: formatting

* LogsVolumePanel: fix missing state in logs volume panel data

* Merge responses: better handle missing nanoseconds

* LokiQueryOptionFields: display query direction for log queries

* loki: process scan direction as backward

* Loki datasource: restrict sharding to Explore

* Retrying: invert criteria and move to response utils

* Formatting

* Use log volume refId constant

* Fix import order

* Create feature flag

* Use feature toggle

* LogsVolumePanel: prevent flashing no data while streaming
2024-10-23 14:21:03 +03:00
grafana-pr-automation[bot] a5ae8959e3 I18n: Download translations from Crowdin (#95224) 2024-10-23 14:19:04 +03:00
Josh Hunt 2cf6a6388b Combobox: Add prometheusUsesCombobox feature toggle (#95238)
Add prometheusUsesCombobox feature toggle
2024-10-23 12:18:33 +01:00
Pepe Cano 813632dff1 Alerting Docs: Update Alert rule and Notification Templating (#94069)
* Update links to the new location of the Templates intro page

* Set alert rule template structure

* Update the `Template notifications` structure/sidebar

* Move examples to examples pages

* Update menu titles and URL paths

* WIP reference

* added intro to examples.md

* reference page section intros

* examples title

* Template

* Continue Alert Template Reference

* example sections

* Almost finish with Reference page

* weight pages

* WIP - template variables Intro

* Edits Alert rule templates + Differences with notification templates

* examples-draft-2

* how to map annotations to notif templates

* examples v2

* moved example

* Continue Template annotations and labels

* Preview annotation templates

* Complete `Template annotations and labels`

* Update `Differences with notification templates`

* Polish a bit `Differences with notification tempaltes`

* added logic examples to `Examples`

* Finish sharing Template language

* Minor: set `anchor` link

* Minor edit

* Minor edit

* Minor changes

* Template language changes

* Document missing functions for alert rule templates

* 'Examples' v3

* `Examples` v3.1

* `Examples` v3.2

* added context/intro to `Examples`

* added a how to section to `Examples`

* moved legacy info in `Examples`

* added examples, sections in `Examples`

* formatting

* examples v5

* examples v5.1

* Complete update to `Notification template reference`

* Update `$values` description

* moved steps to `index`

* fixed urls

* removed section in `examples`

* added refs

* fixed urls

* refs fix

* blended the use case into the explanation

* Notification template reference: Minor readibility changes

* Edit `$value` in Alert rule template reference

* Edit `Manage notification templates

* links to ref and lang pages

* Minor copy changes

* Edit Template annotation overview + Prepare Template notifications overview

* `Select` vs `Choose`

* Template Overview

* Fix `heading` does not match `title`

* examples v6

* examples v6.1

* Fix spell errors

* Run `prettier --write` to fix md format errors

* examples v7

* examples v7.1

* examples v7.2

* examples v7.4

* examples v7.5

* examples v7.6

* all pretty, no pity

* Update alert rule examples

* Complete `Labels and annotations template examples`

* Minor changes

* Use `.` notation instead of `index` in examples

* rename `extendeddata` to `notificationdata`

* Complete Notification examples

* minor changes

* Set `go` language when displaying template examples

* Revert "minor changes"

This reverts commit f647c55c87.

* Update example and admonition for consistency

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/configure-notifications/template-notifications/manage-notification-templates.md

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

* Update docs/sources/alerting/configure-notifications/template-notifications/manage-notification-templates.md

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

* Update docs/sources/shared/alerts/template-language.md

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

* Update docs/sources/shared/alerts/template-language.md

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

* Update docs/sources/alerting/configure-notifications/template-notifications/manage-notification-templates.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

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

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/language.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/examples.md

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

* Update docs/sources/alerting/alerting-rules/templates/examples.md

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

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

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

* Update docs/sources/alerting/alerting-rules/templates/examples.md

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

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

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

* Update docs/sources/alerting/configure-notifications/template-notifications/manage-notification-templates.md

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

* Update docs/sources/alerting/configure-notifications/template-notifications/manage-notification-templates.md

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

* Update docs/sources/alerting/configure-notifications/template-notifications/manage-notification-templates.md

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

* Update docs/sources/alerting/configure-notifications/template-notifications/manage-notification-templates.md

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

* Update docs/sources/alerting/configure-notifications/template-notifications/manage-notification-templates.md

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

* use `add` instead of `enrich`

* fix prettier content errors

* minor copy change

* Specify which Alert properties are exclusive to Grafana-managed alerts

* Use `Monitor` instead of `Meta monitoring`

* Be more detailed about notifation template limitations

---------

Co-authored-by: tonypowa <tonypowa@gmail.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-10-23 12:43:28 +02:00
renovate[bot] 3103776892 Update dependency @types/jquery to v3.5.32 2024-10-23 10:08:04 +00:00
antonio 01b75828ba alerting>tutorials:simple alert creation flow (#95134)
* alerting>tutorials:simple alert creation flow

* change step instruction

* added ref

* added ref2

* refs3

* all pretty no pity

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

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

* updated instructions in all the tutorials

* small changes

* link

* link2

* removed will offenders

* minor update

* typo

* removed ref

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-10-23 11:53:40 +02:00
Ashley Harrison 567a3803c5 SingleTopNav: Fix losing focus when moving between menu states (#95069)
* handle button focus between states

* fix focus when closing the overlay menu from the close button

* move into a separate hook

* properly feature toggle the hook

* use constants
2024-10-23 10:52:42 +01:00
renovate[bot] 5f8af8860f Update dependency @types/jest to v29.5.14 2024-10-23 09:40:48 +00:00
Josh Hunt 2a5afd0d1a Combobox: Combine loading and search/caret icons (#95191)
Don't have both loading and search/caret icon at the same time
2024-10-23 10:39:03 +01:00
renovate[bot] 32d224223e Update babel monorepo to v7.25.9 2024-10-23 09:10:18 +00:00
Torkel Ödegaard b700de8122 Dashboard: New layouts feature toggle and basic skeleton for a responsive grid layout (#94805)
* Wip

* Update

* Fix adding new panels

* reuse fromVizPanels

* Fixes

* Update

* Update

* Update

* Fixes

* Update
2024-10-23 10:55:45 +02:00
Gábor Farkas 1dbbbd9ca7 query: handle the x-rule-uid header (#95223) 2024-10-23 10:49:54 +02:00
Karl Persson 6f7528f896 Migration: Remove table aliasing in delete statement to make it work for mariadb (#95226)
Migration: remove table aliasing in delete statement to make it work in mariadb
2024-10-23 10:49:20 +02:00
renovate[bot] 5e924f3a27 Update dependency @grafana/plugin-e2e to v1.9.0 (#95179)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-23 09:44:32 +01:00
Andres Martinez Gotor e33573d786 Docs: Rewording prune setting when provisioning datasources (#95059)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-10-23 08:31:53 +00:00
Leonor Oliveira a03652494c Dual Writer simplification (#93852)
* All objects should have an UID

* Now with a different error message

* Simplify create on DW 2: use the same object to write to both storages

* Run only one test

* Add check for status code

* Add name if it's not present in mode2

* Populate UID in legacy

* Remove logs and commented code

* Change dualwriter1

* Remove commented code

* Fix list test

* remove get on update from dualwriter 2

* Get object before updating. Better var renaming

* Finish rebasing

* Comment test

* Uncomment tests

* Update legacy first. Add preconditions

* Remove preconditions

* Fix update test

* copy RV from unified to legacy objects

* revert changes to playlist xorm store

* Improve logging. Add go routines for mode3

* Add tests for async funcs in mode3

* Lint

* Lint

* Lint. Start to fix tests

* Fix watcher tests

* Fix store tests

* Fiinish fixing watcher tests

* Fix server tests

* add name check

* Update pkg/apiserver/rest/dualwriter_mode1.go

Co-authored-by: Bruno Abrantes <bruno.abrantes@grafana.com>

* All objects should have an UID

* Now with a different error message

* Simplify create on DW 2: use the same object to write to both storages

* Run only one test

* Add check for status code

* Add name if it's not present in mode2

* Populate UID in legacy

* Remove logs and commented code

* Change dualwriter1

* Remove commented code

* Fix list test

* remove get on update from dualwriter 2

* Get object before updating. Better var renaming

* Finish rebasing

* Comment test

* Uncomment tests

* Fix update test

* revert changes to playlist xorm store

* Improve logging. Add go routines for mode3

* Lint

* Fix watcher tests

* Fiinish fixing watcher tests

* Add mode 5 with etcd test case. Add early check to fail on populated RV in payload

* we can't set RV to the found object when updating

* Lint

* Don't fail on update playlists

* Name should not be different when updating and it should be not empty on creating

* Fix tests

* Update pkg/apiserver/rest/dualwriter_mode2.go

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>

* Lint

* Fix mode 5 tests

* Lint

* Add generateName condition on every mode. Fix tests

* Lint

* Add condition on where name or generate name have to be set

* Fix test

* Lint

* Fix folders test

* We dont need to send name for mode1

* Fail if UID is not present

* Remove change from not running test

* Remove unused line

* Lint

* Update pkg/storage/unified/apistore/store.go

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>

* Improve error message

* Fix broken watcher test

* Fail on name mismatch on update

* Remove log

* Make sure UIDs match on create in both stores

* Lint

* Write first to unified storage

* Remove uid setting

* Remove RV only in mode2

* Fix test. Remove log line

* test

* No need to asser on RV in mode3

* Remove RV check due to race condition

* Update dualwriter.go

Co-authored-by: Georges Chaudy <chaudyg@gmail.com>

* Update pkg/storage/unified/client.go

* remove unused parameter

* log an error for object is missing UID instead of returning an error

* remove obj.SetResourceVersion("")

* log an error for object is missing UID instead of returning an error

* FInalise merge

* Move RV check to where it was

* Remove name check

* Remove server check for backwards compatibility

* Remove unused fn

* Move test checks for another PR

* Dont commit go work sum changes

* Only log error if RV is present for now.

---------

Co-authored-by: Todd Treece <todd.treece@grafana.com>
Co-authored-by: Bruno Abrantes <bruno.abrantes@grafana.com>
Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Georges Chaudy <chaudyg@gmail.com>
2024-10-23 10:29:41 +02:00
Robby Milo 1696ac8ea5 format datasources list with columns (#95048)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-10-23 08:18:22 +00:00
Gábor Farkas 3a719a2cfd api: use alerting headers (#95118)
* api: use alerting headers

* improve code, add integration test

* better comment

* fixed test

* merged tests
2024-10-23 09:39:22 +02:00
owensmallwood d9bc4f7395 Search poc: Add debug log for metric and update metric buckets (#95217)
* adds debug log for metric

* updates buckets
2024-10-23 09:35:17 +02:00
Ihor Yeromin b189743ca0 Actions: Improve drag and drop experience (#94263)
* feat(actions): improve dnd ux

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
2024-10-23 09:24:06 +02:00
Pepe Cano 8072286daf Alerting docs: Update Labels and Annotations to detail use cases (#95213)
* Alerting docs: Update `Labels and Annotations` to detail use cases

* 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-10-23 08:50:56 +02:00
Matthew Jacobson 26162a53e6 Alerting: Allow config api receiver create/delete with alertingApiServer (#95207)
Previously all receiver modifications were denied with alertingApiServer
enabled. This allows pure creates and deletes through as these specific
cases can be handled simply and without risk of rbac shenanigans.
2024-10-22 16:54:05 -04:00
Isabel Matwawana 4e725f2f74 Docs: Add what's new video (#95173) 2024-10-22 20:31:31 +00:00
Juan Cabanas 60915e7fe6 ShareExternally: Fix refresh when time picker is hidden (#95206)
Fix refresh when time picker is hidden
2024-10-22 23:03:04 +03:00
grafana-delivery-bot[bot] 75a28bc367 Release: update changelog for 11.3.0 (#95197)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2024-10-22 12:39:16 -07:00
owensmallwood 9763199b53 Search Poc: Add metrics (#95111) 2024-10-22 12:25:08 -06:00
Ezequiel Victorero 12cc312920 Chore: Update swagger docs (#94701) 2024-10-22 15:18:14 -03:00
Gabriel MABILLE 7aeb1adff2 Fix: Check JSON data is not nil (#95189)
* Fix: Fix panic when json data are nil

* Use Interface()

* Feedback

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>

* Need to check inside the if statement

---------

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2024-10-22 18:09:44 +01:00
Summer 6e802e6809 Expressions: add core services project on expressions label (#94991)
---------

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2024-10-22 13:05:45 -04:00
grafana-delivery-bot[bot] 9a7ec04f90 Release: update changelog for 11.2.3 (#95176)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-22 09:27:34 -07:00
grafana-pr-automation[bot] d325184287 I18n: Download translations from Crowdin (#95175)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-22 18:54:23 +03:00
renovate[bot] 9fb956f57f Update dependency @grafana/faro-web-tracing to v1.11.0 (#95170)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 16:16:45 +01:00
grafana-delivery-bot[bot] 77bf3f5bab Release: update changelog for 11.1.8 (#95161)
* Update changelog

* Fix changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2024-10-22 16:50:41 +02:00
Will Browne 25abd57029 Plugins: Update to latest go plugin SDK (0.256.0) (#95065)
* update to latest go plugin SDK

* make update-workspace

* update alerting tests
2024-10-22 15:44:53 +01:00
Isabel Matwawana 8f0ccf3362 Docs: Add Correlations entry to what's new (#95169) 2024-10-22 10:42:29 -04:00
Adela Almasan b2e53997e2 Canvas: Fix data links target (#95113) 2024-10-22 09:36:48 -05:00
renovate[bot] 3ec178ae44 Update dependency @grafana/faro-web-sdk to v1.11.0 (#95167)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 15:32:42 +01:00
linoman 06a0890c2e RolePickerDrawer: Replace RolePicker modal for drawer (#94801)
* Add RolePickerDrawer

* Add RoiePickerBadges

* Add RolePickerSelect

* Replace RolePicker in OrgUsersTable

* Replace RolePicker in ServiceAccountCreatePage

* Add RolePickerDrawer test

* Add tests

* Add i18n texts

* Update RolePickerBadges
2024-10-22 16:21:10 +02:00
renovate[bot] 15340a27ef Update dependency @grafana/faro-web-sdk to v1.11.0 (#95160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 15:05:12 +01:00
Matthew Jacobson 4aad44e848 Alerting: Fix per-receiver RBAC for receivers with long names (#95084)
* Implement uidToResourceID

* add middleware

* Move uidToResourceID to alerting package

* Only hash uid if it's too long

* Use hashed uid in access control

* Move ReceiverUidToResourceId to ScopeProvider

* resolve uid in middleware only if param exists

* Tests

* Linting

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-10-22 10:04:13 -04:00
Dave Henderson 25e85f8947 ci: Update trivy action to run on action updates (#95096)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-10-22 10:00:47 -04:00
renovate[bot] 112763594a Update dependency @grafana/faro-core to v1.11.0 (#95149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 14:36:58 +01:00
grafana-delivery-bot[bot] 63b5e65eb3 Release: update changelog for 11.0.7 (#95157)
* Update changelog

* Fix changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2024-10-22 15:05:47 +02:00
Alexander Zobnin e709de603d Chore: Init auth model on server side (#95142)
* Chore: Init auth model on server side

* fix linter
2024-10-22 14:50:52 +02:00
Andreas Christou 986bd2f9f8 Azure Monitor: Support metric namespaces fallback (#94722)
* Update display names

* Update multi-resource types

* Update default metric namespace list

* Initialise namespace list with fallback namespaces

* Add test

* Update test
2024-10-22 13:24:54 +01:00
renovate[bot] b1d846d7e8 Update scenes to v5.20.3 2024-10-22 12:03:41 +00:00
grafana-delivery-bot[bot] 0e0e11cdd1 Release: update changelog for 10.4.11 (#95141)
* Update changelog

* Fix changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2024-10-22 13:51:15 +02:00
renovate[bot] 3f5483b79f Update dependency rudder-sdk-js to v2.48.22 2024-10-22 11:40:10 +00:00
Gabriel MABILLE 0704ae734f AuthZ: Refactor authentication modes for the Authz package (#95120)
* AuthZ: Fix authentication modes for the Authz package

Co-Authored-By: Claudiu Dragalina-Paraipan <drclau@users.noreply.github.com>
2024-10-22 13:38:59 +02:00
grafana-pr-automation[bot] 229658ad83 I18n: Download translations from Crowdin (#95129)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-22 13:32:38 +02:00
renovate[bot] 4308edb593 Update dependency msw to v2.4.13 2024-10-22 11:19:04 +00:00
Andrej Ocenas 3bf3290340 Grafana/ui: TimeRangePicker with automatic sync across instances (#94074) 2024-10-22 12:52:33 +02:00
renovate[bot] 5a4b051a91 Update dependency browserslist to v4.24.2 2024-10-22 10:47:43 +00:00
Tito Lins 71d04a326b Alerting: Support tls config for webhook receiver (#93513)
Adds the ability to configure tls settings on the webhook receiver (e.g. to skip server certificate validation)
2024-10-22 12:44:32 +02:00
grafana-delivery-bot[bot] d722a25084 Release: update changelog for 10.3.12 (#95128)
* Update changelog

* Fix changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2024-10-22 12:23:42 +02:00
Andrej Ocenas 5b1d99b8c4 Sidecar: Remove extension helpers and use the sidecar service directly (#94979) 2024-10-22 11:46:29 +02:00
Gilles De Mey 94f5e21493 Alerting: Fix overflow for long receiver names (#95064) 2024-10-22 11:08:56 +02:00
renovate[bot] 059c5a4d02 Update dependency @types/node to v20.16.14 2024-10-22 09:00:43 +00:00
linoman 3270a9c959 Session Refactor: Add auth module label to session's list (#94958)
* Add AuthModule to token API

* Add badge to UserSessions

* Change idp label rendering

* Render IdP label for User Profile page

* Add i18n labels
2024-10-22 10:57:36 +02:00
renovate[bot] 200c613672 Update dependency @formatjs/intl-durationformat to ^0.5.0 (#95093)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 09:36:19 +01:00
Jara Suárez de Puga García dd7ad4c3d6 Docs note on Cross-account observability permissions for CW datasource (#95034) 2024-10-22 09:31:50 +01:00
Sonia Aguilar bef9ff3b1a Alerting: Remove threshold as default expression for grafana-managed recording rules (#94949)
* remove threshold as default expression for grafana-managed recording rule

* fix

* remove eslint disable line
2024-10-22 10:22:42 +02:00
Mariell Hoversholm b420fbe940 Fix(devenv): use #!/usr/bin/env for bash scripts (#95117)
This solves problems on Linux distros like NixOS and BSDs like FreeBSD that don't provide `/bin/bash`, while also
maintaining support for all other distros out there (AFAIK? even Alpine with its Busybox has /usr/bin/env).
2024-10-22 10:20:33 +02:00
Alexander Akhmetov d0481bb568 Alerting: Refactor state manager Warm method to accept instance store as an argument (#95098) 2024-10-22 09:45:50 +02:00
Kristina Durivage 2513594a95 remove unneeded decoupling, filter fields when there are no links 2024-10-21 20:26:01 -05:00
Kristina cfc40b23d7 Transformations: Autofocus on search when drawer opens (#95001) 2024-10-21 20:17:51 -05:00
owensmallwood bda27ec8c6 Unified Storage: Add watch latency metric (#93509)
* adds metric for watch latency

* registers storage metrics when creating a new ResourceServer

* defines the latency (in milliseconds) as the diff between now and the RV. Still need to wait until PR for switching RV to millisecond timestamp is rolled out.

* should be micro seconds not milli

* for watch latency, use diff between now and resource version and convert to seconds

* fix typo
2024-10-21 17:15:11 -06:00
Kristina Durivage 3408ad436e make hidefrom logic more robust 2024-10-21 17:00:36 -05:00
Kristina Durivage bcabff77df Use hideFrom in GraphNG to hide fields if value is defined. Remove other filtering from timeline chart 2024-10-21 17:00:36 -05:00
Scott Lepper cab4288b88 [docs] fix provisioning folder name (#95099) 2024-10-21 16:38:23 -04:00
Nathan Marrs 34d1a75ab0 ElasticSearch: Add playwright smoke test (#95092)
add smoke test to elastic search
2024-10-21 13:13:40 -07:00
Nathan Marrs c94468339c CloudWatch: Add playwright smoke test (#95087)
add smoke test to cloudwatch
2024-10-21 13:13:22 -07:00
Leon Sorokin 594e9b1b73 BarChart: Skip formatting null-valued ticks (#94935)
Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
2024-10-21 22:29:51 +03:00
renovate[bot] 5c06bbf8cf Update dependency rudder-sdk-js to v2.48.21 2024-10-21 19:22:44 +00:00
Isabel Matwawana 2614607d60 Docs: What’s new & Upgrade guide v11.3 (#93193)
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
2024-10-21 14:59:30 -04:00
renovate[bot] 8d598ba5f8 Update dependency redux-mock-store to v1.5.5 2024-10-21 18:51:44 +00:00
renovate[bot] 81a3245190 Update dependency react-hook-form to v7.53.1 2024-10-21 18:29:11 +00:00
Andrej Ocenas c3c1f6ac27 Sidecar: Move service to runtime (#94860) 2024-10-21 20:26:39 +02:00
renovate[bot] b7e658c5c3 Update dependency react-dropzone to v14.2.10 2024-10-21 18:07:01 +00:00
renovate[bot] 53a0c3488e Update dependency react-dropzone to v14.2.10 2024-10-21 17:34:30 +00:00
Matias Chomicki 89c215a9ff Loki query editor: update CompletionDataProvider time range when it changes (#94905)
* Loki query editor: update CompletionDataProvider time range when it changes

* CompletionDataProvider: update test and add regression

* Formatting

* Completion Data Provider: clear cache when the time range changes

* Completion Data Provider: specifically test for undefined values vs empty string
2024-10-21 20:14:27 +03:00
Arati R. f3a93a0303 K8s/Folders: Enhance k8s folder update (#95033)
* Put folder update behind feature toggle
* Set more fields when doing k8s update
* Check update in folder tests
* Uncomment remaining k8s handler methods
2024-10-21 19:08:03 +02:00
renovate[bot] ce917e97f7 Update dependency ol-ext to v4.0.24 2024-10-21 17:06:41 +00:00
Adela Almasan 07df148400 Chore: Update tests for Heatmap tooltip utils (#94933) 2024-10-21 11:40:40 -05:00
renovate[bot] 53142aed07 Update dependency msw to v2.4.12 2024-10-21 16:25:18 +00:00
Syerikjan Kh 20a33632bf feat: pass orgrole when adding rs event (#94890)
* chore: pass orgRole, orgId for RS event report

* chore: track panel plugin search

* ref: extract interaction const to separate file
2024-10-21 12:22:51 -04:00
Arati R. 8abfcdbb78 Ks8/Folders: Fix status codes returned on create (#95055)
* Fix status codes returned by k8s folder handler
* Add test for status code when creating duplicate folder
2024-10-21 13:07:11 -03:00
renovate[bot] 9d1f8fbdb0 Update dependency html-webpack-plugin to v5.6.2 2024-10-21 16:01:05 +00:00
owensmallwood fb9cfd0d1b Search PoC: Indexmapping per resource and transform to intermediate IndexedResource (#94906)
* Transforms raw US resource into an intermediate IndexableResource and indexes that. Pulls index mapping code out into different file. For now, we will hardcode which spec fields are indexed, per resource.

* Fixes a few bugs with field casing and timestamps not being formatted right (or not existing).

* adds readme section for using search with US

* extracts to function to transform from search hit to IndexedResource

* get folders when building index
2024-10-21 09:34:41 -06:00
renovate[bot] 40f0a72db0 Update dependency eslint-plugin-jsx-a11y to v6.10.1 2024-10-21 15:27:56 +00:00
Santiago 4f8f82f5f1 Alerting: Fix remote Alertmanager readiness check path (#95063) 2024-10-21 17:24:51 +02:00
renovate[bot] b475b8f648 Update dependency @types/papaparse to v5.3.15 2024-10-21 14:46:12 +00:00
Yuri Tseretyan 19a1d9d188 Fix: Initialize tracer in file provisioning (#95007)
initialize tracer
2024-10-21 10:03:58 -04:00
renovate[bot] b43425b527 Update dependency @types/node to v20.16.13 2024-10-21 13:59:11 +00:00
Ashley Harrison f5078547d2 fix types 2024-10-21 16:15:42 +03:00
renovate[bot] 2974ab634f Update dependency @types/lodash to v4.17.12 2024-10-21 16:15:42 +03:00
Eric Leijonmarck 885eb00fc3 Chore: Update go sum, via make update-workspace (#94980)
update go sum
2024-10-21 14:12:24 +01:00
Karl Persson b4366ebed2 Zanzana: bootstrap authz server (#95036)
Bootstrap authz extended server
2024-10-21 14:58:57 +02:00
Carl Bergquist db06a5a5d3 scopes: test case for supporting queries using __name__ (#94954)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-10-21 08:18:40 -04:00
renovate[bot] f92fe82b24 Update dependency @rollup/plugin-typescript to v12.1.1 2024-10-21 11:40:01 +00:00
renovate[bot] 669669f093 Update dependency @playwright/test to v1.48.1 2024-10-21 11:09:25 +00:00
Ashley Harrison 324063eb3d SingleTopNav: Fix positioning of command palette (#95041)
fix positioning of command palette when singleTopNav is enabled
2024-10-21 14:06:44 +03:00
grafana-pr-automation[bot] cc99e7b164 I18n: Download translations from Crowdin (#95037)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-21 13:51:47 +03:00
Alex Khomenko 180e82992b Routing: Clean up tests (#95018)
* Update ShareDrawer.test

* Update OptionsPaneOptions.test

* Update GenAIButton.test

* Update RouterDebugger

* Update ScopesDashboardsTreeDashboardItem.tsx

* Update ConfigEditor.tsx

* Update MuteTimings.test

* Update NewReceiverView.test
2024-10-21 13:42:30 +03:00
Ashley Harrison 975e3acc68 add new yarn version 2024-10-21 13:04:13 +03:00
renovate[bot] 2ce5f78cdd Update Yarn to v4.5.1 2024-10-21 13:04:13 +03:00
Josh Hunt dd7f24dfbd Chore: bump whats new to 11.4 (#94983) 2024-10-21 10:55:47 +01:00
Jack Westbrook 593ab4559d MSSQL: Add playwright smoke test (#94977)
test(mssql-datasource): add smoke test to assert decoupled plugin assets are built and load
2024-10-21 11:36:18 +02:00
renovate[bot] 532cee2ee3 Update dependency @lezer/common to v1.2.3 2024-10-21 09:32:05 +00:00
linoman 640bc0de97 SSO SAML: Remove SettingProvider settings from SSO interactions (#94900)
* Remove SettingProvider settings from SSO interactions

* Mock Settings Provider for SSO Settings test

* Ignore error from SettingsProvider

* Add test for backend
2024-10-21 11:28:55 +02:00
Ashley Harrison cbce49b163 Internationalisation: Mark up @grafana/ui for translations (#94951)
* ensure grafana-ui is translated

* last couple

* improve name
2024-10-21 10:11:12 +01:00
grafana-pr-automation[bot] e0446fc557 I18n: Download translations from Crowdin (#94968) 2024-10-21 10:59:11 +02:00
Konrad Lalik 836881b713 Alerting: Fix editing expressions refId (#94941)
Fix refId editing
2024-10-21 10:49:42 +02:00
Dana Axinte 98e5048370 CloudMigration - Display different error messages for create migration errors (#94683)
* start on tokens

* more error messages

* more handling

* rephrased with suggestions from Daniel

* separate gms parse method

* use translation

* refactor initial idea to use error obj

* use error dto result

* handle gms client

* clean logs and comments

* fix tests

* tests for gms

* test and lint

* lint

* one more handling from gms

* typing in fe

* use error interface

* use validation error

* remove unused gms error

* use errorlib and helper function in fe

* regen api

* use same error util

* one more error to handle
2024-10-21 09:45:54 +01:00
Victor Marin d608668335 DashboardScenes: Fix missing query options in library panels (#94808)
Fix missing query options in library panels
2024-10-21 11:29:23 +03:00
Timur Olzhabayev 388023a172 Chore: Adding datasources provisioning label (#94899)
adding datasources provisioning label
2024-10-21 09:44:34 +02:00
Esteban Beltran 3a7096d0a6 Chore: Increase fork ts webpack memory to 5GB (#94810) 2024-10-21 09:42:35 +02:00
William Wernert 0920e8bcc6 Alerting: Clear ignored fields of recording rules for API response (#95004)
* Clear ignored fields of recording rules for API response

* Move field clearing to compat function

* Run make update-workspace

* Cleanup changes
2024-10-19 01:03:12 +03:00
Scott Lepper 5700b4b13a [search] - restart watch (#94981)
undo go sum change
2024-10-18 15:39:51 -04:00
Yuri Tseretyan 00bb3215cb Alerting: Fix time-interval conversion to return bad request if payload is incorrect (#94995) 2024-10-18 13:16:03 -04:00
Yuri Tseretyan 672d5f92f2 Chore: Fix population of details when converting from errutil errors to K8s error (#94996) 2024-10-18 13:15:13 -04:00
lean.dev 3438196010 Anonymous User: Adds validator service for anonymous users (#94700) 2024-10-18 13:10:41 -03:00
Isabella Siu fd5f351a6f CloudWatch: Interpolate region in log context query (#94930)
CloudWatch: interpolate region in log context query
2024-10-18 11:31:05 -04:00
William Wernert 053a806ab1 Alerting: Validate namespace when updating rules through the provisioning API (#94643)
* Also validate folder on provisioning update

* Move folder check before auth check

When checking for the existence of a folder we go through the folder
service which requires auth. Doing so prevents an unprivileged user from
accessing information about whether a particular folder exists or not.
2024-10-18 18:21:26 +03:00
Alexander Zobnin 2baf4883cc Zanzana: add action sets to dashboard and folder schema (#94602) 2024-10-18 16:58:30 +02:00
Tobias Skarhed d4546630df Frontend Monitoring: Set correct default value in Go file (#94976) 2024-10-18 17:52:46 +03:00
Tobias Skarhed bbc4dc3867 Frontend Monitoring: Add config option to enable all default instrumentations (#94862)
* Add config options to enable all faro instrumentation

* Fix ts error

* Fix type in test

* Add to default config files
2024-10-18 15:35:39 +02:00
Laura Fernández a44f718c09 SingleTopNav: align Command Palette to the input (#94614) 2024-10-18 15:27:04 +02:00
Ashley Harrison 65ce173d3f SingleTopNav: Handle explore action placement (#94812)
* move query library + share buttons to toolbar

* add share text to button

* need spacer when not in singleTopNav

* fix unit tests

* use secondary button styling when singleTopNav is enabled
2024-10-18 13:58:54 +01:00
renovate[bot] 54c500cd94 Update dependency @grafana/lezer-traceql to v0.0.20 (#94962)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-18 13:56:31 +01:00
Gaurav Soni a72c89bd6e Update index.md to update Grafana Assume Role Notes (#94961)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-10-18 12:36:01 +00:00
Konrad Lalik 5548e5976b Alerting: Fix templates editing validation (#94960)
Fix title validation when editing template files
2024-10-18 14:28:35 +02:00
renovate[bot] b64a5848aa Update dependency @floating-ui/react to v0.26.25 (#94957)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-18 13:24:04 +01:00
Andre Pereira bbe7029d0a Tempo: Add support for /api/v2/traces/ and partial traces in Trace View (#94267)
* Request trace by id using v2, fallback for v1 when 404

* Show partial traces badge in Trace View

* update go work sum

* Fix tests

* some linting

* Fix tests and try to ignore linter

* Move no lint

* nolint:bodyclose

* merge main

* Fix null tags in array

* Fix test

* Update go.sum

* Update go.sum
2024-10-18 15:10:22 +03:00
renovate[bot] 75fe42876a Update React Aria 2024-10-18 11:38:05 +00:00
Karl Persson a82d01214d Auth: Update authlib (#94947)
* Update authlib
2024-10-18 13:36:21 +02:00
Jack Westbrook 1ec68b6917 Decoupled Plugins: Prevent copying project.json into dist directories (#94952)
fix(plugin-configs): prevent copying project.json into dist directories
2024-10-18 14:03:28 +03:00
renovate[bot] afeb0fc792 Update dependency @types/testing-library__jest-dom to v6 (#94607)
* Update dependency @types/testing-library__jest-dom to v6

* remove package and fix types

* don't include setupTests in the build tsconfig

* exclude testUtils

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-10-18 11:59:47 +01:00
Sam Jewell ea71201ddc ServerSideExpressions: Disable SQL Expressions to prevent RCE and LFI vulnerability (#94942)
* disable sql expressions

remove duckdb ref

* Run `make update-workspace`

---------

Co-authored-by: Scott Lepper <scott.lepper@gmail.com>
2024-10-18 11:28:26 +01:00
Gábor Farkas cbe1e7d63f expr: add explicit strict-mode const (#94838)
expr: add explicit strict-mode value
2024-10-18 10:46:27 +02:00
Marcus Efraimsson 42016dc359 Chore: Update SDK to v0.255.0 (#94894) 2024-10-18 10:42:32 +02:00
Gábor Farkas 34bb959835 expr: improved test (#94837) 2024-10-18 10:31:58 +02:00
Alexander Akhmetov 0b804e720f Alerting: Add RuleGroup field to ListAlertInstancesQuery struct (#94615)
Alerting: add RuleGroup field to ListAlertInstancesQuery struct
2024-10-18 09:44:16 +02:00
Alex Khomenko 22d5efba25 Routing: Replace Prompt component (#94675)
* Add custom Prompt component

* Add test

* Remove beforeunload handling

* Updates

* Use custom Prompt in CorrelationEditorModeBar.tsx

* Simplify component

* Update DashboardPrompt

* Simplify Prompt

* Update

* Update DashboardPrompt.tsx

* Update type

* Update tests
2024-10-18 07:49:25 +03:00
Diego Augusto Molina 3e1f5559a6 Unistore Chore: Add database-level observability (#92266)
* add testing harness

* fix mockery and linters

* WIP

* wip

* fix transactions

* fix transaction tracing; add tracing by default

* rename package

* move WithTx to simplify logic of DB implementations

* fix potential issue with context deadline

* add db instrumentation to dbutil

* add otel tests

* improve naming

* minor fix in semantics and add comprehensive OTel testing

* fix naming

* instrument resourceVersionAtomicInc

* provide a default testing tracer

* fix docs

* fix typo in docs

* add semconv for k8s
2024-10-18 00:32:08 -03:00
Adela Almasan 9125f0df20 Table: Add support for ActionsCell (#94648) 2024-10-18 02:15:34 +03:00
Adela Almasan 0d70dbe730 Table: Add actions support (#94578) 2024-10-18 01:47:39 +03:00
Santiago 4c15266a77 Alerting: Add X-Remote-Alertmanager header to the remote AM client (#94913) 2024-10-17 22:38:13 +02:00
Josh Hunt 8f7352e862 CI: Additional changes for +security versions (#94854)
* Build: Fix docker manifest create not using correct IMAGE_TAG

* Support publishing security versions of NPM packages

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-10-17 22:13:42 +03:00
Edvard Falkskär 125b7c2fd8 Histogram: Fix field displayName cache (#94685) 2024-10-17 14:00:03 -05:00
grafana-delivery-bot[bot] 221e640264 Release: update changelog for 11.1.7+security-01 (#94918)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-10-17 13:49:01 -05:00
Kyle Cunningham d7ee3ea086 Table: Fix text wrapping applying to wrong field (#93707)
* Fix text wrap
---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
2024-10-17 20:33:59 +02:00
grafana-delivery-bot[bot] 37c54b4403 Release: update changelog for 11.1.6+security-01 (#94914)
* Update changelog

* remove old changes

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-10-17 18:32:00 +00:00
grafana-delivery-bot[bot] 5fecfe9d53 Release: update changelog for 11.2.2+security-01 (#94911)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-10-17 18:22:22 +00:00
Charandas 2fd4fe40f0 K8s: for tests to use kubectl access, port-forwarding requires 0.0.0.0 (#94836) 2024-10-17 11:15:57 -07:00
Kristina c12a662f9f Transformations: Allow negatives in limit (#94746)
* Allow negatives in limit

* Add test
2024-10-17 13:13:00 -05:00
grafana-delivery-bot[bot] 0ff7783745 Release: update changelog for 11.2.1+security-01 (#94909)
* Update changelog

* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-10-17 18:12:51 +00:00
dependabot[bot] a52d0ca5a6 Bump aquasecurity/trivy-action from 0.24.0 to 0.28.0 (#94787)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.24.0 to 0.28.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.24.0...0.28.0)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-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-10-17 18:12:31 +00:00
Alexander Weaver be0d8b4f19 Docs: Update Grafana-Managed Recording Rule docs (#94895)
* Config ini section

* Extend header

* Drop hysteresis line which doesnt apply to recording rules

* Touch up evaluation behavior section

* Dissolve incorrect/unrelated section

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

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

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

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

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

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

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

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

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

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

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

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

* Run linter

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-10-17 12:12:35 -05:00
Galen Kistler 5fe5e8a5a6 DataLinks: Fix onClick functionality (#94815)
* fix: add onclick functionality back to DataLinks in VizPanelFooter

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: Matias Chomicki <matyax@gmail.com>
2024-10-17 12:07:22 -05:00
grafana-delivery-bot[bot] c062389f66 Release: update changelog for 11.0.6+security-01 (#94901)
* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2024-10-17 16:58:21 +00:00
grafana-delivery-bot[bot] 27e005c4c4 Release: update changelog for 11.0.5+security-01 (#94889)
* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2024-10-17 17:44:35 +01:00
grafana-pr-automation[bot] 3d715840f1 I18n: Download translations from Crowdin (#94877)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-17 18:20:06 +03:00
Matheus Macabu 8673c757a5 CloudMigrations: only append notification policy if feature flag is on and it exists (#94896) 2024-10-17 17:15:30 +02:00
Alex Khomenko ccedc41c57 Routing: Remove Switch from Grafana routes (#94795)
* Routing: Use Routes instead of Switch

* Update routeProps

* Update GrafanaRoute.test

* Update DashboardScenePage.tsx

* Update DashboardPageProxy.test.tsx

* Remove exact paths

* Update parent routes

* Move route wrapper

* Update type

* Fix plugin paths

* Switch to the location hook
2024-10-17 18:11:31 +03:00
Laura Benz b2036ffcbf RestoreDashboards: Correct tracking data (#94855)
* refactor: change output for restore_enabled

* refactor: change output for restore_enabled

* refactor
2024-10-17 17:11:17 +02:00
Esteban Beltran f248a55576 Frontend Sandbox: Create a plugin sandbox enable registry. Use enable list instead of disable list (#94809)
* Use a enable configuration to enable frontend sandbox

* Modify settings to load enableFrontendSandbox

* Check for signature type

* Update commment

* Fix e2e tests for the frontend sandbox

* Modify logic so a custom check function is used instead of a list of checks

* Fixes flaky test

* fix comment

* Update comment

* Empty commit

* Empty commit
2024-10-17 16:56:50 +02:00
Victor Marin beac7de4df DashboardScenes: Fix panel links to update on variable or timerange change (#94865)
* Fix panel links to update on variable or timerange change

* refactor

---------

Co-authored-by: alexandra vargas <alexa1866@gmail.com>
2024-10-17 17:22:04 +03:00
Sonia Aguilar 1860737117 Alerting: Update texts for gm rr in the form (#94844)
* Update texts for gm rr in the form

* fix translations

* Fix test

* address review comments

* address review comments - part2

* translations

* update docs for new term: output
2024-10-17 15:56:24 +02:00
Ashley Harrison 95ad094438 Sparkline: Add test to make sure the Sparkline at least renders (#94880)
add test to make sure the sparkline at least renders
2024-10-17 16:38:11 +03:00
Karl Persson 4083b2208e Zanzana: periodic sync of team members (#94752)
* Rewrite zanzana collector to fetch all available pages

* Register access control as a background service

* If zanzana is enabled we run Syncs and start Reconciliation job

* Update pkg/services/authz/zanzana/client/client.go

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Use server lock when doing performing reconciliation
2024-10-17 15:28:33 +02:00
Dana Axinte a50507e645 CloudMigration: Interpret error code from migration resource item (#94407)
* start on loading the error code

* error code to message mapping

* use resource code type

* use defined error code

* partial updates from comments

* i18nKey gen

* fixed t

* fixed translations

* typing
2024-10-17 14:09:09 +01:00
Matheus Macabu 1051561154 CloudMigrations: create snapshot for Notification Policies (#94852)
* CloudMigrations: create snapshot for Notification Policy

* CloudMigrations: add notification policy constants and components

* CloudMigrations: add uid to resources that have it
2024-10-17 14:58:05 +02:00
Jack Westbrook 8f5edb09ef MSSQL: Add a project.json so NX builds the plugin (#94866)
build(mssql): add a project.json so nx builds the plugin
2024-10-17 15:57:27 +03:00
Diego Augusto Molina cf08f6762d Unistore Chore: Add OTEL testing harness (#94835)
* add testing harness

* fix mockery and linters

* fix data race in tests

* fix data race in tests

* reduce cardinality of data
2024-10-17 08:41:06 -03:00
Ryan McKinley 8b9bb2acf6 K8s/Folders: Warn against using full path in metadata (#94829) 2024-10-17 14:32:39 +03:00
kay delaney 4e93b0f467 Frontend/Themes: Fix handleMotion function (#94856) 2024-10-17 12:02:16 +01:00
Ieva dca881289a Group attribute sync: Add swagger defs for group attribute sync endpoints (#94531)
* add generated files

* add swagger def for group role endpoint

* some cleanup to make Go client nicer to use
2024-10-17 12:01:55 +01:00
Tom Ratcliffe 4c5483ee15 Alerting: Fix notification policies tests and implement "stateful" mock endpoints (#94732) 2024-10-17 11:57:57 +01:00
Eric Leijonmarck a46ff09bf9 LBAC for datasources: Override lbac rules if present when updating via datasources endpoints (#94608)
bloc updates to datasources
2024-10-17 11:29:30 +01:00
Jack Westbrook 573b40ab98 Chore: Resolve duplicate e2e-selectors packages to workspace (#94853)
chore(scenes): resolve e2e-selectors package to workspace
2024-10-17 12:22:51 +02:00
Ryan McKinley 3457f219be Storage: Add blob storage interfaces (#90932)
Co-authored-by: Jean-Philippe Quémémer <jeanphilippe.quemener@grafana.com>
2024-10-17 12:18:29 +02:00
Andrej Ocenas 1b8b1d6c7a Sidecar: Add local storage persistence for the sidecar state (#94820)
* Add local storage persistence

* Fix arg name
2024-10-17 12:00:50 +02:00
renovate[bot] ce3da025cc Update scenes to v5.20.2 2024-10-17 09:44:06 +00:00
Robby Milo c6eeb2d845 remove unnecessary version notices (#94839) 2024-10-17 10:32:17 +01:00
Ashley Harrison ba6829f4a7 Topnav: Remove from feature toggle registry + hardcode in config (#94736)
remove topnav from feature toggle registry + hardcode to true
2024-10-17 10:18:30 +01:00
Jean-Philippe Quéméner b4a804776f fix: update yarn files (#94843) 2024-10-17 12:10:17 +03:00
Ashley Harrison 241dca57cf Geomap: Fix tooltip positioning when screen is scrolled (#94827)
* account for y-scrolling when positioning geomap tooltip

* remove config import
2024-10-17 09:42:58 +01:00
Sonia Aguilar f9ba4e3e5d Alerting: Update docs for grafana recording rules (#94811)
* update docs for grafana recording rules

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

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

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

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

* remove notes

* fix note tag

* update note for grafana-managed feature toggle

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

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

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-10-17 10:33:14 +02:00
Jack Westbrook 3c23ab5428 Chore: Resolve scenes e2e-selectors to workspace (#94484)
chore: resolve scenes e2e-selectors to workspace
2024-10-17 10:27:56 +02:00
Gábor Farkas 2cea7af2f5 datasources: querier: handle reducer-settings-mode correctly (#94595)
* datasources: querier: handle reducer-settings-mode correctly

* Try to fix linting error

"unnecessary leading newline (whitespace)"

---------

Co-authored-by: Sam Jewell <sam.jewell@grafana.com>
2024-10-17 08:38:14 +02:00
Victor Marin 96893aef2a DashboardScene: Re-add support for default datasource var (#94806)
re-add support for default datasource var
2024-10-17 08:25:20 +03:00
Diego Augusto Molina e462974359 Chore: Prevent xorm from interfering with indexes (#94790)
prevent xorm from interfering with indexes
2024-10-16 22:52:42 -03:00
Kim Nylander e8f23bb2cf Update Pyroscope data source for Exlore Profiles (#94825)
* Update Pyroscope data source for Exlore Profiles

* Update docs/sources/datasources/pyroscope/query-profile-data.md

* Update docs/sources/datasources/pyroscope/query-profile-data.md
2024-10-16 16:53:13 -04:00
Jennifer Villa c77c81fc1a Remove reference to Aggregate By being experimental (#94791)
At this point, its moved from experimental to deprecated.
2024-10-16 16:42:27 -04:00
Kim Nylander 17eff37104 [DOC] Add streamingEnabled to Tempo ds docs (#94751)
* Add streamingEnabled to Tempo ds docs

* Update docs/sources/datasources/tempo/configure-tempo-data-source.md

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

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-10-16 16:39:22 -04:00
Diego Augusto Molina 44282134da Unistore Chore: Make it easier to implement DB interface (#94680)
make it easier to implement DB interface
2024-10-16 13:40:35 -03:00
Joey bd321216db Tempo: Support new traceql intrinsics (#94240)
* Tidy and update types

* Tidy up comments

* More tidy up

* Simplify logic and reduce repitition in autocomplete

* Simplify logic

* Add and support new intrinsics

* Only retrieve intrinsics from language provider

* Move generateQueryFromFilters to languageProvider
2024-10-16 16:08:02 +01:00
Misi 50a635bc7e Auth: Introduce authn.SSOClientConfig to get client config from SSOSettings service (#94618)
* wip

* possible solution

* Separate interface for SSO settings clients

* Rename interface

* Fix tests

* Rename

* Change GetClientConfig to comma ok idiom
2024-10-16 16:27:44 +02:00
maicon c4f906f7fa UniStore: Fix DualWriter compare method (#94705)
* UniStore: Fix DualWriter compare method

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-10-16 16:22:49 +02:00
maicon 4a60f29709 UniStore: register dual_writer_data_syncer_outcome metric (#94789)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-10-16 16:44:20 +03:00
Tom Ratcliffe dfe2d5eb98 Alerting: Fix display of quotes in expression component (#94807) 2024-10-16 16:12:35 +03:00
Tobias Skarhed 9f78fd94d7 New Select: Async functionality (#94147)
* Initial async

* Set value

* Update story

* Ignore older returned requests

* Add tests

* Update async test

* Support custom value

* Fix ignore late responses test

* Add act to test

* Fix final test

* Remove comment and fix type error

* refactor async story to look more like api call

* allow consumers to pass in a value with a label, for async

* compare story to async select

* Move 'keep latest async value' into seperate hook

* remove null fn from useLatestAsyncCall

* remove commented assertion

* move custom value to top

* before/afterAll & useRealTimers

* create a user

* no useless await

---------

Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
2024-10-16 13:16:09 +01:00
Ieva ca1fd028a2 Service Accounts: Run service account creation in transaction (#94744)
* run service account creation DB queries in transaction

* extract the signed in user from the context

* undo unneeded change

* don't error out if a user is not found

* Update pkg/services/serviceaccounts/manager/service.go

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

* Update pkg/services/serviceaccounts/manager/service.go

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

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-10-16 11:45:21 +01:00
jackyin cc9881343e Explore: Explore Log Download doesn't have same time format (#94519)
* Fixes #94296

* format code

* format code

* remove the timezone

* fix bug

* format code

* update unit test

* modified csv data order

* format code

* delete csv change
2024-10-16 12:29:29 +02:00
grafana-pr-automation[bot] 3990db3a16 I18n: Download translations from Crowdin (#94735)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-16 10:24:10 +01:00
Jack Westbrook cfb46c8003 Frontend: Extract CSS imports into files (#94655)
* build(webpack): extract css imports into files including node_modules

* feat(webassets): add cssfiles to entrypoint assets for extracted css files

* feat(views): add entrypoint css link tags to html templates

* feat(webassets): set CDN prefix for CSS files

* test(webassets): trim down sample-assets-manifest, fix failing snapshot tests

* Update pkg/api/webassets/webassets_test.go

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

* build(webpack): remove css module loader

---------

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2024-10-16 11:10:34 +02:00
Arati R. 65fc7cf004 K8s/Folders: Fix mode 2 folder creation (#94796)
* Use user UID as identifier instead of ID
* Remove malformed error
2024-10-16 10:44:09 +02:00
Ashley Harrison 3e9dd1239a update @grafana/scenes as well + group together in future 2024-10-16 09:42:32 +01:00
renovate[bot] cd35cf7982 Update dependency @grafana/scenes-react to v5.20.1 2024-10-16 09:42:32 +01:00
Igor 0a255ac5fb ShareInternally: Make stale short link expiry optional (#88137)
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-10-16 11:36:54 +03:00
Karl Persson 7fba9ba522 SA: Fix name validation so we can prevent creating service account with protected prefix (#94762)
Fix name validation so we can prevent creating service account with protected prefix
2024-10-16 10:27:06 +02:00
Alexander Akhmetov bfbbdf5efb Alerting: Default pending period (for) to 0s when the rule is created using file provisioning (#94646)
Alerting: default for to 0s when the rule is created using file provisioning
2024-10-16 10:15:10 +02:00
Torkel Ödegaard 384562e1ad Dashboard: Fixes issue with dashboard inside get help drawer (#94725)
* Dashboard: Fixes issue with dashboard inside help help drawer

* Fix lint
2024-10-16 10:09:00 +02:00
maicon 9dc2ccdbfd UniStore: Test both Mode1 and Mode2 for LegacyToUnifiedStorage Syncer (#94784)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-10-16 06:43:01 +02:00
Kim Nylander a5022d9dc6 Deprecate notice for metrics summary and Aggregate by (#94761) 2024-10-15 20:48:23 -04:00
Charandas b4234cb06e K8s: add aggregator metrics (#94579) 2024-10-15 12:41:27 -07:00
Stephanie Hingtgen 644a16048f K8s: add feature toggle for dashboard backend (#94753) 2024-10-15 14:30:05 -05:00
Todd Treece a1434a98a3 Chore: Add gen-go as dependency for update-workspace (#94737) 2024-10-15 12:27:27 -04:00
Andrej Ocenas 1f39692d9b Sidecar: Use a proper way to get header height (#94691)
Use a proper hook
2024-10-15 18:09:34 +02:00
Kristina 2a6b73ca5f Transformations: Convert field type should handle Unix timestamps in seconds (#94442)
* Parse seconds unix formatted timestamps as expected

* clarify comment

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
2024-10-15 10:49:07 -05:00
Kristina 6e39ea5e46 Transformations: Add description to what is searched (#94501)
Add transformation description to what is searched
2024-10-15 10:26:44 -05:00
Alyssa (Bull) Joyner 89da7d6fe5 Graphite: Fix Multi Dimensional Alias Name (#94563) 2024-10-15 09:20:09 -06:00
Alexander Zobnin 9f1b584c85 Chore: Update authlib version (#94714)
* Chore: Update authlib version

* update workspace

* use ParseNamespace()
2024-10-15 16:58:46 +02:00
Matheus Macabu 47115c714a CloudMigrations: create snapshot for Contact Points (#94719)
* CloudMigrations: create snapshot for Contact Points

* CloudMigrations: add contact point copies and components in frontend

* CloudMigrations: temporarily use bell for all alerts resources
2024-10-15 16:27:28 +02:00
Kevin Minehart 7a2edd35d5 CI: Support more version formats in publishing (#94575)
* cleanup dead code
* add tests and rewrite publish grafanacom steps to reuse
* add pkg/build tests; don't upload CDN assets on grafana releases
2024-10-15 09:27:13 -05:00
Yuri Tseretyan ced5497ba1 Docs: Update alerting notifications documentation (#93944)
* add new permissions and fixed roles

* Apply suggestions from code review

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

* address comments

* add actions to complete list

* fmt

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-10-15 16:16:15 +02:00
Santiago 87b57a1b25 Docs: Remove deprecation warnings for panelURL and dashboardURL (#94730)
Docs: Remove deprecation warnings for panelURL and dashboardURL in webhook and mqtt integration docs
2024-10-15 15:52:36 +02:00
Andres Martinez Gotor 2226225309 Chore: Avoid update-workspace when watching go files (#94716) 2024-10-15 15:40:51 +02:00
Ashley Harrison 4b72c159d8 Box: Expose position property (#94726)
expose position property on Box
2024-10-15 14:38:07 +01:00
Alex Khomenko e5795c7b6d Routing: Update connections to react router 6 (#94461)
* Update routes

* Update test

* Remove the useDataSourcesRoutes hook

* Remove DataSourcesRoutesContext

* Fix imports

* Fix more imports

* Add default

* Betterer
2024-10-15 16:10:31 +03:00
Gabriel MABILLE ba3629c01c Fix: Account for conflicting logins in dedupOrgInlogin migration (#94669) 2024-10-15 15:02:34 +02:00
kay delaney 7104782a74 Chore: Remove unused sass variables (#94723) 2024-10-15 13:38:42 +01:00
Jack Westbrook 9e50866356 Build: Nx improvements (#88341)
* feat(frontend): introduce project.json for every workspace to improve caching

* refactor(frontend): use nx tags for grafana dependson

* refactor(frontend): clean up nx tags for packages and plugins

* build(nx): make grafana dependent on cacheable generate icons command

* build(nx): clean up project files
2024-10-15 14:25:45 +02:00
Marcus Efraimsson b28085110d Plugins: Auto instrumentation improvements (#94193) 2024-10-15 14:02:34 +02:00
Yves Siegrist 4a3c6325a4 Docs: correct typo in login solution documentation (#92393) 2024-10-15 14:00:40 +02:00
Sven Grossmann 9adba8537f Plugin Extension: use correct PluginExtensionAddedLinkConfig component in deprecation note (#94708) 2024-10-15 13:58:09 +02:00
kay delaney 22a3c9976f Chore: Convert QueryGroupOptions to functional component (#94342)
Also rewrites styles
2024-10-15 12:57:58 +01:00
grafana-pr-automation[bot] 940a9e0144 I18n: Download translations from Crowdin (#94707)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-15 14:20:18 +03:00
Tom Ratcliffe 0841497cad Alerting: Show a warning when a template has been potentially misconfigured (#94698) 2024-10-15 14:00:20 +03:00
Matheus Macabu 016dea1143 CloudMigrations: create snapshot for Notification Templates (#94676)
* CloudMigrations: create snapshot for Notification Templates

* CloudMigrations: add notification templates resource to frontend
2024-10-15 12:55:33 +02:00
Will Browne f97f489c2c Plugins: Skip install errors if dependency plugin already exists (#94710)
* skip install errors if dependency plugin already exists

* add test
2024-10-15 11:35:45 +01:00
Ieva 284c2d6f71 Folders: Correctly show new folder button under root folder (#94687)
show new folder button under root folder if nested folders are disabled and user has the right perms
2024-10-15 10:45:07 +01:00
Victor Marin aaba5a43bd DashboardScene: Rerender dashboard links on timerange change (#94570)
* fix

* refactor

* refactor
2024-10-15 12:39:36 +03:00
oksanaphmn ef805f271e docs: Readme (#94657) 2024-10-15 09:38:09 +00:00
Matheus Macabu 081ec57443 CloudMigrations: create snapshot for Mute Timings (#94668)
* CloudMigrations: Create snapshot for Mute Timings

* CloudMigrations: add mute timings icon and copies to frontend
2024-10-15 09:44:41 +02:00
Agnès Toulet 5fb685dcc6 Scenes: add clearSceneCache to DashboardScenePageStateManager (#94227) 2024-10-15 09:43:54 +02:00
Ryan McKinley 36c38b5310 APIServer: add prometheus.Registerer to every init request (#94684) 2024-10-15 07:46:08 +03:00
maicon bfd3506549 UniStore: Enable DataSyncer in Mode1 + better logging (#94688)
* UniStore: Enable DataSyncer Mode1 + better logging

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-10-15 06:41:12 +03:00
Alexander Weaver 4d8d916434 Alerting: Separate write errors from Prometheus/Mimir into 400/500 categories (#94699)
* Separate errors from Prometheus/Mimir into categories

* Drop duplicate

* tests
2024-10-14 15:31:36 -05:00
Jack Baldry a8c1c15235 Fix list indentation to ensure continuous numbering (#94692) 2024-10-14 18:23:48 +01:00
Ihor Yeromin bcf62612f3 Table: Improve code readability (#94690)
feat(table): improve code radability
2024-10-14 18:57:19 +02:00
Ashley Harrison e48351fbd3 AppChromeService: Improve useChromeHeaderHeight to only react to necessary state changes (#94624)
make useChromeHeaderHeight only react to necessary state changes
2024-10-14 16:21:15 +01:00
Eric Leijonmarck d5fe9ce87f LBAC for datasources: Fix generated swagger updates (#94587)
fix: generated swagger updates
2024-10-14 16:14:11 +01:00
Levente Balogh 2867f92974 Extensions: Show error and warning logs in the console (#94682)
fix: log extensions framework errors and warnings to the console
2024-10-14 16:44:47 +03:00
Ryan McKinley 97258ca1eb Chore: vscode devenv cleanup (#94290) 2024-10-14 16:37:04 +03:00
Ryan McKinley 517975a4b3 Chore: update feature toggle git stats (#93820) 2024-10-14 16:34:19 +03:00
Alexander Zobnin fcfa4aa777 Zanzana: Add config options for Check and ListObjects queries (#94619)
* Zanzana: Add config options for Check and ListObjects queries

* remove fixme

* pass only zanzana settings
2024-10-14 14:44:47 +03:00
Santiago 981aad6b77 Docs: Fix description for GeneratorURL template value (#92578) 2024-10-14 13:16:27 +02:00
Jack Baldry 2f3c539d9b Remove doc-validator requirement to run on all pull requests (#94673) 2024-10-14 11:47:26 +01:00
Claudiu Dragalina-Paraipan a69ee676ba [authn] adding appPlatformGrpcClientAuth featureflag (#94640)
* introduce appPlatformGrpcClientAuth (renamed appPlatformAccessTokens which is not used)

* re-run toggles gen

---------

Co-authored-by: gamab <gabriel.mabille@grafana.com>
2024-10-14 13:47:18 +03:00
Chirag Gomber 67cbbf84ca Prometheus: Display multiple hints at the same time on query code editor (#89775)
* Added Query hints for Prometheus query code editor

* ES Lint fixes

* Remoed displayName from queryEditorHints as it was unused

* Added the logic on button click to difference function

* extracted data to constants from props

* added css style to hints
2024-10-14 12:15:42 +02:00
Alexa V 00af0afe52 Dashboard Scene: Fix permissions and error handling in creating alert from panel (#94521)
* Dashboard Scene: Add better error handling when creating alert from panel menu

* Add missing permission to createNewAlert and add unit test
2024-10-14 12:11:31 +02:00
grafana-pr-automation[bot] e746f55126 I18n: Download translations from Crowdin (#94667) 2024-10-14 10:37:05 +01:00
renovate[bot] 77effa6d90 Update testing-library monorepo (#94632)
* Update testing-library monorepo

* add @testing-library/dom

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-10-14 12:22:34 +03:00
Sonia Aguilar fb5fb76ad1 Alerting: Use advanced options when query params are not transformable (#94588)
* Use advanced options when query params are not transformable

* Update public/app/features/alerting/unified/components/rule-editor/query-and-alert-condition/QueryAndExpressionsStep.tsx

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>

---------

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-10-14 11:03:58 +03:00
Andres Martinez Gotor 235f7db967 Add query migration handlers (#93735) 2024-10-14 09:29:44 +02:00
Dominik Prokop 97037580df PanelMenu: Allow showing panel menu when data source does not exist (#94545) 2024-10-14 09:17:37 +02:00
Alex Khomenko 9811725c59 Routing: Update PluginDetails (#94513) 2024-10-14 09:52:58 +03:00
Matheus Macabu 1830820363 CloudMigrations: add basic resource component and update migration message with many resource types (#94423)
* CloudMigrations: display generic success message with more than 4 resource types

* CloudMigrations: create generic named resource component
2024-10-14 08:08:33 +02:00
Aaron Godin fa330900ff IAM: turn off migration causing instances to crashloop (#94642) 2024-10-11 20:46:34 +03:00
Marcus Efraimsson 65bcd72484 Chore: Fix failing build (#94633) 2024-10-11 19:26:12 +02:00
Sonia Aguilar 0dd5373e4a Alerting: Add interactions for Fullstory (#94631)
add interactions for Fullstory
2024-10-11 19:23:58 +02:00
William Wernert 19a9a79467 Alerting: Publish event when one or more rules are created or changed (#93637)
* Publish event when one or more rules are changed

* Publish affected rules

* Use a fake bus to test publish event without listening

* Wire alerting store into provisioning service
2024-10-11 12:19:52 -04:00
Yuri Tseretyan 18e66d22b1 Alerting: Add more tracing for receivers service (#94572) 2024-10-11 11:41:13 -04:00
Irene Rodriguez 0ed94dc71e Create strategies-for-upgrading-grafana (#94517)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-10-11 15:12:11 +00:00
grafana-pr-automation[bot] 20b94ea92f I18n: Download translations from Crowdin (#94623)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-11 17:21:24 +03:00
Señor Performo - Leandro Melendez 9abadcbdb4 docs: added configure structure and youtube video link (#94609)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-10-11 10:15:32 -04:00
Josh Hunt 64bb94cc62 Combobox: Measure text of longest label for dropdown width (#93937)
* Combobox: Measure text of longest label for dropdown width

* remove commented out code

* add story to compare to Select

* move magic numbers to constants to reference, and calculate the scrollbar width

* look at first 100,000 items
2024-10-11 15:10:44 +01:00
Ashley Harrison 4d08f44667 SingleTopNav: Revert to using AppChromeUpdate so banners are correct (#94540)
* revert to using AppChromeUpdate

* fix dashboard settings in old arch

* remove empty interface

* fix AlertRuleForm
2024-10-11 15:07:01 +01:00
Alex Khomenko a5d72e264d DataTrailsApp: Update to react-router v6 (#94447)
* DataTrailsApp: Update router

* Update route
2024-10-11 16:33:01 +03:00
Alexander Akhmetov 9d182986f1 Alerting: make StatePersister more configurable to support custom rule-level state persisters (#94590) 2024-10-11 15:25:29 +02:00
Torkel Ödegaard 6787e2f108 AddToDashboard: Refactorings & changes to address a number of problems (#94458)
* Extract shared add to dashboard flow

* Change how we save and add the new panels

* More cleanup

* Began updating tests

* Move and update tests

* set time range

* Fix lint / ts issues

* Fix time history step issue

* fix test

* Update betterer

* remove more tests that are now not needed

* work around cyclic dep

* Update

* Fixes

* fix lint

* remove unused type
2024-10-11 15:24:45 +02:00
Arati R. 992186c88f K8s/Folders: Require create permissions when creating folder (#94514)
* Require create permissions when creating folder
* Test folder create permissions
* Add test for nested folder permissions on creation
* Replace hardcoded verbs
2024-10-11 15:13:56 +02:00
Kim Nylander 8a3508a547 [DOC] Remove traceQLStreaming feature flag from docs (#94581)
* Remove traceQLStreaming feature flag from docs

* Apply suggestions from code review

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

* Updates from prettier

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-10-11 08:57:05 -04:00
Misi 62738dd5c8 Auth: Fix missing authLabels from user list page (#94612)
Fix slice initialization
2024-10-11 15:42:32 +03:00
haelekuin 01897edccd Docs: Fix incorrect authentication token field name (#94610) 2024-10-11 12:25:49 +00:00
Sonia Aguilar 1596acbd3b Alerting: Add data-testids for Fullstory (#94555)
* add data-testids for Fullstory

* add more data-testids
2024-10-11 13:55:01 +02:00
Alexander Akhmetov 0a4e6ff86b Alerting: Add SaveAlertInstancesForRule instance store method (#94505)
Alerting: Add SaveAlertInstancesForRule method to the InstanceStore interface
2024-10-11 13:47:44 +02:00
Prem Saraswat e2672021bc [unified-storage/apistore] Fix GuranteedUpdate skipping updates when tryUpdate is passed (#94557)
`GuranteedUpdate` method of `apistore.Storage` had a bug, where it would
errorneously conclude that the object is unchanged, in case a
`tryUpdate` function is passed that modifies the existing object itself
(as it is the case in many core types in K8s upstream).

The modified `existingObj` was compared with `updatedObj`, which would
essentially be same and this lead to the update being skipped.

This patch fixes this by always passing a copy of the `existingObj`.

Signed-off-by: Prem Kumar <prem.saraswat@grafana.com>
2024-10-11 17:15:43 +05:30
Giuseppe Guerra 95afb3a112 Plugins: Track SystemJS load errors with Faro (#94465)
* Test SRI check errors with Faro

* Plugins: Send SystemJS import errors to Faro

* unbork

* track loadingStrategy

* Revert "unbork"

This reverts commit 02a61f4046.

* Reapply "unbork"

This reverts commit eaee8fbb39.
2024-10-11 13:33:18 +03:00
renovate[bot] 7ef38bd6c1 Update dependency sass to v1.79.5 2024-10-11 10:32:48 +00:00
Andreas Christou 7c79f8f7a5 GCM: Time field naming (#94548)
* Name time field correctly

* Update tests

* Lint
2024-10-11 11:31:37 +01:00
grafana-delivery-bot[bot] 032d0669cd Release: Bump version to 11.4.0-pre (#94569)
bump version 11.4.0-pre

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-11 11:31:04 +01:00
grafana-pr-automation[bot] 67ee40ce12 I18n: Download translations from Crowdin (#94599) 2024-10-11 11:24:47 +01:00
renovate[bot] 64a00aff6e Update dependency msw to v2.4.10 2024-10-11 10:09:33 +00:00
Tom Ratcliffe b91b9a1e38 Alerting: Use jest/expect-expect rule to check for assertions (#93112) 2024-10-11 13:08:50 +03:00
Sonia Aguilar 029b5bc2d0 Alerting: Default to right instant or range when filling alert rule from query params (#94272)
* default to right instant or range when filling alert rule from query params

* address pr review comment
2024-10-11 12:07:43 +02:00
Tom Ratcliffe f08de95630 Alerting: Change styling so query results with no labels are clearer (#94404) 2024-10-11 10:54:15 +01:00
renovate[bot] 773030f15c Update dependency @types/eslint to v9 (#94564)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-11 10:47:01 +01:00
Georges Chaudy d999b415df UniStore: Use epoch with microsecond resolution as RV (#92638)
* Use epoch with microsecond resolution as RV

* fix backend tests

* Add solution for when the clock goes back

* Add solution for when the clock goes back

* generate mocks

* go lint

* remove comment

* Use Greatest instead of max in msyql and postgres

* update tests

* Update pkg/storage/unified/sql/sqltemplate/dialect_sqlite.go

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>

* cast to bigint

* add additional round trip

* increment the RV using 2 sql round trips instead of 3

* cleanup comments

* cast unix timestamp to integer

* fix postgres query

* remove old increment test data

* remove greatest

* cast unix_timestamp to signed

* Use statement_timestamp instead of clock_timestamp

---------

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-10-11 12:11:33 +03:00
Mihai Doarna 0bd3ad1d5a SSO: Fix client side validations for LDAP (#94561)
* fix client side validations for LDAP

* add translations for new messages

* simplify code in isInvalidField()
2024-10-11 12:09:34 +03:00
Laura Benz 4092741f24 RestoreDashboards: Merge both feature toggles to dashboardRestore (#94412)
* refactor: remove FE feat toggle from BE

* refactor: remove FE toggle and adjust roles

* refactor: replace feat toggle in tracking events

* refactor: remove FE feat toggle

* refactor: remove FE feat toggle

* fix: autogenerated file
2024-10-11 10:29:58 +02:00
owensmallwood 3d59d3b40f Search poc: Initial index paginates list response (#94582) 2024-10-11 10:13:10 +02:00
Misi 4eab10eaa1 Auth: Add missing Name property to SAML strategy (#94565)
Add Name to SAML strategy
2024-10-11 08:45:36 +02:00
Syerikjan Kh f8748f0724 ref: pass tracer to plugin factory func (#93701)
* ref: pass tracer to plugin factory func

* fix: add tracer to coreplugin

* test: fix test, generate wire

* test: ignore trace field in loader_test

* ref: pass tracer as dependency, don't store in plugin

* ref: wrap tracer with tracer provider to satisfy WithTracerProvider

* ref: use otel trace.Tracer type for tracer
2024-10-10 20:30:56 -04:00
Yuri Tseretyan 27c44f4709 Alerting: Update notification policy service to check provenance status (#94359)
* update ResetPolicyTree to accept provenance status

* update methods to check for provenance status use relaxed validation
2024-10-10 16:26:30 -04:00
Santiago 75d42d82a3 Alerting: Make Google Chat URL a secure field (#94499) 2024-10-10 21:30:16 +02:00
Yuri Tseretyan 0418a7bc0a Chore: Turn off apiserver tracing when embedded in Grafana (#94574)
turn off apiserver tracing when embedded in Grafana to make it reuse Grafana initiated trace context
2024-10-10 14:40:16 -04:00
Jack Baldry 79614eabdf Remove "Add to docs project" workflow (#93476) 2024-10-10 21:11:51 +03:00
owensmallwood d96baaa878 Search PoC: Add logging (#94567) 2024-10-10 20:34:57 +03:00
Brendan O'Handley ce857c2680 Explore metrics: set options directly because of scenes error when options not set (#94284)
* scenes error when options not set

* add all of the options that are updated in onOptionsChange

* add options to all the other places we are building timeseries panels

* Update public/app/features/trails/AutomaticMetricQueries/graph-builders/percentiles.ts

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

* remove activation handlers and unused code

* Update public/app/features/trails/AutomaticMetricQueries/graph-builders/simple.ts

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

* Update public/app/features/trails/AutomaticMetricQueries/graph-builders/percentiles.ts

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

---------

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-10-10 11:49:24 -05:00
Victor Marin 4600bd2e77 Scopes: Open dashboard list when a scope is selected (#94464)
* Open dashboard list when a scope is selected

* refactor

* test

* remove localstorage key

* add checks on open/close methods

* remove redundant statement

* improve dashboards listing
2024-10-10 19:12:26 +03:00
Victor Marin 516e0cf7e2 DashboardScene: Update timerange in datalinks on change (#94419)
* fix types

* mods

* refactor

* refactor
2024-10-10 19:11:58 +03:00
renovate[bot] e32caccc15 Update babel monorepo to v7.25.8 2024-10-10 15:39:53 +00:00
Alexander Zobnin e642e1a804 Zanzana: Pass parent folder for the checks in search queries (#94541)
* Pass parent folder as a contextual tuple in Check request

* Search by listing folders and dashboards

* skip dashboards listing if limit reached

* remove unused

* add some comments

* only add ContextualTuples if parent provided

* Remove parent relation for dashboards from schema and perform separate checks
2024-10-10 17:38:15 +02:00
Prem Saraswat 5c03c14b25 resource-api: Loosen name validation to match K8s requirements (#93404)
* resource-api: Loosen name validation to match K8s requirements

This patch modifies some of the requirements for name validation of
objects in Resource API to match Kubernetes.

The limit we have on characters in name is 64, but some resources allow
upto 253 characters. Similarly we also include `:` in the regex, as many
objects in default K8s setup use it in the name (the group
`system:masters` for example)

Signed-off-by: Prem Kumar <prem.saraswat@grafana.com>

* Update the name column length in migrator and update e2e test to verify

---------

Signed-off-by: Prem Kumar <prem.saraswat@grafana.com>
2024-10-10 11:03:18 -04:00
linoman 21d26de4d8 Session Refactor: Add SAMLSession (#94490)
* add saml session struct

* resolve saml session

* Add NameID

---------

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
2024-10-10 16:57:34 +02:00
renovate[bot] e30c398087 Update dependency @hello-pangea/dnd to v17 (#94543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 15:56:59 +01:00
renovate[bot] a112c9487b Update dependency rollup to v4.24.0 (#94539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 15:54:35 +01:00
Joey a268a56acb Tempo: Put trace results data frame first when streaming (#93739)
* Put trace results dataframe first

* Add comment
2024-10-10 15:51:43 +01:00
kay delaney 42eb033b03 Chore: Change VariableEditorList overflow styling & tidy markup (#94394)
Chore: Channge VariableEditorList overflow styling & tidy markup
2024-10-10 15:49:48 +01:00
Karl Persson 86fc8da703 RBAC: Add legacy authorization checks to teams (#94524)
* Setup team authorization for teams

* Add list filter for teams
2024-10-10 16:47:31 +02:00
Oscar Kilhed 315778227b Dashboards: Links to explore should respect subpath (#94525)
* Links to explore should respect subpath

* Change to using assureBaseUrl

* Change back to normal single quotes
2024-10-10 15:54:48 +02:00
Misi c872cad879 OrgSync: Do not set default Organization for a user to a non-existent Organization (#94537)
Do not set default org for a user to a missing org

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-10-10 15:31:30 +02:00
Bradley 747cdf938e Docs: Added instructions for configuring a private CA in Helm installs (#93249)
* Docs: Added instructions for configuring a private CA in Helm installs

Signed-off-by: Bradley Pettit <12028233+bradleypettit@users.noreply.github.com>

* Docs: linted new instructions for private CA cert

Signed-off-by: Bradley Pettit <12028233+bradleypettit@users.noreply.github.com>

* Expanded to gem/gel/get

Originally, it just referred to GEM

---------

Signed-off-by: Bradley Pettit <12028233+bradleypettit@users.noreply.github.com>
Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>
2024-10-10 08:30:54 -05:00
Virginia Cepeda c41c8c2026 Icons: add new k6 icons (#94439)
Added 4 new icons:
 - api-endpoint
- browser-alt
- k6-rounded
- multi-step

These icons where added in https://github.com/grafana/synthetic-monitoring-app/issues/955
2024-10-10 16:18:28 +03:00
Irene Rodriguez 844023ad92 remove whitespace (#94542) 2024-10-10 13:11:14 +00:00
renovate[bot] 088cb66635 Update dependency knip to v5.33.3 (#94538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 15:53:26 +03:00
owensmallwood 8e667c4165 Search POC: Fixes search request tenant id (#94511)
fixes search request tenant id
2024-10-10 08:43:16 -04:00
renovate[bot] 32845704ac Update dependency eslint-scope to v8.1.0 (#94530)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 12:53:35 +01:00
renovate[bot] be48906257 Update dependency eslint-plugin-import to v2.31.0 (#94529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 12:53:03 +01:00
Arati R. 011978e81b K8s/Folders: Remove folder service from client (#94450)
* Support getting full path of UIDs
* Use full path to set parents field
* Update get folder test
* Add folder store test for getting with full path UIDs
* Add test for parsing parent titles
* Test nested folder create payload
2024-10-10 13:22:57 +02:00
renovate[bot] bf9e5ae056 Update dependency @grafana/scenes to v5.20.0 (#94526)
* Update dependency @grafana/scenes to v5.20.0

* bump scenes-react as well

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-10-10 14:08:45 +03:00
linoman f18b3ca340 SAML: Add a screenshot for Graph API integration config (#94494)
* Add a screenshot for Graph API config
2024-10-10 12:06:03 +02:00
renovate[bot] e38c4c26ae Update dependency esbuild-plugin-browserslist to ^0.15.0 (#94523)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 10:52:17 +01:00
renovate[bot] 4e790ca240 Update dependency @react-types/shared to v3.25.0 (#94522)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 10:51:14 +01:00
Tom Ratcliffe 074831153a Alerting: Config tracker - update link for default contact point (#94384)
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2024-10-10 10:18:36 +01:00
Tom Ratcliffe f6abde3328 Alerting: Remove accesscontrol license feature requirement for contact points RBAC (#94418) 2024-10-10 10:18:25 +01:00
renovate[bot] 152f70a6a4 Update dependency @formatjs/intl-durationformat to ^0.3.0 (#94497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 10:11:48 +01:00
renovate[bot] 3c376f137a Update dependency @react-types/button to v3.10.0 (#94498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 10:10:04 +01:00
jjaychen 636d17c111 PanelQueryRunner: Fix diff between multiple errors (#89868) 2024-10-10 11:02:33 +02:00
Gabriel MABILLE 6dbd324ef9 Fix: Actually call the DedupOrgInLogin migration (#94520) 2024-10-10 10:53:31 +02:00
Sonia Aguilar 419598c745 Alerting: Fix getSimpleConditionFromExpressions (#94516)
fix getSimpleConditionFromExpressions
2024-10-10 09:56:15 +02:00
Karl Persson 9ece88d585 Zanzana: bump openfga version (#94485)
* Bump openfga

* Remove internall sqlite implementation for openfga

* Use sqlite implementation from openfga
2024-10-10 09:07:40 +02:00
Marcus Andersson bc7386e815 PluginExtension: Added debug log (#94146)
* wip

* add simple scenes object with logs panel

* return hardcoded log message from runtime ds

* simplify log entry

* use log in links registry

* wired the log together.

* wip

* Connected the extensions log to the runtime datasource to steam logs

* wired the other registies.

* implemented child function.

* set right field type on labels

* set meta type

* using the logger in various places.

* added type of onclick.

* removed time picker.

* removed imports.

* passing log to functions where they are needed.

* moved scene into admin page.

* minor improvement to the message.

* added possibility to update query with values based on the data.

* added filter suppoert.

* wip

* wip

* fixed so extension points are displayed.

* use log level from grafana data

* fixed bugs with the filtering.

* Fixed some logs.

* only register extensions page in development mode.

* fixed filtering.

* added on click debug log.

* PluginExtensions: Add debug log to Grafana (Rewrite to scenes-react) (#93954)

* refactoring.

* simplify it even more.

* Update public/app/features/plugins/extensions/logs/LogViewer.tsx

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>

* used VizGridLayout instead of VizGrid component.

* Fixed feedback and fixed bug in filtering logic.

* fixed another nit.

* empty string instead of title.

* Added tests and fixed error.

* added test file.

* regenerated yarn.lock

* Update public/app/features/plugins/extensions/logs/filterTransformation.test.ts

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

* fixed nit.

* more nits.

* added more test cases.

* simplified filtering logic.

* removed unused dep.

* defined broadcast channel in jest setup.

* added tests for datasource.

* fixed failed tests.

* fixed tests.

* fixing go lint issue.

* silent go lint.

* fixed lint issue.

---------

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-10-10 09:27:57 +03:00
Alex Khomenko 97249d15d1 Routing: Update alerting routes to react router 6 (#94469)
* Update alertingRuleEditor

* Update Policy.test

* Update AlertRuleForm

* Update ReceiversSection

* Update SimplifiedRuleEditor.test.tsx

* Update CloneRule.tsx
2024-10-10 07:33:16 +03:00
Alex Khomenko e0217c37a1 AlertmanagerContext: Remove react router dependency (#94470)
* AlertmanagerContext: Remove react router dependency

* Cleanup
2024-10-10 07:33:04 +03:00
kay delaney 0201e8e8fb Chore/TimezonesEditor: Add vertical gaps between inputs (#94487) 2024-10-10 01:57:14 +01:00
owensmallwood 97de44b0c2 Dashboard Sharing: Skips flaky e2e test for dashboard sharing (#94507)
skips flaky e2e test for dashboard sharing
2024-10-10 00:50:54 +03:00
Gábor Farkas 0a7b731242 datasources: querier: request parsing failures are not http 500 (#94488)
* datasources: querier: request parsing failures are not http500

* fix test

---------

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
2024-10-10 00:28:27 +03:00
Diego Augusto Molina c6c93a02aa Chore: add GIT_BASE variable to Makefile to allow configuring lint-go-diff target (#94480)
add GIT_BASE variable to Makefile to allow configuring lint-go-diff target
2024-10-09 20:32:23 +00:00
Diego Augusto Molina 4a800eda9f Unistore Chore: add inocuous preparative changes for otel-based db observability (#94473)
add inocuous preparative changes for otel tracing
2024-10-09 20:32:09 +00:00
owensmallwood 8349db4947 Table Component: Skip flaky test (#94506)
* skip flaky test

* use skip method on test
2024-10-09 22:40:42 +03:00
owensmallwood 612b864772 Indexing PoC: Add search/browse (#94126)
* adds Filter gRPC and make protobuf

* adds route for querying the filter gRPC

* wires up Filter gRPC call

* [WIP] index from start

* renames gRPC endpoint to "Search"

* adds /apis/search route into k8s routes. Hacky for now.

* updates readme - wrong casing

* adds feature toggle for unified storage search

* hides US search behind feature flag. Clean up print statements.

* removes indexer - will be added in another PR

* Search: Add API Builder

* adds required method

* implementing UpdateAPIGroupInfo (WIP)

* adds groupversion

* commenting out for now

* remove unneeded code from experimenting and update register.go to match interface required

* list resources and load into index

* pass context

* namespaces search route

* lint

* watch

* add todo

* add todo

* merge

* cleanup

* add todo

* gen protobuf

* lint; fix migration issue

* Updates index mapping function to map unified storage object Value

* Changes Index() to pointer receiver - fixes panic

* add delete

* cleanup

* gets search/browse functioning. Results show up as base64 encoded. Still a WIP.

* Doesnt json re-encode gRPC response in search handler

* add kind to SearchRequest proto

* Updates query interface to be more generic. Make proto. Parses query params in api server.

* make protobuf

* removes unused method and imports

* Returns all indexed fields in search results. Adds pagination support (limit + offset).

* remove comment

* remove unused struct

* gets tenant in search k8s api handler

* adds hardcoded spec field mappings - starting with playlists

* adds all spec fields to search results

* moved helper function for field mappings into index

* only includes allowed spec fields in search results

* cleans up error handling

* removes debug log

---------

Co-authored-by: leonorfmartins <leonorfmartins@gmail.com>
Co-authored-by: Todd Treece <todd.treece@grafana.com>
Co-authored-by: Scott Lepper <scott.lepper@gmail.com>
2024-10-09 11:20:05 -06:00
Kristina 1f9562ea72 State Timeline: Align left text to 0 when rectangle is left-truncated (#94422)
Handle negative x placement with displaying text
2024-10-09 11:24:06 -05:00
renovate[bot] e8bcc5e831 Update dependency sass to v1.79.4 2024-10-09 16:15:35 +00:00
renovate[bot] d5ff74ebac Update dependency @grafana/experimental to v2.1.2 2024-10-09 16:13:52 +00:00
Scott Lepper c86c4ca65a [unified search] fix: remove unified searcher (#94492) 2024-10-09 12:02:52 -04:00
Oscar Kilhed bf75e1fbf4 Bump scenes to 5.19.1 (#94491) 2024-10-09 18:54:09 +03:00
Esteban Beltran 2a7319809a Fix levitate detect breaking changes pipeline not sending slack messages (#94482)
* Fix levitate detect breaking changes pipeline not sending slack messages

* Use ref
2024-10-09 17:43:30 +02:00
Brendan O'Handley 748bfff601 Prometheus: Add series endpoint configuration (#94443)
* add series endpoint configuration

* gf-form is unnecessary and deprecated
2024-10-09 10:25:18 -05:00
Karl Persson ace177f20a AuthN: Set access token name (#94471)
* Set access token name
2024-10-09 17:08:11 +02:00
Joao Silva 322dccdb4d Navigation: Fix wrong active item shown when parent is bookmarked (#94478) 2024-10-09 15:53:05 +01:00
Vishal N 55d970ef9a fix missing hyperlink to permissions page in docs (#94077)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-10-09 10:42:32 -04:00
Nick Richmond 38827e5a16 ExploreMetrics: Keep gaps consistent between sticky elements (#94441)
style: maintain gap between sticky elements while scrolling
2024-10-09 10:05:41 -04:00
Andreas Christou 97a90591ca AzureMonitor: Fix App Insights portal URL for multi-resource trace queries (#94119)
* Retrieve the resource in the query

* Appropriately construct url

* Update tests
2024-10-09 14:21:10 +01:00
Haris Rozajac 5f26fd87c7 Query Library: Notifications and query counter (#94444)
* Notifications about the feature

* i18n

* Fix test
2024-10-09 06:54:11 -06:00
Tobias Skarhed 5f61266931 AutoSizeInput: Forward onChange event (#94459)
Forward onChange event
2024-10-09 14:38:56 +02:00
Victor Marin 4a3ce66193 [Scopes] Inherit scope paths on node fetching (#93824)
* [Scopes]: Inherit scope paths on node fetching

* add function desc

---------

Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
2024-10-09 14:49:38 +03:00
grafana-pr-automation[bot] 08d03cc315 I18n: Download translations from Crowdin (#94415) 2024-10-09 14:19:13 +03:00
Alex Khomenko 380ce19b1a Routing: Remove nested silences routes (#94385)
* Update SilencesTable

* Remove nested routes

* Update tests

* Update component names

* Update test

* Remove unused code
2024-10-09 13:56:54 +03:00
Esteban Beltran 84d580179d Chore: Fix levitate pipeline by removing non-generated link (#94460)
Remove reporting job link
2024-10-09 13:21:47 +03:00
Alex Khomenko 38f57d270a Routing: Update alerting template routes (#94366)
* Templates: Remove Switch routes

* Update tests

* Fix test

* Revert mock behaviour and render AppNotificationList

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-10-09 12:08:10 +03:00
Sonia Aguilar 3924751827 Alerting: Fix detail view not showing instances nor history tab (#94424)
* Fix detail view not showing instances nor history tab

* small refactor

* Update public/app/features/alerting/unified/hooks/useCombinedRule.ts

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>

* refactor

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-10-09 11:50:05 +03:00
renovate[bot] c183a8930b Update dependency @playwright/test to v1.48.0 (#94425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-09 09:47:40 +01:00
Laura Fernández 9491ab9a93 Bookmarks: Create e2e tests (#90373) 2024-10-09 10:43:01 +02:00
Alex Khomenko be7b293b79 Routing: Hoist alerting receivers routes (#94309)
* Separate receivers components

* Update exports

* Remove type assertion

* Add back test

* Format

* Update test

* Fix test import
2024-10-09 07:29:07 +03:00
2830 changed files with 114948 additions and 61058 deletions
+45
View File
@@ -0,0 +1,45 @@
// @ts-check
/**
* @type {Array<import('eslint').Linter.Config>}
*/
module.exports = [
{
files: ['**/*.{js,jsx,ts,tsx}'],
rules: {
'@typescript-eslint/no-explicit-any': 'error',
'@grafana/no-aria-label-selectors': 'error',
'no-restricted-imports': [
'error',
{
patterns: [
{
group: ['@grafana/ui*', '*/Layout/*'],
importNames: ['Layout', 'HorizontalGroup', 'VerticalGroup'],
message: 'Use Stack component instead.',
},
],
},
],
},
},
{
files: ['**/*.{ts,tsx}'],
ignores: ['**/*.{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'],
ignores: ['public/app/plugins/**', '**/*.story.tsx', '**/*.{test,spec}.{ts,tsx}', '**/__mocks__/', 'public/test'],
rules: {
'@grafana/no-untranslated-strings': 'error',
},
},
];
+162 -1760
View File
File diff suppressed because it is too large Load Diff
+11 -72
View File
@@ -1,8 +1,8 @@
import { BettererFileTest } from '@betterer/betterer';
import { ESLint } from 'eslint';
import { promises as fs } from 'fs';
import { ESLint, Linter } from 'eslint';
import path from 'path';
import { glob } from 'glob';
import config from './.betterer.eslint.config';
// Why are we ignoring these?
// They're all deprecated/being removed so doesn't make sense to fix types
@@ -82,81 +82,20 @@ function countEslintErrors() {
}
const { baseDirectory } = resolver;
const cli = new ESLint({ cwd: baseDirectory });
// 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',
'no-restricted-imports': [
'error',
{
patterns: [
{
group: ['@grafana/ui*', '*/Layout/*'],
importNames: ['Layout', 'HorizontalGroup', 'VerticalGroup'],
message: 'Use Stack component instead.',
},
],
},
],
};
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,
overrideConfig: config,
cwd: baseDirectory,
warnIgnored: false,
});
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}`);
});
lintResults.forEach(({ messages, filePath }) => {
const file = fileTestResult.addFile(filePath, '');
messages.forEach((message, index) => {
file.addIssue(0, 0, message.message, `${index}`);
});
});
});
}
+1 -1
View File
@@ -16,7 +16,7 @@ watch_exts = [".go", ".ini", ".toml", ".template.html"]
ignore_files = [".*_gen.go"]
build_delay = 1500
cmds = [
["GO_BUILD_DEV=1", "make", "build-go"],
["GO_BUILD_DEV=1", "make", "build-go-fast"],
["make", "gen-jsonnet"],
["./bin/grafana", "server", "-profile", "-profile-addr=127.0.0.1", "-profile-port=6000", "-profile-block-rate=1", "-profile-mutex-rate=5", "-packaging=dev", "cfg:app_mode=development"]
]
+436 -200
View File
File diff suppressed because it is too large Load Diff
-27
View File
@@ -1,27 +0,0 @@
.git
.github
.yarn
build
compiled
/data
deployment_tools_config.json
/devenv
dist
/e2e/tmp
node_modules
/pkg
/public/lib/monaco
/scripts/grafana-server/tmp
vendor
e2e/test-plugins
playwright-report
# TS generate from cue by cuetsy
**/*.gen.ts
# Auto-generated internationalization files
/public/locales/_build/
/public/locales/**/*.js
# Auto-generated icon file
/packages/grafana-ui/src/components/Icon/iconBundle.ts
-162
View File
@@ -1,162 +0,0 @@
{
"extends": ["@grafana/eslint-config", "plugin:react/jsx-runtime"],
"root": true,
"plugins": [
"@emotion",
"lodash",
"jest",
"import",
"jsx-a11y",
"@grafana",
"no-barrel-files",
// Included so betterer doesn't fail when processing all files,
// as other parts of the code use testing-library plugin
"testing-library",
],
"settings": {
"import/internal-regex": "^(app/)|(@grafana)",
"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"] }],
"@emotion/jsx-import": "error",
"lodash/import-scope": [2, "member"],
"jest/no-focused-tests": "error",
"import/order": [
"error",
{
"groups": [["builtin", "external"], "internal", "parent", "sibling", "index"],
"newlines-between": "always",
"alphabetize": { "order": "asc" },
},
],
"no-restricted-imports": [
"error",
{
"paths": [
{
"name": "react-redux",
"importNames": ["useDispatch", "useSelector"],
"message": "Please import from app/types instead.",
},
{
"name": "react-i18next",
"importNames": ["Trans", "t"],
"message": "Please import from app/core/internationalization instead",
},
],
},
],
// Use typescript's no-redeclare for compatibility with overrides
"no-redeclare": "off",
"@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",
},
},
{
"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",
},
},
{
"files": ["public/dashboards/scripted*.js"],
"rules": {
"no-redeclare": "error",
"@typescript-eslint/no-redeclare": "off",
},
},
{
"extends": ["plugin:jsx-a11y/recommended"],
"files": ["**/*.tsx"],
"excludedFiles": ["**/*.{spec,test}.tsx"],
"rules": {
// rules marked "off" are those left in the recommended preset we need to fix
// we should remove the corresponding line and fix them one by one
// any marked "error" contain specific overrides we'll need to keep
"jsx-a11y/no-autofocus": [
"error",
{
"ignoreNonDOM": true,
},
],
"jsx-a11y/label-has-associated-control": [
"error",
{
"controlComponents": ["NumberInput"],
"depth": 2,
},
],
},
},
{
"files": [
"public/app/plugins/datasource/azuremonitor/*.{ts,tsx}",
"public/app/plugins/datasource/azuremonitor/**/*.{ts,tsx}",
"public/app/plugins/datasource/cloud-monitoring/*.{ts,tsx}",
"public/app/plugins/datasource/cloud-monitoring/**/*.{ts,tsx}",
"public/app/plugins/datasource/elasticsearch/*.{ts,tsx}",
"public/app/plugins/datasource/elasticsearch/**/*.{ts,tsx}",
"public/app/plugins/datasource/grafana-postgresql-datasource/*.{ts,tsx}",
"public/app/plugins/datasource/grafana-postgresql-datasource/**/*.{ts,tsx}",
"public/app/plugins/datasource/grafana-pyroscope-datasource/*.{ts,tsx}",
"public/app/plugins/datasource/grafana-pyroscope-datasource/**/*.{ts,tsx}",
"public/app/plugins/datasource/grafana-testdata-datasource/*.{ts,tsx}",
"public/app/plugins/datasource/grafana-testdata-datasource/**/*.{ts,tsx}",
"public/app/plugins/datasource/jaeger/*.{ts,tsx}",
"public/app/plugins/datasource/jaeger/**/*.{ts,tsx}",
"public/app/plugins/datasource/loki/*.{ts,tsx}",
"public/app/plugins/datasource/loki/**/*.{ts,tsx}",
"public/app/plugins/datasource/mysql/*.{ts,tsx}",
"public/app/plugins/datasource/mysql/**/*.{ts,tsx}",
"public/app/plugins/datasource/parca/*.{ts,tsx}",
"public/app/plugins/datasource/parca/**/*.{ts,tsx}",
"public/app/plugins/datasource/tempo/*.{ts,tsx}",
"public/app/plugins/datasource/tempo/**/*.{ts,tsx}",
"public/app/plugins/datasource/loki/*.{ts,tsx}",
"public/app/plugins/datasource/loki/**/*.{ts,tsx}",
"public/app/plugins/datasource/elasticsearch/*.{ts,tsx}",
"public/app/plugins/datasource/elasticsearch/**/*.{ts,tsx}",
"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}",
],
"settings": {
"import/resolver": {
"node": {
"extensions": [".ts", ".tsx"],
},
},
},
"rules": {
"import/no-restricted-paths": [
"error",
{
"zones": [
{
"target": "./public/app/plugins",
"from": "./public",
"except": ["./app/plugins"],
"message": "Core plugins are not allowed to depend on Grafana core packages",
},
],
},
],
},
},
],
}
+56 -50
View File
@@ -12,8 +12,8 @@
# This should make it easy to add new rules without breaking existing ones.
# Documentation
/.changelog-archive @grafana/grafana-release-guild
/CHANGELOG.md @grafana/grafana-release-guild
/.changelog-archive @grafana/grafana-developer-enablement-squad
/CHANGELOG.md @grafana/grafana-developer-enablement-squad
/CODE_OF_CONDUCT.md @grafana/grafana-community-support
/CONTRIBUTING.md @grafana/grafana-community-support
/GOVERNANCE.md @RichiH
@@ -40,7 +40,7 @@
/docs/sources/alerting/ @brendamuir
/docs/sources/dashboards/ @imatwawana
/docs/sources/explore/ @grafana/explore-squad @lwandz13
/docs/sources/datasources/ @lwandz13
/docs/sources/panels-visualizations/ @imatwawana
/docs/sources/release-notes/ @irenerl24 @GrafanaWriter
/docs/sources/upgrade-guide/ @imatwawana
@@ -72,6 +72,7 @@
/pkg/apis/ @grafana/grafana-app-platform-squad
/pkg/apis/alerting_notifications @grafana/grafana-app-platform-squad @grafana/alerting-backend @grafana/alerting-frontend
/pkg/apis/query @grafana/grafana-datasources-core-services
/pkg/apis/userstorage @grafana/grafana-app-platform-squad @grafana/plugins-platform-backend
/pkg/bus/ @grafana/grafana-search-and-storage
/pkg/cmd/ @grafana/grafana-backend-group
/pkg/cmd/grafana-cli/commands/install_command.go @grafana/plugins-platform-backend
@@ -121,7 +122,7 @@
/pkg/services/apikey/ @grafana/identity-squad
/pkg/services/cleanup/ @grafana/grafana-backend-group
/pkg/services/contexthandler/ @grafana/grafana-backend-group @grafana/grafana-app-platform-squad
/pkg/services/correlations/ @grafana/explore-squad
/pkg/services/correlations/ @grafana/dataviz-squad
/pkg/services/dashboardimport/ @grafana/grafana-backend-group
/pkg/services/dashboards/ @grafana/grafana-app-platform-squad
/pkg/services/dashboardversion/ @grafana/grafana-backend-group
@@ -139,7 +140,7 @@
/pkg/services/provisioning/ @grafana/grafana-search-and-storage
/pkg/services/provisioning/alerting/ @grafana/alerting-backend
/pkg/services/query/ @grafana/grafana-app-platform-squad
/pkg/services/queryhistory/ @grafana/explore-squad
/pkg/services/queryhistory/ @grafana/observability-traces-and-profiling
/pkg/services/quota/ @grafana/grafana-search-and-storage
/pkg/services/screenshot/ @grafana/grafana-backend-group
/pkg/services/search/ @grafana/grafana-search-and-storage
@@ -159,8 +160,9 @@
/pkg/setting/ @grafana/grafana-backend-services-squad
/pkg/tests/ @grafana/grafana-backend-services-squad
/pkg/tests/apis/ @grafana/grafana-app-platform-squad
/pkg/tests/apis/query @grafana/grafana-datasources-core-services
/pkg/tests/apis/alerting @grafana/grafana-app-platform-squad @grafana/alerting-backend
/pkg/tests/api/correlations/ @grafana/explore-squad
/pkg/tests/api/correlations/ @grafana/dataviz-squad
/pkg/tsdb/grafanads/ @grafana/grafana-backend-group
/pkg/tsdb/opentsdb/ @grafana/partner-datasources
/pkg/util/ @grafana/grafana-backend-group
@@ -188,6 +190,7 @@
/devenv/dev-dashboards-without-uid/ @grafana/dashboards-squad
/devenv/dev-dashboards/ @grafana/dashboards-squad
/devenv/docker/blocks/alert_webhook_listener/ @grafana/alerting-backend
/devenv/docker/blocks/caddy_tls/ @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
@@ -234,8 +237,8 @@
/devenv/docker/loadtest/ @grafana/grafana-backend-services-squad
/devenv/docker/rpmtest/ @grafana/grafana-backend-services-squad
/devenv/jsonnet/ @grafana/dataviz-squad
/devenv/local_cdn/ @grafana/frontend-ops
/devenv/local-npm/ @grafana/frontend-ops
/devenv/vscode/ @grafana/frontend-ops
/devenv/setup.sh @grafana/grafana-backend-services-squad
/devenv/plugins.yaml @grafana/plugins-platform-frontend
@@ -247,15 +250,15 @@
# Continuous Integration
.drone.yml @grafana/grafana-release-guild
.drone.star @grafana/grafana-release-guild
/scripts/drone/ @grafana/grafana-release-guild
/pkg/build/ @grafana/grafana-release-guild
/.dockerignore @grafana/grafana-release-guild
/Dockerfile @grafana/grafana-release-guild
/Makefile @grafana/grafana-release-guild
/scripts/build/ @grafana/grafana-release-guild
/scripts/list-release-artifacts.sh @grafana/grafana-release-guild
.drone.yml @grafana/grafana-developer-enablement-squad
.drone.star @grafana/grafana-developer-enablement-squad
/scripts/drone/ @grafana/grafana-developer-enablement-squad
/pkg/build/ @grafana/grafana-developer-enablement-squad
/.dockerignore @grafana/grafana-developer-enablement-squad
/Dockerfile @grafana/grafana-developer-enablement-squad
/Makefile @grafana/grafana-developer-enablement-squad
/scripts/build/ @grafana/grafana-developer-enablement-squad
/scripts/list-release-artifacts.sh @grafana/grafana-developer-enablement-squad
/.trivyignore @grafana/grafana-backend-services-squad
# OSS Plugin Partnerships backend code
@@ -274,6 +277,8 @@
# OSS Big Tent backend code
/pkg/tsdb/mysql/ @grafana/oss-big-tent
/pkg/tsdb/grafana-postgresql-datasource/ @grafana/oss-big-tent
/pkg/tsdb/zipkin/ @grafana/oss-big-tent
/pkg/tsdb/jaeger/ @grafana/oss-big-tent
# Partner Datasources backend code
/pkg/tsdb/mssql/ @grafana/partner-datasources
@@ -380,7 +385,8 @@
/.nxignore @grafana/frontend-ops
/tsconfig.json @grafana/frontend-ops
/.editorconfig @grafana/frontend-ops
/.eslintignore @grafana/frontend-ops
/eslint.config.js @grafana/frontend-ops
/.betterer.eslint.config.js @grafana/frontend-ops
/.gitattributes @grafana/frontend-ops
/.gitignore @grafana/frontend-ops
/.nvmrc @grafana/frontend-ops
@@ -390,7 +396,6 @@
/yarn.lock @grafana/frontend-ops
/lerna.json @grafana/frontend-ops
/.prettierrc.js @grafana/frontend-ops
/.eslintrc @grafana/frontend-ops
/.vim @zoltanbedi
/jest.config.js @grafana/frontend-ops
/latest.json @grafana/frontend-ops
@@ -414,7 +419,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/core/components/OptionsUI/ @grafana/dashboards-squad @grafana/dataviz-squad
/public/app/core/history/ @grafana/explore-squad
/public/app/core/history/ @grafana/observability-traces-and-profiling
/public/app/features/admin/ @grafana/identity-access-team
# Temp owners until Enterprise team takes over
@@ -429,7 +434,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/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
/public/app/features/correlations/ @grafana/explore-squad
/public/app/features/correlations/ @grafana/dataviz-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
@@ -437,7 +442,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/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
/public/app/features/explore/ @grafana/observability-traces-and-profiling
/public/app/features/expressions/ @grafana/observability-metrics
/public/app/features/folders/ @grafana/grafana-frontend-platform
/public/app/features/inspector/ @grafana/dashboards-squad
@@ -453,14 +458,13 @@ 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/query-library/ @grafana/grafana-frontend-platform
/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-squad
/public/app/features/storage/ @grafana/grafana-app-platform-squad
/public/app/features/teams/ @grafana/access-squad
/public/app/features/templating/ @grafana/dashboards-squad
/public/app/features/trails/ @grafana/observability-metrics
@@ -469,6 +473,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/features/users/ @grafana/access-squad
/public/app/features/variables/ @grafana/dashboards-squad
/public/app/features/preferences/ @grafana/grafana-frontend-platform
/public/app/features/bookmarks/ @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
@@ -547,27 +552,27 @@ playwright.config.ts @grafana/plugins-platform-frontend
/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
/scripts/publish-npm-packages.sh @grafana/grafana-release-guild @grafana/plugins-platform-frontend
/scripts/validate-npm-packages.sh @grafana/grafana-release-guild @grafana/plugins-platform-frontend
/scripts/ci-* @grafana/grafana-developer-enablement-squad
/scripts/circle-* @grafana/grafana-developer-enablement-squad
/scripts/publish-npm-packages.sh @grafana/grafana-developer-enablement-squad @grafana/plugins-platform-frontend
/scripts/validate-npm-packages.sh @grafana/grafana-developer-enablement-squad @grafana/plugins-platform-frontend
/scripts/ci-frontend-metrics.sh @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend @grafana/dataviz-squad
/scripts/cli/ @grafana/grafana-frontend-platform
/scripts/clean-git-or-error.sh @grafana/grafana-as-code
/scripts/grafana-server/ @grafana/grafana-frontend-platform
/scripts/helpers/ @grafana/grafana-release-guild
/scripts/helpers/ @grafana/grafana-developer-enablement-squad
/scripts/import_many_dashboards.sh @torkelo
/scripts/mixin-check.sh @bergquist
/scripts/openapi3/ @grafana/grafana-operator-experience-squad
/scripts/prepare-packagejson.js @grafana/frontend-ops
/scripts/protobuf-check.sh @grafana/plugins-platform-backend
/scripts/stripnulls.sh @grafana/grafana-as-code
/scripts/tag_release.sh @grafana/grafana-release-guild
/scripts/trigger_docker_build.sh @grafana/grafana-release-guild
/scripts/trigger_grafana_packer.sh @grafana/grafana-release-guild
/scripts/trigger_windows_build.sh @grafana/grafana-release-guild
/scripts/tag_release.sh @grafana/grafana-developer-enablement-squad
/scripts/trigger_docker_build.sh @grafana/grafana-developer-enablement-squad
/scripts/trigger_grafana_packer.sh @grafana/grafana-developer-enablement-squad
/scripts/trigger_windows_build.sh @grafana/grafana-developer-enablement-squad
/scripts/cleanup-husky.sh @grafana/frontend-ops
/scripts/verify-repo-update/ @grafana/grafana-release-guild
/scripts/verify-repo-update/ @grafana/grafana-developer-enablement-squad
/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
@@ -626,7 +631,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/pkg/services/rendering/ @grafana/sharing-squad
# SSE - Server Side Expressions
/pkg/expr/ @grafana/observability-metrics
/pkg/expr/ @grafana/grafana-datasources-core-services
# Cloud middleware
/grafana-mixin/ @grafana/grafana-backend-services-squad
@@ -658,6 +663,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/pkg/services/caching/ @grafana/grafana-operator-experience-squad
/pkg/services/cloudmigration/ @grafana/grafana-operator-experience-squad
/pkg/services/gcom/ @grafana/grafana-operator-experience-squad
/pkg/services/authapi/ @grafana/grafana-operator-experience-squad
# Feature toggles
/pkg/services/featuremgmt/ @grafana/grafana-backend-services-squad
@@ -666,6 +672,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
# Kind definitions
/kinds/dashboard @grafana/dashboards-squad
/kinds/ @grafana/grafana-as-code
kindsv2/ @grafana/dashboards-squad
# Kind system and code generation
embed.go @grafana/grafana-as-code
@@ -674,6 +681,7 @@ embed.go @grafana/grafana-as-code
/pkg/registry/apis/ @grafana/grafana-app-platform-squad
/pkg/registry/apis/alerting @grafana/grafana-app-platform-squad @grafana/alerting-backend
/pkg/registry/apis/query @grafana/grafana-datasources-core-services
/pkg/registry/apis/userstorage @grafana/grafana-app-platform-squad @grafana/plugins-platform-backend
/pkg/codegen/ @grafana/grafana-as-code
/pkg/codegen/generators @grafana/grafana-as-code
/pkg/kinds/*/*_gen.go @grafana/grafana-as-code
@@ -690,8 +698,8 @@ embed.go @grafana/grafana-as-code
/.github/dependabot.yml @grafana/frontend-ops
/.github/issue-opened.json @grafana/grafana-community-support
/.github/metrics-collector.json @torkelo
/.github/pr-checks.json @marefr
/.github/pr-commands.json @marefr
/.github/pr-checks.json @tolzhabayev
/.github/pr-commands.json @tolzhabayev
/.github/renovate.json5 @grafana/frontend-ops
/.github/teams.yml @armandgrillet
/.github/workflows/alerting-swagger-gen.yml @grafana/alerting-backend
@@ -701,35 +709,32 @@ embed.go @grafana/grafana-as-code
/.github/workflows/close-milestone.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/release-pr.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/release-comms.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/migrate-prs.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/create-next-release-branch.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/codeowners-validator.yml @tolzhabayev
/.github/workflows/codeql-analysis.yml @DanCech
/.github/workflows/commands.yml @torkelo
/.github/workflows/community-release.yml @grafana/grafana-release-guild
/.github/workflows/community-release.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/detect-breaking-changes-* @grafana/plugins-platform-frontend
/.github/workflows/doc-validator.yml @grafana/docs-tooling
/.github/workflows/epic-add-to-platform-ux-parent-project.yml @meanmina
/.github/workflows/github-release.yml @grafana/grafana-release-guild
/.github/workflows/github-release.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/issue-labeled.yml @armandgrillet
/.github/workflows/issue-opened.yml @grafana/grafana-community-support
/.github/workflows/metrics-collector.yml @torkelo
/.github/workflows/milestone.yml @marefr
/.github/workflows/pr-checks.yml @marefr
/.github/workflows/milestone.yml @tolzhabayev
/.github/workflows/pr-checks.yml @tolzhabayev
/.github/workflows/pr-codeql-analysis-go.yml @DanCech
/.github/workflows/pr-codeql-analysis-javascript.yml @DanCech
/.github/workflows/pr-codeql-analysis-python.yml @DanCech
/.github/workflows/pr-commands.yml @marefr
/.github/workflows/pr-patch-check.yml @grafana/grafana-release-guild
/.github/workflows/sync-mirror.yml @grafana/grafana-release-guild
/.github/workflows/pr-commands.yml @tolzhabayev
/.github/workflows/pr-patch-check.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/sync-mirror.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/publish-technical-documentation-next.yml @grafana/docs-tooling
/.github/workflows/publish-technical-documentation-release.yml @grafana/docs-tooling
/.github/workflows/remove-milestone.yml @grafana/grafana-release-guild
/.github/workflows/remove-milestone.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/sbom-report.yml @grafana/security-team
/.github/workflows/scripts/json-file-to-job-output.js @grafana/plugins-platform-frontend
/.github/workflows/scripts/pr-get-job-link.js @grafana/plugins-platform-frontend
/.github/workflows/stale.yml @grafana/grafana-release-guild
/.github/workflows/update-changelog.yml @grafana/grafana-release-guild
/.github/workflows/stale.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/update-changelog.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/update-make-docs.yml @grafana/docs-tooling
/.github/workflows/scripts/kinds/verify-kinds.go @grafana/platform-cat
/.github/workflows/publish-kinds-next.yml @grafana/platform-cat
@@ -737,11 +742,12 @@ embed.go @grafana/grafana-as-code
/.github/workflows/verify-kinds.yml @grafana/platform-cat
/.github/workflows/dashboards-issue-add-label.yml @grafana/dashboards-squad
/.github/workflows/ephemeral-instances-pr-comment.yml @grafana/grafana-backend-services-squad
/.github/workflows/create-security-patch-from-security-mirror.yml @grafana/grafana-release-guild
/.github/workflows/create-security-patch-from-security-mirror.yml @grafana/grafana-developer-enablement-squad
/.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/pr-go-workspace-check.yml @grafana/grafana-app-platform-squad
/.github/workflows/pr-dependabot-update-go-workspace.yml @grafana/grafana-app-platform-squad
/.github/workflows/pr-k8s-codegen-check.yml @grafana/grafana-app-platform-squad
/.github/workflows/go_lint.yml @grafana/grafana-backend-services-squad
/.github/workflows/trivy-scan.yml @grafana/grafana-backend-services-squad
+16 -16
View File
@@ -59,14 +59,6 @@
"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": "datasource/Azure",
@@ -539,6 +531,14 @@
"url": "https://github.com/orgs/grafana/projects/599"
}
},
{
"type": "label",
"name": "area/provisioning/datasources",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/76"
}
},
{
"type": "label",
"name": "area/scenes",
@@ -603,14 +603,6 @@
"url": "https://github.com/orgs/grafana/projects/660"
}
},
{
"type": "label",
"name": "area/expressions",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/112"
}
},
{
"type": "label",
"name": "area/backend/api",
@@ -1202,5 +1194,13 @@
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/736"
}
},
{
"type": "label",
"name": "area/expressions",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/699"
}
}
]
+17 -2
View File
@@ -5,6 +5,21 @@ updates:
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "/"
directories:
- "/"
- "/apps/playlist"
- "/pkg/aggregator"
- "/pkg/apimachinery"
- "/pkg/apiserver"
- "/pkg/build"
- "/pkg/build/wire"
- "/pkg/promlib"
- "/pkg/semconv"
- "/pkg/storage/unified/apistore"
- "/pkg/storage/unified/resource"
- "/pkg/util/xorm"
schedule:
interval: "weekly"
interval: "daily"
time: "02:00"
timezone: Etc/UTC
open-pull-requests-limit: 10
+49 -64
View File
@@ -1,9 +1,7 @@
{
"extends": [
"config:base"
],
"enabledManagers": ["npm"],
"ignoreDeps": [
extends: ["config:recommended"],
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)
@@ -14,84 +12,71 @@
"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
"@types/slate", // we don't want to continue using this on the long run, use Monaco editor instead of Slate
// Temporarily pause updating lerna and nx until we resolve build issues
"lerna",
"nx"
],
"includePaths": ["package.json", "packages/**", "public/app/plugins/**"],
"ignorePaths": ["emails/**", "plugins-bundled/**", "**/mocks/**"],
"labels": ["area/frontend", "dependencies", "no-changelog"],
"postUpdateOptions": ["yarnDedupeHighest"],
"packageRules": [
includePaths: ["package.json", "packages/**", "public/app/plugins/**"],
ignorePaths: ["emails/**", "plugins-bundled/**", "**/mocks/**"],
labels: ["area/frontend", "dependencies", "no-changelog"],
postUpdateOptions: ["yarnDedupeHighest"],
packageRules: [
{
"automerge": true,
"matchCurrentVersion": "!/^0/",
"matchUpdateTypes": ["patch"],
"excludePackagePatterns": ["^@?storybook", "^@locker"]
automerge: true,
matchCurrentVersion: "!/^0/",
matchUpdateTypes: ["patch"],
matchPackageNames: ["!/^@?storybook/", "!/^@locker/"],
},
{
"matchPackagePatterns": ["^@?storybook"],
"extends": ["schedule:monthly"],
"groupName": "Storybook updates"
extends: ["schedule:monthly"],
groupName: "Storybook updates",
matchPackageNames: ["/^@?storybook/"],
},
{
"groupName": "React Aria",
"matchPackagePrefixes": [
"@react-aria/",
"@react-stately/"
]
groupName: "React Aria",
matchPackageNames: ["@react-aria/{/,}**", "@react-stately/{/,}**"],
},
{
"groupName": "Moveable",
"matchPackageNames": [
"moveable",
"react-moveable"
]
groupName: "Moveable",
matchPackageNames: ["moveable", "react-moveable"],
},
{
"groupName": "Slate",
"matchPackageNames": [
"@types/slate",
"@types/slate-react",
"slate",
"slate-react"
]
groupName: "Slate",
matchPackageNames: ["@types/slate", "@types/slate-react", "slate", "slate-react"],
},
{
"groupName": "d3",
"matchPackagePrefixes": [
"d3",
"@types/d3"
]
groupName: "d3",
matchPackageNames: ["d3{/,}**", "@types/d3{/,}**"],
},
{
"groupName": "visx",
"matchPackagePrefixes": [
"@visx/"
]
groupName: "scenes",
matchPackageNames: ["@grafana/scenes", "@grafana/scenes-react"],
},
{
"groupName": "uLibraries",
"matchPackageNames": [
"@leeoniya/ufuzzy",
"uplot"
],
"reviewers": ["leeoniya"],
groupName: "visx",
matchPackageNames: ["@visx/{/,}**"],
},
{
"groupName": "locker",
"matchPackagePrefixes": [
"@locker/"
],
"reviewers": ["team:grafana/plugins-platform-frontend"],
groupName: "uLibraries",
matchPackageNames: ["@leeoniya/ufuzzy", "uplot"],
reviewers: ["leeoniya"],
},
{
groupName: "locker",
reviewers: ["team:grafana/plugins-platform-frontend"],
matchPackageNames: ["@locker/{/,}**"],
},
],
"pin": {
"enabled": false
pin: {
enabled: false,
},
prConcurrentLimit: 10,
rebaseWhen: "conflicted",
reviewers: ["team:grafana/frontend-ops"],
separateMajorMinor: false,
vulnerabilityAlerts: {
addLabels: ["area/security"],
},
"prConcurrentLimit": 10,
"rebaseWhen": "conflicted",
"reviewers": ["team:grafana/frontend-ops"],
"separateMajorMinor": false,
"vulnerabilityAlerts": {
"addLabels": ["area/security"]
}
}
+10 -5
View File
@@ -10,19 +10,24 @@ jobs:
if: github.repository == 'grafana/grafana'
runs-on: ubuntu-latest
steps:
- name: Checkout
- name: Checkout Actions
uses: actions/checkout@v4
with:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- 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 }}
- run: git config --global user.email '132647405+grafana-delivery-bot[bot]@users.noreply.github.com'
- run: git config --global user.name 'grafana-delivery-bot[bot]'
- run: git remote set-url origin "https://grafana-delivery-bot:${{ steps.generate_token.outputs.token }}@github.com/grafana/grafana.git"
- name: Run backport
uses: grafana/grafana-github-actions-go/backport@main
uses: ./actions/backport
with:
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{ steps.generate_token.outputs.token }}
labelsToAdd: "backport"
title: "[{{base}}] {{originalTitle}}"
@@ -1,43 +0,0 @@
name: Create next release branch
on:
workflow_call:
inputs:
ownerRepo:
type: string
description: Owner/repo of the repository where the branch is created (e.g. 'grafana/grafana')
required: true
source:
description: The release branch to increment (eg providing `release-11.2.3` will result in `release-11.2.4` being created)
type: string
required: true
secrets:
token:
required: true
outputs:
branch:
description: The new branch that was created
value: ${{ jobs.main.outputs.branch }}
workflow_dispatch:
inputs:
ownerRepo:
description: Owner/repo of the repository where the branch is created (e.g. 'grafana/grafana')
source:
description: The release branch to increment (eg providing `release-11.2.3` will result in `release-11.2.4` being created)
type: string
required: true
secrets:
token:
required: true
jobs:
main:
runs-on: ubuntu-latest
outputs:
branch: ${{ steps.branch.outputs.branch }}
steps:
- name: Create release branch
id: branch
uses: grafana/grafana-github-actions-go/bump-release@main
with:
ownerRepo: ${{ inputs.ownerRepo }}
source: ${{ inputs.source }}
token: ${{ secrets.token }}
@@ -11,7 +11,6 @@ on:
branches:
- "main"
- "v*.*.*"
- "release-*.*.*"
# This is run before the pull request has been merged, so we'll run against the src branch
jobs:
@@ -3,8 +3,11 @@ on:
issues:
types: [opened, closed, edited, reopened, assigned, unassigned, labeled, unlabeled]
permissions:
contents: read
id-token: write
env:
GITHUB_TOKEN: ${{ secrets.ISSUE_COMMANDS_TOKEN }}
ORGANIZATION: ${{ github.repository_owner }}
REPO: ${{ github.event.repository.name }}
TARGET_PROJECT: 202
@@ -13,27 +16,28 @@ env:
concurrency:
group: issue-label-when-in-project-${{ github.event.number }}
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.ISSUE_COMMANDS_TOKEN != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
main:
needs: config
if: needs.config.outputs.has-secrets
if: github.repository == 'grafana/grafana'
runs-on: ubuntu-latest
steps:
- name: log in
run: gh api user -q .login
- name: "Get vault secrets"
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
# Secrets placed in the ci/repo/grafana/grafana/plugins_platform_issue_commands_github_bot path in Vault
repo_secrets: |
GH_APP_ID=plugins_platform_issue_commands_github_bot:app_id
GH_APP_PEM=plugins_platform_issue_commands_github_bot:app_pem
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ env.GH_APP_ID }}
private_key: ${{ env.GH_APP_PEM }}
- name: Check if issue is in target project
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
run: |
gh api graphql -f query='
query($org: String!, $repo: String!) {
@@ -62,6 +66,8 @@ jobs:
done
- name: Add label to issue
if: env.IN_TARGET_PROJ
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
run: |
gh api graphql -f query='
mutation ($labelableId: ID!, $labelIds: [ID!]!) {
@@ -6,6 +6,10 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
id-token: write
on:
pull_request:
paths:
@@ -154,26 +158,16 @@ jobs:
project_id: 'grafanalabs-global'
install_components: 'bq'
- name: Get link for the Github Action job
id: job
uses: actions/github-script@v6
with:
script: |
const name = 'Detect breaking changes';
const script = require('./.github/workflows/scripts/pr-get-job-link.js')
await script({name, github, context, core})
- name: Detect breaking changes
id: breaking-changes
run: ./scripts/check-breaking-changes.sh
env:
FORCE_COLOR: 3
GITHUB_JOB_LINK: ${{ steps.job.outputs.link }}
- name: Persisting the check output
run: |
mkdir -p ./levitate
echo "{ \"exit_code\": ${{ steps.breaking-changes.outputs.is_breaking }}, \"message\": \"${{ steps.breaking-changes.outputs.message }}\", \"job_link\": \"${{ steps.job.outputs.link }}#step:${GITHUB_STEP_NUMBER}:1\", \"pr_number\": \"${{ github.event.pull_request.number }}\" }" > ./levitate/result.json
echo "{ \"exit_code\": ${{ steps.breaking-changes.outputs.is_breaking }}, \"message\": \"${{ steps.breaking-changes.outputs.message }}\", \"pr_number\": \"${{ github.event.pull_request.number }}\" }" > ./levitate/result.json
- name: Upload check output as artifact
uses: actions/upload-artifact@v4
@@ -219,15 +213,12 @@ jobs:
PR_NUMBER: ${{ github.event.pull_request.number }}
with:
script: |
const { data } = await github.rest.issues.listLabelsOnIssue({
issue_number: process.env.PR_NUMBER,
const { data: labels } = await github.rest.issues.listLabelsOnIssue({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
});
const labels = data.map(({ name }) => name);
const doesExist = labels.includes('levitate breaking change');
return doesExist ? 1 : 0;
return labels.some(label => label.name === 'levitate breaking change') ? 1 : 0
# put the markdown into a variable
- name: Levitate Markdown
@@ -271,23 +262,41 @@ jobs:
delete: true
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
# Posts a notification to Slack if a PR has a breaking change and it did not have a breaking change before
- name: Post to Slack
- name: Send Slack Message via Payload
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.26.0
if: steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 && github.repository == 'grafana/grafana'
uses: grafana/shared-workflows/actions/send-slack-message@main
with:
payload: |
channel-id: "C031SLFH6G0"
payload: |
{
"pr_link": "https://github.com/grafana/grafana/pull/${{ steps.levitate-run.outputs.pr_number }}",
"pr_number": "${{ steps.levitate-run.outputs.pr_number }}",
"job_link": "${{ steps.levitate-run.outputs.job_link }}",
"reporting_job_link": "${{ github.event.workflow_run.html_url }}",
"message": "${{ steps.levitate-run.outputs.message }}"
"channel": "C031SLFH6G0",
"text": ":warning: Possible breaking changes detected in *PR:* <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }} :warning:",
"icon_emoji": ":grot:",
"username": "Levitate Bot",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*grafana/grafana* repository has possible breaking changes"
}
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*PR:* <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }}>"
},
{
"type": "mrkdwn",
"text": "*Job:* <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Job>"
}
]
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_LEVITATE_WEBHOOK_URL }}
HAS_SECRETS: ${{ (github.repository == 'grafana/grafana' || secrets.SLACK_LEVITATE_WEBHOOK_URL != '') || '' }}
# Add the label
- name: Add "levitate breaking change" label
-50
View File
@@ -1,50 +0,0 @@
name: Migrate open PRs
# Migrate open PRs from a superseded release branch to the current release branch and notify authors
on:
workflow_call:
inputs:
from:
description: 'The base branch to check for open PRs'
required: true
type: string
to:
description: 'The base branch to migrate open PRs to'
required: true
type: string
ownerRepo:
description: Owner/repo of the repository where the branch is created (e.g. 'grafana/grafana')
required: true
type: string
secrets:
token:
required: true
workflow_dispatch:
inputs:
from:
description: 'The base branch to check for open PRs'
required: true
type: string
to:
description: 'The base branch to migrate open PRs to'
required: true
type: string
ownerRepo:
description: Owner/repo of the repository where the branch is created (e.g. 'grafana/grafana')
required: true
type: string
secrets:
token:
required: true
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Migrate PRs
uses: grafana/grafana-github-actions-go/migrate-open-prs@main
with:
token: ${{ secrets.token }}
ownerRepo: ${{ inputs.ownerRepo }}
from: ${{ inputs.from }}
to: ${{ inputs.to }}
binary_release_tag: 'dev'
@@ -0,0 +1,49 @@
name: "Update Go Workspace for Dependabot PRs"
on:
pull_request:
branches: [main]
paths:
- .github/workflows/pr-dependabot-update-go-workspace.yml
- go.mod
- go.sum
- go.work
- go.work.sum
- '**/go.mod'
- '**/go.sum'
- '**.go'
permissions:
contents: write
jobs:
update:
runs-on: "ubuntu-latest"
if: ${{ github.actor == 'dependabot[bot]' }}
continue-on-error: true
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
- name: Set go version
uses: actions/setup-go@v4
with:
go-version-file: go.mod
- name: Update workspace
run: make update-workspace
- name: Commit and push workspace changes
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
run: |
if ! git diff --exit-code --quiet; then
git config --local user.name "Grot"
git config --local user.email "grot@grafana.com"
git config --local --add --bool push.autoSetupRemote true
echo "Committing and pushing workspace changes"
git remote
git branch -l
git commit -a -m "update workspace"
git push origin $BRANCH_NAME
fi
@@ -4,6 +4,15 @@ on:
workflow_dispatch:
pull_request:
branches: [main]
paths:
- .github/workflows/pr-go-workspace-check.yml
- go.mod
- go.sum
- go.work
- go.work.sum
- '**/go.mod'
- '**/go.sum'
- '**.go'
jobs:
check:
@@ -3,7 +3,7 @@ name: publish-technical-documentation-release
on:
push:
branches:
- release-[0-9]+.[0-9]+.[0-9]+
- v[0-9]+.[0-9]+.x
tags:
- v[0-9]+.[0-9]+.[0-9]+
paths:
@@ -20,10 +20,10 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: grafana/writers-toolkit/publish-technical-documentation-release@publish-technical-documentation-release/v2
- uses: grafana/writers-toolkit/publish-technical-documentation-release@publish-technical-documentation-release/v1
with:
release_tag_regexp: "^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$"
release_branch_regexp: "^release-(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$"
release_branch_with_patch_regexp: "^release-(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$"
release_tag_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
release_branch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.x$"
release_branch_with_patch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
website_directory: content/docs/grafana
version_suffix: ""
-50
View File
@@ -27,18 +27,10 @@ jobs:
name: Setup and establish latest
outputs:
version: ${{ steps.output.outputs.version }}
release_branch: ${{ steps.output.outputs.release_branch }}
dry_run: ${{ steps.output.outputs.dry_run }}
latest: ${{ steps.output.outputs.latest }}
token: ${{ steps.output.outputs.token }}
runs-on: ubuntu-latest
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 }}
# The github-release action expects a `LATEST` value of a string of either '1' or '0'
- if: ${{ github.event_name == 'workflow_dispatch' }}
run: |
@@ -57,51 +49,9 @@ jobs:
echo "latest: $LATEST"
echo "version: $VERSION"
echo "release_branch=$(echo $VERSION | sed -s 's/^v/release-/g')" >> "$GITHUB_OUTPUT"
echo "token=${{ steps.generate_token.outputs.token }}" >> "$GITHUB_OUTPUT"
echo "dry_run=$DRY_RUN" >> "$GITHUB_OUTPUT"
echo "latest=$LATEST" >> "$GITHUB_OUTPUT"
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
create_next_release_branch_grafana:
name: Create next release branch (Grafana)
needs: setup
uses: ./.github/workflows/create-next-release-branch.yml
with:
ownerRepo: 'grafana/grafana'
source: ${{ needs.setup.outputs.release_branch }}
secrets:
token: ${{ needs.setup.outputs.token }}
create_next_release_branch_enterprise:
name: Create next release branch (Grafana Enterprise)
needs: setup
uses: ./.github/workflows/create-next-release-branch.yml
with:
ownerRepo: 'grafana/grafana'
source: ${{ needs.setup.outputs.release_branch }}
secrets:
token: ${{ needs.setup.outputs.token }}
migrate_prs_grafana:
needs:
- setup
- create_next_release_branch_grafana
uses: ./.github/workflows/migrate-prs.yml
with:
ownerRepo: 'grafana/grafana'
from: ${{ needs.setup.outputs.release_branch }}
to: ${{ needs.create_next_release_branch_grafana.outputs.branch }}
secrets:
token: ${{ needs.setup.outputs.token }}
migrate_prs_enterprise:
needs:
- setup
- create_next_release_branch_enterprise
uses: ./.github/workflows/migrate-prs.yml
with:
ownerRepo: 'grafana/grafana-enterprise'
from: ${{ needs.setup.outputs.release_branch }}
to: ${{ needs.create_next_release_branch_enterprise.outputs.branch }}
secrets:
token: ${{ needs.setup.outputs.token }}
post_changelog_on_forum:
needs: setup
uses: ./.github/workflows/community-release.yml
+6 -12
View File
@@ -4,7 +4,7 @@
# 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: Grafana Release PR
name: Complete a Grafana release
on:
workflow_dispatch:
inputs:
@@ -19,7 +19,7 @@ on:
target:
required: true
type: string
description: The release branch pattern (eg v9.5.x) that these changes are being merged into
description: The base branch that these changes are being merged into
backport:
required: false
type: string
@@ -61,17 +61,10 @@ jobs:
with:
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: Get release branch
id: branch
uses: grafana/grafana-github-actions-go/latest-release-branch@main
with:
token: ${{ steps.generate_token.outputs.token }}
ownerRepo: 'grafana/grafana'
pattern: ${{ inputs.target }}
- name: Checkout Grafana
uses: actions/checkout@v4
with:
ref: ${{ steps.branch.outputs.branch }}
ref: ${{ inputs.target }}
fetch-depth: 0
fetch-tags: true
- name: Checkout Grafana (main)
@@ -131,6 +124,7 @@ jobs:
rm -f CHANGELOG.part changelog_items.md
git diff CHANGELOG.md
- name: "Prettify CHANGELOG.md"
run: npx prettier --write CHANGELOG.md
- name: Commit CHANGELOG.md changes
@@ -157,7 +151,7 @@ jobs:
$( [ "x${{ inputs.latest }}" == "xtrue" ] && printf %s '-l "release/latest"') \
-l "no-changelog" \
--dry-run=${{ inputs.dry_run }} \
-B "${{ steps.branch.outputs.branch }}" \
-B "${{ inputs.target }}" \
--title "Release: ${{ inputs.version }}" \
--body "These code changes must be merged after a release is complete"
env:
@@ -171,7 +165,7 @@ jobs:
-l "product-approved" \
-l "no-changelog" \
--dry-run=${{ inputs.dry_run }} \
-B "${{ steps.branch.outputs.branch }}" \
-B "${{ inputs.target }}" \
--title "Release: ${{ inputs.version }}" \
--body "These code changes must be merged after a release is complete"
env:
@@ -1,9 +0,0 @@
module.exports = async ({ name, github, context, core }) => {
const { owner, repo } = context.repo;
const url = `https://api.github.com/repos/${owner}/${repo}/actions/runs/${context.runId}/jobs`
const result = await github.request(url);
const job = result.data.jobs.find(j => j.name === name);
core.setOutput('link', `${job.html_url}?check_suite_focus=true`);
}
+40 -29
View File
@@ -4,48 +4,59 @@ on:
# only run on PRs where go.mod/go.sum/etc have been updated
paths:
- go.*
- .github/workflows/trivy-scan.yml
push:
branches:
- main
paths:
- go.*
- .github/workflows/trivy-scan.yml
jobs:
trivy-scan:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install Trivy
uses: aquasecurity/setup-trivy@v0.2.2
with:
version: v0.56.2
cache: true
- name: Download Trivy DB
run: |
trivy fs --no-progress --download-db-only --db-repository public.ecr.aws/aquasecurity/trivy-db
- name: Run Trivy vulnerability scanner (table output)
uses: aquasecurity/trivy-action@0.24.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'
# Use the trivy binary rather than the aquasecurity/trivy-action action
# to avoid a few bugs
# 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
run: |
trivy fs \
--scanners vuln \
--format table \
--exit-code 1 \
--ignore-unfixed \
--pkg-types os,library \
--severity CRITICAL,HIGH \
--ignorefile .trivyignore \
--skip-files yarn.lock,package.json \
--skip-db-update \
.
- name: Run Trivy vulnerability scanner (SARIF)
uses: aquasecurity/trivy-action@0.24.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
# Use the trivy binary rather than the aquasecurity/trivy-action action
# to avoid a few bugs
run: |
trivy fs \
--scanners vuln \
--format sarif \
--output trivy-results.sarif \
--ignore-unfixed \
--pkg-types os,library \
--ignorefile .trivyignore \
--skip-db-update \
.
if: always() && github.repository == 'grafana/grafana'
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v3
+3
View File
@@ -107,6 +107,7 @@ profile.cov
/pkg/extensions/*
/pkg/build/cmd/artifactspage.go
/pkg/build/cmd/artifactspage.tmpl.html
/pkg/build/cmd/exportversion.go
/pkg/server/wireexts_enterprise.go
/pkg/cmd/grafana-cli/runner/wireexts_enterprise.go
!/pkg/extensions/main.go
@@ -223,3 +224,5 @@ public/app/plugins/**/dist/
# Mock service worker used for fake API responses in frontend development
public/mockServiceWorker.js
/e2e/test-plugins/*/dist
+15 -1
View File
@@ -9,7 +9,21 @@
"program": "${workspaceFolder}/pkg/cmd/grafana/",
"env": {},
"cwd": "${workspaceFolder}",
"args": ["server", "--homepath", "${workspaceFolder}", "--packaging", "dev", "cfg:app_mode=development"]
"args": [
"server",
"--homepath", "${workspaceFolder}",
"--packaging", "dev",
"cfg:app_mode=development",
]
},
{
"name": "Attach to Test Process",
"type": "go",
"request": "attach",
"mode": "remote",
"host": "127.0.0.1",
"port": 50480,
"apiVersion": 2,
},
{
"name": "Run API Server (testdata)",
@@ -1,63 +0,0 @@
diff --git a/cjs/history.js b/cjs/history.js
index fcd8ebab613c6d87b9ac824feb30ab1080cf0ef2..4df20d5cb2f9ba5fc8777899aada53f49399560b 100644
--- a/cjs/history.js
+++ b/cjs/history.js
@@ -103,16 +103,6 @@ function createLocation(path, state, key, currentLocation) {
if (state !== undefined && location.state === undefined) location.state = state;
}
- try {
- location.pathname = decodeURI(location.pathname);
- } catch (e) {
- if (e instanceof URIError) {
- throw new URIError('Pathname "' + location.pathname + '" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');
- } else {
- throw e;
- }
- }
-
if (key) location.key = key;
if (currentLocation) {
diff --git a/esm/history.js b/esm/history.js
index df67820fe3eed558c44fca07a82b0cd409d46720..e0e0d4f69a407e8de782b3fdf8297d42708e110a 100644
--- a/esm/history.js
+++ b/esm/history.js
@@ -80,16 +80,6 @@ function createLocation(path, state, key, currentLocation) {
if (state !== undefined && location.state === undefined) location.state = state;
}
- try {
- location.pathname = decodeURI(location.pathname);
- } catch (e) {
- if (e instanceof URIError) {
- throw new URIError('Pathname "' + location.pathname + '" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');
- } else {
- throw e;
- }
- }
-
if (key) location.key = key;
if (currentLocation) {
diff --git a/umd/history.js b/umd/history.js
index 80e4ff66c44a2a71d4f842cc05a252e48dd18e9a..f8f4901be95e48c66f5626fbf051747a2ffbe41d 100644
--- a/umd/history.js
+++ b/umd/history.js
@@ -207,16 +207,6 @@
if (state !== undefined && location.state === undefined) location.state = state;
}
- try {
- location.pathname = decodeURI(location.pathname);
- } catch (e) {
- if (e instanceof URIError) {
- throw new URIError('Pathname "' + location.pathname + '" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');
- } else {
- throw e;
- }
- }
-
if (key) location.key = key;
if (currentLocation) {
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -26,7 +26,7 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-outdated.cjs
spec: 'https://mskelton.dev/yarn-outdated/v2'
yarnPath: .yarn/releases/yarn-4.5.0.cjs
yarnPath: .yarn/releases/yarn-4.5.1.cjs
# Uncomment the following lines if you want to use Verdaccio local npm registry. Read more at packages/README.md
#npmScopes:
# grafana:
+208 -39
View File
@@ -1,42 +1,3 @@
<!-- 11.4.1 START -->
# 11.4.1 (2025-01-28)
### Features and enhancements
- **Security:** Update to Go 1.23.5 - Backport to v11.4.x [#99123](https://github.com/grafana/grafana/pull/99123), [@Proximyst](https://github.com/Proximyst)
- **Security:** Update to Go 1.23.5 - Backport to v11.4.x (Enterprise)
### Bug fixes
- **Alerting:** AlertingQueryRunner should skip descendant nodes of invalid queries [#97830](https://github.com/grafana/grafana/pull/97830), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Fix alert rules unpausing after moving rule to different folder [#97583](https://github.com/grafana/grafana/pull/97583), [@santihernandezc](https://github.com/santihernandezc)
- **Alerting:** Fix label escaping in rule export [#98649](https://github.com/grafana/grafana/pull/98649), [@moustafab](https://github.com/moustafab)
- **Alerting:** Fix slack image uploading to use new api [#98066](https://github.com/grafana/grafana/pull/98066), [@moustafab](https://github.com/moustafab)
- **Azure/GCM:** Improve error display [#97594](https://github.com/grafana/grafana/pull/97594), [@aangelisc](https://github.com/aangelisc)
- **Dashboards:** Fix issue where filtered panels would not react to variable changes [#98734](https://github.com/grafana/grafana/pull/98734), [@oscarkilhed](https://github.com/oscarkilhed)
- **Dashboards:** Fixes issue with panel header showing even when hide time override was enabled [#98747](https://github.com/grafana/grafana/pull/98747), [@torkelo](https://github.com/torkelo)
- **Dashboards:** Fixes week relative time ranges when weekStart was changed [#98269](https://github.com/grafana/grafana/pull/98269), [@torkelo](https://github.com/torkelo)
- **Dashboards:** Panel react for `timeFrom` and `timeShift` changes using variables [#98659](https://github.com/grafana/grafana/pull/98659), [@Sergej-Vlasov](https://github.com/Sergej-Vlasov)
- **DateTimePicker:** Fixes issue with date picker showing invalid date [#97971](https://github.com/grafana/grafana/pull/97971), [@torkelo](https://github.com/torkelo)
- **Fix:** Add support for datasource variable queries [#98119](https://github.com/grafana/grafana/pull/98119), [@sunker](https://github.com/sunker)
- **InfluxDB:** Adhoc filters can use template vars as values [#98786](https://github.com/grafana/grafana/pull/98786), [@bossinc](https://github.com/bossinc)
- **LibraryPanel:** Fallback to panel title if library panel title is not set [#99410](https://github.com/grafana/grafana/pull/99410), [@ivanortegaalba](https://github.com/ivanortegaalba)
### Plugin development fixes & changes
- **Grafana UI:** Re-add react-router-dom as a dependency [#98422](https://github.com/grafana/grafana/pull/98422), [@leventebalogh](https://github.com/leventebalogh)
<!-- 11.4.1 END -->
<!-- 11.4.0 START -->
# 11.4.0 (2024-12-05)
### Features and enhancements
- **Cloudwatch:** OpenSearch PPL and SQL support in Logs Insights
<!-- 11.4.0 END -->
<!-- 11.3.1 START -->
# 11.3.1 (2024-11-19)
@@ -73,6 +34,81 @@
- **Unified Storage:** Use ssl_mode instead of sslmode [#95662](https://github.com/grafana/grafana/pull/95662), [@chaudyg](https://github.com/chaudyg)
<!-- 11.3.1 END -->
<!-- 11.2.4 START -->
# 11.2.4 (2024-11-19)
### Features and enhancements
- **Alerting:** Make context deadline on AlertNG service startup configurable [#96133](https://github.com/grafana/grafana/pull/96133), [@fayzal-g](https://github.com/fayzal-g)
- **MigrationAssistant:** Restrict dashboards, folders and datasources by the org id of the signed in user [#96344](https://github.com/grafana/grafana/pull/96344), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **Transformations:** Add 'transpose' transform [#95076](https://github.com/grafana/grafana/pull/95076), [@jmdane](https://github.com/jmdane)
- **User:** Check SignedInUser OrgID in RevokeInvite [#95489](https://github.com/grafana/grafana/pull/95489), [@mgyongyosi](https://github.com/mgyongyosi)
### Bug fixes
- **Alerting:** Force refetch prom rules when refreshing panel [#96124](https://github.com/grafana/grafana/pull/96124), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Anonymous User:** Adds validator service for anonymous users [#94993](https://github.com/grafana/grafana/pull/94993), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **Anonymous User:** Adds validator service for anonymous users (Enterprise)
- **Azure Monitor:** Support metric namespaces fallback [#95154](https://github.com/grafana/grafana/pull/95154), [@aangelisc](https://github.com/aangelisc)
- **Azure:** Fix duplicated traces in multi-resource trace query [#95246](https://github.com/grafana/grafana/pull/95246), [@aangelisc](https://github.com/aangelisc)
- **Azure:** Handle namespace request rejection [#95908](https://github.com/grafana/grafana/pull/95908), [@aangelisc](https://github.com/aangelisc)
- **Folders:** Add admin permissions upon creation of a folder w. SA [#95416](https://github.com/grafana/grafana/pull/95416), [@eleijonmarck](https://github.com/eleijonmarck)
- **Migration:** Remove table aliasing in delete statement to make it work for mariadb [#95231](https://github.com/grafana/grafana/pull/95231), [@kalleep](https://github.com/kalleep)
- **ServerLock:** Fix pg concurrency/locking issue [#95934](https://github.com/grafana/grafana/pull/95934), [@mgyongyosi](https://github.com/mgyongyosi)
- **ServerSideExpressions:** Disable SQL Expressions to prevent RCE and LFI vulnerability [#94959](https://github.com/grafana/grafana/pull/94959), [@samjewell](https://github.com/samjewell)
<!-- 11.2.4 END -->
<!-- 11.1.9 START -->
# 11.1.9 (2024-11-19)
### Features and enhancements
- **Alerting:** Make context deadline on AlertNG service startup configurable [#96132](https://github.com/grafana/grafana/pull/96132), [@fayzal-g](https://github.com/fayzal-g)
- **User:** Check SignedInUser OrgID in RevokeInvite [#95488](https://github.com/grafana/grafana/pull/95488), [@mgyongyosi](https://github.com/mgyongyosi)
### Bug fixes
- **Alerting:** Force refetch prom rules when refreshing panel [#96123](https://github.com/grafana/grafana/pull/96123), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Anonymous User:** Adds validator service for anonymous users [#94992](https://github.com/grafana/grafana/pull/94992), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **Anonymous User:** Adds validator service for anonymous users (Enterprise)
- **Azure Monitor:** Support metric namespaces fallback [#95153](https://github.com/grafana/grafana/pull/95153), [@aangelisc](https://github.com/aangelisc)
- **Azure:** Fix duplicated traces in multi-resource trace query [#95245](https://github.com/grafana/grafana/pull/95245), [@aangelisc](https://github.com/aangelisc)
- **Azure:** Handle namespace request rejection [#95907](https://github.com/grafana/grafana/pull/95907), [@aangelisc](https://github.com/aangelisc)
- **Migration:** Remove table aliasing in delete statement to make it work for mariadb [#95230](https://github.com/grafana/grafana/pull/95230), [@kalleep](https://github.com/kalleep)
- **Prometheus:** Fix interpolating adhoc filters with template variables [#95977](https://github.com/grafana/grafana/pull/95977), [@cazeaux](https://github.com/cazeaux)
- **ServerLock:** Fix pg concurrency/locking issue [#95933](https://github.com/grafana/grafana/pull/95933), [@mgyongyosi](https://github.com/mgyongyosi)
- **ServerSideExpressions:** Disable SQL Expressions to prevent RCE and LFI vulnerability [#94969](https://github.com/grafana/grafana/pull/94969), [@scottlepp](https://github.com/scottlepp)
<!-- 11.1.9 END -->
<!-- 11.0.8 START -->
# 11.0.8 (2024-11-19)
### Features and enhancements
- **Alerting:** Make context deadline on AlertNG service startup configurable [#96131](https://github.com/grafana/grafana/pull/96131), [@fayzal-g](https://github.com/fayzal-g)
- **User:** Check SignedInUser OrgID in RevokeInvite [#95487](https://github.com/grafana/grafana/pull/95487), [@mgyongyosi](https://github.com/mgyongyosi)
### Bug fixes
- **Anonymous User:** Adds validator service for anonymous users [#95151](https://github.com/grafana/grafana/pull/95151), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **Anonymous User:** Adds validator service for anonymous users (Enterprise)
- **Azure Monitor:** Support metric namespaces fallback [#95152](https://github.com/grafana/grafana/pull/95152), [@aangelisc](https://github.com/aangelisc)
- **Azure:** Fix duplicated traces in multi-resource trace query [#95244](https://github.com/grafana/grafana/pull/95244), [@aangelisc](https://github.com/aangelisc)
- **Azure:** Handle namespace request rejection [#95906](https://github.com/grafana/grafana/pull/95906), [@aangelisc](https://github.com/aangelisc)
- **Migration:** Remove table aliasing in delete statement to make it work for mariadb [#95229](https://github.com/grafana/grafana/pull/95229), [@kalleep](https://github.com/kalleep)
- **Prometheus:** Fix interpolating adhoc filters with template variables [#95986](https://github.com/grafana/grafana/pull/95986), [@cazeaux](https://github.com/cazeaux)
- **ServerLock:** Fix pg concurrency/locking issue [#95932](https://github.com/grafana/grafana/pull/95932), [@mgyongyosi](https://github.com/mgyongyosi)
- **ServerSideExpressions:** Disable SQL Expressions to prevent RCE and LFI vulnerability [#94971](https://github.com/grafana/grafana/pull/94971), [@samjewell](https://github.com/samjewell)
<!-- 11.0.8 END -->
<!-- 10.4.13 START -->
# 10.4.13 (2024-11-19)
<!-- 10.4.13 END -->
<!-- 11.3.0+security-01 START -->
# 11.3.0+security-01 (2024-11-12)
@@ -82,6 +118,22 @@
- **MigrationAssistant:** Fix Migration Assistant issue [CVE-2024-9476]
<!-- 11.3.0+security-01 END -->
<!-- 11.2.3+security-01 START -->
# 11.2.3+security-01 (2024-11-12)
- **MigrationAssistant:** Fix Migration Assistant issue [CVE-2024-9476]
<!-- 11.2.3+security-01 END -->
<!-- 10.4.12 START -->
# 10.4.12 (2024-11-08)
### Bug fixes
- **Alerting:** Make context deadline on AlertNG service startup configurable [#96058](https://github.com/grafana/grafana/pull/96058), [@fayzal-g](https://github.com/fayzal-g)
<!-- 10.4.12 END -->
<!-- 11.3.0 START -->
# 11.3.0 (2024-10-22)
@@ -121,6 +173,89 @@
- **SubMenu:** Fix expanding sub menu items on touch devices [#93208](https://github.com/grafana/grafana/pull/93208), [@yincongcyincong](https://github.com/yincongcyincong)
<!-- 11.3.0 END -->
<!-- 11.2.3 START -->
# 11.2.3 (2024-10-22)
### Bug fixes
- **Alerting:** Fix incorrect permission on POST external rule groups endpoint [CVE-2024-8118] [#93947](https://github.com/grafana/grafana/pull/93947), [@alexweav](https://github.com/alexweav)
- **AzureMonitor:** Fix App Insights portal URL for multi-resource trace queries [#94475](https://github.com/grafana/grafana/pull/94475), [@aangelisc](https://github.com/aangelisc)
- **Canvas:** Allow API calls to grafana origin [#94129](https://github.com/grafana/grafana/pull/94129), [@adela-almasan](https://github.com/adela-almasan)
- **Folders:** Correctly show new folder button under root folder [#94712](https://github.com/grafana/grafana/pull/94712), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **OrgSync:** Do not set default Organization for a user to a non-existent Organization [#94549](https://github.com/grafana/grafana/pull/94549), [@mgyongyosi](https://github.com/mgyongyosi)
- **Plugins:** Skip install errors if dependency plugin already exists [#94717](https://github.com/grafana/grafana/pull/94717), [@wbrowne](https://github.com/wbrowne)
- **ServerSideExpressions:** Disable SQL Expressions to prevent RCE and LFI vulnerability [#94959](https://github.com/grafana/grafana/pull/94959), [@samjewell](https://github.com/samjewell)
<!-- 11.2.3 END -->
<!-- 11.2.2+security-01 START -->
# 11.2.2+security-01 (2024-10-17)
### Bug fixes
- **SQL Expressions**: Fixes CVE-2024-9264
<!-- 11.2.2+security-01 END -->
<!-- 11.2.1+security-01 START -->
# 11.2.1+security-01 (2024-10-17)
### Features and enhancements
### Bug fixes
- **SQL Expressions**: Fixes CVE-2024-9264
<!-- 11.2.1+security-01 END -->
<!-- 11.1.8 START -->
# 11.1.8 (2024-10-22)
### Bug fixes
- **Alerting:** Fix incorrect permission on POST external rule groups endpoint [CVE-2024-8118] [#93948](https://github.com/grafana/grafana/pull/93948), [@alexweav](https://github.com/alexweav)
- **AzureMonitor:** Fix App Insights portal URL for multi-resource trace queries [#94474](https://github.com/grafana/grafana/pull/94474), [@aangelisc](https://github.com/aangelisc)
- **OrgSync:** Do not set default Organization for a user to a non-existent Organization [#94551](https://github.com/grafana/grafana/pull/94551), [@mgyongyosi](https://github.com/mgyongyosi)
- **ServerSideExpressions:** Disable SQL Expressions to prevent RCE and LFI vulnerability [#94969](https://github.com/grafana/grafana/pull/94969), [@scottlepp](https://github.com/scottlepp)
<!-- 11.1.8 END -->
<!-- 11.1.7+security-01 START -->
# 11.1.7+security-01 (2024-10-17)
### Bug fixes
- **SQL Expressions**: Fixes CVE-2024-9264
<!-- 11.1.7+security-01 END -->
<!-- 11.1.6+security-01 START -->
# 11.1.6+security-01 (2024-10-17)
### Bug fixes
- **SQL Expressions**: Fixes CVE-2024-9264
<!-- 11.1.6+security-01 END -->
<!-- 11.0.6+security-01 START -->
# 11.0.6+security-01 (2024-10-17)
### Bug fixes
- **SQL Expressions**: Fixes CVE-2024-9264
<!-- 11.0.6+security-01 END -->
<!-- 11.0.5+security-01 START -->
# 11.0.5+security-01 (2024-10-17)
### Bug fixes
- **SQL Expressions**: Fixes CVE-2024-9264
<!-- 11.0.5+security-01 END -->
<!-- 11.2.2 START -->
# 11.2.2 (2024-10-01)
@@ -164,6 +299,19 @@
- **Plugins:** Avoid returning 404 for `AutoEnabled` apps [#93487](https://github.com/grafana/grafana/pull/93487), [@wbrowne](https://github.com/wbrowne)
<!-- 11.1.7 END -->
<!-- 11.0.7 START -->
# 11.0.7 (2024-10-22)
### Bug fixes
- **Alerting:** Fix incorrect permission on POST external rule groups endpoint [CVE-2024-8118] [#93949](https://github.com/grafana/grafana/pull/93949), [@alexweav](https://github.com/alexweav)
- **AzureMonitor:** Fix App Insights portal URL for multi-resource trace queries [#94489](https://github.com/grafana/grafana/pull/94489), [@aangelisc](https://github.com/aangelisc)
- **Dashboard:** Make dashboard search faster [#94702](https://github.com/grafana/grafana/pull/94702), [@knuzhdin](https://github.com/knuzhdin)
- **OrgSync:** Do not set default Organization for a user to a non-existent Organization [#94552](https://github.com/grafana/grafana/pull/94552), [@mgyongyosi](https://github.com/mgyongyosi)
- **ServerSideExpressions:** Disable SQL Expressions to prevent RCE and LFI vulnerability [#94971](https://github.com/grafana/grafana/pull/94971), [@samjewell](https://github.com/samjewell)
<!-- 11.0.7 END -->
<!-- 11.0.6 START -->
# 11.0.6 (2024-10-01)
@@ -181,6 +329,17 @@
- **Plugins:** Avoid returning 404 for `AutoEnabled` apps [#93486](https://github.com/grafana/grafana/pull/93486), [@wbrowne](https://github.com/wbrowne)
<!-- 11.0.6 END -->
<!-- 10.4.11 START -->
# 10.4.11 (2024-10-22)
### Bug fixes
- **Alerting:** Fix broken panelId links [#94686](https://github.com/grafana/grafana/pull/94686), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Fix incorrect permission on POST external rule groups endpoint [CVE-2024-8118] [#93946](https://github.com/grafana/grafana/pull/93946), [@alexweav](https://github.com/alexweav)
- **Dashboard:** Make dashboard search faster [#94703](https://github.com/grafana/grafana/pull/94703), [@knuzhdin](https://github.com/knuzhdin)
<!-- 10.4.11 END -->
<!-- 10.4.10 START -->
# 10.4.10 (2024-10-01)
@@ -196,6 +355,16 @@
- **Correlations:** Limit access to correlations page to users who can access Explore [#93673](https://github.com/grafana/grafana/pull/93673), [@ifrost](https://github.com/ifrost)
<!-- 10.4.10 END -->
<!-- 10.3.12 START -->
# 10.3.12 (2024-10-22)
### Bug fixes
- **Alerting:** Fix incorrect permission on POST external rule groups endpoint [CVE-2024-8118] [#93945](https://github.com/grafana/grafana/pull/93945), [@alexweav](https://github.com/alexweav)
- **Dashboard:** Make dashboard search faster [#94704](https://github.com/grafana/grafana/pull/94704), [@knuzhdin](https://github.com/knuzhdin)
<!-- 10.3.12 END -->
<!-- 10.3.11 START -->
# 10.3.11 (2024-10-01)
+21 -28
View File
@@ -1,19 +1,14 @@
# syntax=docker/dockerfile:1
# to maintain formatting of multiline commands in vscode, add the following to settings.json:
# "docker.languageserver.formatter.ignoreMultilineInstructions": true
ARG BASE_IMAGE=alpine:3.19.1
ARG BASE_IMAGE=alpine:3.20
ARG JS_IMAGE=node:20-alpine
ARG JS_PLATFORM=linux/amd64
ARG GO_IMAGE=golang:1.23.5-alpine
ARG GO_IMAGE=golang:1.23.1-alpine
# Default to building locally
ARG GO_SRC=go-builder
ARG JS_SRC=js-builder
# Javascript build stage
FROM --platform=${JS_PLATFORM} ${JS_IMAGE} AS js-builder
FROM --platform=${JS_PLATFORM} ${JS_IMAGE} as js-builder
ENV NODE_OPTIONS=--max_old_space_size=8000
@@ -35,11 +30,10 @@ COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js ./
COPY scripts scripts
COPY emails emails
ENV NODE_ENV production
ENV NODE_ENV=production
RUN yarn build
# Golang build stage
FROM ${GO_IMAGE} AS go-builder
FROM ${GO_IMAGE} as go-builder
ARG COMMIT_SHA=""
ARG BUILD_BRANCH=""
@@ -83,6 +77,7 @@ RUN if [[ "$BINGO" = "true" ]]; then \
COPY embed.go Makefile build.go package.json ./
COPY cue.mod cue.mod
COPY kinds kinds
COPY kindsv2 kindsv2
COPY local local
COPY packages/grafana-schema packages/grafana-schema
COPY public/app/plugins public/app/plugins
@@ -97,8 +92,7 @@ ENV BUILD_BRANCH=${BUILD_BRANCH}
RUN make build-go GO_BUILD_TAGS=${GO_BUILD_TAGS} WIRE_TAGS=${WIRE_TAGS}
# From-tarball build stage
FROM ${BASE_IMAGE} AS tgz-builder
FROM ${BASE_IMAGE} as tgz-builder
WORKDIR /tmp/grafana
@@ -110,8 +104,8 @@ COPY ${GRAFANA_TGZ} /tmp/grafana.tar.gz
RUN tar x -z -f /tmp/grafana.tar.gz --strip-components=1
# helpers for COPY --from
FROM ${GO_SRC} AS go-src
FROM ${JS_SRC} AS js-src
FROM ${GO_SRC} as go-src
FROM ${JS_SRC} as js-src
# Final stage
FROM ${BASE_IMAGE}
@@ -146,20 +140,19 @@ RUN if grep -i -q alpine /etc/issue; then \
fi
# glibc support for alpine x86_64 only
# docker run --rm --env STDOUT=1 sgerrand/glibc-builder 2.40 /usr/glibc-compat > glibc-bin-2.40.tar.gz
ARG GLIBC_VERSION=2.40
RUN if grep -i -q alpine /etc/issue && [ `arch` = "x86_64" ]; then \
wget -qO- "https://dl.grafana.com/glibc/glibc-bin-$GLIBC_VERSION.tar.gz" | tar zxf - -C / \
usr/glibc-compat/lib/ld-linux-x86-64.so.2 \
usr/glibc-compat/lib/libc.so.6 \
usr/glibc-compat/lib/libdl.so.2 \
usr/glibc-compat/lib/libm.so.6 \
usr/glibc-compat/lib/libpthread.so.0 \
usr/glibc-compat/lib/librt.so.1 \
usr/glibc-compat/lib/libresolv.so.2 && \
mkdir /lib64 && \
ln -s /usr/glibc-compat/lib/ld-linux-x86-64.so.2 /lib64; \
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-2.35-r0.apk \
-O /tmp/glibc-2.35-r0.apk && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-bin-2.35-r0.apk \
-O /tmp/glibc-bin-2.35-r0.apk && \
apk add --force-overwrite --no-cache /tmp/glibc-2.35-r0.apk /tmp/glibc-bin-2.35-r0.apk && \
rm -f /lib64/ld-linux-x86-64.so.2 && \
ln -s /usr/glibc-compat/lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2 && \
rm -f /tmp/glibc-2.35-r0.apk && \
rm -f /tmp/glibc-bin-2.35-r0.apk && \
rm -f /lib/ld-linux-x86-64.so.2 && \
rm -f /etc/ld.so.cache; \
fi
COPY --from=go-src /tmp/grafana/conf ./conf
+1
View File
@@ -3,3 +3,4 @@
List of previous team members that have had a big impact on the company or the product and contributed during a long period of time.
- Hugo Häggmark ([Björn Lundén](https://www.bjornlunden.se/))
- Marcus Efraimsson
+14 -3
View File
@@ -8,7 +8,7 @@ WIRE_TAGS = "oss"
include .bingo/Variables.mk
GO = go
GO_VERSION = 1.23.5
GO_VERSION = 1.23.1
GO_LINT_FILES ?= $(shell ./scripts/go-workspace/golangci-lint-includes.sh)
GO_TEST_FILES ?= $(shell ./scripts/go-workspace/test-includes.sh)
SH_FILES ?= $(shell find ./scripts -name *.sh)
@@ -17,6 +17,7 @@ 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)
GIT_BASE = remotes/origin/main
# GNU xargs has flag -r, and BSD xargs (e.g. MacOS) has that behaviour by default
XARGSR = $(shell xargs --version 2>&1 | grep -q GNU && echo xargs -r || echo xargs)
@@ -145,6 +146,11 @@ gen-cue: ## Do all CUE/Thema code generation
go generate ./kinds/gen.go
go generate ./public/app/plugins/gen.go
.PHONY: gen-cuev2
gen-cuev2: ## Do all CUE code generation
@echo "generate code from .cue files (v2)"
go generate ./kindsv2/gen.go
.PHONY: gen-feature-toggles
gen-feature-toggles:
## First go test run fails because it will re-generate the feature toggles.
@@ -173,12 +179,16 @@ gen-jsonnet:
go generate ./devenv/jsonnet
.PHONY: update-workspace
update-workspace:
update-workspace: gen-go
@echo "updating workspace"
bash scripts/go-workspace/update-workspace.sh
.PHONY: build-go
build-go: gen-go update-workspace ## Build all Go binaries.
@echo "build go files with updated workspace"
$(GO) run build.go $(GO_BUILD_FLAGS) build
build-go-fast: gen-go ## Build all Go binaries.
@echo "build go files"
$(GO) run build.go $(GO_BUILD_FLAGS) build
@@ -308,7 +318,7 @@ lint-go: golangci-lint ## Run all code checks for backend. You can use GO_LINT_F
.PHONY: lint-go-diff
lint-go-diff: $(GOLANGCI_LINT)
git diff --name-only remotes/origin/main | \
git diff --name-only $(GIT_BASE) | \
grep '\.go$$' | \
$(XARGSR) dirname | \
sort -u | \
@@ -411,6 +421,7 @@ protobuf: ## Compile protobuf definitions
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/storage/unified/resource --template pkg/storage/unified/resource/buf.gen.yaml
buf generate pkg/services/authz/proto/v1 --template pkg/services/authz/proto/v1/buf.gen.yaml
.PHONY: clean
clean: ## Clean up intermediate build artifacts.
+1 -1
View File
@@ -38,7 +38,7 @@ If you're interested in contributing to the Grafana project:
## Get involved
- Follow [@grafana on Twitter](https://twitter.com/grafana/).
- Follow [@grafana on X (formerly Twitter)](https://x.com/grafana/).
- Read and subscribe to the [Grafana blog](https://grafana.com/blog/).
- If you have a specific question, check out our [discussion forums](https://community.grafana.com/).
- For general discussions, join us on the [official Slack](https://slack.grafana.com) team.
+4
View File
@@ -0,0 +1,4 @@
.PHONY: generate
generate:
## --crdencoding none is needed to avoid infinite loop while generating recursive models'
grafana-app-sdk generate -c . -g ./apis --crdencoding none
@@ -0,0 +1,49 @@
package core
route: {
kind: "RoutingTree"
group: "notifications"
apiResource: {
groupOverride: "notifications.alerting.grafana.app"
}
codegen: {
frontend: false
backend: true
}
pluralName: "RoutingTrees"
current: "v0alpha1"
versions: {
"v0alpha1": {
schema: {
#RouteDefaults: {
receiver: string
group_by?: [...string]
group_wait?: string
group_interval?: string
repeat_interval?: string
}
#Matcher: {
type: "=" |"!="|"=~"|"!~" @cuetsy(kind="enum")
label: string
value: string
}
#Route: {
receiver?: string
matchers?: [...#Matcher]
continue: bool
group_by?: [...string]
mute_time_intervals?: [...string]
routes?: [...#Route]
group_wait?: string
group_interval?: string
repeat_interval?: string
}
spec: {
defaults: #RouteDefaults
routes: [...#Route]
}
}
}
}
}
+1 -1
View File
@@ -1,3 +1,3 @@
.PHONY: generate
generate:
@grafana-app-sdk generate -g ./apis --kindgrouping=group --postprocess
@grafana-app-sdk generate -g ./pkg/apis --kindgrouping=group --postprocess --crdencoding none
+50 -5
View File
@@ -3,36 +3,81 @@ module github.com/grafana/grafana/apps/playlist
go 1.23.1
require (
github.com/grafana/grafana-app-sdk v0.19.0
github.com/grafana/grafana-app-sdk v0.23.1
k8s.io/apimachinery v0.31.1
k8s.io/klog/v2 v2.130.1
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340
)
require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 // indirect
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
github.com/evanphx/json-patch v5.6.0+incompatible // indirect
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
github.com/getkin/kin-openapi v0.128.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.21.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/gnostic-models v0.6.8 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/imdario/mergo v0.3.16 // indirect
github.com/invopop/yaml v0.3.1 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/compress v1.17.9 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/perimeterx/marshmallow v1.1.5 // indirect
github.com/prometheus/client_golang v1.20.5 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.60.1 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/puzpuzpuz/xsync/v2 v2.5.1 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/x448/float16 v0.8.4 // indirect
golang.org/x/net v0.29.0 // indirect
golang.org/x/text v0.21.0 // indirect
google.golang.org/protobuf v1.34.2 // indirect
go.opentelemetry.io/otel v1.32.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect
go.opentelemetry.io/otel/metric v1.32.0 // indirect
go.opentelemetry.io/otel/sdk v1.32.0 // indirect
go.opentelemetry.io/otel/trace v1.32.0 // indirect
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
golang.org/x/net v0.30.0 // indirect
golang.org/x/oauth2 v0.23.0 // indirect
golang.org/x/sys v0.27.0 // indirect
golang.org/x/term v0.25.0 // indirect
golang.org/x/text v0.20.0 // indirect
golang.org/x/time v0.6.0 // indirect
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 // indirect
google.golang.org/grpc v1.67.1 // indirect
google.golang.org/protobuf v1.35.2 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/api v0.31.1 // indirect
k8s.io/apiextensions-apiserver v0.31.1 // indirect
k8s.io/client-go v0.31.1 // indirect
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
)
+104 -10
View File
@@ -1,19 +1,36 @@
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 h1:N7oVaKyGp8bttX0bfZGmcGkjz7DLQXhAn3DNd3T0ous=
github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874/go.mod h1:r5xuitiExdLAJ09PR7vBVENGvp4ZuTBeWTGtxuX3K+c=
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U=
github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
github.com/getkin/kin-openapi v0.128.0 h1:jqq3D9vC9pPq1dGcOCv7yOp1DaEe7c/T1vzcLbITSp4=
github.com/getkin/kin-openapi v0.128.0/go.mod h1:OZrfXzUfGrNbsKj+xmFBx6E5c6yH3At/tAKSc2UszXM=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
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.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4=
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-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
@@ -26,18 +43,35 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/grafana/grafana-app-sdk v0.19.0 h1:RY9HvCFR+4WUy81n53wejZnof9qE6++pd6r24d6+JYs=
github.com/grafana/grafana-app-sdk v0.19.0/go.mod h1:y0BgzYxc+a7CwOqkwUhN9zXd5cgZJjd2zAbgHEd/xzo=
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/grafana/grafana-app-sdk v0.23.1 h1:BRpUG0bA0oVxjthkmO2thuJBo3nbjaRSSmZJHw+mA8I=
github.com/grafana/grafana-app-sdk v0.23.1/go.mod h1:KzgPnTJfMeckGmMctv6CJb8Jr/o/5rwARDyjXoeR0Fc=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0 h1:ad0vkEBuk23VJzZR9nkLVG0YAoN9coASF1GusYX6AlU=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0/go.mod h1:igFoXX2ELCW06bol23DWPB5BEWfZISOzSP5K2sbLea0=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
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/invopop/yaml v0.3.1 h1:f0+ZpmhfBSS4MhG+4HYseMdJhoeeopbSKbq5Rpeelso=
github.com/invopop/yaml v0.3.1/go.mod h1:PMOp3nn4/12yEZUFfmOuNHJsZToEEOwoWsT+D81KkeA=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -45,21 +79,59 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s=
github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
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/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y=
github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc=
github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw=
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
github.com/puzpuzpuz/xsync/v2 v2.5.1 h1:mVGYAvzDSu52+zaGyNjC+24Xw2bQi3kTr4QJ6N9pIIU=
github.com/puzpuzpuz/xsync/v2 v2.5.1/go.mod h1:gD2H2krq/w52MfPLE+Uy64TzJDVY7lP2znR9qmR35kU=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.opentelemetry.io/otel v1.32.0 h1:WnBN+Xjcteh0zdk01SVqV55d/m62NJLJdIyb4y/WO5U=
go.opentelemetry.io/otel v1.32.0/go.mod h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0 h1:IJFEoHiytixx8cMiVAO+GmHR6Frwu+u5Ur8njpFO6Ac=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0/go.mod h1:3rHrKNtLIoS0oZwkY2vxi+oJcwFRWdtUyRII+so45p8=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0 h1:9kV11HXBHZAvuPUZxmMWrH8hZn/6UnHX4K0mu36vNsU=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0/go.mod h1:JyA0FHXe22E1NeNiHmVp7kFHglnexDQ7uRWDiiJ1hKQ=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4=
go.opentelemetry.io/otel/metric v1.32.0 h1:xV2umtmNcThh2/a/aCP+h64Xx5wsj8qqnkYZktzNa0M=
go.opentelemetry.io/otel/metric v1.32.0/go.mod h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8=
go.opentelemetry.io/otel/sdk v1.32.0 h1:RNxepc9vK59A8XsgZQouW8ue8Gkb4jpWtJm9ge5lEG4=
go.opentelemetry.io/otel/sdk v1.32.0/go.mod h1:LqgegDBjKMmb2GC6/PrTnteJG39I8/vJCAP9LlJXEjU=
go.opentelemetry.io/otel/trace v1.32.0 h1:WIC9mYrXf8TmY/EXuULKc8hR17vE+Hjv2cssQDe03fM=
go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8=
go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0=
go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -69,18 +141,26 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s=
golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24=
golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
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.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug=
golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4=
golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@@ -89,8 +169,16 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
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=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw=
gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY=
google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 h1:M0KvPgPmDZHPlbRbaNU1APr28TvwvvdUPlSv7PUvy8g=
google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:dguCy7UOdZhTvLzDyt15+rOrawrpM4q7DD9dQ1P11P4=
google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1:XVhgTWWV3kGQlwJHR3upFWZeTsei6Oks1apkZSeonIE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI=
google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io=
google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
@@ -101,8 +189,14 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU=
k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI=
k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40=
k8s.io/apiextensions-apiserver v0.31.1/go.mod h1:tWMPR3sgW+jsl2xm9v7lAyRF1rYEK71i9G5dRtkknoQ=
k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U=
k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
k8s.io/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0=
k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
+2
View File
@@ -5,6 +5,8 @@ externalName: {
group: "playlist"
apiResource: {
groupOverride: "playlist.grafana.app"
mutation: operations: ["create","update"]
validation: operations: ["create","update"]
}
codegen: {
frontend: false
+64
View File
@@ -0,0 +1,64 @@
//
// This file is generated by grafana-app-sdk
// DO NOT EDIT
//
package apis
import (
"encoding/json"
"github.com/grafana/grafana-app-sdk/app"
)
var (
rawSchemaPlaylistv0alpha1 = []byte(`{"spec":{"properties":{"interval":{"type":"string"},"items":{"items":{"properties":{"type":{"description":"type of the item.","enum":["dashboard_by_tag","dashboard_by_uid","dashboard_by_id"],"type":"string"},"value":{"description":"Value depends on type and describes the playlist item.\n - dashboard_by_id: The value is an internal numerical identifier set by Grafana. This\n is not portable as the numerical identifier is non-deterministic between different instances.\n Will be replaced by dashboard_by_uid in the future. (deprecated)\n - dashboard_by_tag: The value is a tag which is set on any number of dashboards. All\n dashboards behind the tag will be added to the playlist.\n - dashboard_by_uid: The value is the dashboard UID","type":"string"}},"required":["type","value"],"type":"object"},"type":"array"},"title":{"type":"string"}},"required":["title","interval","items"],"type":"object"},"status":{"properties":{"additionalFields":{"description":"additionalFields is reserved for future use","type":"object","x-kubernetes-preserve-unknown-fields":true},"operatorStates":{"additionalProperties":{"properties":{"descriptiveState":{"description":"descriptiveState is an optional more descriptive state field which has no requirements on format","type":"string"},"details":{"description":"details contains any extra information that is operator-specific","type":"object","x-kubernetes-preserve-unknown-fields":true},"lastEvaluation":{"description":"lastEvaluation is the ResourceVersion last evaluated","type":"string"},"state":{"description":"state describes the state of the lastEvaluation.\nIt is limited to three possible states for machine evaluation.","enum":["success","in_progress","failed"],"type":"string"}},"required":["lastEvaluation","state"],"type":"object"},"description":"operatorStates is a map of operator ID to operator state evaluations.\nAny operator which consumes this kind SHOULD add its state evaluation information to this field.","type":"object"}},"type":"object","x-kubernetes-preserve-unknown-fields":true}}`)
versionSchemaPlaylistv0alpha1 app.VersionSchema
_ = json.Unmarshal(rawSchemaPlaylistv0alpha1, &versionSchemaPlaylistv0alpha1)
)
var appManifestData = app.ManifestData{
AppName: "playlist",
Group: "playlist.grafana.app",
Kinds: []app.ManifestKind{
{
Kind: "Playlist",
Scope: "Namespaced",
Conversion: false,
Versions: []app.ManifestKindVersion{
{
Name: "v0alpha1",
Admission: &app.AdmissionCapabilities{
Validation: &app.ValidationCapability{
Operations: []app.AdmissionOperation{
app.AdmissionOperationCreate,
app.AdmissionOperationUpdate,
},
},
Mutation: &app.MutationCapability{
Operations: []app.AdmissionOperation{
app.AdmissionOperationCreate,
app.AdmissionOperationUpdate,
},
},
},
Schema: &versionSchemaPlaylistv0alpha1,
},
},
},
},
}
func jsonToMap(j string) map[string]any {
m := make(map[string]any)
json.Unmarshal([]byte(j), &j)
return m
}
func LocalManifest() app.Manifest {
return app.NewEmbeddedManifest(appManifestData)
}
func RemoteManifest() app.Manifest {
return app.NewAPIServerManifest("playlist")
}
@@ -65,12 +65,13 @@ func (o *Playlist) SetSubresource(name string, value any) error {
}
func (o *Playlist) GetStaticMetadata() resource.StaticMetadata {
gvk := o.GroupVersionKind()
return resource.StaticMetadata{
Name: o.ObjectMeta.Name,
Namespace: o.ObjectMeta.Namespace,
Group: o.GroupVersionKind().Group,
Version: o.GroupVersionKind().Version,
Kind: o.GroupVersionKind().Kind,
Group: gvk.Group,
Version: gvk.Version,
Kind: gvk.Kind,
}
}
@@ -12,17 +12,17 @@ import (
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition {
return map[string]common.OpenAPIDefinition{
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.Playlist": schema_playlist_apis_playlist_v0alpha1_Playlist(ref),
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistItem": schema_playlist_apis_playlist_v0alpha1_PlaylistItem(ref),
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistList": schema_playlist_apis_playlist_v0alpha1_PlaylistList(ref),
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistOperatorState": schema_playlist_apis_playlist_v0alpha1_PlaylistOperatorState(ref),
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistSpec": schema_playlist_apis_playlist_v0alpha1_PlaylistSpec(ref),
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistStatus": schema_playlist_apis_playlist_v0alpha1_PlaylistStatus(ref),
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlayliststatusOperatorState": schema_playlist_apis_playlist_v0alpha1_PlayliststatusOperatorState(ref),
"github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.Playlist": schema_pkg_apis_playlist_v0alpha1_Playlist(ref),
"github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlaylistItem": schema_pkg_apis_playlist_v0alpha1_PlaylistItem(ref),
"github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlaylistList": schema_pkg_apis_playlist_v0alpha1_PlaylistList(ref),
"github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlaylistOperatorState": schema_pkg_apis_playlist_v0alpha1_PlaylistOperatorState(ref),
"github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlaylistSpec": schema_pkg_apis_playlist_v0alpha1_PlaylistSpec(ref),
"github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlaylistStatus": schema_pkg_apis_playlist_v0alpha1_PlaylistStatus(ref),
"github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlayliststatusOperatorState": schema_pkg_apis_playlist_v0alpha1_PlayliststatusOperatorState(ref),
}
}
func schema_playlist_apis_playlist_v0alpha1_Playlist(ref common.ReferenceCallback) common.OpenAPIDefinition {
func schema_pkg_apis_playlist_v0alpha1_Playlist(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
@@ -51,13 +51,13 @@ func schema_playlist_apis_playlist_v0alpha1_Playlist(ref common.ReferenceCallbac
"spec": {
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistSpec"),
Ref: ref("github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlaylistSpec"),
},
},
"status": {
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistStatus"),
Ref: ref("github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlaylistStatus"),
},
},
},
@@ -65,11 +65,11 @@ func schema_playlist_apis_playlist_v0alpha1_Playlist(ref common.ReferenceCallbac
},
},
Dependencies: []string{
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistSpec", "github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
"github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlaylistSpec", "github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlaylistStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
}
}
func schema_playlist_apis_playlist_v0alpha1_PlaylistItem(ref common.ReferenceCallback) common.OpenAPIDefinition {
func schema_pkg_apis_playlist_v0alpha1_PlaylistItem(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
@@ -99,7 +99,7 @@ func schema_playlist_apis_playlist_v0alpha1_PlaylistItem(ref common.ReferenceCal
}
}
func schema_playlist_apis_playlist_v0alpha1_PlaylistList(ref common.ReferenceCallback) common.OpenAPIDefinition {
func schema_pkg_apis_playlist_v0alpha1_PlaylistList(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
@@ -132,7 +132,7 @@ func schema_playlist_apis_playlist_v0alpha1_PlaylistList(ref common.ReferenceCal
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.Playlist"),
Ref: ref("github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.Playlist"),
},
},
},
@@ -143,11 +143,11 @@ func schema_playlist_apis_playlist_v0alpha1_PlaylistList(ref common.ReferenceCal
},
},
Dependencies: []string{
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.Playlist", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"},
"github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.Playlist", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"},
}
}
func schema_playlist_apis_playlist_v0alpha1_PlaylistOperatorState(ref common.ReferenceCallback) common.OpenAPIDefinition {
func schema_pkg_apis_playlist_v0alpha1_PlaylistOperatorState(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
@@ -199,7 +199,7 @@ func schema_playlist_apis_playlist_v0alpha1_PlaylistOperatorState(ref common.Ref
}
}
func schema_playlist_apis_playlist_v0alpha1_PlaylistSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
func schema_pkg_apis_playlist_v0alpha1_PlaylistSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
@@ -220,7 +220,7 @@ func schema_playlist_apis_playlist_v0alpha1_PlaylistSpec(ref common.ReferenceCal
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistItem"),
Ref: ref("github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlaylistItem"),
},
},
},
@@ -238,11 +238,11 @@ func schema_playlist_apis_playlist_v0alpha1_PlaylistSpec(ref common.ReferenceCal
},
},
Dependencies: []string{
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistItem"},
"github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlaylistItem"},
}
}
func schema_playlist_apis_playlist_v0alpha1_PlaylistStatus(ref common.ReferenceCallback) common.OpenAPIDefinition {
func schema_pkg_apis_playlist_v0alpha1_PlaylistStatus(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
@@ -273,7 +273,7 @@ func schema_playlist_apis_playlist_v0alpha1_PlaylistStatus(ref common.ReferenceC
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlayliststatusOperatorState"),
Ref: ref("github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlayliststatusOperatorState"),
},
},
},
@@ -283,11 +283,11 @@ func schema_playlist_apis_playlist_v0alpha1_PlaylistStatus(ref common.ReferenceC
},
},
Dependencies: []string{
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlayliststatusOperatorState"},
"github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1.PlayliststatusOperatorState"},
}
}
func schema_playlist_apis_playlist_v0alpha1_PlayliststatusOperatorState(ref common.ReferenceCallback) common.OpenAPIDefinition {
func schema_pkg_apis_playlist_v0alpha1_PlayliststatusOperatorState(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
+87
View File
@@ -0,0 +1,87 @@
package app
import (
"context"
"fmt"
"github.com/grafana/grafana-app-sdk/app"
"github.com/grafana/grafana-app-sdk/operator"
"github.com/grafana/grafana-app-sdk/resource"
"github.com/grafana/grafana-app-sdk/simple"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/klog/v2"
playlistv0alpha1 "github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1"
"github.com/grafana/grafana/apps/playlist/pkg/watchers"
)
type PlaylistConfig struct {
EnableWatchers bool
}
func New(cfg app.Config) (app.App, error) {
var (
playlistWatcher operator.ResourceWatcher
err error
)
playlistConfig, ok := cfg.SpecificConfig.(*PlaylistConfig)
if ok && playlistConfig.EnableWatchers {
playlistWatcher, err = watchers.NewPlaylistWatcher()
if err != nil {
return nil, fmt.Errorf("unable to create PlaylistWatcher: %w", err)
}
}
simpleConfig := simple.AppConfig{
Name: "playlist",
KubeConfig: cfg.KubeConfig,
InformerConfig: simple.AppInformerConfig{
ErrorHandler: func(ctx context.Context, err error) {
klog.ErrorS(err, "Informer processing error")
},
},
ManagedKinds: []simple.AppManagedKind{
{
Kind: playlistv0alpha1.PlaylistKind(),
Watcher: playlistWatcher,
Mutator: &simple.Mutator{
MutateFunc: func(ctx context.Context, req *app.AdmissionRequest) (*app.MutatingResponse, error) {
// modify req.Object if needed
return &app.MutatingResponse{
UpdatedObject: req.Object,
}, nil
},
},
Validator: &simple.Validator{
ValidateFunc: func(ctx context.Context, req *app.AdmissionRequest) error {
// do something here if needed
return nil
},
},
},
},
}
a, err := simple.NewApp(simpleConfig)
if err != nil {
return nil, err
}
err = a.ValidateManifest(cfg.ManifestData)
if err != nil {
return nil, err
}
return a, nil
}
func GetKinds() map[schema.GroupVersion]resource.Kind {
gv := schema.GroupVersion{
Group: playlistv0alpha1.PlaylistKind().Group(),
Version: playlistv0alpha1.PlaylistKind().Version(),
}
return map[schema.GroupVersion]resource.Kind{
gv: playlistv0alpha1.PlaylistKind(),
}
}
@@ -0,0 +1,75 @@
package watchers
import (
"context"
"fmt"
"github.com/grafana/grafana-app-sdk/operator"
"github.com/grafana/grafana-app-sdk/resource"
"k8s.io/klog/v2"
playlist "github.com/grafana/grafana/apps/playlist/pkg/apis/playlist/v0alpha1"
)
var _ operator.ResourceWatcher = &PlaylistWatcher{}
type PlaylistWatcher struct{}
func NewPlaylistWatcher() (*PlaylistWatcher, error) {
return &PlaylistWatcher{}, nil
}
// Add handles add events for playlist.Playlist resources.
func (s *PlaylistWatcher) Add(ctx context.Context, rObj resource.Object) error {
object, ok := rObj.(*playlist.Playlist)
if !ok {
return fmt.Errorf("provided object is not of type *playlist.Playlist (name=%s, namespace=%s, kind=%s)",
rObj.GetStaticMetadata().Name, rObj.GetStaticMetadata().Namespace, rObj.GetStaticMetadata().Kind)
}
klog.InfoS("Added resource", "name", object.GetStaticMetadata().Identifier().Name)
return nil
}
// Update handles update events for playlist.Playlist resources.
func (s *PlaylistWatcher) Update(ctx context.Context, rOld resource.Object, rNew resource.Object) error {
oldObject, ok := rOld.(*playlist.Playlist)
if !ok {
return fmt.Errorf("provided object is not of type *playlist.Playlist (name=%s, namespace=%s, kind=%s)",
rOld.GetStaticMetadata().Name, rOld.GetStaticMetadata().Namespace, rOld.GetStaticMetadata().Kind)
}
_, ok = rNew.(*playlist.Playlist)
if !ok {
return fmt.Errorf("provided object is not of type *playlist.Playlist (name=%s, namespace=%s, kind=%s)",
rNew.GetStaticMetadata().Name, rNew.GetStaticMetadata().Namespace, rNew.GetStaticMetadata().Kind)
}
klog.InfoS("Updated resource", "name", oldObject.GetStaticMetadata().Identifier().Name)
return nil
}
// Delete handles delete events for playlist.Playlist resources.
func (s *PlaylistWatcher) Delete(ctx context.Context, rObj resource.Object) error {
object, ok := rObj.(*playlist.Playlist)
if !ok {
return fmt.Errorf("provided object is not of type *playlist.Playlist (name=%s, namespace=%s, kind=%s)",
rObj.GetStaticMetadata().Name, rObj.GetStaticMetadata().Namespace, rObj.GetStaticMetadata().Kind)
}
klog.InfoS("Deleted resource", "name", object.GetStaticMetadata().Identifier().Name)
return nil
}
// Sync is not a standard resource.Watcher function, but is used when wrapping this watcher in an operator.OpinionatedWatcher.
// It handles resources which MAY have been updated during an outage period where the watcher was not able to consume events.
func (s *PlaylistWatcher) Sync(ctx context.Context, rObj resource.Object) error {
object, ok := rObj.(*playlist.Playlist)
if !ok {
return fmt.Errorf("provided object is not of type *playlist.Playlist (name=%s, namespace=%s, kind=%s)",
rObj.GetStaticMetadata().Name, rObj.GetStaticMetadata().Namespace, rObj.GetStaticMetadata().Kind)
}
klog.InfoS("Possible resource update", "name", object.GetStaticMetadata().Identifier().Name)
return nil
}
+23 -6
View File
@@ -316,6 +316,9 @@ feedback_links_enabled = true
# Static context that is being added to analytics events
reporting_static_context =
# Logs interaction events to the browser javascript console, intended for development only
browser_console_reporter = false
#################################### Security ############################
[security]
# disable creation of admin user on first start of grafana
@@ -403,8 +406,9 @@ angular_support_enabled = false
# The CSRF check will be executed even if the request has no login cookie.
csrf_always_check = false
# Comma-separated list of plugins ids that won't be loaded inside the frontend sandbox
disable_frontend_sandbox_for_plugins = grafana-incident-app
# Comma-separated list of plugins ids that will be loaded inside the frontend sandbox
# Currently behind the feature flag pluginsFrontendSandbox
enable_frontend_sandbox_for_plugins =
# Comma-separated list of paths for POST/PUT URL in actions. Empty will allow anything that is not on the same origin
actions_allow_post_url =
@@ -553,7 +557,7 @@ token_expiration_day_limit =
# Login cookie name
login_cookie_name = grafana_session
# Disable usage of Grafana build-in login solution.
# Disable usage of Grafana's built-in login solution.
disable_login = false
# The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation (token_rotation_interval_minutes).
@@ -622,6 +626,11 @@ id_response_header_namespaces = user api-key service-account
# This feature currently **only supports single-organization deployments**
managed_service_accounts_enabled = false
#################################### Passwordless Auth ###########################
[auth.passwordless]
enabled = false
code_expiration = 20m
#################################### SSO Settings ###########################
[sso_settings]
# interval for reloading the SSO Settings from the database
@@ -939,7 +948,7 @@ session_duration = "15m"
# Set the plugins that will receive AWS settings for each request (via plugin context)
# By default this will include all Grafana Labs owned AWS plugins, or those that make use of AWS settings (ElasticSearch, Prometheus).
forward_settings_to_plugins = cloudwatch, grafana-athena-datasource, grafana-redshift-datasource, grafana-x-ray-datasource, grafana-timestream-datasource, grafana-iot-sitewise-datasource, grafana-iot-twinmaker-app, grafana-opensearch-datasource, aws-datasource-provisioner, elasticsearch, prometheus
forward_settings_to_plugins = cloudwatch, grafana-athena-datasource, grafana-redshift-datasource, grafana-x-ray-datasource, grafana-timestream-datasource, grafana-iot-sitewise-datasource, grafana-iot-twinmaker-app, grafana-opensearch-datasource, aws-datasource-provisioner, elasticsearch, prometheus, grafana-amazonprometheus-datasource, grafana-aurora-datasource
#################################### Azure ###############################
[azure]
@@ -1125,6 +1134,9 @@ log_endpoint_requests_per_second_limit = 3
# Max requests accepted per short interval of time for Grafana backend log ingestion endpoint (/log)
log_endpoint_burst_limit = 15
# Enables all Faro default instrumentation by using `getWebInstrumentations`. Overrides other instrumentation flags.
instrumentations_all_enabled = false
# Should error instrumentation be enabled, only affects Grafana Javascript Agent
instrumentations_errors_enabled = true
@@ -1562,7 +1574,8 @@ 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.
# Short links that are never accessed will be deleted as cleanup. Time is set up in days. The default is 7 days. Maximum value is 365.
# 0 means they will be deleted approximately every 10 minutes. A negative value (such as -1) will disable expiration.
expire_time = 7
#################################### Internal Grafana Metrics ############
@@ -1748,7 +1761,8 @@ hide_angular_deprecation =
# Comma separated list of plugin ids for which environment variables should be forwarded. Used only when feature flag pluginsSkipHostEnvVars is enabled.
forward_host_env_vars =
# Comma separated list of plugin ids to install as part of the startup process.
preinstall = grafana-lokiexplore-app
# By default, the following plugins will be preinstalled: "grafana-lokiexplore-app"
preinstall =
# Controls whether preinstall plugins asynchronously (in the background) or synchronously (blocking). Useful when preinstalled plugins are used with provisioning.
preinstall_async = true
# Disables preinstall feature. It has the same effect as setting preinstall to an empty list.
@@ -2020,3 +2034,6 @@ fail_tests_on_console = true
# Whether or not to enable the MSW mock API, which intercepts requests and returns mock data
# Should only be used for local development or demo purposes
mock_api = false
# Whether to enable betterer eslint rules for local development
# Useful if you want to always see betterer rules that we're trying to fix so they're more prevalent
betterer_eslint_rules = false
+9 -2
View File
@@ -315,6 +315,9 @@
# Static context that is being added to analytics events
;reporting_static_context = grafanaInstance=12, os=linux
# Logs interaction events to the browser javascript console, intended for development only
;browser_console_reporter = false
#################################### Security ####################################
[security]
# disable creation of admin user on first start of grafana
@@ -408,8 +411,9 @@
# The CSRF check will be executed even if the request has no login cookie.
;csrf_always_check = false
# Comma-separated list of plugins ids that won't be loaded inside the frontend sandbox
;disable_frontend_sandbox_for_plugins =
# Comma-separated list of plugins ids that will be loaded inside the frontend sandbox
# Currently behind the feature flag pluginsFrontendSandbox
;enable_frontend_sandbox_for_plugins =
# Comma-separated list of paths for POST/PUT URL in actions. Empty will allow anything that is not on the same origin
;actions_allow_post_url =
@@ -1118,6 +1122,9 @@
# Max requests accepted per short interval of time for Grafana backend log ingestion endpoint (/log).
;log_endpoint_burst_limit = 15
# Enables all Faro default instrumentation by using `getWebInstrumentations`. Overrides other instrumentation flags.
;instrumentations_all_enabled = false
# Should error instrumentation be enabled, only affects Grafana Javascript Agent
;instrumentations_errors_enabled = true
+1 -1
View File
@@ -81,7 +81,7 @@ host = "localhost:1025"
You can access the web UI at http://localhost:12080/#/
## Debugging setup in VS Code
An example of launch.json is provided in `devenv/vscode/launch.json`. It basically does what Makefile and .bra.toml do. The 'program' field is set to the folder name so VS Code loads all *.go files in it instead of just main.go.
An example of launch.json is provided in `.vscode/launch.json`. It basically does what Makefile and .bra.toml do. The 'program' field is set to the folder name so VS Code loads all *.go files in it instead of just main.go.
## Troubleshooting
+1 -1
View File
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
echo "Deleting previous bulk folders"
find ./bulk-folders -type d -name "Bulk Folder*" -exec rm -rf "{}" \;
+1 -1
View File
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
blocks_dir=docker/blocks
docker_dir=docker
+8
View File
@@ -321,3 +321,11 @@ datasources:
access: proxy
url: http://localhost:4040
editable: false
- name: gdev-e2etestdatasource
type: grafana-e2etest-datasource
uid: gdev-e2etest-datasource
access: proxy
url: http://localhost:4040
editable: false
File diff suppressed because it is too large Load Diff
+33
View File
@@ -0,0 +1,33 @@
# TLS Caddy Server
Starts a [Caddy server](https://caddyserver.com/) with TLS configured.
## Setup
- Caddy is setup to run on port 2081, so when configuring the webhook receiver in Grafana Alerting you should use the
following the following URL: `https://localhost:2081`
- Also, Caddy is configured to use a self-signed certificate and to check the client certificate (`require_and_verify` mode)
- Caddy is setup to log requests and has debug mode enabled to make it easier to investigate possible issues
## TLS Certificates
If you want to configure a webhook contact point in Grafana Alerting with TLS, you need to provide a certificate and key.
You can find them in `/etc/caddy` directory in the container:
``` shell
docker exec devenv-caddy_tls-1 ls /etc/caddy/
```
### CA Certificate
``` shell
docker exec devenv-caddy_tls-1 cat /etc/caddy/ca.pem
```
### Client certificates
``` shell
docker exec devenv-caddy_tls-1 cat /etc/caddy/client.pem
docker exec devenv-caddy_tls-1 cat /etc/caddy/client.key
```
@@ -0,0 +1,14 @@
{
debug
}
localhost:2081 {
log
tls /etc/caddy/server.pem /etc/caddy/server.key {
ca_root /etc/caddy/ca.pem
client_auth {
mode require_and_verify
trust_pool file /etc/caddy/client.pem /etc/caddy/ca.pem
}
}
}
@@ -0,0 +1,12 @@
FROM caddy:2.8.4-alpine
WORKDIR /etc/caddy
EXPOSE 2081
COPY Caddyfile ./Caddyfile
COPY san.cnf ./san.cnf
COPY gen_certs.sh ./gen_certs.sh
RUN apk update && apk upgrade --no-cache && apk add openssl
RUN ./gen_certs.sh
+17
View File
@@ -0,0 +1,17 @@
#!/bin/sh
DAYS_VALID=3650
# Create CA certificate
openssl genpkey -algorithm RSA -out ca.key
openssl req -new -x509 -days $DAYS_VALID -key ca.key -out ca.pem -subj "/CN=My CA"
# Create server certificate
openssl genpkey -algorithm RSA -out server.key
openssl req -new -key server.key -out server.csr -subj "/CN=localhost"
openssl x509 -req -days $DAYS_VALID -in server.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out server.pem -extfile san.cnf -extensions v3_req
# Create client key and certificate
openssl genpkey -algorithm RSA -out client.key
openssl req -new -key client.key -out client.csr -subj "/CN=Client"
openssl x509 -req -days $DAYS_VALID -in client.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out client.pem -extfile san.cnf -extensions v3_req
@@ -0,0 +1,7 @@
[ v3_req ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = localhost
IP.1 = 127.0.0.1
IP.2 = ::1
@@ -0,0 +1,5 @@
caddy_tls:
build:
context: docker/blocks/caddy_tls/build
ports:
- "2081:2081"
+1 -1
View File
@@ -1,6 +1,6 @@
FROM ubuntu:xenial
ENV DEBIAN_FRONTEND noninteractive
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get -y update
RUN apt-get -y install collectd curl python-pip
+2 -1
View File
@@ -150,7 +150,8 @@ function getRandomLogItem(counter, timestamp) {
value: counter,
metric: chooseRandomElement(['cpu', 'memory', 'latency']),
description: "this is description",
slash: "Access to the path '\\\\tkasnpo\\KASNPO\\Files\\contacts.xml' is denied."
slash: "Access to the path '\\\\tkasnpo\\KASNPO\\Files\\contacts.xml' is denied.",
url: "/foo/blah"
};
}
@@ -1,9 +1,10 @@
mimir_backend:
image: grafana/mimir-alpine:r304-3872ccb
image: grafana/mimir-alpine:r316-55f47f8
container_name: mimir_backend
command:
- -target=backend
- -alertmanager.grafana-alertmanager-compatibility-enabled
- -alertmanager.utf8-strict-mode-enabled
nginx:
environment:
- NGINX_ENVSUBST_OUTPUT_DIR=/etc/nginx
@@ -15,6 +15,6 @@ require (
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.55.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
golang.org/x/sys v0.28.0 // indirect
golang.org/x/sys v0.22.0 // indirect
google.golang.org/protobuf v1.34.2 // indirect
)
@@ -20,7 +20,7 @@ github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0leargg
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
golang.org/x/exp v0.0.0-20240823005443-9b4947da3948 h1:kx6Ds3MlpiUHKj7syVnbp57++8WpuKPcR5yjLBjvLEA=
golang.org/x/exp v0.0.0-20240823005443-9b4947da3948/go.mod h1:akd2r19cwCdwSwWeIdzYQGa/EZZyqcOdwWiwj5L5eKQ=
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI=
golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
+4 -4
View File
@@ -2,18 +2,18 @@ FROM centos:6.6
RUN yum install -y initscripts curl tar gcc libc6-dev git
ENV GOLANG_VERSION 1.4.2
ENV GOLANG_VERSION=1.4.2
RUN curl -sSL https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz \
| tar -v -C /usr/src -xz
RUN cd /usr/src/go/src && ./make.bash --no-clean 2>&1
ENV PATH /usr/src/go/bin:$PATH
ENV PATH=/usr/src/go/bin:$PATH
RUN mkdir -p /go/src /go/bin && chmod -R 777 /go
ENV GOPATH /go
ENV PATH /go/bin:$PATH
ENV GOPATH=/go
ENV PATH=/go/bin:$PATH
WORKDIR /go/src/github.com/grafana/grafana
@@ -7,6 +7,6 @@ WORKDIR /go/src/webhook
RUN mkdir /tmp/logs
RUN go build -o /bin webhook-listener.go
ENV PORT 8080
ENV PORT=8080
ENTRYPOINT [ "/bin/webhook-listener" ]
+24
View File
@@ -0,0 +1,24 @@
server {
root /data;
autoindex on;
location / {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '$http_origin' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
add_header 'Access-Control-Allow-Headers' '*' always;
add_header 'Access-Control-Allow-Methods' '*';
# add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
add_header 'Access-Control-Allow-Origin' '$http_origin' always;
add_header 'Access-Control-Allow-Methods' '*' always;
add_header 'Access-Control-Allow-Headers' '*' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
rewrite ^/grafana-oss/11.4.0-pre/public(.*)$ $1 last;
}
}
+11
View File
@@ -0,0 +1,11 @@
version: '2'
services:
grafana_local_cdn:
image: nginx:alpine
container_name: grafana_local_cdn
ports:
- "8080:80"
volumes:
- ../../public:/data
- ./default.conf:/etc/nginx/conf.d/default.conf
+1 -1
View File
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
bulkDashboard() {
-21
View File
@@ -1,21 +0,0 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "grafana-server",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/pkg/cmd/grafana-server",
"env": {},
"args": [
"--homepath=${workspaceFolder}",
"--packaging=dev",
"cfg:app_mode=development",
]
}
]
}
+6
View File
@@ -0,0 +1,6 @@
aks
eror
iam
wan
[Operato Windrose](https://grafana.com/grafana/plugins/operato-windrose-panel/)
sergent
+8 -50
View File
@@ -1,6 +1,4 @@
#!/bin/sh
# shellcheck disable=SC2034
#
# The source of this file is https://raw.githubusercontent.com/grafana/writers-toolkit/main/docs/make-docs.
# # `make-docs` procedure changelog
#
@@ -8,26 +6,6 @@
# [Semantic versioning](https://semver.org/) is used to help the reader identify the significance of changes.
# Changes are relevant to this script and the support docs.mk GNU Make interface.
#
# ## 8.4.0 (2025-01-27)
#
# ### Fixed
#
# - Correct mount for the /docs/grafana-cloud/send-data/fleet-management/ project.
#
# ## 8.3.0 (2024-12-27)
#
# ### Added
#
# - Debug output of the final command when DEBUG=true.
#
# Useful to inspect if the script is correctly constructing the final command.
#
# ## 8.2.0 (2024-12-22)
#
# ### Removed
#
# - Special cases for Oracle and Datadog plugins now that they exist in the plugins monorepo.
#
# ## 8.1.0 (2024-08-22)
#
# ### Added
@@ -35,7 +13,7 @@
# - Additional website mounts for projects that use the website repository.
#
# Mounts are required for `make docs` to work in the website repository or with the website project.
# The Makefile is also mounted for convenient development of the procedure in that repository.
# The Makefile is also mounted for convenient development of the procedure that repository.
#
# ## 8.0.1 (2024-07-01)
#
@@ -312,7 +290,6 @@ PODMAN="$(if command -v podman >/dev/null 2>&1; then echo podman; else echo dock
if ! command -v curl >/dev/null 2>&1; then
if ! command -v wget >/dev/null 2>&1; then
# shellcheck disable=SC2016
errr 'either `curl` or `wget` must be installed for this script to work.'
exit 1
@@ -320,7 +297,6 @@ if ! command -v curl >/dev/null 2>&1; then
fi
if ! command -v "${PODMAN}" >/dev/null 2>&1; then
# shellcheck disable=SC2016
errr 'either `podman` or `docker` must be installed for this script to work.'
exit 1
@@ -367,10 +343,6 @@ EOF
exit 1
fi
# The following variables comprise a pseudo associative array of project names to source repositories.
# You only need to set a SOURCES variable if the project name does not match the source repository name.
# You can get a key identifier using the `identifier` function.
# To look up the value of any pseudo associative array, use the `aget` function.
SOURCES_as_code='as-code-docs'
SOURCES_enterprise_metrics='backend-enterprise'
SOURCES_enterprise_metrics_='backend-enterprise'
@@ -380,16 +352,13 @@ SOURCES_grafana_cloud_alerting_and_irm_slo='slo'
SOURCES_grafana_cloud_k6='k6-docs'
SOURCES_grafana_cloud_data_configuration_integrations='cloud-onboarding'
SOURCES_grafana_cloud_frontend_observability_faro_web_sdk='faro-web-sdk'
SOURCES_grafana_cloud_send_data_fleet_management='fleet-management'
SOURCES_helm_charts_mimir_distributed='mimir'
SOURCES_helm_charts_tempo_distributed='tempo'
SOURCES_opentelemetry='opentelemetry-docs'
SOURCES_plugins_grafana_datadog_datasource='datadog-datasource'
SOURCES_plugins_grafana_oracle_datasource='oracle-datasource'
SOURCES_resources='website'
# The following variables comprise a pseudo associative array of project names to versions.
# You only need to set a VERSIONS variable if it is not the default of 'latest'.
# You can get a key identifier using the `identifier` function.
# To look up the value of any pseudo associative array, use the `aget` function.
VERSIONS_as_code='UNVERSIONED'
VERSIONS_grafana_cloud='UNVERSIONED'
VERSIONS_grafana_cloud_alerting_and_irm_machine_learning='UNVERSIONED'
@@ -397,21 +366,20 @@ VERSIONS_grafana_cloud_alerting_and_irm_slo='UNVERSIONED'
VERSIONS_grafana_cloud_k6='UNVERSIONED'
VERSIONS_grafana_cloud_data_configuration_integrations='UNVERSIONED'
VERSIONS_grafana_cloud_frontend_observability_faro_web_sdk='UNVERSIONED'
VERSIONS_grafana_cloud_send_data_fleet_management='UNVERSIONED'
VERSIONS_opentelemetry='UNVERSIONED'
VERSIONS_plugins_grafana_datadog_datasource='latest'
VERSIONS_plugins_grafana_oracle_datasource='latest'
VERSIONS_resources='UNVERSIONED'
VERSIONS_technical_documentation='UNVERSIONED'
VERSIONS_website='UNVERSIONED'
VERSIONS_writers_toolkit='UNVERSIONED'
# The following variables comprise a pseudo associative array of project names to source repository paths.
# You only need to set a PATHS variable if it is not the default of 'docs/sources'.
# You can get a key identifier using the `identifier` function.
# To look up the value of any pseudo associative array, use the `aget` function.
PATHS_grafana_cloud='content/docs/grafana-cloud'
PATHS_helm_charts_mimir_distributed='docs/sources/helm-charts/mimir-distributed'
PATHS_helm_charts_tempo_distributed='docs/sources/helm-charts/tempo-distributed'
PATHS_mimir='docs/sources/mimir'
PATHS_plugins_grafana_datadog_datasource='docs/sources'
PATHS_plugins_grafana_oracle_datasource='docs/sources'
PATHS_resources='content'
PATHS_tempo='docs/sources/tempo'
PATHS_website='content'
@@ -663,7 +631,7 @@ POSIX_HERESTRING
case "${_project}" in
# Workaround for arbitrary mounts where the version field is expected to be the local directory
# and the repo field is expected to be the container directory.
# and the repo field is expected to be the container directory.
arbitrary)
echo "${_project}^${_version}^${_repo}^" # TODO
;;
@@ -833,16 +801,10 @@ case "${image}" in
| sed "s#$(proj_dst "${proj}")#sources#"
EOF
if [ -n "${DEBUG}" ]; then
debg "${cmd}"
fi
case "${OUTPUT_FORMAT}" in
human)
if ! command -v jq >/dev/null 2>&1; then
# shellcheck disable=SC2016
errr '`jq` must be installed for the `doc-validator` target to work.'
# shellcheck disable=SC2016
note 'To install `jq`, refer to https://jqlang.github.io/jq/download/,'
exit 1
@@ -875,10 +837,6 @@ EOF
/hugo/content/docs
EOF
if [ -n "${DEBUG}" ]; then
debg "${cmd}"
fi
case "${OUTPUT_FORMAT}" in
human)
${cmd} --output=line \
@@ -15,8 +15,6 @@ weight: 250
LBAC for data sources is available in private preview on Grafana Cloud for Loki created with basic authentication. Loki data sources for LBAC for data sources can only be created, provisioning is currently not available.
You cannot configure LBAC rules for Grafana-provisioned data sources from the UI. Alternatively, you can replicate the setting of the provisioned data source in a new data source as described in [LBAC Configuration for New Loki Data Source](https://grafana.com/docs/grafana/latest/administration/data-source-management/teamlbac/configure-teamlbac-for-loki/#task-1-lbac-configuration-for-new-loki-data-source) and then add the LBAC configuration to the new data source.
## Before you begin
To be able to use LBAC for data sources rules, you need to enable the feature toggle `teamHttpHeaders` on your Grafana instance. Contact support to enable the feature toggle for you.
@@ -234,7 +234,7 @@ To determine the number of active users:
A tiered license defines dashboard viewers, and dashboard editors and administrators, as two distinct user types that each have their own user limit.
As of Grafana Enterprise version 9.0, Grafana only counts and enforces the _total_ number of active users in your Grafana instance. For example, if you purchase 150 active users, you can have 20 admins, 70 editors, and 60 viewers, or you can have 150 admins. Grafana will enforce the total number of active users even if you use a license that grants a specific number of admins or editors and a certain number of viewers. This is a more permissive policy than before, which gives you the flexibility to change users' roles.
Grafana only counts and enforces the _total_ number of active users in your Grafana instance. For example, if you purchase 150 active users, you can have 20 admins, 70 editors, and 60 viewers, or you can have 150 admins. Grafana will enforce the total number of active users even if you use a license that grants a specific number of admins or editors and a certain number of viewers. This is a more permissive policy than before, which gives you the flexibility to change users' roles.
If you are running a pre-9.0 version of Grafana Enterprise, please refer to the documentation for that version to learn more about license enforcement in your current version.
@@ -256,24 +256,14 @@ The system creates a session when a user signs in to Grafana from a new device,
When a user reaches the session limit, the fourth connection succeeds and the longest inactive session is signed out.
### Request usage billing
You can request Grafana Labs to activate usage billing which allows an unlimited number of active users. When usage billing is enabled, Grafana does not enforce active user limits or display warning banners. Instead, you are charged for active users that exceed the limit, according to your customer contract.
Usage billing involves a contractual agreement between you and Grafana Labs, and it is only available if Grafana Enterprise is configured to [automatically refresh its license token]({{< relref "../../setup-grafana/configure-grafana/enterprise-configuration/#auto_refresh_license" >}}).
### Request a change to your license
To increase the number of licensed users within Grafana, extend a license, or change your licensed URL, contact [Grafana support](/profile/org#support) or your Grafana Labs account team. They will update your license, which you can activate from within Grafana.
For instructions about how to activate your license after it is updated, refer to [Activate an Enterprise license]({{< relref "#activate-an-enterprise-license" >}}).
## Usage billing
Standard Grafana Enterprise licenses include a certain number of seats that can be used, and prevent more users logging into Grafana than have been licensed. This makes sense if you prefer a predictable bill. It can however be a problem if you anticipate uneven usage patterns over time or when it's critical that no user ever be prevented from logging into Grafana due to capacity constraints.
For those use-cases we support usage-based billing, where your license includes a certain number of included users and you are billed on a monthly basis for any excess active users during the month.
Usage billing involves a contractual agreement between you and Grafana Labs and an update to your license, and it is only available if Grafana Enterprise version 10.0.0 or higher is configured to [automatically refresh its license token]({{< relref "../../setup-grafana/configure-grafana/enterprise-configuration/#auto_refresh_license" >}}).
### User deduplication
If your organization has multiple Grafana Enterprise instances with usage billing enabled, then each active user counts only once toward your license, regardless of how many instances that user signs into. Each Grafana Enterprise instance submits a hashed list of users to Grafana Labs via API every day. Each user email address or anonymous device ID is hashed using a one-way sha256 algorithm, and submitted to Grafana where the hashed users are deduplicated across instances.
### Request usage billing
To request usage billing, contact your Grafana Labs account team or [submit a support ticket](https://grafana.com/profile/org#support).
@@ -228,6 +228,58 @@ WARN[06-01|16:45:59] Running an unsigned plugin pluginID=<plugin id>
If you're developing a plugin, then you can enable development mode to allow all unsigned plugins.
{{% /admonition %}}
## Plugin Frontend Sandbox
{{% admonition type="caution" %}}
Plugin Frontend Sandbox is currently in [public preview](/docs/release-life-cycle/). Grafana Labs offers limited support, and breaking changes might occur prior to the feature being made generally available.
{{% /admonition %}}
The Plugin Frontend Sandbox is a security feature that isolates plugin frontend code from the main Grafana application.
When enabled, plugins run in a separate JavaScript context, which provides several security benefits:
- Prevents plugins from modifying parts of the Grafana interface outside their designated areas
- Stops plugins from interfering with other plugins functionality
- Protects core Grafana features from being altered by plugins
- Prevents plugins from modifying global browser objects and behaviors
Plugins running inside the Frontend Sandbox should continue to work normally without any noticeable changes in their intended functionality.
### Enable Frontend Sandbox
The Frontend Sandbox feature is currently behind the `pluginsFrontendSandbox` feature flag. To enable it, you'll need to:
1. Enable the feature flag in your Grafana configuration. For more information about enabling feature flags, refer to [Configure feature toggles](/setup-grafana/configure-grafana/feature-toggles/).
2. For self-hosted Grafana installations, add the plugin IDs you want to sandbox in the `security` section using the `enable_frontend_sandbox_for_plugins` configuration option.
For Grafana Cloud users, you can simply use the toggle switch in the plugin catalog page to enable or disable the sandbox for each plugin. By default, the sandbox is disabled for all plugins.
{{% admonition type="note" %}}
Enabling the Frontend Sandbox might impact the performance of certain plugins. Only disable the sandbox if you fully trust the plugin and understand the security implications.
{{% /admonition %}}
### Compatibility
The Frontend Sandbox is available in public preview in Grafana >=11.4. It is compatible with all types of plugins including app plugins, panel plugins, and data source plugins. Angular-based plugins are not supported. Plugins developed and signed by Grafana Labs are excluded and cannot be sandboxed.
### When to Use Frontend Sandbox
We strongly recommend enabling the Frontend Sandbox for plugins that allow users to write custom JavaScript code for data visualization or manipulation. These plugins, while powerful, can potentially execute arbitrary JavaScript code in your Grafana instance. The sandbox provides an additional layer of security by restricting what this code can access and modify.
Examples of plugins where the sandbox is particularly important include:
- Panel plugins that allow users to write custom JavaScript code
- Plugins from untrusted sources
### Troubleshooting
If a plugin isn't functioning correctly with the Frontend Sandbox enabled:
1. Temporarily disable the sandbox for that specific plugin
1. Test if the plugin works correctly without the sandbox
1. If the plugin only works with the sandbox disabled, ensure you trust the plugin source before continuing to use it without sandbox protection
1. Report any sandbox-related issues to the plugin developer
## Learn more
- [Browse plugins](/grafana/plugins)
@@ -81,13 +81,9 @@ The configuration file can also list data sources to automatically delete, calle
Grafana deletes the data sources listed in `deleteDatasources` _before_ adding or updating those in the `datasources` list.
You can configure Grafana to automatically delete provisioned data sources when they're removed from the provisioning file.
To do so, add `prune: true` to the root of your provisioning file.
To do so, add `prune: true` to the root of your data source provisioning file.
With this configuration, Grafana also removes the provisioned data sources if you remove the provisioning file entirely.
{{< admonition type="note" >}}
The `prune` parameter is available in Grafana v11.1 and higher.
{{< /admonition >}}
### Running multiple Grafana instances
If you run multiple instances of Grafana, add a version number to each data source in the configuration and increase it when you update the configuration.
@@ -231,9 +227,9 @@ Data sources tagged with _HTTP\*_ communicate using the HTTP protocol, which inc
| encrypt | string | MSSQL | Determines SSL encryption handling. Options include: `disable` - data sent between client and server is not encrypted; `false` - data sent between client and server is not encrypted beyond the login packet; `true` - data sent between client and server is encrypted. Default is `false`. |
| postgresVersion | number | PostgreSQL | Postgres version as a number (903/904/905/906/1000) meaning v9.3, v9.4, ..., v10 |
| timescaledb | boolean | PostgreSQL | Enable usage of TimescaleDB extension |
| maxOpenConns | number | MySQL, PostgreSQL and MSSQL | Maximum number of open connections to the database (Grafana v5.4+) |
| maxIdleConns | number | MySQL, PostgreSQL and MSSQL | Maximum number of connections in the idle connection pool (Grafana v5.4+) |
| connMaxLifetime | number | MySQL, PostgreSQL and MSSQL | Maximum amount of time in seconds a connection may be reused (Grafana v5.4+) |
| maxOpenConns | number | MySQL, PostgreSQL and MSSQL | Maximum number of open connections to the database |
| maxIdleConns | number | MySQL, PostgreSQL and MSSQL | Maximum number of connections in the idle connection pool |
| connMaxLifetime | number | MySQL, PostgreSQL and MSSQL | Maximum amount of time in seconds a connection may be reused |
| keepCookies | array | _HTTP\*_ | Cookies that needs to be passed along while communicating with data sources |
| prometheusVersion | string | Prometheus | The version of the Prometheus data source, such as `2.37.0`, `2.24.0` |
| prometheusType | string | Prometheus | Prometheus database type. Options are `Prometheus`, `Cortex`, `Mimir` or`Thanos`. |
@@ -618,12 +614,22 @@ The following sections detail the supported settings and secure settings for eac
#### Alert notification `webhook`
| Name | Secure setting |
| ---------- | -------------- |
| url | |
| httpMethod | |
| username | |
| password | yes |
| Name | Secure setting |
| ----------- | -------------- |
| url | |
| http_method | |
| username | |
| password | yes |
| tls_config | |
##### TLS config
| Name | Secure setting |
| ------------------ | -------------- |
| insecureSkipVerify | |
| clientCertificate | yes |
| clientKey | yes |
| caCertificate | yes |
#### Alert notification `googlechat`
@@ -79,7 +79,7 @@ The following list contains role-based access control actions.
| `dashboards.permissions:write` | <ul><li>`dashboards:*`</li><li>`dashboards:uid:*`</li><li>`folders:*`</li><li>`folders:uid:*`</li></ul> | Update permissions for one or more dashboards. |
| `dashboards:read` | <ul><li>`dashboards:*`</li><li>`dashboards:uid:*`</li><li>`folders:*`</li><li>`folders:uid:*`</li></ul> | Read one or more dashboards. |
| `dashboards:write` | <ul><li>`dashboards:*`</li><li>`dashboards:uid:*`</li><li>`folders:*`</li><li>`folders:uid:*`</li></ul> | Update one or more dashboards. |
| `dashboards.public:write` | <ul><li>`dashboards:*`</li><li>`dashboards:uid:*`</li></ul> | Write public dashboard configuration. |
| `dashboards.public:write` | <ul><li>`dashboards:*`</li><li>`dashboards:uid:*`</li></ul> | Write shared dashboard configuration. |
| `datasources.caching:read` | <ul><li>`datasources:*`</li><li>`datasources:uid:*`</li></ul> | Read data source query caching settings. |
| `datasources.caching:write` | <ul><li>`datasources:*`</li><li>`datasources:uid:*`</li></ul> | Update data source query caching settings. |
| `datasources:create` | None | Create data sources. |
@@ -100,6 +100,8 @@ The following list contains role-based access control actions.
| `folders:delete` | <ul><li>`folders:*`</li><li>`folders:uid:*`</li></ul> | Delete one or more folders and their subfolders. |
| `folders:read` | <ul><li>`folders:*`</li><li>`folders:uid:*`</li></ul> | Read one or more folders and their subfolders. |
| `folders:write` | <ul><li>`folders:*`</li><li>`folders:uid:*`</li></ul> | Update one or more folders and their subfolders. |
| `groupsync.mappings:read` | None | List group attribute sync mappings. To use this permission, enable the `groupAttributeSync` feature toggle. |
| `groupsync.mappings:write` | None | List, create, update, and delete group attribute sync mappings. To use this permission, enable the `groupAttributeSync` feature toggle. |
| `ldap.config:reload` | None | Reload the LDAP configuration. |
| `ldap.status:read` | None | Verify the availability of the LDAP server or servers. |
| `ldap.user:read` | None | Read users via LDAP. |
@@ -188,36 +190,38 @@ The following list contains role-based access control actions used by Grafana Ad
| Action | Applicable scopes | Description |
| ---------------------------------------------------- | ----------------- | ----------------------------------------------------- |
| `grafanaadaptivemetricsapp.plugin:access` | None | Access the Adaptive Metrics plugin in Grafana Cloud. |
| `grafanaadaptivemetricsapp.config:read` | None | Read the Adaptive Metrics app configuration. |
| `grafanaadaptivemetricsapp.config:write` | None | Update the Adaptive Metrics app configuration. |
| `grafanaadaptivemetricsapp.recommendations:read` | None | Read aggregation recommendations. |
| `grafanaadaptivemetricsapp.recommendations:apply` | None | Apply aggregation recommendations. |
| `grafanaadaptivemetricsapp.rules:read` | None | Read aggregation rules. |
| `grafanaadaptivemetricsapp.rules:write` | None | Create aggregation rules. |
| `grafanaadaptivemetricsapp.rules:delete` | None | Delete aggregation rules. |
| `grafanaadaptivemetricsapp.exemptions:read` | None | Read recommendation exemptions. |
| `grafanaadaptivemetricsapp.exemptions:write` | None | Create, update, and delete recommendation exemptions. |
| `grafana-adaptive-metrics-app.plugin:access` | None | Access the Adaptive Metrics plugin in Grafana Cloud. |
| `grafana-adaptive-metrics-app.config:read` | None | Read the Adaptive Metrics app configuration. |
| `grafana-adaptive-metrics-app.config:write` | None | Update the Adaptive Metrics app configuration. |
| `grafana-adaptive-metrics-app.recommendations:read` | None | Read aggregation recommendations. |
| `grafana-adaptive-metrics-app.recommendations:apply` | None | Apply aggregation recommendations. |
| `grafana-adaptive-metrics-app.rules:read` | None | Read aggregation rules. |
| `grafana-adaptive-metrics-app.rules:write` | None | Create aggregation rules. |
| `grafana-adaptive-metrics-app.rules:delete` | None | Delete aggregation rules. |
| `grafana-adaptive-metrics-app.exemptions:read` | None | Read recommendation exemptions. |
| `grafana-adaptive-metrics-app.exemptions:write` | None | Create, update, and delete recommendation exemptions. |
### Grafana Alerting Notification action definitions
To enable these permissions, enable the `alertingApiServer` feature toggle.
To use these permissions, enable the `alertingApiServer` feature toggle.
| Action | Applicable scopes | Description |
| -------------------------------------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `alert.notifications.receivers:read` | `receivers:*`<br>`receivers:uid:*` | Read contact points. None |
| `alert.notifications.receivers.secrets:read` | `receivers:*`<br>`receivers:uid:*` | Export contact points with decrypted secrets.None |
| `alert.notifications.receivers:create` | None | Create a new contact points. The creator is automatically granted full access to the created contact point.None |
| `alert.notifications.receivers:write` | `receivers:*`<br>`receivers:uid:*` | Update existing contact points.None |
| `alert.notifications.receivers:delete` | `receivers:*`<br>`receivers:uid:*` | Update and delete existing contact points.None |
| `receivers.permissions:read` | `receivers:*`<br>`receivers:uid:*` | Read permissions for contact points.None |
| `receivers.permissions:write` | `receivers:*`<br>`receivers:uid:*` | Manage permissions for contact points.None |
| `alert.notifications.time-intervals:read` | None | Read mute time intervals.None |
| `alert.notifications.time-intervals:write` | None | Create new or update existing mute time intervals.None |
| `alert.notifications.time-intervals:delete` | None | Delete existing time intervals.None |
| `alert.notifications.templates:read` | None | Read templates. |
| `alert.notifications.templates:write` | None | Create new or update existing templates.None |
| `alert.notifications.templates:delete` | None | Delete existing templates.None |
| Action | Applicable scopes | Description |
| -------------------------------------------- | ---------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `alert.notifications.receivers:read` | `receivers:*`<br>`receivers:uid:*` | Read contact points. |
| `alert.notifications.receivers.secrets:read` | `receivers:*`<br>`receivers:uid:*` | Export contact points with decrypted secrets. |
| `alert.notifications.receivers:create` | None | Create a new contact points. The creator is automatically granted full access to the created contact point. |
| `alert.notifications.receivers:write` | `receivers:*`<br>`receivers:uid:*` | Update existing contact points. |
| `alert.notifications.receivers:delete` | `receivers:*`<br>`receivers:uid:*` | Update and delete existing contact points. |
| `receivers.permissions:read` | `receivers:*`<br>`receivers:uid:*` | Read permissions for contact points. |
| `receivers.permissions:write` | `receivers:*`<br>`receivers:uid:*` | Manage permissions for contact points. |
| `alert.notifications.time-intervals:read` | None | Read mute time intervals. |
| `alert.notifications.time-intervals:write` | None | Create new or update existing mute time intervals. |
| `alert.notifications.time-intervals:delete` | None | Delete existing time intervals. |
| `alert.notifications.templates:read` | None | Read templates. |
| `alert.notifications.templates:write` | None | Create new or update existing templates. |
| `alert.notifications.templates:delete` | None | Delete existing templates. |
| `alert.notifications.routes:read` | None | Read notification policies. |
| `alert.notifications.routes:write` | None | Create new, update or delete notification policies |
## Scope definitions
@@ -54,13 +54,13 @@ The following tables list permissions associated with basic and fixed roles.
## Basic role assignments
| Basic role | UID | Associated fixed roles | Description |
| ------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Grafana Admin | `basic_grafana_admin` | `fixed:roles:reader`<br>`fixed:roles:writer`<br>`fixed:users:reader`<br>`fixed:users:writer`<br>`fixed:org.users:reader`<br>`fixed:org.users:writer`<br>`fixed:ldap:reader`<br>`fixed:ldap:writer`<br>`fixed:stats:reader`<br>`fixed:settings:reader`<br>`fixed:settings:writer`<br>`fixed:provisioning:writer`<br>`fixed:organization:reader`<br>`fixed:organization:maintainer`<br>`fixed:licensing:reader`<br>`fixed:licensing:writer`<br>`fixed:datasources.caching:reader`<br>`fixed:datasources.caching:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader`<br>`fixed:plugins:maintainer`<br>`fixed:authentication.config:writer`<br>`fixed:library.panels:creator`<br>`fixed:library.panels:reader`<br>`fixed:library.panels:general.reader`<br>`fixed:library.panels:writer`<br>`fixed:library.panels:general.writer` | Default [Grafana server administrator](/docs/grafana/<GRAFANA_VERSION>/administration/roles-and-permissions/#grafana-server-administrators) assignments. |
| Admin | `basic_admin` | `fixed:reports:reader`<br>`fixed:reports:writer`<br>`fixed:datasources:reader`<br>`fixed:datasources:writer`<br>`fixed:organization:writer`<br>`fixed:datasources.permissions:reader`<br>`fixed:datasources.permissions:writer`<br>`fixed:teams:writer`<br>`fixed:dashboards:reader`<br>`fixed:dashboards:writer`<br>`fixed:dashboards.permissions:reader`<br>`fixed:dashboards.permissions:writer`<br>`fixed:dashboards.public:writer`<br>`fixed:folders:reader`<br>`fixed:folders:writer`<br>`fixed:folders.permissions:reader`<br>`fixed:folders.permissions:writer`<br>`fixed:alerting:writer`<br>`fixed:apikeys:reader`<br>`fixed:apikeys:writer`<br>`fixed:alerting.provisioning.secrets:reader`<br>`fixed:alerting.provisioning:writer`<br>`fixed:datasources.caching:reader`<br>`fixed:datasources.caching:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader`<br>`fixed:plugins:writer`<br>`fixed:library.panels:creator`<br>`fixed:library.panels:reader`<br>`fixed:library.panels:general.reader`<br>`fixed:library.panels:writer`<br>`fixed:library.panels:general.writer`<br>`fixed:alerting.provisioning.status:writer` | Default [Grafana organization administrator](ref:rbac-basic-roles) assignments. |
| Editor | `basic_editor` | `fixed:datasources:explorer`<br>`fixed:dashboards:creator`<br>`fixed:folders:creator`<br>`fixed:annotations:writer`<br>`fixed:teams:creator` if the `editors_can_admin` configuration flag is enabled<br>`fixed:alerting:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader`<br>`fixed:library.panels:creator`<br>`fixed:library.panels:general.reader`<br>`fixed:library.panels:general.writer`<br>`fixed:alerting.provisioning.status:writer` | Default [Editor](ref:rbac-basic-roles) assignments. |
| Viewer | `basic_viewer` | `fixed:datasources.id:reader`<br>`fixed:organization:reader`<br>`fixed:annotations:reader`<br>`fixed:annotations.dashboard:writer`<br>`fixed:alerting:reader`<br>`fixed:plugins.app:reader`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader`<br>`fixed:library.panels:general.reader`<br>`fixed:datasources:explorer` if the `viewers_can_edit` configuration flag is enabled | Default [Viewer](ref:rbac-basic-roles) assignments. |
| No Basic Role | n/a | | Default [No Basic Role](ref:rbac-basic-roles) |
| Basic role | UID | Associated fixed roles | Description |
| ------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Grafana Admin | `basic_grafana_admin` | `fixed:roles:reader`<br>`fixed:roles:writer`<br>`fixed:users:reader`<br>`fixed:users:writer`<br>`fixed:org.users:reader`<br>`fixed:org.users:writer`<br>`fixed:ldap:reader`<br>`fixed:ldap:writer`<br>`fixed:stats:reader`<br>`fixed:settings:reader`<br>`fixed:settings:writer`<br>`fixed:provisioning:writer`<br>`fixed:organization:reader`<br>`fixed:organization:maintainer`<br>`fixed:licensing:reader`<br>`fixed:licensing:writer`<br>`fixed:datasources.caching:reader`<br>`fixed:datasources.caching:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader`<br>`fixed:plugins:maintainer`<br>`fixed:authentication.config:writer`<br>`fixed:library.panels:creator`<br>`fixed:library.panels:reader`<br>`fixed:library.panels:general.reader`<br>`fixed:library.panels:writer`<br>`fixed:library.panels:general.writer`<br>`fixed:groupsync:writer` | Default [Grafana server administrator](/docs/grafana/<GRAFANA_VERSION>/administration/roles-and-permissions/#grafana-server-administrators) assignments. |
| Admin | `basic_admin` | `fixed:reports:reader`<br>`fixed:reports:writer`<br>`fixed:datasources:reader`<br>`fixed:datasources:writer`<br>`fixed:organization:writer`<br>`fixed:datasources.permissions:reader`<br>`fixed:datasources.permissions:writer`<br>`fixed:teams:writer`<br>`fixed:dashboards:reader`<br>`fixed:dashboards:writer`<br>`fixed:dashboards.permissions:reader`<br>`fixed:dashboards.permissions:writer`<br>`fixed:dashboards.public:writer`<br>`fixed:folders:reader`<br>`fixed:folders:writer`<br>`fixed:folders.permissions:reader`<br>`fixed:folders.permissions:writer`<br>`fixed:alerting:writer`<br>`fixed:apikeys:reader`<br>`fixed:apikeys:writer`<br>`fixed:alerting.provisioning.secrets:reader`<br>`fixed:alerting.provisioning:writer`<br>`fixed:datasources.caching:reader`<br>`fixed:datasources.caching:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader`<br>`fixed:plugins:writer`<br>`fixed:library.panels:creator`<br>`fixed:library.panels:reader`<br>`fixed:library.panels:general.reader`<br>`fixed:library.panels:writer`<br>`fixed:library.panels:general.writer`<br>`fixed:alerting.provisioning.status:writer`<br>`fixed:groupsync:writer` | Default [Grafana organization administrator](ref:rbac-basic-roles) assignments. |
| Editor | `basic_editor` | `fixed:datasources:explorer`<br>`fixed:dashboards:creator`<br>`fixed:folders:creator`<br>`fixed:annotations:writer`<br>`fixed:teams:creator` if the `editors_can_admin` configuration flag is enabled<br>`fixed:alerting:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader`<br>`fixed:library.panels:creator`<br>`fixed:library.panels:general.reader`<br>`fixed:library.panels:general.writer`<br>`fixed:alerting.provisioning.status:writer` | Default [Editor](ref:rbac-basic-roles) assignments. |
| Viewer | `basic_viewer` | `fixed:datasources.id:reader`<br>`fixed:organization:reader`<br>`fixed:annotations:reader`<br>`fixed:annotations.dashboard:writer`<br>`fixed:alerting:reader`<br>`fixed:plugins.app:reader`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader`<br>`fixed:library.panels:general.reader`<br>`fixed:datasources:explorer` if the `viewers_can_edit` configuration flag is enabled | Default [Viewer](ref:rbac-basic-roles) assignments. |
| No Basic Role | n/a | | Default [No Basic Role](ref:rbac-basic-roles) |
## Fixed role definitions
@@ -98,7 +98,7 @@ To learn how to use the roles API to determine the role UUIDs, refer to [Manage
| `fixed:dashboards.insights:reader` | `fixed_JlBJ2_gizP8zhgaeGE2rjyZe2Rs` | `dashboards.insights:read` | Read dashboard insights data and see presence indicators. |
| `fixed:dashboards.permissions:reader` | `fixed_f17oxuXW_58LL8mYJsm4T_mCeIw` | `dashboards.permissions:read` | Read all dashboard permissions. |
| `fixed:dashboards.permissions:writer` | `fixed_CcznxhWX_Yqn8uWMXMQ-b5iFW9k` | All permissions from `fixed:dashboards.permissions:reader` and <br>`dashboards.permissions:write` | Read and update all dashboard permissions. |
| `fixed:dashboards.public:writer` | `fixed_f_GHHRBciaqESXfGz2oCcooqHxs` | `dashboards.public:write` | Create, update, delete or pause a public dashboard. |
| `fixed:dashboards.public:writer` | `fixed_f_GHHRBciaqESXfGz2oCcooqHxs` | `dashboards.public:write` | Create, update, delete or pause a shared dashboard. |
| `fixed:datasources:creator` | `fixed_XX8jHREgUt-wo1A-rPXIiFlX6Zw` | `datasources:create` | Create data sources. |
| `fixed:datasources:explorer` | `fixed_qDzW9mzx9yM91T5Bi8dHUM2muTw` | `datasources:explore` | Enable the Explore feature. Data source permissions still apply, you can only query data sources for which you have query permissions. |
| `fixed:datasources:reader` | `fixed_C2x8IxkiBc1KZVjyYH775T9jNMQ` | `datasources:read`<br>`datasources:query` | Read and query data sources. |
@@ -115,6 +115,8 @@ To learn how to use the roles API to determine the role UUIDs, refer to [Manage
| `fixed:folders.permissions:reader` | `fixed_E06l4cx0JFm47EeLBE4nmv3pnSo` | `folders.permissions:read` | Read all folder permissions. |
| `fixed:folders.permissions:writer` | `fixed_3GAgpQ_hWG8o7-lwNb86_VB37eI` | All permissions from `fixed:folders.permissions:reader` and <br>`folders.permissions:write` | Read and update all folder permissions. |
| `fixed:ldap:reader` | `fixed_lMcOPwSkxKY-qCK8NMJc5k6izLE` | `ldap.user:read`<br>`ldap.status:read` | Read the LDAP configuration and LDAP status information. |
| `fixed:groupsync:reader` | `fixed_tLIbDrE6kw93sKqooF8GVS9BF4E` | `groupsync.mappings:read` | List all group attribute sync mappings. To use this role, enable the `groupAttributeSync` feature toggle. |
| `fixed:groupsync:writer` | `fixed_q7XUYx_efzxxsVmWhQgpiYClwBs` | `groupsync.mappings:read`<br>`groupsync.mappings:write` | Create, read, update, and delete all group attribute sync mappings. To use this role, enable the `groupAttributeSync` feature toggle. |
| `fixed:ldap:writer` | `fixed_p6AvnU4GCQyIh7-hbwI-bk3GYnU` | All permissions from `fixed:ldap:reader` and <br>`ldap.user:sync`<br>`ldap.config:reload` | Read and update the LDAP configuration, and read LDAP status information. |
| `fixed:library.panels:creator` | `fixed_6eX6ItfegCIY5zLmPqTDW8ZV7KY` | `library.panels:create`<br>`folders:read` | Create library panel at the root level. |
| `fixed:library.panels:general.reader` | `fixed_ct0DghiBWR_2BiQm3EvNPDVmpio` | `library.panels:read` | Read all library panels at the root level. |
@@ -27,7 +27,7 @@ filters = accesscontrol:debug accesscontrol.evaluator:debug dashboard.permission
## Enable audit logging
{{% admonition type="note" %}}
Available in [Grafana Enterprise](/docs/grafana/<GRAFANA_VERSION>/introduction/grafana-enterprise/) version 7.3 and later, and [Grafana Cloud](/docs/grafana-cloud).
Available in [Grafana Enterprise](/docs/grafana/<GRAFANA_VERSION>/introduction/grafana-enterprise/) and [Grafana Cloud](/docs/grafana-cloud).
{{% /admonition %}}
You can enable auditing in the Grafana configuration file.
+1 -1
View File
@@ -36,7 +36,7 @@ cards:
description: Choose how, when, and where to send your alert notifications.
height: 24
- title: Monitor status
href: ./monitor-status/
href: ./manage-notifications/
description: Monitor, respond to, and triage issues within your services.
height: 24
- title: Additional configuration
+21 -43
View File
@@ -12,59 +12,37 @@ labels:
- oss
title: Configure alert rules
weight: 120
refs:
alert-rules:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/
configure-grafana-alerts:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/create-grafana-managed-rule/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/create-grafana-managed-rule/
configure-ds-alerts:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/create-data-source-managed-rule/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/create-data-source-managed-rule/
recording-rules:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/create-recording-rules/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/create-recording-rules/
alert-types-comparison-table:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/#comparison-between-alert-rule-types
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/#comparison-between-alert-rule-types
templating-labels-annotations:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/templates/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/templates/
---
# Configure alert rules
[Alert rules](ref:alert-rules) are the central component of your alerting system.
An alert rule consists of one or more queries and expressions that select the data you want to measure. It also contains a condition, which is the threshold that an alert rule must meet or exceed in order to fire.
An alert rule consists of one or more queries and expressions that select the data you want to measure. It contains a condition to trigger the alert, an evaluation period that determines how often the rule is evaluated, and additional options to manage alert events and their notifications.
Create, manage, view, and adjust alert rules to alert on your metrics data or log entries from multiple data sources — no matter where your data is stored.
Grafana supports two types of alert rules:
The main parts of alert rule creation are:
1. Grafana-managed alert rules: These can query multiple data sources.
1. Select your data source
1. Query your data
1. Normalize your data
1. Set your threshold
1. Data source-managed alert rules: These can only query Prometheus-based data sources and support horizontal scaling.
**Query, expressions, and alert condition**
We recommend using Grafana-managed alert rules whenever possible, and opting for data source-managed alert rules when horizontal scaling is required. Refer to the [comparison table of alert rule types](ref:alert-types-comparison-table) for a more detailed overview.
What are you monitoring? How are you measuring it?
Both types of alert rules can be configured in Grafana using the **+ New alert rule** flow. For step-by-step instructions, refer to:
{{< admonition type="note" >}}
Expressions can only be used for Grafana-managed alert rules.
{{< /admonition >}}
- [Configure Grafana-managed alert rules](ref:configure-grafana-alerts)
- [Configure data source-managed alert rules](ref:configure-ds-alerts)
- [Create and link alert rules to panels](ref:templating-labels-annotations)
**Evaluation**
Alert rules can also query metrics generated by recording rules. To learn more, refer to:
How do you want your alert to be evaluated?
- [Create recording rules](ref:recording-rules)
**Labels and notifications**
How do you want to route your alert? What kind of additional labels could you add to annotate your alert rules and ease searching?
**Annotations**
Do you want to add more context on the alert in your notification messages, for example, what caused the alert to fire? Which server did it happen on?
@@ -1,157 +0,0 @@
---
aliases:
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-rule/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-rule/
- ../unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/
- ../unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/
- ../alerting-rules/create-mimir-loki-managed-rule/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/create-mimir-loki-managed-rule/
canonical: https://grafana.com/docs/grafana/latest/alerting/alerting-rules/create-data-source-managed-rule/
description: Configure data source-managed alert rules alert for an external Grafana Mimir or Loki instance
keywords:
- grafana
- alerting
- guide
- rules
- create
labels:
products:
- cloud
- enterprise
- oss
title: Configure data source-managed alert rules
weight: 200
refs:
shared-configure-prometheus-data-source-alerting:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/datasources/prometheus/configure-prometheus-data-source/#alerting
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/connect-externally-hosted/data-sources/prometheus/configure-prometheus-data-source/#alerting
configure-grafana-managed-rules:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/create-grafana-managed-rule/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/create-grafana-managed-rule/notification-policies/
notification-policies:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/notification-policies/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies/
pending-period:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rule-evaluation/#pending-period
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rule-evaluation/#pending-period
alert-rules:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/
alert-rule-labels:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/#labels
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/#labels
alert-rule-evaluation:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rule-evaluation/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rule-evaluation/
shared-provision-alerting-resources:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/
shared-alert-rule-template:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/templates/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/templates/
shared-annotations:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/#annotations
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/#annotations
shared-link-alert-rules-to-panels:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/link-alert-rules-to-panels/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/link-alert-rules-to-panels/
---
# Configure data source-managed alert rules
Data source-managed alert rules can only be created using Grafana Mimir or Grafana Loki data sources.
The rules are stored within the data source. In a distributed architecture, they can scale horizontally to provide high-availability. For more details, refer to [alert rule types](ref:alert-rules).
We recommend using [Grafana-managed alert rules](ref:configure-grafana-managed-rules) whenever possible and opting for data source-managed alert rules when scaling your alerting setup is necessary.
{{< docs/shared lookup="alerts/note-prometheus-ds-rules.md" source="grafana" version="<GRAFANA_VERSION>" >}}
To create or edit data source-managed alert rules, follow these instructions.
## Before you begin
Verify that you have write permission to the Mimir or Loki data source. Otherwise, you cannot create or update data source-managed alert rules.
### Enable the Ruler API
For more information, refer to the [Mimir Ruler API](/docs/mimir/latest/references/http-api/#ruler) or [Loki Ruler API](/docs/loki/latest/api/#ruler).
- **Mimir** - use the `/prometheus` prefix. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API.
- **Loki** - The `local` rule storage type, default for the Loki data source, supports only viewing of rules. To edit rules, configure one of the other rule storage types.
### Permissions
Alert rules for Mimir or Loki instances can be edited or deleted by users with **Editor** or **Admin** roles.
If you do not want to manage alert rules for a particular data source, go to its settings and clear the **Manage alerts via Alerting UI** checkbox.
{{< docs/shared lookup="alerts/configure-provisioning-before-begin.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{< docs/shared lookup="alerts/configure-alert-rule-name.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Define query and condition
Define a query to get the data you want to measure and a condition that needs to be met before an alert rule fires.
{{% admonition type="note" %}}
By default, new alert rules are Grafana-managed. To switch to **Data source-managed**, follow these instructions.
{{% /admonition %}}
1. Select a Prometheus-based data source from the drop-down list.
You can also click **Open advanced data source picker** to find more options.
1. Enter a PromQL or LogQL query, including the alert condition.
1. In the **Rule type** option, select **Data source-managed**.
1. Click **Preview alerts**.
## Set alert evaluation behavior
Use [alert rule evaluation](ref:alert-rule-evaluation) to determine how frequently an alert rule should be evaluated and how quickly it should change its state.
1. Select a namespace or click **+ New namespace**.
1. Select an evaluation group or click **+ New evaluation group**.
If you are creating a new evaluation group, specify the interval for the group.
All rules within the same group are evaluated sequentially over the same time interval. You can reorder them from the **Alert rules** page.
1. Enter a pending period.
The [pending period](ref:pending-period) is the period in which an alert rule can be in breach of the condition until it fires.
Once a condition is met, the alert goes into the **Pending** state. If the condition remains active for the duration specified, the alert transitions to the **Firing** state, else it reverts to the **Normal** state.
## Configure labels and notifications
Add [labels](ref:alert-rule-labels) to your alert rules to set which [notification policy](ref:notification-policies) should handle your firing alert instances.
All alert rules and instances, irrespective of their labels, match the default notification policy. If there are no nested policies, or no nested policies match the labels in the alert rule or alert instance, then the default notification policy is the matching policy.
1. Add labels if you want to change the way your notifications are routed.
Add custom labels by selecting existing key-value pairs from the drop down, or add new labels by entering the new key or value.
{{< docs/shared lookup="alerts/configure-notification-message.md" source="grafana" version="<GRAFANA_VERSION>" >}}
@@ -24,144 +24,123 @@ refs:
destination: /docs/grafana/<GRAFANA_VERSION>/dashboards/use-dashboards/#time-units-and-relative-ranges
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/visualizations/dashboards/use-dashboards/#time-units-and-relative-ranges
fundamentals:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/
alert-instance-state:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rule-evaluation/state-and-health/#alert-instance-state
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rule-evaluation/state-and-health/#alert-instance-state
modify-the-no-data-or-error-state:
keep-last-state:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rule-evaluation/state-and-health/#modify-the-no-data-or-error-state
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rule-evaluation/state-and-health/#keep-last-state
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rule-evaluation/state-and-health/#modify-the-no-data-or-error-state
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rule-evaluation/state-and-health/#keep-last-state
add-a-query:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/#add-a-query
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/#add-a-query
pending-period:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rule-evaluation/#pending-period
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rule-evaluation/#pending-period
alert-rule-evaluation:
alerting-on-numeric-data:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rule-evaluation/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/queries-conditions/#alert-on-numeric-data
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rule-evaluation/
mute-timings:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/mute-timings/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/mute-timings/
alert-rule-query:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/queries-conditions/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions/
alert-rule-labels:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/#labels
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/#labels
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions/#alert-on-numeric-data
expression-queries:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/queries-conditions/#expression-queries
destination: /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/expression-queries/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions/#expression-queries
alert-condition:
destination: /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/expression-queries/
annotation-label:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/queries-conditions/#alert-condition
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions/#alert-condition
contact-points:
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/
link-alert-rules-to-panels:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/contact-points/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/link-alert-rules-to-panels/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/contact-points/
notification-policies:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/notification-policies/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/link-alert-rules-to-panels/
data-sources:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/datasources/
- pattern: /docs/grafana-cloud/
- destination: /docs/grafana-cloud/connect-externally-hosted/data-sources/
alert-rules:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/
compatible-data-sources:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/#supported-data-sources
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/#supported-data-sources
shared-provision-alerting-resources:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/
shared-alert-rule-template:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/templates/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/templates/
shared-annotations:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/#annotations
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/#annotations
shared-link-alert-rules-to-panels:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/link-alert-rules-to-panels/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/link-alert-rules-to-panels/
---
# Configure Grafana-managed alert rules
Grafana-managed rules can query data from multiple data sources in a single alert rule. They are the most flexible [alert rule type](ref:alert-rules). You can also add expressions to transform your data, set alert conditions, and images in alert notifications.
Grafana-managed rules are the most flexible alert rule type. They allow you to create alerts that can act on data from any of our supported data sources. In addition to supporting multiple data sources, you can also add expressions to transform your data and set alert conditions. Using images in alert notifications is also supported. This is the only type of rule that allows alerting from multiple data sources in a single rule definition.
Multiple alert instances can be created as a result of one alert rule (also known as a multi-dimensional alerting).
{{% admonition type="note" %}}
In Grafana Cloud, the number of Grafana-managed alert rules you can create depends on your Grafana Cloud plan.
For Grafana Cloud Free Forever, you can create up to 100 free Grafana-managed alert rules with each alert rule having a maximum of 1000 alert instances.
- Free Forever plan: You can create up to 100 free alert rules, with each alert rule having a maximum of 1000 alert instances.
- All paid plans (Pro and Advanced): They have a soft limit of 2000 alert rules and support unlimited alert instances. To increase the limit, open a support ticket from the [Cloud portal](/docs/grafana-cloud/account-management/support/).
For all paid tiers (Cloud Pro and Advanced), there is a soft limit of 2000 alert rules and unlimited alert instances. To increase the limit, open a support ticket from the [Cloud portal](https://grafana.com/docs/grafana-cloud/account-management/support/).
{{% /admonition %}}
To create or edit Grafana-managed alert rules, follow the instructions below. For a practical example, check out our [tutorial on getting started with Grafana alerting](http://grafana.com/tutorials/alerting-get-started/).
Grafana-managed alert rules can only be edited or deleted by users with Edit permissions for the folder storing the rules.
If you delete an alert resource created in the UI, you can no longer retrieve it.
To make a backup of your configuration and to be able to restore deleted alerting resources, create your alerting resources using file provisioning, Terraform, or the Alerting API.
## Before you begin
Verify that the data sources you plan to query in the alert rule are [compatible with Grafana-managed alert rules](ref:compatible-data-sources) and are properly configured.
If you are using Grafana OSS:
### Permissions
1. Configure your [data sources](ref:data-sources).
2. Check which [data sources](ref:compatible-data-sources) are compatible with and supported by Grafana Alerting.
Only users with **Edit** permissions for the folder storing the rules can edit or delete Grafana-managed alert rules.
{{< docs/shared lookup="alerts/configure-provisioning-before-begin.md" source="grafana" version="<GRAFANA_VERSION>" >}}
### Default vs Advanced options
If you are using Grafana OSS, Enterprise, or Cloud:
You can use default or advanced options for Grafana-managed alert rule creation. The default options streamline rule creation with a cleaner header and a single query and condition. For more complex rules, use advanced options to add multiple queries and expressions.
You can toggle between the two options. Once you have created an alert rule, the system defaults to your previous choice for the next alert rule.
Default and advanced options are enabled by default for Grafana Cloud users and this feature is being rolled out progressively.
Switching from advanced to default may result in queries and expressions that cannot be converted. In this case, a warning message asks if you want to continue to reset to default settings.
For OSS users,enable the `alertingQueryAndExpressionsStepMode` feature toggle.
Default and advanced options are enabled by default for Grafana Cloud users and this feature is being rolled out progressively. OSS users can enable them via the [`alertingQueryAndExpressionsStepMode` feature toggle](/setup-grafana/configure-grafana/feature-toggles/).
{{% admonition type="note" %}}
Once you have created an alert rule using one of the options, the system defaults to this option for the next alert rule you create.
{{< docs/shared lookup="alerts/configure-alert-rule-name.md" source="grafana" version="<GRAFANA_VERSION>" >}}
You can toggle between the two options. However, if you want to switch from advanced options to the default, it may be that your query and expressions cannot be converted. In this case, a warning message checks whether you want to continue to reset to default settings.
{{% /admonition %}}
## Steps
To create a Grafana-managed alert rule, use the in-product alert creation flow and follow these steps.
To get started quickly, refer to our [tutorial on getting started with Grafana alerting](http://grafana.com/tutorials/alerting-get-started/).
## Set alert rule name
1. Click **Alerts & IRM** -> **Alert rules** -> **+ New alert rule**.
1. Enter a name to identify your alert rule.
This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
## Define query and condition
Define a query to get the data you want to measure and a condition that needs to be met before an alert rule fires.
You can toggle between **Default** and **Advanced** options. If the [Default vs. Advanced feature](#default-vs-advanced-options) is not enabled in your Grafana instance, follow the **Advanced options** instructions.
{{< collapse title="Default options" >}}
1. Add a [query](ref:alert-rule-query).
1. Add an [alert condition](ref:alert-condition).
1. Add a query.
1. Add an alert condition.
The **When** input includes the reducer function and the last input is the threshold.
@@ -173,11 +152,15 @@ You can toggle between **Default** and **Advanced** options. If the [Default vs.
1. Select a data source.
1. From the **Options** dropdown, specify a [time range](ref:time-units-and-relative-ranges).
Note that Grafana Alerting only supports fixed relative time ranges, for example, `now-24hr: now`. It does not support absolute time ranges: `2021-12-02 00:00:00 to 2021-12-05 23:59:592` or semi-relative time ranges: `now/d to: now`.
{{% admonition type="note" %}}
Grafana Alerting only supports fixed relative time ranges, for example, `now-24hr: now`.
It does not support absolute time ranges: `2021-12-02 00:00:00 to 2021-12-05 23:59:592` or semi-relative time ranges: `now/d to: now`.
{{% /admonition %}}
1. Add a query.
To add multiple [queries](ref:alert-rule-query), click **Add query**.
To add multiple [queries](ref:add-a-query), click **Add query**.
All alert rules are managed by Grafana by default. If you want to switch to a data source-managed alert rule, click **Switch to data source-managed alert rule**.
@@ -185,7 +168,9 @@ You can toggle between **Default** and **Advanced** options. If the [Default vs.
a. For each expression, select either **Classic condition** to create a single alert rule, or choose from the **Math**, **Reduce**, and **Resample** options to generate separate alert for each series.
{{% admonition type="note" %}}
When using Prometheus, you can use an instant vector and built-in functions, so you don't need to add additional expressions.
{{% /admonition %}}
b. Click **Preview** to verify that the expression is successful.
@@ -193,24 +178,12 @@ You can toggle between **Default** and **Advanced** options. If the [Default vs.
You can only add one recovery threshold in a query and it must be the alert condition.
1. Click **Set as alert condition** on the query or expression you want to set as your [alert condition](ref:alert-condition).
1. Click **Set as alert condition** on the query or expression you want to set as your alert condition.
{{< /collapse >}}
## Set folder and labels
## Set alert evaluation behavior
Organize your alert rule with a folder and set of labels.
In the **Labels** section, you can optionally choose whether to add labels to organize your alert rules and their notifications. For more details, refer to [alert rule labels](ref:alert-rule-labels).
1. Select a folder or click **+ New folder**.
1. Add labels, if required.
Add custom labels by selecting existing key-value pairs from the drop down, or add new labels by entering the new key or value.
## Configure alert evaluation behavior
Use [alert rule evaluation](ref:alert-rule-evaluation) to determine how frequently an alert rule should be evaluated and how quickly it should change its state.
Use alert rule evaluation to determine how frequently an alert rule should be evaluated and how quickly it should change its state.
To do this, you need to make sure that your alert rule is in the right evaluation group and set a pending period time that works best for your use case.
@@ -221,7 +194,7 @@ To do this, you need to make sure that your alert rule is in the right evaluatio
All rules within the same group are evaluated concurrently over the same time interval.
1. Enter a [pending period](ref:pending-period).
1. Enter a pending period.
The pending period is the period in which an alert rule can be in breach of the condition until it fires.
@@ -229,20 +202,15 @@ To do this, you need to make sure that your alert rule is in the right evaluatio
1. Turn on pause alert notifications, if required.
{{< admonition type="note" >}}
You can pause alert rule evaluation to prevent noisy alerting while tuning your alerts.
Pausing stops alert rule evaluation and doesn't create any alert instances.
This is different to [mute timings](ref:mute-timings), which stop notifications from being delivered, but still allows for alert rule evaluation and the creation of alert instances.
This is different to mute timings, which stop notifications from being delivered, but still allows for alert rule evaluation and the creation of alert instances.
{{< /admonition >}}
1. In **Configure no data and error handling**, you can define the alerting behavior and alerting state for two scenarios:
1. In **Configure no data and error handling**, configure alerting behavior in the absence of data.
- When the evaluation returns **No data** or all values are null.
- When the evaluation returns **Error** or timeout.
### Configure no data and error handling
{{< docs/shared lookup="alerts/table-configure-no-data-and-error.md" source="grafana" version="<GRAFANA_VERSION>" >}}
For more details, refer to [alert instance states](ref:alert-instance-state) and [modify the no data or error state](ref:modify-the-no-data-or-error-state).
Use the guidelines in [No data and error handling](#configure-no-data-and-error-handling).
## Configure labels and notifications
@@ -260,7 +228,7 @@ Complete the following steps to set up labels and notifications.
**Select contact point**
1. Choose this option to select an existing [contact point](ref:contact-points).
1. Choose this option to select an existing contact point.
All notifications for this alert rule are sent to this contact point automatically and notification policies are not used.
@@ -271,18 +239,67 @@ Complete the following steps to set up labels and notifications.
**Use notification policy**
1. Choose this option to use the [notification policy tree](ref:notification-policies) to direct your notifications.
3. Choose this option to use the notification policy tree to direct your notifications.
{{< admonition type="note" >}}
All alert rules and instances, irrespective of their labels, match the default notification policy. If there are no nested policies, or no nested policies match the labels in the alert rule or alert instance, then the default notification policy is the matching policy.
{{< /admonition >}}
2. Preview your alert instance routing set up.
4. Preview your alert instance routing set up.
Based on the labels added, alert instances are routed to the following notification policies displayed.
3. Expand each notification policy below to view more details.
5. Expand each notification policy below to view more details.
4. Click **See details** to view alert routing details and an email preview.
6. Click **See details** to view alert routing details and an email preview.
{{< docs/shared lookup="alerts/configure-notification-message.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Add annotations
Add [annotations](ref:annotation-label). to provide more context on the alert in your alert notification message.
Annotations add metadata to provide more information on the alert in your alert notification message. For example, add a **Summary** annotation to tell you which value caused the alert to fire or which server it happened on.
1. Optional: Add a summary.
Short summary of what happened and why.
1. Optional: Add a description.
Description of what the alert rule does.
1. Optional: Add a Runbook URL.
Webpage where you keep your runbook for the alert
1. Optional: Add a custom annotation
1. Optional: **Link dashboard and panel**.
[Link the alert rule to a panel](ref:link-alert-rules-to-panels) to facilitate alert investigation.
1. Click **Save rule**.
## Configure no data and error handling
In **Configure no data and error handling**, you can define the alerting behavior when the evaluation returns no data or an error.
For details about alert states, refer to [lifecycle of alert instances](ref:alert-instance-state).
You can configure the alert instance state when its evaluation returns no data:
| No Data configuration | Description |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| No Data | The default option. Sets alert instance state to `No data`. <br/> The alert rule also creates a new alert instance `DatasourceNoData` with the name and UID of the alert rule, and UID of the datasource that returned no data as labels. |
| Alerting | Sets the alert instance state to `Pending` and then transitions to `Alerting` once the [pending period](ref:pending-period) ends. If you sent the pending period to 0, the alert instance state is immediately set to `Alerting`. |
| Normal | Sets alert instance state to `Normal`. |
| Keep Last State | Maintains the alert instance in its last state. Useful for mitigating temporary issues, refer to [Keep last state](ref:keep-last-state). |
You can also configure the alert instance state when its evaluation returns an error or timeout.
| Error configuration | Description |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Error | The default option. Sets alert instance state to `Error`. <br/> The alert rule also creates a new alert instance `DatasourceError` with the name and UID of the alert rule, and UID of the datasource that returned no data as labels. |
| Alerting | Sets alert instance state to `Alerting`. It transitions from `Pending` to `Alerting` after the [pending period](ref:pending-period) has finished. |
| Normal | Sets alert instance state to `Normal`. |
| Keep Last State | Maintains the alert instance in its last state. Useful for mitigating temporary issues, refer to [Keep last state](ref:keep-last-state). |
When you configure the No data or Error behavior to `Alerting` or `Normal`, Grafana will attempt to keep a stable set of fields under notification `Values`. If your query returns no data or an error, Grafana re-uses the latest known set of fields in `Values`, but will use `-1` in place of the measured value.
@@ -0,0 +1,144 @@
---
aliases:
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-rule/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-rule/
- ../unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/
- ../unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/
canonical: https://grafana.com/docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-rule/
description: Configure data source-managed alert rules alert for an external Grafana Mimir or Loki instance
keywords:
- grafana
- alerting
- guide
- rules
- create
labels:
products:
- cloud
- enterprise
- oss
title: Configure data source-managed alert rules
weight: 200
refs:
alerting:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/
annotation-label:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/
link-alert-rules-to-panels:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/link-alert-rules-to-panels/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/link-alert-rules-to-panels/
---
# Configure data source-managed alert rules
Create data source-managed alert rules for Grafana Mimir or Grafana Loki data sources, which have been configured to support rule creation.
To configure your Grafana Mimir or Loki data source for alert rule creation, enable either the Loki Ruler API or the Mimir Ruler API.
For more information, refer to [Loki Ruler API](/docs/loki/<GRAFANA_VERSION>/api/#ruler) or [Mimir Ruler API](/docs/mimir/<GRAFANA_VERSION>/references/http-api/#ruler).
**Note**:
Alert rules for a Grafana Mimir or Loki instance can be edited or deleted by users with Editor or Admin roles.
If you delete an alerting resource created in the UI, you can no longer retrieve it.
To make a backup of your configuration and to be able to restore deleted alerting resources, create your alerting resources using file provisioning, Terraform, or the Alerting API.
## Before you begin
- Verify that you have write permission to the Mimir or Loki data source. Otherwise, you cannot create or update Grafana Mimir or Loki-managed alert rules.
- Enable the Mimir or Loki Ruler API.
- **Loki** - The `local` rule storage type, default for the Loki data source, supports only viewing of rules. To edit rules, configure one of the other rule storage types.
- **Grafana Mimir** - use the `/prometheus` prefix. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API.
Watch this video to learn more about how to create a Mimir-managed alert rule: {{< vimeo 720001865 >}}
{{% admonition type="note" %}}
If you do not want to manage alert rules for a particular Loki or Mimir data source, go to its settings and clear the **Manage alerts via Alerting UI** checkbox.
{{% /admonition %}}
To create a data source-managed alert rule, use the in-product alert creation flow and follow these steps to help you.
## Set alert rule name
1. Click **Alerts & IRM** -> **Alert rules** -> **+ New alert rule**.
1. Enter a name to identify your alert rule.
This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
## Define query and condition
Define a query to get the data you want to measure and a condition that needs to be met before an alert rule fires.
**Note**:
All alert rules are managed by Grafana by default. To switch to a data source-managed alert rule, click **Switch to data source-managed alert rule**.
1. Select a data source from the drop-down list.
You can also click **Open advanced data source picker** to see more options, including adding a data source (Admins only).
1. Enter a PromQL or LogQL query.
1. Click **Preview alerts**.
## Set alert evaluation behavior
Use alert rule evaluation to determine how frequently an alert rule should be evaluated and how quickly it should change its state.
1. Select a namespace or click **+ New namespace**.
1. Select an evaluation group or click **+ New evaluation group**.
If you are creating a new evaluation group, specify the interval for the group.
All rules within the same group are evaluated sequentially over the same time interval.
1. Enter a pending period.
The pending period is the period in which an alert rule can be in breach of the condition until it fires.
Once a condition is met, the alert goes into the **Pending** state. If the condition remains active for the duration specified, the alert transitions to the **Firing** state, else it reverts to the **Normal** state.
## Configure notifications
Add labels to your alert rules to set which notification policy should handle your firing alert instances.
All alert rules and instances, irrespective of their labels, match the default notification policy. If there are no nested policies, or no nested policies match the labels in the alert rule or alert instance, then the default notification policy is the matching policy.
1. Add labels if you want to change the way your notifications are routed.
Add custom labels by selecting existing key-value pairs from the drop down, or add new labels by entering the new key or value.
## Add annotations
Add [annotations](ref:annotation-label). to provide more context on the alert in your alert notifications.
Annotations add metadata to provide more information on the alert in your alert notifications. For example, add a **Summary** annotation to tell you which value caused the alert to fire or which server it happened on.
1. Optional: Add a summary.
Short summary of what happened and why.
1. Optional: Add a description.
Description of what the alert rule does.
1. Optional: Add a Runbook URL.
Webpage where you keep your runbook for the alert
1. Optional: Add a custom annotation
1. Optional: **Link dashboard and panel**.
[Link the alert rule to a panel](ref:link-alert-rules-to-panels) to facilitate alert investigation.
1. Click **Save rule**.
@@ -41,7 +41,7 @@ Note that in data source-managed groups, the alert rules and recording rules wit
- **Loki** - The `local` rule storage type, default for the Loki data source, supports only viewing of rules. To edit rules, configure one of the other rule storage types.
- **Mimir** - use the `/prometheus` prefix. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API.
- **Grafana Mimir** - use the `/prometheus` prefix. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API.
## Add new recording rule
@@ -66,9 +66,7 @@ Select your data source and enter a query. The queries used in data source-manag
1. From the **Group** dropdown, select an existing group within the selected namespace or add a new one.
Rules within a group are run sequentially at a regular interval, with the same evaluation time.
Newly created rules are appended to the end of the group, and you can reorder them from the **Alert rules** page.
Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
## Add labels
@@ -30,9 +30,9 @@ refs:
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/#annotations
view-alert-state-on-panels:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/monitor-status/view-alert-state/#view-alert-state-on-panels
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/view-alert-state-on-panels/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/monitor-status/view-alert-state/#view-alert-state-on-panels
destination: /docs/grafana-cloud/alerting-and-irm/alerting/manage-notifications/view-alert-state-on-panels/
---
# Create and link alert rules to panels
@@ -18,16 +18,16 @@ labels:
title: Template annotations and labels
weight: 500
refs:
reference-labels:
labels:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/templates/reference/#labels
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/#labels
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/templates/reference/#labels
reference-values:
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/#labels
values:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/templates/reference/#values
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/#values
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/templates/reference/#values
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/#values
annotations:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/#annotations
@@ -63,19 +63,14 @@ refs:
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference/#notification-data
view-alert-state:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/monitor-status/view-alert-state/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/view-state-health/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/monitor-status/view-alert-state/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/manage-notifications/view-state-health/
preview-notifications:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/manage-notification-templates/#preview-notification-templates
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/manage-notification-templates/#preview-notification-templates
labels:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/latest/alerting/fundamentals/alert-rules/annotation-label/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/
---
# Template annotations and labels
@@ -97,7 +92,7 @@ Refer to [Templates Introduction](ref:intro-to-templates) for a more detailed ex
Both types of templates are written in the Go templating system. However, it's important to understand that variables and functions used in notification templates are different from those used in annotation and label templates.
1. **Template annotations and labels**: These templates add extra information to individual alert instances. Template variables like [`$labels`](ref:reference-labels) and [`$values`](ref:reference-values) represent alert query data of the individual alert instance.
1. **Template annotations and labels**: These templates add extra information to individual alert instances. Template variables like [`$labels`](ref:labels) and [`$values`](ref:values) represent alert query data of the individual alert instance.
1. **Template notifications**: Notification templates format the notification content for a group of alerts. Variables like [`.Alerts`](ref:notification-data-reference) include all firing and resolved alerts in the notification.
## Template annotations
@@ -116,11 +111,11 @@ CPU usage has exceeded 80% for the last 5 minutes.
However, if you want to display dynamic query values in annotations, you need to use template code. Common use cases include:
- Displaying the query value that triggered the alert.
- Highlighting label information that identifies the alert, such as the environment, instance, or region.
- Displaying the query value or threshold that triggered the alert.
- Highlighting label information that identifies the alert, such as environment, region, or priority.
- Providing specific instructions based on query values.
- Customizing runbook links depending on query labels.
- Including contact information based on query labels.
- Customizing runbook links depending on query or label values.
- Including contact information based on alert labels.
For instance, you can template the previous example to display the specific instance and CPU value that triggered the alert.
@@ -218,7 +213,3 @@ For further details on how to template alert rules, refer to:
- [Annotation and label template reference](ref:alert-rule-template-reference)
- [Annotation and label examples](ref:alert-rule-template-examples)
{{< admonition type="tip" >}}
For a practical example of templating, refer to our [Getting Started with Templating tutorial](https://grafana.com/tutorials/alerting-get-started-pt4/).
{{< /admonition >}}
@@ -115,9 +115,7 @@ CPU usage has exceeded 80% (81.2345) for the last 5 minutes.
### Include labels for extra details
To provide additional context, you can include labels from the query using the [`$labels`](ref:reference-labels) variable.
For instance, the previous case could also include the affected `instance`.
To provide additional context, you can include labels from the query. For instance, access the [`$labels`](ref:reference-labels) variable to display a label that informs about the affected instance:
```
CPU usage for {{ $labels.instance }} has exceeded 80% ({{ $values.A.Value }}) for the last 5 minutes.
@@ -127,14 +125,14 @@ CPU usage for {{ $labels.instance }} has exceeded 80% ({{ $values.A.Value }}) fo
CPU usage for Instance 1 has exceeded 80% (81.2345) for the last 5 minutes.
```
You can incorporate any labels returned by the query into the template. For instance, the following template includes information about the environment and region where the alert occurred.
Annotations can also be used to provide a summary of key alert labels, such as the environment and alert severity. For instance, you can display a summary of the alert with important labels like:
```
Alert triggered in {{ $labels.environment }} on {{ $labels.region }} region.
Alert triggered in {{ $labels.environment }} with severity {{ $labels.severity }}
```
```template_output
Alert triggered in production on AMER region.
Alert triggered in production with severity critical.
```
### Print a range query
@@ -193,11 +191,15 @@ For additional functions to display or format data, refer to:
Heres an example of creating a `severity` label based on a query value:
```go
{{- if (gt $values.A.Value 90.0) -}}critical
{{- else if (gt $values.A.Value 80.0) -}}high
{{- else if (gt $values.A.Value 60.0) -}}medium
{{- else -}}low
{{- end -}}
{{ if (gt $values.A.Value 90.0) -}}
critical
{{ else if (gt $values.A.Value 80.0) -}}
high
{{ else if (gt $values.A.Value 60.0) -}}
medium
{{ else -}}
low
{{- end }}
```
In this example, the `severity` label is determined by the query value:
@@ -218,13 +220,10 @@ You should avoid displaying query values in labels, as this may create many aler
You can use labels to differentiate alerts coming from various environments (e.g., production, staging, dev). For example, you may want to add a label that sets the environment based on the instances label. Heres how you can template it:
```go
{{- if eq $labels.instance "prod-server-1" -}}
production
{{- else if eq $labels.instance "staging-server-1" -}}
staging
{{- else -}}
development
{{- end -}}
{{ if eq $labels.instance "prod-server-1" }}production
{{ else if eq $labels.instance "staging-server-1" }}staging
{{ else }}development
{{ end }}
```
This would print:
@@ -236,13 +235,10 @@ This would print:
To make this template more flexible, you can use a regular expression that matches the instance name with the instance name prefix using the [`match()`](ref:reference-match) function:
```go
{{- if match "^prod-server-.*" $labels.instance -}}
production
{{- else if match "^staging-server-.*" $labels.instance -}}
staging
{{- else -}}
development
{{- end -}}
{{ if match "^prod-server-.*" $labels.instance }}production
{{ else if match "^staging-server-.*" $labels.instance}}staging
{{ else }}development
{{ end }}
```
{{< collapse title="Legacy Alerting templates" >}}
@@ -16,11 +16,6 @@ title: Annotation and label template reference
menuTitle: Template reference
weight: 101
refs:
label-types:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/#label-types
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/#label-types
notification-template-reference:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/reference/
@@ -51,11 +46,6 @@ refs:
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/templates/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/templates/
explore:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/explore/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana/<GRAFANA_VERSION>/explore/
---
# Annotation and label template reference
@@ -82,15 +72,15 @@ The following variables are available when templating annotations and labels:
| Variables | Description |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| [$labels](#labels) | Contains all labels from the query, only query labels. |
| [$labels](#labels) | Contains all labels from the query. |
| [$values](#values) | Contains the labels and floating point values of all instant queries and expressions, indexed by their Ref IDs. |
| [$value](#value) | A string containing the labels and values of all instant queries; threshold, reduce and math expressions, and classic conditions in the alert rule. |
### $labels
The `$labels` variable contains all labels from the query. It excludes [user-configured and reserved labels](ref:label-types), containing only query labels.
The `$labels` variable contains all labels from the query.
{{< figure src="/media/docs/alerting/query-labels-and-values.png" max-width="1200px" caption="An alert rule displaying labels and value from a query." >}}
{{< figure src="/media/docs/alerting/query-labels-and_value.png" max-width="1200px" caption="An alert rule displaying labels and value from a query" >}}
For example, suppose you have a query that returns CPU usage for all of your servers, and you have an alert rule that fires when any of your servers have exceeded 80% CPU usage for the last 5 minutes. You want to add a summary annotation to the alert that tells you which server is experiencing high CPU usage. With the `$labels` variable you can write a template that prints a human-readable sentence such as:
@@ -14,75 +14,29 @@ menuTitle: Configure notifications
title: Configure notifications
weight: 125
refs:
intro-notifications:
contact-points:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/contact-points/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/
configure-contact-points:
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/contact-points/
notification-policies:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/notification-policies/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/
configure-notification-policies:
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies/
templates-page:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/create-notification-policy/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/templates/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-notification-policy/
configure-templates:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/
configure-silences:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/create-silence/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-silence/
configure-mute-timings:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/mute-timings/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/mute-timings/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/templates/
---
# Configure notifications
Configuring how, when, and where to send alert notifications is an essential part of your alerting system.
Choose how, when, and where to send your alert notifications.
By default, Grafana Alerting provides default notification messages with relevant alert information, so you don't need to configure messages initially. In the alert rule, you need to configure how to forward alerts:
As a first step, define your [contact points](ref:contact-points) where to send your alert notifications to. A contact point is a set of one or more integrations that are used to deliver notifications.
1. Directly to a contact point.
2. To a contact point via notification policies (more flexible).
Next, create a [notification policy](ref:notification-policies) which is a set of rules for where, when and how your alerts are routed to contact points. In a notification policy, you define where to send your alert notifications by choosing one of the contact points you created.
{{< figure src="/media/docs/alerting/alerting-configure-notifications-v2.png" max-width="750px" alt="In the alert rule, you can configure alert forwarding directly to a contact point or through notification policies" >}}
Notification setup is essential for an effective alerting system to scale across multiple teams and services. For a quick overview about the various components involved in handling notifications, refer to the [introduction about notifications](ref:intro-notifications).
The topics in this section include step-by-step instructions for:
- [Configuring contact points](ref:configure-contact-points) to specify where to receive alert notifications.
- [Configuring notification policies](ref:configure-notification-policies) to determine how alerts are routed to contact points.
- [Templating notifications](ref:configure-templates) to customize notification messages.
- [Configuring silences](ref:configure-silences) or [mute timings](ref:configure-mute-timings) to stop notifications.
## Alertmanager architecture
Grafana Alerting is based on the Prometheus Alerting model, whose architecture decouples rule evaluation from notification handling.
- The alert rule evaluator, either Grafana or the data source, evaluates alert rules and triggers alerts.
- The alert notification manager, known as the **Alertmanager**, receives alerts and manages their notifications.
{{< figure src="/media/docs/alerting/alerting-alertmanager-architecture.png" max-width="750px" alt="A diagram with the alert generator and alert manager architecture" >}}
In Grafana, you can use different types of alert rules and configure multiple Alertmanagers.
By default, Grafana uses its built-in Alertmanager, and Grafana Cloud instances include an additional Alertmanager.
{{< figure src="/media/docs/alerting/alerting-choose-alertmanager.png" max-width="750px" alt="A screenshot choosing an Alertmanager in the notification policies UI" >}}
When having multiple Alertmanagers, note that each Alertmanager manages its own independent notification resources, such as contact points, templates, policies, silences, mute timings, and active notifications.
These notification resources cannot be shared across different Alertmanagers.
Use the **Choose Alertmanager** dropdown to select the Alertmanager you want to configure.
Optionally, you can add [notification templates](ref:templates-page) to contact points for reuse and consistent messaging in your notifications.
@@ -20,67 +20,26 @@ labels:
title: Configure notification policies
weight: 420
refs:
alertmanager-architecture:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/#alertmanager-architecture
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/#alertmanager-architecture
intro-notification-policies:
notification-policies:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/notification-policies/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies/
configure-mute-timings:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/mute-timings/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/mute-timings/
configure-contact-points:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/
policy-routing:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/notification-policies/#routing
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies/#routing
policy-inheritance:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/notification-policies/#inheritance
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies/#inheritance
policy-grouping:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/group-alert-notifications/#group-notifications
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/group-alert-notifications/#group-notifications
policy-timing-options:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/group-alert-notifications/#timing-options
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/group-alert-notifications/#timing-options
---
# Configure notification policies
Notification policies determine how alerts are routed to contact points.
Policies have a tree structure. Each policy can have one or more child policies and a set of label matchers.
Policies have a tree structure and each policy can have one or more child policies. Each policy, except for the default policy, can also match specific alert labels.
Each alert (or alert instance) is evaluated by the default policy and subsequently by each child policy. Alerts are routed to the appropriate notification policy by matching alert labels with the policy's label matchers. For further details, refer to [label matching and routing in notification policies](ref:intro-notification-policies).
Each alert is evaluated by the default policy and subsequently by each child policy.
{{< figure src="/media/docs/alerting//get-started-notification-policy-tree-combo.png" max-width="750px" alt="A diagram displaying how the notification policy tree routes alerts" >}}
If the **Continue matching subsequent sibling nodes** option is enabled for a child policy, evaluation continues even after one or more matches. A parent policys configuration settings and contact point information govern the behavior of an alert that does not match any of the child policies. A default policy governs any alert that does not match a child policy.
When an alert instance is assigned to a notification policy, the notification policy is responsible for:
You can configure Grafana-managed notification policies as well as notification policies for an external Alertmanager data source.
- [Grouping similar alerts](ref:policy-grouping) to minimize the number of notifications.
- Controlling when notifications are sent using the [timing options](ref:policy-timing-options).
- Determining the [contact points](ref:configure-contact-points) that receive the alert notification.
{{% admonition type="note" %}}
The default notification policy and its child policies are assigned to a [specific Alertmanager](ref:alertmanager-architecture), and they cannot use contact points or mute timings from other Alertmanagers.
{{% /admonition %}}
For more information on notification policies, refer to [fundamentals of Notification Policies](ref:notification-policies).
## Edit the default notification policy
@@ -88,12 +47,12 @@ The default notification policy and its child policies are assigned to a [specif
1. Click **Notification policies**.
1. From the **Choose Alertmanager** dropdown, select an external Alertmanager. By default, the **Grafana Alertmanager** is selected.
1. In the Default policy section, click **...** -> **Edit**.
1. In **Default contact point**, update the [contact point](ref:configure-contact-points) for where to send notifications when alert rules do not match any specific policy.
1. In **Group by**, choose labels to group alerts. If multiple alerts match this policy, they are grouped by the selected labels, and notifications are sent per group. For more details on using this option, refer to [Group notifications](ref:policy-grouping).
1. In **Timing options**, set the [timing options](ref:policy-timing-options) to configure when notifications are sent.
- **Group wait**: the time to wait before sending the first notification for a new group of alerts. Default is 30 seconds.
- **Group interval**: the time to wait before sending a notification about changes in the alert group. Default is 5 minutes.
- **Repeat interval**: the time to wait before sending a notification if the group has not changed since the last notification. Default is 4 hours.
1. In **Default contact point**, update the contact point for where to send notifications when alert rules do not match any specific policy.
1. In **Group by**, choose labels to group alerts by. If multiple alerts are matched for this policy, then they are grouped by these labels. A notification is sent per group. If the field is empty (default), then all notifications are sent in a single group. Use a special label `...` to group alerts by all labels (which effectively disables grouping).
1. In **Timing options**, select from the following options:
- **Group wait** Time to wait to buffer alerts of the same group before sending an initial notification. Default is 30 seconds.
- **Group interval** Minimum time interval between two notifications for a group. Default is 5 minutes.
- **Repeat interval** Minimum time interval for re-sending a notification if no new alerts were added to the group. Default is 4 hours.
1. Click **Save** to save your changes.
## Add a child policy
@@ -103,18 +62,15 @@ You can create a child policy under a default policy or under an existing child
If you want to choose where to position your policy, see the section on **Add a sibling policy**.
1. In the left-side menu, click **Alerts & IRM** and then **Alerting**.
1. Click **Notification policies**.
1. From the **Choose Alertmanager** dropdown, select an Alertmanager. By default, the **Grafana Alertmanager** is selected.
1. Click **+New child policy** from the default policy or an existing child policy.
1. In the Matching labels section of the child policy, add one or more matching label rules to narrow down a specific case from the parent policy.
For instance, a child policy of the default policy handles `team=security` alerts, or a child policy handles only the `severity=critical` alerts of a parent policy.
1. In the **Contact point** dropdown, select the [contact point](ref:configure-contact-points) to send notifications. If left empty, the contact point of the parent policy is [inherited](ref:policy-inheritance).
1. Optionally, enable **Continue matching subsequent sibling nodes** to continue matching sibling policies even after the alert matched the current policy. If enabled, multiple policies can handle the same alert.
1. Optionally, enable **Override grouping** to set different [grouping](ref:policy-grouping) than the parent policy. If disabled, the grouping of the parent policy is [inherited](ref:policy-inheritance).
1. Optionally, enable **Override general timings** to set different [timing options](ref:policy-timing-options) than the parent policy. If disabled, the timing options of the parent policy are [inherited](ref:policy-inheritance).
1. Click **Save policy** to save your changes.
2. Click **Notification policies**.
3. From the **Choose Alertmanager** dropdown, select an Alertmanager. By default, the **Grafana Alertmanager** is selected.
4. Click **+New child policy** from the default policy.
5. In the Matching labels section, add one or more rules for matching alert labels.
6. In the **Contact point** dropdown, select the contact point to send notification to if alert matches only this specific policy and not any of the child policies.
7. Optionally, enable **Continue matching subsequent sibling nodes** to continue matching sibling policies even after the alert matched the current policy. When this option is enabled, you can get more than one notification for one alert.
8. Optionally, enable **Override grouping** to specify the same grouping as the default policy. If this option is not enabled, the default policy grouping is used.
9. Optionally, enable **Override general timings** to override the timing options configured in the group notification policy.
10. Click **Save policy** to save your changes.
## Add a sibling policy
@@ -123,11 +79,9 @@ If you want to choose where to position your policy, see the section on **Add a
1. Find the child policy you want to create a sibling for.
1. Click **Add new policy** -> **New sibling above** or **New sibling below**.
It's important to determine which policy receives the alert first and to set the correct order of sibling and child policies.
Notification policies are evaluated from top to bottom, so it is key to be able to choose which notification policy receives alerts first. Adding sibling notification policies instead of always inserting a child policy as well as being able to choose where to insert is key to managing where your alerts go.
Policies are evaluated from top to bottom. If a matching policy is found, the system continues to evaluate its child policies in the order they are displayed. For more details, refer to [notification policies routing](ref:policy-routing).
1. Follow the instructions from step 5 onward in [adding a child policy](#add-a-child-policy).
1. Click **Save policy** to save your changes.
## Search for policies
@@ -144,7 +98,7 @@ It is important to note that all matched policies are **exact** matches. Grafana
## Mute timings
Mute timings are not inherited from a parent notification policy, and they have to be configured on each level. For instructions, refer to [Configure mute timings](ref:configure-mute-timings).
Mute timings are not inherited from a parent notification policy. They have to be configured in full on each level.
## Example
@@ -22,52 +22,32 @@ labels:
title: Configure silences
weight: 440
refs:
configure-alertmanager:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/configure-alertmanager/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager/
silence-url:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/reference/#alert
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference/#alert
shared-alert-labels:
alert-labels:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/
shared-notification-policies:
notification-policies:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/notification-policies/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies/
shared-silences:
silences:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/create-silence/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-silence/
shared-mute-timings:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/mute-timings/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/mute-timings/
alertmanager-architecture:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/configure-alertmanager/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager/
---
# Configure silences
Silences stop notifications from getting created and last for only a specified window of time. Use them to temporarily prevent alert notifications, such as during incident response or a maintenance window.
Silences stop notifications from getting created and last for only a specified window of time.
{{< admonition type="note" >}}
Silences are assigned to a [specific Alertmanager](ref:alertmanager-architecture) and only suppress notifications for alerts managed by that Alertmanager.
{{< /admonition >}}
{{< docs/shared lookup="alerts/mute-timings-vs-silences.md" source="grafana" version="<GRAFANA_VERSION>" >}}
- Inhibition rules are not supported in the Grafana Alertmanager.
- The preview of silenced alerts only applies to alerts in firing state.
{{< /admonition >}}
## Add silences
@@ -79,12 +59,10 @@ To add a silence, complete the following steps.
1. Click **Create silence** to open the Create silence page.
1. In **Silence start and end**, select the start and end date to indicate when the silence should go into effect and expire.
1. Optionally, in **Duration**, specify how long the silence is enforced. This automatically updates the end time in the **Silence start and end** field.
1. In the **Label** and **Value** fields, enter one or more _Matching Labels_ to determine which alerts the silence applies to.
1. In the **Label** and **Value** fields, enter one or more _Matching Labels_. Matchers determine which rules the silence will apply to. Any matching alerts (in firing state) will show in the **Silenced alert instances** field
{{< docs/shared lookup="alerts/how_label_matching_works.md" source="grafana" version="<GRAFANA_VERSION>" >}}
Any matching alerts (in the firing state only) will show under **Affected alert rule instances**.
1. In **Comment**, add details about the silence.
1. Click **Submit**.
@@ -97,6 +75,14 @@ To edit a silence, complete the following steps.
1. Find the silence you want to edit, then click **Edit** (pen icon).
1. Make the desired changes, then click **Submit** to save your changes.
## Create a URL to link to a silence form
When linking to a silence form, provide the default matching labels and comment via `matcher` and `comment` query parameters. The `matcher` parameter should be in the following format `[label][operator][value]` where the `operator` parameter can be one of the following: `=` (equals, not regular expression), `!=` (not equals, not regular expression), `=~` (equals, regular expression), `!~` (not equals, regular expression).
The URL can contain many query parameters with the key `matcher`.
For example, to link to silence form with matching labels `severity=critical` & `cluster!~europe-.*` and comment `Silence critical EU alerts`, create a URL `https://mygrafana/alerting/silence/new?matcher=severity%3Dcritical&matcher=cluster!~europe-*&comment=Silence%20critical%20EU%20alert`.
To link to a new silence page for an external Alertmanager, add a `alertmanager` query parameter with the Alertmanager data source name.
## Remove silences
To remove a silence, complete the following steps.
@@ -109,30 +95,13 @@ To remove a silence, complete the following steps.
## Rule-specific silences
Rule-specific silences are silences that apply only to a specific alert rule. They're created when you silence an alert rule directly using the **Silence notifications** action in the UI.
Rule-specific silences are silences that apply only to a specific alert rule.
They're created when you silence an alert rule directly using the **Silence notifications** action in the UI.
{{< admonition type="note" >}}
As opposed to general silences, rule-specific silence access is tied directly to the alert rule they act on. They can be created manually by including the specific label matcher: `__alert_rule_uid__=<alert rule UID>`.
{{< /admonition >}}
## URL link to a silence form
## Useful links
Default notification messages often include a link to silence alerts.
In custom notification templates, you can use [`.Alert.SilenceURL`](ref:silence-url) to redirect users to the UI where they can silence the given alert.
If [`.Alert.SilenceURL`](ref:silence-url) doesnt fit your specific use case, you can also create a custom silence link for your custom templates.
{{< collapse title="Create a custom silence link" >}}
When linking to a silence form, provide the default matching labels and comment via `matcher` and `comment` query parameters. The `matcher` parameter should be in the following format `[label][operator][value]` where the `operator` parameter can be one of the following: `=` (equals, not regular expression), `!=` (not equals, not regular expression), `=~` (equals, regular expression), `!~` (not equals, regular expression).
The URL can contain many query parameters with the key `matcher`.
For example, to link to silence form with matching labels `severity=critical` & `cluster!~europe-.*` and comment `Silence critical EU alerts`, create a URL `https://mygrafana/alerting/silence/new?matcher=severity%3Dcritical&matcher=cluster!~europe-*&comment=Silence%20critical%20EU%20alert`.
To link to a new silence page for an external Alertmanager, add a `alertmanager` query parameter with the Alertmanager data source name.
{{< /collapse >}}
## Inhibition rules
Inhibition rules are supported in the Prometheus Alertmanager. You can [configure a Prometheus Alertmanager](ref:configure-alertmanager) to handle the notification of alerts and suppress notifications via inhibition rules.
Inhibition rules are not currently supported in the Grafana Alertmanager. For tracking the progress of this feature request, follow [this GitHub issue](https://github.com/grafana/grafana/issues/68822).
[Aggregation operators](https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators)
@@ -81,21 +81,16 @@ refs:
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-teams/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-teams/
mqtt:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-mqtt/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-mqtt/
alertmanager-architecture:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/#alertmanager-architecture
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/#alertmanager-architecture
external-alertmanager:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/configure-alertmanager/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager/
mqtt:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-mqtt/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-mqtt/
manage-notification-templates:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/manage-notification-templates/
@@ -118,10 +113,6 @@ On the **Contact Points** tab, you can:
- Export individual contact points or all contact points in JSON, YAML, or Terraform format.
- Delete contact points. Note that you cannot delete contact points that are in use by a notification policy. To proceed, either delete the notification policy or update it to use another contact point.
{{% admonition type="note" %}}
Contact points are assigned to a [specific Alertmanager](ref:alertmanager-architecture) and cannot be used by notification policies in other Alertmanagers.
{{% /admonition %}}
## Add a contact point
Complete the following steps to add a contact point.
@@ -159,16 +150,6 @@ Testing a contact point is only available for Grafana Alertmanager. Complete the
1. Choose whether to send a predefined test notification or choose custom to add your own custom annotations and labels to include in the notification.
1. Click **Send test notification** to fire the alert.
## Customize notification messages
In contact points, you can also customize notification messages. For example, when setting up an email contact point integration, click **Message** or **Subject** to modify it.
By default, notification messages include common alert details, which are usually sufficient for most cases.
If necessary, you can customize the content and format of notification messages. You can create a custom notification template, which can then be applied to one or more contact points.
On the **Notification templates** tab, you can view, edit, copy or delete notification templates. Refer to [manage notification templates](ref:manage-notification-templates) for instructions on selecting or creating a template for a contact point.
## List of supported integrations
Each contact point integration has its own configuration options and setup process. In most cases, this involves providing an API key or a Webhook URL.
@@ -201,3 +182,13 @@ The following table lists the contact point integrations supported by Grafana.
| WeCom | `wecom` |
Some of these integrations are not compatible with [external Alertmanagers](ref:external-alertmanager). For the list of Prometheus Alertmanager integrations, refer to the [Prometheus Alertmanager receiver settings](https://prometheus.io/docs/alerting/latest/configuration/#receiver-integration-settings).
## Customize notification messages
In contact points, you can also customize notification messages. For example, when setting up an email contact point integration, click **Message** or **Subject** to modify it.
By default, notification messages include common alert details, which are usually sufficient for most cases.
If necessary, you can customize the content and format of notification messages. You can create a custom notification template, which can then be applied to one or more contact points.
On the **Notification templates** tab, you can view, edit, copy or delete notification templates. Refer to [manage notification templates](ref:manage-notification-templates) for instructions on selecting or creating a template for a contact point.
@@ -149,8 +149,8 @@ Each alert instance in the `alerts` array has the following fields.
| generatorURL | string | URL of the alert rule in the Grafana UI |
| fingerprint | string | The labels fingerprint, alarms with the same labels will have the same fingerprint |
| silenceURL | string | URL to silence the alert rule in the Grafana UI |
| dashboardURL | string | **Deprecated. It will be removed in a future release.** |
| panelURL | string | **Deprecated. It will be removed in a future release.** |
| dashboardURL | string | A link to the Grafana Dashboard if the alert has a Dashboard UID annotation |
| panelURL | string | A link to the panel if the alert has a Panel ID annotation |
| imageURL | string | URL of a screenshot of a panel assigned to the rule that created this notification |
{{< admonition type="note" >}}
@@ -140,8 +140,8 @@ The webhook notification is a simple way to send information about a state chang
| generatorURL | string | URL of the alert rule in the Grafana UI |
| fingerprint | string | The labels fingerprint, alarms with the same labels will have the same fingerprint |
| silenceURL | string | URL to silence the alert rule in the Grafana UI |
| dashboardURL | string | **Will be deprecated soon** |
| panelURL | string | **Will be deprecated soon** |
| dashboardURL | string | A link to the Grafana Dashboard if the alert has a Dashboard UID annotation |
| panelURL | string | A link to the panel if the alert has a Panel ID annotation |
| imageURL | string | URL of a screenshot of a panel assigned to the rule that created this notification |
{{< admonition type="note" >}}
@@ -18,34 +18,31 @@ labels:
- enterprise
- oss
title: Configure mute timings
weight: 430
weight: 450
refs:
alertmanager-architecture:
external-alertmanager:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/#alertmanager-architecture
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/configure-alertmanager/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/#alertmanager-architecture
shared-silences:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/create-silence/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-silence/
shared-mute-timings:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/mute-timings/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/mute-timings/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager/
---
# Configure mute timings
A mute timing is a recurring interval of time when no new notifications for a policy are generated or sent. Use them to prevent alerts from firing a specific and reoccurring period, for example, a regular maintenance period or weekends.
A mute timing is a recurring interval of time when no new notifications for a policy are generated or sent. Use them to prevent alerts from firing a specific and reoccurring period, for example, a regular maintenance period.
{{< admonition type="note" >}}
Mute timings are assigned to a [specific Alertmanager](ref:alertmanager-architecture) and only suppress notifications for alerts managed by that Alertmanager.
{{< /admonition >}}
Similar to silences, mute timings do not prevent alert rules from being evaluated, nor do they stop alert instances from being shown in the user interface. They only prevent notifications from being created.
{{< docs/shared lookup="alerts/mute-timings-vs-silences.md" source="grafana" version="<GRAFANA_VERSION>" >}}
You can configure Grafana managed mute timings as well as mute timings for an [external Alertmanager](ref:external-alertmanager).
## Mute timings vs silences
The following table highlights the key differences between mute timings and silences.
| Mute timing | Silence |
| -------------------------------------------------- | ---------------------------------------------------------------------------- |
| Uses time interval definitions that can reoccur | Has a fixed start and end time |
| Is created and then added to notification policies | Uses labels to match against an alert to determine whether to silence or not |
## Add mute timings
@@ -68,8 +65,6 @@ Mute timings are assigned to a [specific Alertmanager](ref:alertmanager-architec
A time interval is a specific duration during which alerts are suppressed. The duration typically consists of a specific time range and the days of the week, month, or year.
A mute timing can contain multiple time intervals.
Supported time interval options are:
- Time range: The time inclusive of the start and exclusive of the end time (in UTC if no location has been selected, otherwise local time).
@@ -81,13 +76,9 @@ Supported time interval options are:
All fields are lists; to match the field, at least one list element must be satisfied. Fields also support ranges using `:` (e.g., `monday:thursday`).
If a field is left blank, any moment of time matches the field. For an instant of time to match a complete time interval, all fields must match.
If a field is left blank, any moment of time matches the field. For an instant of time to match a complete time interval, all fields must match. A mute timing can contain multiple time intervals.
If you want to specify an exact duration, specify all the options.
**Example**
If you wanted to create a time interval for the first Monday of the month, for March, June, September, and December, between the hours of 12:00 and 24:00 UTC your time interval specification would be:
If you want to specify an exact duration, specify all the options. For example, if you wanted to create a time interval for the first Monday of the month, for March, June, September, and December, between the hours of 12:00 and 24:00 UTC your time interval specification would be:
- Time range:
- Start time: `12:00`

Some files were not shown because too many files have changed in this diff Show More