Commit Graph

249 Commits

Author SHA1 Message Date
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
owensmallwood
58df80e542 Unified Storage: Fix panic from log (#99850)
evt.Object can be nil, so use the key instead
2025-01-30 19:29:51 -05:00
Igor Suleymanov
b683724bec Upgrade grafana-app-sdk to 0.31.0 (#99739)
* Upgrade grafana-app-sdk to 0.31.0

What

This commit upgrades the app SDK to 0.31.0 and re-generates codegen files.
It doesn't touch alerting schemas, because those are quite old and
should be upgraded separately.

This commit slightly alters the schemas for the investigations app,
because the codegen is not happy with the current syntax, for some
reason (probably has to do with CUE upgrades in `cog`).

Why

To make sure we use up-to-date SDK version and remove the workaround for
the `defencoding=none` bug that required us to clean up generated CRD
files.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Revert changes to golden file for store tests

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-01-30 16:10:42 +02: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
Scott Lepper
8e9e3b8362 [search] title phrase (#99753)
[search] rename title_sort to title_phrase
2025-01-29 17:31:59 -05:00
Garret Wyman
cf177776bf Alerting: Adding color option for slack receiver (#99615) 2025-01-30 00:12:16 +02:00
Mariell Hoversholm
baaff6296f Logging: Use slog adapter for go-kit/log with App SDK logger (#99740)
* feat: use slog adapter for go-kit/log

The adapter library is Apache-2.0, which is compatible with AGPL-3.0 as a dependency.

The adapter library outputs a little more info than we'd like, but rather a couple fields too many than it outputting
ERROR logs as INFO.

* feat: update dependencies

* chore: attribute ownership of dependency

* refactor: move require

* chore: make update-workspace
2025-01-29 14:59:37 +01:00
Stephanie Hingtgen
c7f83b7311 K8s: Fix internal id setting in mode4 (#99720) 2025-01-29 08:17:17 +03:00
maicon
20f02ec12f Unistore: refactor provisioning to work with folder service (#99473) 2025-01-29 05:19:38 +02:00
Stephanie Hingtgen
6908f91428 Search fallback: prevent for now (#99725) 2025-01-29 04:57:34 +02:00
owensmallwood
f55686a0b4 Unified Storage: Adds some more traces to search and the bleve search impl (#99704)
adds some more traces to search and the bleve search impl
2025-01-28 21:27:01 +02:00
owensmallwood
3ba0d8d4b5 Unified Storage: Improve observability for indexing latency (#99700)
* adds extra debug logs and a new metric for poller query latency to help us better understand watch and index latency for write events

* adds trace span to the index for handling index write events
2025-01-28 12:30:20 -06:00
owensmallwood
3228ae727e wires up dashboards page to be able to sort by usage stats (sprinkles) (#99479)
* wires up dashboards page to be able to sort by usage stats (sprinkles)

* dont mutate field

* use better type for field

* adds tests. Had to export some types and put the field type back to object.

* frontend asks for sort field in response if needed

* adds some unit tests for getSortOptions

* use Record instead of object

* prettier

* adds ternaries, another unit test
2025-01-28 19:36:26 +02:00
Stephanie Hingtgen
0cef2b9ae7 Dashboard Versions: Make compatible with app platform (#99327) 2025-01-28 08:17:52 -06:00
Stephanie Hingtgen
9949a56f3b K8s: Fix legacy stats (#99623) 2025-01-28 10:08:48 +01:00
owensmallwood
fd85ddf647 Unified Storage: Fix search case sensitivity (#99603)
lowercase search query when doing a text query. Doing this makes the NewWildcardQuery be case-insensitive
2025-01-27 20:39:36 +00:00
William Assis
be8396cafa Setup legacy search based on mode (#98908) 2025-01-27 12:32:07 -06:00
John Naizer
571f20676d Azure: Bump grafana-azure-sdk-go to 2.1.6 (#99524)
* added changes for rebase

* ran go mod tidy and ran a build

* ran a build

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

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

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

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

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

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

* updated go.work.sum to upstream

* added newline to match upstream

* added more specificity in documentation

* bump grafana-azure-sdk-go to update package for currentuser auth support

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-01-27 14:50:31 +00:00
Arati R.
a2097fbc2f Folders: Add user service to folder service implementation (#99518)
Add user service to folder service implementation
2025-01-27 14:29:47 +01:00
Scott Lepper
629b20700c [search] mimic sql search (#99526) 2025-01-27 08:03:39 -05:00
Yuri Tseretyan
92d6762a3a Alerting: Store information about user that created\updated alert rule (#99395)
* introduce new fields created_by in rule tables
* update domain model and compat layer to support UpdatedBy
* add alert rule generator mutators for UpdatedBy
* ignore UpdatedBy in diff and hash calculation
* Add user context to alert rule insert/update operations
  Updated InsertAlertRules and UpdateAlertRules methods to accept a user context parameter. This change ensures auditability and better tracking of user actions when creating or updating alert rules. Adjusted all relevant calls and interfaces to pass the user context accordingly.

* set UpdatedBy in PreSave because this is where Updated is set
* Use nil userID for system-initiated updates
This ensures differentiation between system and user-initiated changes for better traceability and clarity in update origins.

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-01-24 12:09:17 -05:00
Misi
437b7a565d Auth: Add access token to in-proc communication and ServiceIdentity (#98926)
Use fake access token for in-proc grpc and add ServiceIdentity 
---------

Co-authored-by: gamab <gabriel.mabille@grafana.com>
Co-authored-by: Karl Persson <23356117+kalleep@users.noreply.github.com>
2025-01-24 14:03:23 +01:00
Ezequiel Victorero
3a94057ec8 PublicDashboards: Delete on folder deletion (#99040) 2025-01-23 17:23:59 -03:00
ismail simsek
ec9f59fe9e Chore: Bump promlib to v.0.0.8 (#99458)
* bump promlib

* make update-workspace
2025-01-23 18:06:14 +02:00
Gabriel MABILLE
05015a57b3 Chore: Upgrade authlib (#99447) 2025-01-23 15:52:03 +01:00
Ryan McKinley
c4c934e0bd SQL/Storage: Remove SkipDataMigration flag (#99404) 2025-01-23 12:34:48 +02:00
owensmallwood
dd483fc17f Unified Storage: Search permissions put behind feature flag (#99340)
* add feature flag

* puts search permission filtering behind a feature flag

* fixes issue with doc match id. When the match is for an in-memory index, the internal id is a string (this is what we expected). However, when its a file-based index, the internal id is a binary encoded int64 that point to something internally. So to get the id, we need to use ExternalID() instead of relying on the indexInternalID to be the correct format.

* adds debug log

* update comment

* formatting
2025-01-22 05:38:37 -06:00
Ryan McKinley
9d30911107 SQL/Storage: Use xorm code migration for DeletionMarker (#99353) 2025-01-22 14:07:08 +03:00
maicon
28ad61ff6c Unistore: Get Folder By ID (#99131)
* Unistore: Get Folder By ID

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-01-22 01:45:59 -03:00
Matthew Jacobson
20d25c6ad9 Alerting: Use rule uid in silenceURL template instead of alertname and folder (#99221)
* Update grafana/alerting to a5e8136407d4

Includes:
- Alerting: Use rule uid in silenceURL template instead of alertname and folder (#266)

* Fix tests
2025-01-21 18:11:22 -05:00
Dave Henderson
f1e9c5b1ef chore: Use non-zero version to reference github.com/grafana/grafana Go module (#99343)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2025-01-21 23:59:22 +02:00
maicon
45e2f95a41 Unistore: Avoid circular dependency when injecting restcfgprovider into FolderSvc (#99295)
* Avoid circular dependency when getting a restCfgProvider for Folder Svc

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-01-21 17:42:38 -03:00
owensmallwood
6f12b8e3a4 Unified Storage: Add more debug logs to permission filtering (#99325)
add more debug logs
2025-01-21 17:34:58 +02:00
Ryan McKinley
1740ee82ba Chore: Avoid authlib/claims in go.mod (#99311) 2025-01-21 14:01:21 +01:00
Ryan McKinley
d8b6ded101 K8s: use deprecatedInternalID label rather than SQL annotation (#99263) 2025-01-21 12:38:14 +03:00
Ryan McKinley
d91d729749 Storage/SQL: Support more filter by namespace/group/resource (#99249) 2025-01-21 12:15:08 +03:00
Ryan McKinley
680e6bc1f8 Authlib: Use types package rather than claims (#99243) 2025-01-21 12:06:55 +03:00
owensmallwood
c45aff1251 Unified Storage: Permissions can filter search results (#99042)
* fix bug when parsing results in search handler

* applies permissions filtering to bleve query

* formatting

* wraps in check for access being present, adds some comments

* update go mod

* fix tests

* add dep owner

* fix go mod

* add space after //

* clean up returns

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

* fixed formatting

* Uses single checker since index is for single resource. Passes folderId using dvReader to checker func. Adds debug logging.

* handles federation with index permission checkers

* formatting

* move import

---------

Co-authored-by: Bruno Abrantes <bruno.abrantes@grafana.com>
2025-01-20 14:30:09 -06:00
Ryan McKinley
52c1a3dccd Search: Delete old indexes once not in use (#99251) 2025-01-20 20:25:26 +03:00
Matthew Jacobson
a6dffd7552 Upgrade grafana/alerting to 209e052dba64 (#99118)
Update grafana/alerting to 209e052dba64

Includes:
- Add NoopDecode function for non-base64-encoded secrets (#264)
- Log duplicated receivers (#265)
2025-01-17 21:53:41 +02:00
Andreas Christou
414f8d14f4 Azure: User-auth updates (#99113)
* Bump Azure sdk

* Minor fix because of credentials update

* Revert "Minor fix because of credentials update"

This reverts commit 1f49949ee3.
2025-01-17 12:13:34 -06:00
Ryan McKinley
356b32008b Storage: Show history+trash using the list command (#99009)
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-01-17 15:54:25 +03:00
Alexander Zobnin
17a09c28dd Chore: Upgrade openfga to 1.8.4 (#99095) 2025-01-17 09:36:08 +01:00
Mariell Hoversholm
a08f406781 Security: Update to Go 1.23.5 (#99121)
* feat: update to Go 1.23.5

* chore: make drone

* chore: make update-workspace

* CI: Force re-build

* CI: Force re-build
2025-01-17 09:29:52 +01:00
Stephanie Hingtgen
5a930e0ec6 K8s search: add legacy id to dashboard response (#99132) 2025-01-17 08:16:48 +03:00
Gabriel MABILLE
70ddf9cb76 Authenticator: Return gRPC errors (#99000) 2025-01-16 14:33:57 +01:00
Georges Chaudy
98e9f3a534 [unistore] wire authlib compile (#99027)
* Wire authz client compile method

* add verb to metric

* remove tipo
2025-01-16 14:11:55 +01:00
Karl Persson
2187a66f2b Zanzana: Split up settings into client and server sections (#99066)
* Split up zanzana settings into client and server sections

* Update workspace
2025-01-16 13:39:39 +01:00
Ryan McKinley
cd46f1ddb9 Search: Remove history query (#99026) 2025-01-15 12:49:47 -06:00
owensmallwood
d00592ffa0 Unified Storage: Make all dashboard fields searchable (#98899)
* wip. adding sprinkles fields.

* some refactoring. Works with sprinkles now.

* exclude top level dashboard hit fields from hit "fields"

* adds unit test for DecodeCell helper

* test can search for specific dashboard fields on bleve index

* adds search handler tests for the fields and tests for fields when transforming the search req to a bleve search req

* fix panic when calling fields.Set() with int32

* adds regression test

* remove unneeded method on test mock client

* fix linter issues

* updates dashboard test data for bleve tests

* remove DASHBOARD_LEGACY_ID from bleve_tests

* dont cast twice

* updates test to sort by dashboard_views_last_1_days

* declare excludedFields outside of function

* fixes sorting by dashboard fields - prepends "fields." to any dashboard fields we try to sort by

* uses map for excludedFields

* expects fields to be array-style url param

* change method name

* fixes failing tests - needed to add column type to mocks
2025-01-15 10:23:05 -06:00