Commit Graph

8327 Commits

Author SHA1 Message Date
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
Karl Persson 39d94eabcd Auth: Fix function name (#100122)
Fix spelling
2025-02-05 15:32:22 +01:00
Karl Persson 64800f293e Authz: Check for parent uid instead of id (#100121)
* Check for parent uid instead of id
2025-02-05 15:06:38 +01:00
Mihai Doarna 5ad31ebe39 API keys: Migrate API keys to service accounts at startup (#96924)
* migrate API keys to SA at startup

* send metrics with api key migration stats

* address feedback

* run API keys migration in a server lock

* update logging
2025-02-05 10:55:47 +02:00
Yuri Tseretyan 68f1730461 Alerting: set updated_by for system owned operations (#100068) 2025-02-04 14:23:15 -05:00
Nathan Marrs 6eac07c3a7 Image Renderer: Add support for SSL in plugin mode (#98009) 2025-02-04 10:44:02 -08:00
Matias Chomicki ff926c5ac5 Logs Panel: Base elements for the new visualization (#99084)
* Create base components

* Create measurement service

* Add container for list

* Use measurement to render virtualized log lines

* Match rendered styles in 2d context for measuring

* Improve virtualization initialization and handle resize

* Introduce log line processing

* Virtualization: fix measurement of lines with line endings

* Virtualization: include scrollbar width in calculation

* Remove logs

* Virtualization: optimize text measurement

* Add support for forceEscape

* Log line: properly style wrapped/unwrapped lines

* Virtualization: handle possible overflows

* Improve overflow handling

* LogList: remove scroll position ref

* Remove logs

* Remove log

* Add top/bottom navigation buttons

* Add timestamp to pre-processing

* Add showtime support

* Fix imports

* Chore: simplify dedup

* Show level

* Refactor measurement and measure level and timestamp

* Virtualization: skip unnecessary measurements

* Improve measurements to minimize overflow chance

* Introduce logline colors

* Update palette

* Remove pretiffying

* Add comment

* Remove unused variable

* Add color for info level

* Fix dependencies

* Refactor overflow to account for smaller estimations

* Debounce resizing

* Fix imports

* Further optimize height calculation

* Remove outline

* Unused import

* Use less under/overflow method

* Respond to height changes

* Refactor size adjustment to account for layout changes

* Add Logs Panel support

* Add margin bottom to log lines

* Remove unused option

* LogList: container div should never be null

Bad API design

* Log List: make app not undefined and update containerElement usages

* New Logs Panel: Create as new visualization (#99427)

* Logs Panel: clean up old panel

* Logs Panel New: create as new visualization

* Plugin: mark as alpha

* Logs panel new: hold container in a state variable

* Logs panel: fix no data state

* Create newLogsPanel feature flag

* Logs: use new feature flag

* Prettier

* Add new panel to code owners

* Logs Navigation: add translations

* Address betterer issues

* Fix import

* Extract translations

* Update virtualization.ts

* Virtualization: add DOM fallback for text measurement

* Run gen-cue

* plugins_integration_test: add logs-new to expected plugins
2025-02-04 18:40:17 +01:00
Christopher Lord e74cf72d99 Plugin Metrics: Eliminate data race in plugin metrics middleware (#99396)
fix: eliminate data race in plugin metrics middleware

A data race was detected when multiple goroutines accessed the `MetricsMiddleware`
simultaneously. The race occurred because a single `MetricsMiddleware` instance
was being shared across goroutines while its `BaseHandler` field was being
modified during middleware chain setup.

Fix by creating a new `MetricsMiddleware` instance for each middleware chain,
while safely sharing the thread-safe Prometheus metrics and plugin registry.
This maintains proper metrics collection while eliminating the mutable shared
state that caused the race condition.

Original error was detected here:

```
WARNING: DATA RACE
Read at 0x00c0039c0790 by goroutine 4486:
  github.com/grafana/grafana-plugin-sdk-go/backend.(*ErrorSourceMiddleware).CallResource()
      /Users/clord/src/grafana/irm-devstack/.devenv/state/go/pkg/mod/github.com/grafana/grafana-plugin-sdk-go@v0.261.0/backend/error_source_middleware.go:93 +0x40
  github.com/grafana/grafana-plugin-sdk-go/backend.BaseHandler.CallResource()
  ...

```
2025-02-04 16:54:27 +00:00
Karl Persson b16e290444 Auth: Remove feature toggle authAPIAccessTokenAuth (#100055)
Remove feature toggle
2025-02-04 16:31:24 +01:00
Stephanie Hingtgen 0fa2d182d6 K8s: Fix dashboard deletion in folders (#100023) 2025-02-04 06:38:57 +02:00
Stephanie Hingtgen 8ac9c47222 Folders: Validator: add temporary fix (#100019) 2025-02-03 17:08:15 -06:00
Nick Richmond 29fa6dfc8d ExploreMetrics: Add toggle to enable routing to externalized Explore Metrics app plugin (#99481)
* feat: toggle for explore metrics app plugin

* chore: put app navigation settings behind feature toggle

* chore: require restart

* feat: context-driven applinks toggling

* fix: toggle ownership

* docs: note restart requirement

* refactor: prefer global feature toggle check

* chore: undo rm newlines

* fix: minimize changes

* fix: app id, `chromeless`, sidebar ordering
2025-02-03 15:46:54 -05:00
Yuri Tseretyan ac41c19350 Alerting: Rule version history API (#99041)
* implement store method to read rule versions

* implement request handler

* declare a new endpoint

* fix fake to return correct response

* add tests

* add integration tests

* rename history to versions

* apply diff from swagger CI step

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-02-03 13:26:18 -05:00
Yuri Tseretyan 807f94b2c7 Alerting: Remove feature toggle alertingNoNormalState (#99905) 2025-02-03 17:32:50 +02:00
Eric Leijonmarck 62aaec14b6 LBAC for datasources: Enabled by default - expression "true" (#99971)
* add expression "true"

* update gen json
2025-02-03 14:46:34 +00:00
Alexander Akhmetov d6c1e3bb45 Alerting: Use org store to read organization IDs (#99938) 2025-02-03 15:38:16 +01:00
Ida Štambuk 34b2cb5e02 Features: Remove openSearchBackendFlowEnabled feature toggle (#99068) 2025-02-03 14:24:49 +01:00
Karl Persson c85a175212 RBAC: only query folder service when fetching parent folders (#99893)
* only query folder service when fetching parent folders
* Perform validation and inehrited scopes solvers as service instead of caller
2025-02-03 13:56:25 +01:00
Ryan McKinley b636b81b16 K8s/IAM: Use raw handler for display (not rest.Connector) (#99898) 2025-02-03 14:24:35 +03:00
Karl Persson d16374d339 Authz: For list collect all folder permisions into items (#99955)
* For list collect all folder permisions into items
---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-02-03 12:14:28 +01:00
Ryan McKinley 8c0b812874 Provisioning: Expose dashboard config within grafana (#99947) 2025-02-03 11:44:34 +02:00
Alexander Akhmetov f45265b5f7 Alerting: Read from both proto and simple DB instance stores on startup (#99855) 2025-01-31 23:34:00 +01:00
Yuri Tseretyan 0be6e1bb86 Alerting: Extra dedup stage in Grafana Alertmanager (#99825)
* add feature flags

* update alerting module

* update grafana alertmanager to configure the extra dedup stage

---------

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2025-01-31 11:12:38 -05:00
Santiago 39f212a965 Alerting: Call RLock() before reading sendAlertsTo map (#99812)
* Alerting: Call RLock() before reading sendAlertsTo map

* defer unlocking

* drive-tru fix for another lock

* less time holding the lock in SyncAndApplyConfigFromDatabase
2025-01-31 12:43:02 +01:00
Tobias Skarhed 7190bfb0ca DashboardVariables: Use Combobox behind feature flag (#98261)
* Add feature toggle

* Use feature toggle

* Remove usage of renderWithCombobox
2025-01-31 11:53:13 +02:00
Alexander Zobnin a95005eab5 Zanzana: Disable broken OpenFGA health check (#99818)
* Zanzana: Disable broken OpenFGA health check

* simplify return

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

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-01-30 17:42:48 +01:00
Andres Martinez Gotor a066659e11 Frontend Sandbox: Add to statscollector (#99735) 2025-01-30 16:17:36 +01:00
Ben Sully 408e3e91a8 Live: make maximum WebSocket message size configurable (#99770)
Co-authored-by: Chris Marchbanks <chris.marchbanks@grafana.com>
2025-01-30 10:24:29 +00:00
Ryan McKinley 9d5af95565 K8s/OpenAPI: Remove /watch/ from the openapi spec (#99793) 2025-01-30 12:51:55 +03:00
Stephanie Hingtgen 4b0f8d8363 K8s: Fix search when query is set (#99787) 2025-01-30 03:42:06 +02:00
Stephanie Hingtgen 2d491a9367 K8s: Implement folder search (#99781) 2025-01-29 17:44:42 -06:00
Yuri Tseretyan 7007342704 Alerting: k8s receivers api encrypt existing unencrypted secureFields on update (#99784)
* apply security patch: v11.5.x/305-202501232115.patch

commit 874ce8d12caad3742857ca86d2da7d5f81f3f825
Author: Matt Jacobson <matthew.jacobson@grafana.com>
Date:   Thu Jan 23 16:14:28 2025 -0500

    linting

commit c4b6d9194cc8b79e252e562a27a2d09a42d7a5e8
Author: Matt Jacobson <matthew.jacobson@grafana.com>
Date:   Thu Jan 23 14:56:35 2025 -0500

    CVE-2024-11741 - victorops url
2025-01-30 00:48:26 +02:00