Commit Graph

8358 Commits

Author SHA1 Message Date
Todd Treece 30ae434a2e K8s: Support multiple versions in builder (#100331) 2025-02-14 12:29:43 -05:00
Ashley Harrison 39db59fc73 Chore: remove the queryLibraryDashboards toggle since we didn't end up using it (#100749)
remove the queryLibraryDashboards toggle since we didn't end up using it
2025-02-14 16:39:22 +00:00
Alexander Akhmetov cbae35c28b Alerting: Delete protobuf alert rule state on alert rule deletion (#100736) 2025-02-14 16:56:14 +01:00
Sonia Aguilar af8cab9210 Alerting: Add Jira integration to cloud AMs (#100482)
* Add Jira integration to cloud AMs

* Add alertingJiraIntegration feature toggle for jira integration

* Update integration name to Jira Service Management

* address pr comments

* gen ff

* add project to the getReceiverDescription for jira

* Update getReceiverDescription for jira

* update text

* update texts and add required option

* Add conversion for fields jira integration to JSON format in the dto and viceversa

* add tests

* Add translation for jira receiver summary

* Add placeholder for Jira duration option

* move logic cheking integrtion type outside the conversion method

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-02-14 13:22:04 +01:00
Peter Štibraný 1856d47e47 Remove GetResourceClient hack from unified package. (#100636)
* Remove GetResourceClient hack from unified package.
2025-02-14 12:34:52 +01:00
Karl Persson d8b26b0a31 Search: Search dashboards without a parent (#100615)
* Search dashboards without a parent
2025-02-14 10:39:57 +01:00
Stephanie Hingtgen e2081c3e0c K8s: Fix legacy fallback provisioning (#100566) 2025-02-13 21:32:25 +02:00
Georges Chaudy b58b5b5768 grpc: improve grpc logger (#100606)
use proper grpc logging
2025-02-13 17:39:33 +01:00
Will Assis 155492c8a5 search: handle "permission" query param in search (#100607)
handle "permission" query param in search
2025-02-13 11:35:53 -05:00
Gabriel MABILLE 90eb499b78 PublicDashboards: Fetch dashboard as Grafana (#100344) 2025-02-13 17:17:14 +01:00
Yuri Tseretyan 9dd75aee32 Alerting: Refactor State Transition (part 2 of n) (#99985)
* split create to create and patch and move to state

patch will be refactored further

* move setNextState to state transition

* move tests

* split tests for patch function
2025-02-13 09:45:16 -05:00
Karl Persson be60ef0500 IDToken: cache invalidation (#100592)
* Make org role part of id token cache key. This way we will always sign a new token when it changes

* Remove calls to remove id token
2025-02-13 14:10:58 +01:00
Karl Persson 1b1954de28 Authz: add support to use folder api to fetch folder tree (#100038)
* Add FolderStore interface

* Authz: add implementation to use folders api and use it inproc with loopback config

* Add tracing and add rest.Config for talking with folder api using access tokens

* Restructure test to get rid of circular dependencies in tests

* use correct group version kind

---------

Co-authored-by: gamab <gabriel.mabille@grafana.com>
2025-02-13 11:59:59 +01:00
Karl Persson 0b4c622df8 AuthN: Refetch user on "ErrUserAlreadyExists" (#100346)
* AuthN: Refetch user on "ErrUserAlreadyExists"
2025-02-13 11:27:57 +01:00
Dominik Süß 8a8e47fcea PluginExtensions: Added support for sharing functions (#98888)
* feat: add generic plugin extension functions

* updated betterer.

* Fixed type issues after sync with main.

* Remved extensions from datasource and panel.

* Added validation for extension function registry.

* Added tests and validation logic for function extensions registry.

* removed prop already existing on base.

* fixed lint error.

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2025-02-13 10:18:55 +01:00
Karl Persson df64dd0762 LibraryElements: Propagate service identity in context when searching for dashboards (#100220)
* Propagate service identity in context when searching for dashboards
2025-02-13 09:17:16 +01:00
Sergej-Vlasov d1dee968c3 Schema V2: Adjust quick_ranges in time settings and remove time_options (#100135)
* adjut quickRanges type in v2

* clean up unused time_options property

* remove deprecated time_options property on time picker

* add schema migration for time_options

* adjust test
2025-02-12 19:23:09 +00:00
Alexander Akhmetov 3cc4320aa9 Alerting: Add rule conversion package (#100224) 2025-02-12 19:38:48 +02:00
Misi ee0a1391df Auth: Add OrgRole to ID token (#100383)
* Changes for Users and ServiceAccounts

* Align tests
2025-02-12 05:51:29 -08:00
Alexander Akhmetov 9593e51da7 Alerting: conversion API structure (#100258) 2025-02-12 08:13:21 +01:00
Stephanie Hingtgen df84d928e2 K8s: Folders: Fix legacy search (#100393) 2025-02-11 13:14:25 -06:00
Ryan McKinley a5355fd66c Storage: Add command line tool to migrate legacy dashboards (and folders) to unified storage (#99199) 2025-02-11 19:57:46 +02:00
Yuri Tseretyan 28f21e0a0d Alerting: Do not record rule version if no difference (#100364) 2025-02-11 09:46:26 -05:00
Yuri Tseretyan 4cac3158c7 Alerting: Fix alert rule copy to include metadata (#100212)
* copy metadata

* add tests for copy and generator

* extract copy rule to a production method and update usages

* fix tests
2025-02-11 09:46:02 -05:00
Alexander Zobnin 7234a17d1d Zanzana: Use authzService audience (#100417) 2025-02-11 14:25:30 +01:00
Alexander Zobnin 5118e82e8c Zanzana: Run reconciliation in its own service (#100361)
* Zanzana: Start reconciliation in its own service

* cleanup

* update go workspaces

* refactor

* remove unused code

* move func definition
2025-02-11 14:09:39 +01:00
Karl Persson bfa4fa3c68 Authz: Refactor folder tree (#99554)
* Refactor folder tree to its own structure

* Make it possible to json encode the tree

* Use iterations for Ancestors and Children

---------

Co-authored-by: IevaVasiljeva <ieva.vasiljeva@grafana.com>
2025-02-11 12:36:11 +01:00
Moustafa Baiou 7dee4d1808 Alerting: Allow specifying uid for new rules added to groups (#99858)
When modifying rule groups the `uid` can be specified but only if the rule already existed in the DB. If the rule is new the update would be rejected.

This updates the RuleGroup provisioning apis to allow specifying the `uid` when creating/updating rule groups. 

Additionally, the RuleGroupIdx was not being updated when rules were reordered in the group.

Context: https://github.com/grafana/terraform-provider-grafana/pull/1971#issuecomment-2599223897
Relates to: https://github.com/grafana/terraform-provider-grafana/issues/1928

Fixes: #98283
2025-02-10 10:28:34 -05:00
Yuri Tseretyan 1b8db233a7 Alerting: Rule Version API to Ignore versions without diff (#100093) 2025-02-10 09:20:35 -05:00
Scott Lepper 378bb6ea3f [search] folder name lookup performance (#100154)
[search] use search for folder name lookup
2025-02-07 17:19:23 -05:00
Will Assis 7e11e604c7 [search] fix offset param in finddashboards (#100302)
* fix offset param in finddashboards

* separate offset from page in k8s search endponit
2025-02-07 13:24:27 -05:00
Will Assis 7c9f47ac67 [search] handle folderids query param (#100223)
handle folderids query param
2025-02-07 12:24:21 -05:00
Fayzal Ghantiwala 7ae8058c8b Alerting: Return 404 when /api/ruler/grafana/api/v1/rules/{Namespace}/{Groupname} does not exist (#100264)
* Return a 404 when rule group doesn't exist

* Update tests

* Update swagger doc and tests
2025-02-07 16:24:28 +00:00
Torkel Ödegaard 9d7a4a53e4 Themes: Adds 1 more GrafanaCon theme (wip) (#100228)
* Themes: Gloom theme wip

* Themes: Gloom theme wip

* refactor

* A bit brown maybe?

* Update secondary to also be a bit brownish orangy

* Not super happy

* down a bit

* Progress

* Update

* Update

* orange primary again
2025-02-07 15:27:56 +01:00
Giuseppe Guerra ccb9cab131 Plugins: Add synchronous CDN plugin loader (#99096)
* WIP

* Run plugin validations and validation steps sequentially if feature is off

* Remove dependency between sources.Service and pluginscdn.Service

* lint

* Parallelize validation only if class is CDN

* re-generate feature toggles

* remove waitgroup usage

* PR review: Add loader concurrency limit setting

* re-generate feature toggles

* pr review feedback

* fix const name

* Skip module.js validation for cdn plugins

* do not run validation steps in parallel

* lint

* reduce diff

* re-generate feature toggles

* lint

* pr review feedback

* remove leftover config.PluginManagementCfg from sources.Service
2025-02-07 11:07:08 +01:00
Alexander Akhmetov a9ce930634 Alerting: Promote alertingSaveStateCompressed flag to public preview (#99935) 2025-02-06 18:09:43 +01:00
Will Assis 1467d4b3e3 [search] Legacy search fallback support legacy query params (#99765)
* add support for deleted query param

* support tag query param in modes 2 and below

* handle dashboardIds

* hhandle dashboardUIDs

* handle folderUIDs query param

* handle page query param when hitting legacy storage

* handle sort query param

* handle type query param

* re-enable search fallback

* remove folder search workaround and fix /api/search to return both folders and dashboards when no title or type is provided

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-02-06 11:30:47 -05:00
Matthew Jacobson ccb0e9222a Alerting: Upgrade grafana/alerting to use EmbeddedContents (#99983)
* Upgrade grafana/alerting to include EmbeddedContents for email images
2025-02-06 11:29:43 -05:00
Karl Persson 011301f06f Authz: client cache (#100195)
* Reduce client permissions cache for authz client

* Adjust server cache ttl
2025-02-06 17:16:30 +01:00
Karl Persson 126396399e Folder+Dashboard: Resolve parent folders as service in search (#100185)
Resolve parent folders as service to guarantee that we can fetch the title
2025-02-06 16:40:07 +01:00
Nathan Marrs 21bfdd445f Image Renderer: Minor refactor cleanup (#100089) 2025-02-06 08:01:11 -07:00
Kyle Brandt d64f41afdc SQL Expressions: Re-implement feature using go-mysql-server (#99521)
* Under feature flag `sqlExpressions` and is experimental
* Excluded from arm32
* Will not work with the Query Service yet
* Does not have limits in place yet
* Does not working with alerting yet
* Currently requires "prepare time series" Transform for time series viz
 
---------

Co-authored-by: Sam Jewell <sam.jewell@grafana.com>
2025-02-06 07:27:28 -05:00
Matheus Macabu fde475e3d9 CloudMigrations: save snapshot of alert rule groups (#100109) 2025-02-06 12:35:59 +01:00
Ashley Harrison 7d3a77a45c Themes: Add new theme definitions behind feature toggle (#100129)
* create new toggle

* add survey link behind feature toggle

* fix translations

* better theme structure

* add all the themes back

* update matrix

* fix mars contrast

* fix color contrast probs with tron

* fix a11y issues with synthwave/victorian themes

* fix aubergine/zen

* rename green + gold

* rename to space

* rename, only enable 4 for grafanacon

* add survey link

* fix info color in sapphiredusk

* handle extra themes in storybook
2025-02-06 11:08:04 +00:00
Karl Persson e05413dcc4 Dashboards+Folders: Ensure the service identity is used for resolvers (#100128)
* Dashboards+Folders: Ensure the service identity is used for dashboard and folder resolvers

* Add convinient function to call closure with service context
2025-02-06 12:07:52 +01:00
Stephanie Hingtgen 495aa65c6e FindDashboards: filter by dashboard type (#100160) 2025-02-05 18:57:26 -06:00
Yuri Tseretyan f7d476e408 Alerting: Remove id and org_id from grafana alert rule API model (#100139) 2025-02-05 23:13:22 +02:00
Yuri Tseretyan 33b11d5c76 Alerting: Remove ID and OrgID from hash calculation (#100140) 2025-02-05 14:15:02 -05:00
colin-stuart 6200361f36 Auth: Add IP address login attempt validation (#98123)
* Auth: Add IP address login attempt validation

* LoginAttempt struct IpAddress field must be camelCase to match db ip_address column

* add setting DisableIPAddressLoginProtection

* lint

* add DisableIPAddressLoginProtection setting to tests

* add request object to authenticate password test

* nit suggestions & rename tests

* add login attempt on failed password authentication

* dont need to reset login attempts if successful

* don't change error message

* revert go.work.sum

* Update pkg/services/authn/clients/password.go

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

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2025-02-05 20:16:36 +02:00
Matthew Jacobson a93664ff3d Alerting: Add EmbeddedContents as alternative embedding in smtp (#99937)
Adds support for embedding []byte in SmtpClient instead of filenames. This is backwards compatible as it uses a new field EmbeddedContents to add an alternative to the existing EmbeddedFiles which takes filenames.
2025-02-05 11:12:30 -05:00