Commit Graph

7762 Commits

Author SHA1 Message Date
Ieva
d7aca7d0fe
Role mapping: Add group_mapping_uid column to user_role table (#93810)
* add group_mapping_uid column to user_role table

* add group mapping UID to user role struct
2024-10-07 15:47:16 +01:00
Misi
0539ccf10d
Auth: Fix redirection when auto_login is enabled (#94311)
* Fix for SAML auto login

* Fix for OAuth auto login
2024-10-07 14:59:00 +02:00
Matheus Macabu
6bd2f9f3ea
CloudMigrations: remove duplicated import on test (#94322) 2024-10-07 15:32:52 +03:00
Matheus Macabu
712314e832
CloudMigrations: create onPremToCloudMigrationsAlerts feature toggle in experimental stage (#94257)
CloudMigrations: create onPremToCloudMigrationsAlerts feature toggle in experimental stage

This feature toggle requires the `onPremToCloudMigrations` toggle to be enabled in order to work.

Given migration of Alerts (and child resources) is more critical, this flag was separated from
the main one.
2024-10-07 12:53:24 +02:00
Matheus Macabu
e89aef57cb
CloudMigrations: wire ngalert to cloud migration service and add slicesext.Map helper (#94254)
* CloudMigrations: add slicesext.Map function to simplify dto creation

* CloudMigrations: wire ngalert to cloud migration service
2024-10-07 12:53:14 +02:00
Matheus Macabu
9af095d730
CloudMigrations: Add data types for alerts resources (#94251) 2024-10-07 12:52:31 +02:00
Dana Axinte
d88be2819d
CloudMigrations: Store parent folder name in cloud_migration_resource table (#94009)
* use name in fe

* store parent folder name in local db

* clean up

* tiny test

* trial react

* rename to parent name

* go lint

* generate api and ts

* go tests

* rearrange

* clean

* update with suggestions from josh

* make library elements work

* updates from comments

* global migration types

* parent name for alter table
2024-10-07 11:35:08 +01:00
Roberto Jiménez Sánchez
19c77eaae1
CloudMigrations: Fix traceability & HTTP Client initialisation (#94141)
* Add traceability to Migration Assistant feature

* Fix some compilation errors

* Fix lint issues

* Use async context

* Add trace for LibraryElements
2024-10-07 11:31:45 +02:00
Jo
acd13e05ef
Teams: Support team UIDs in APIs (#94011)
* support team UIDs in APIs

* unify middleware logic and add team tests

* add UID test to resource permissions

* remove unused middleware
2024-10-07 10:18:24 +02:00
Brandon
fbad76007d
Alerting: Limit and clean up old alert rules versions (#89754) 2024-10-05 00:31:21 +03:00
Matthew Jacobson
099055e8a5
Alerting: Verify receiver permission read on rule create/update (#94286)
* Alerting: Verify receiver permission read on rule create/update
2024-10-04 23:52:38 +03:00
Yuri Tseretyan
27c7e33217
Alerting: Update permissions to reciever and template test API (#94282)
* add action "alert.notifications.receivers:test" to receiver creator

* update API permissions to accept new granular actions
2024-10-04 15:52:44 -04:00
Gabriel MABILLE
fe3ada4a6c
Revert "AuthN: Managed plugin Service Accounts general availability" (#94270)
Revert "AuthN: Managed plugin Service Accounts general availability (#93384)"

This reverts commit 943525391e.
2024-10-04 17:28:24 +02:00
Mihai Doarna
82a5913dfa
SSO: Fix secrets migration for LDAP in SSO settings (#94252)
fix secrets migration for LDAP in SSO settings
2024-10-04 18:18:53 +03:00
Ieva
6eeef432de
RBAC: Add dash and folder action sets where they are missing (#92832)
* add dash and folder action sets where they are missing

* remove an empty line, try to make linting pass
2024-10-04 16:03:04 +01:00
Jo
544b5f905c
Anonymous: Fix anonymous cache ignoring device limit evaluation (#94218)
* ensure cache contains the evaluation result for device limit

* add device limit errors and warnings

* fix lint
2024-10-04 15:20:55 +02:00
Giuseppe Guerra
0db65d229e
Plugins: Add Subresource Integrity checks (#93024)
* Plugins: Pass hashes for SRI to frontend

* Add SRI hashes to frontendsettings DTOs

* Add docstring

* TestSriHashes

* Fix typo

* Changed SriHashes to ModuleHash

* update loader_test compareOpts

* update ModuleHash error message

* Add TestModuleHash/no_module.js

* Add omitEmpty to moduleHash

* Add ModuleHash to api/plugins/${pluginId}/settings

* moved ModuleHash field

* feat(plugins): add moduleHash to bootData and plugin types

* feat(plugins): if moduleHash is available apply it to systemjs importmap

* Calculate ModuleHash for CDN provisioned plugins

* Add ModuleHash tests for TestCalculate

* adjust test case name

* removed .envrc

* Fix signature verification failing for internal plugins

* fix tests

* Add pluginsFilesystemSriChecks feature togglemk

* renamed FilesystemSriChecksEnabled

* refactor(plugin_loader): prefer extending type declaration over ts-error

* added a couple more tests

* Removed unused features

* Removed unused argument from signature.DefaultCalculator call

* Removed unused argument from bootstrap.DefaultConstructFunc

* Moved ModuleHash to pluginassets service

* update docstring

* lint

* Removed cdn dependency from manifest.Signature

* add tests

* fix extra parameters in tests

* "fix" tests

* removed outdated test

* removed unused cdn dependency in signature.DefaultCalculator

* reduce diff

* Cache returned values

* Add support for deeply nested plugins (more than 1 hierarchy level)

* simplify cache usage

* refactor TestService_ModuleHash_Cache

* removed unused testdata

* re-generate feature toggles

* use version for module hash cache

* Renamed feature toggle to pluginsSriChecks and use it for both cdn and filesystem

* Removed app/types/system-integrity.d.ts

* re-generate feature toggles

* re-generate feature toggles

* feat(plugins): put systemjs integrity hash behind feature flag

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2024-10-04 14:55:09 +02:00
Mihai Doarna
a82f102878
Auth: Promote ssoSettingsLDAP flag to public preview (#94242)
* promote ssoSettingsLDAP flag to public preview

* add generated file
2024-10-04 14:59:42 +03:00
Aaron Godin
458fc69616
IAM: Add test for AddDataSource managed permissions (#94113)
Add test for AddDataSource managed permissions and fix control flow issues
2024-10-04 06:35:25 -05:00
Alexander Zobnin
5d724c2482
Zanzana: Initial dashboard search (#93093)
* Zanzana: Search in a background and compare results

* refactor

* Search with check

* instrument zanzana client

* add single_read option

* refactor

* refactor move check into separate function

* Fix tests

* refactor

* refactor getFindDashboardsFn

* add resource type to span attributes

* run ListObjects concurrently

* Use list and search in less cases

* adjust metrics buckets

* refactor: move Check and ListObjects to AccessControl implementation

* Revert "Fix tests"

This reverts commit b0c2f072a2.

* refactor: use own types for Check and ListObjects inside accesscontrol package

* Fix search scenario with low limit and empty query string

* more accurate search with checks

* revert

* fix linter

* Revert "revert"

This reverts commit ee5f14eea8.

* add search errors metric

* fix query performance under some conditions

* simplify check strategy

* fix pagination

* refactor findDashboardsZanzanaList

* Iterate over multiple pages while making check request

* refactor listUserResources

* avoid unnecessary db call

* remove unused zclient

* Add notes for SkipAccessControlFilter

* use more accurate check loop

* always use check for search with provided UIDs

* rename single_read to zanzana_only_evaluation

* refactor

* update go workspace

* fix linter

* don't use deprecated fields

* refactor

* fail if no org specified

* refactor

* initial integration tests

* Fix tests

* fix linter errors

* fix linter

* Fix tests

* review suggestions

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

* fix limit

* refactor

* refactor tests

* fix db config in tests

* fix migrator (postgres)

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-10-04 12:27:10 +02:00
Karl Persson
c7ca2bfcf5
ServiceAccounts: Remove permissions to service account when it is deleted (#93877)
* Service account: clean up permissions related to service accounts when deleted

* Add migration for deleting orphaned service account permissions

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-10-04 09:01:09 +02:00
Gabriel MABILLE
943525391e
AuthN: Managed plugin Service Accounts general availability (#93384)
External Service Accounts: General availability
2024-10-04 08:48:38 +02:00
Levente Balogh
6096f46774
Plugin Extensions: Require meta-data to be defined in plugin.json during development mode (#93429)
* feat: add extensions to the backend plugin model

* feat: update the frontend plugin types

* feat(pluginContext): return a `null` if there is no context found

This will be necessary to understand if a certain hook is running inside a plugin context or not.

* feat: add utility functions for checking extension configs

* tests: fix failing tests due to the type updates

* feat(AddedComponentsRegistry): validate plugin meta-info

* feat(AddedLinksRegistry): validate  meta-info

* feat(ExposedComponentsRegistry): validate meta-info

* feat(usePluginComponent): add meta-info validation

* feat(usePluginComponents): add meta-info validation

* feat(usePluginLinks): add meta-info validation

* fix: only validate meta-info in registries if dev mode is enabled

* tests: add unit tests for the restrictions functionality

* tests: fix Go tests

* fix(tests): revert accidental changes

* fix: run goimports

* fix: api tests

* add nested app so that meta data can bested e2e tested

* refactor(types): extract the ExtensionInfo into a separate type

* refactor(extensions/utils): use Array.prototype.some() instead of .find()

* refactor(usePluginLinks): update warning message

* feat(usePluginExtensions()): validate plugin meta-info

* Wip

* fix(e2e): E2E tests for extensions

* fix(extensions): allow multiple "/" slashes in the extension point id

* fix(extensions/validators): stop validating the plugin id pattern

---------

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2024-10-04 08:41:26 +02:00
Stephanie Hingtgen
4623a6471b
SQLStore: Fix parseTime check (#94175) 2024-10-03 08:58:33 -05:00
Laura Benz
f92ef0e126
RestoreDashboards: Add link to dashboards browse view (#94000)
* feat: add button

* refactor: clean up

* feat: add tracking

* refactor: change button copy

* refactor: add payload to tracking

* refactor: add subURL

* refactor: user permissions

* refactor: group conditions

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

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2024-10-03 15:13:29 +02:00
Joao Silva
c04027919b
Bookmarks: Turn feature toggle on by default (#94194) 2024-10-03 13:45:31 +03:00
Arati R.
a42caa7a61
K8s/Folders: Fix tests for creating folders (#94192)
* Add feature toggle grafanaAPIServerTestingWithExperimentalAPIs
* Customise registration of FolderAPIBuilder for tests and fix tests
2024-10-03 12:11:40 +02:00
Matheus Macabu
1635a3cd67
CloudMigrations: Add support for migration of Library Elements (Panels) resources (#93898)
* CloudMigrations: create snapshots of Library Elements

* CloudMigrations: render library element resource in resources table

* CloudMigrations: create newtype with necessary fields for library element creation
2024-10-03 11:54:54 +02:00
Alexander Zobnin
bd1741653d
Annotations: Fix composite store read (#94158)
* Annotations: Fix composite store read

* Add test

* check error
2024-10-03 09:14:06 +02:00
Marcus Efraimsson
e22b510cd8
API Server: Fix extracting jaeger remote trace from incoming request (#93998) 2024-10-02 17:07:31 +02:00
Alexander Zobnin
3f6a64cc57
Navigation: Don't show "add new connection" if user has no permissions (#94058)
Navigation: Don't show "add new connection" if user does not have permissions
2024-10-02 10:02:28 +02:00
Yuri Tseretyan
78290301f4
Alerting: Update GettableRuleGroupConfig and PostableRuleGroupConfig with missing fields supported by Prometheus (#94030) 2024-10-01 14:17:57 -04:00
Laura Benz
6a30240f58
RestoreDashboards: Fix 'Dashboards' typo in folder picker (#94046)
fix: typo
2024-10-01 15:25:04 +02:00
Matheus Macabu
821bb235b3
CloudMigrations: document and re-generate api for syncing (#94063)
* CloudMigrations: document frontend open-api generator steps

* CloudMigrations: re-run api generation
2024-10-01 14:09:42 +02:00
Arati R.
e399fe6d09
Folders: Set folder creation permission as part of legacy create (#94040)
* Add folder store to dashboard permissions
* Include folder store in annotation scope resolver
* Add folder store when initialising library elements
* Include folder store in search v2 service initialisation
* Include folder store in GetInheritedScopes
* Add folder store to folder permissions provider
* Include cfg, folder permissions in folder service
* Move setting of folder permissions for folder service create method
2024-10-01 14:03:02 +02:00
Tim Levett
8de1047f65
Change from Apps to "More Apps" (#93454)
* Change the label used for additional app links from apps to more apps so it doesn't conflict with applications, which is application observability, not the other bucket

* update to more apps

* more in german is mehr

* fix case, update translations correctly

* revert changes to de

* fix be tests

---------

Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-10-01 11:31:31 +01:00
Alex Khomenko
95d379368a
Announcement banner: Enable feature toggle by default (#94041)
* Announcement banner: Enable by default

* Update feature stage
2024-10-01 11:23:21 +01:00
Alexander Zobnin
9144e3b44a
Navigation: Fix empty admin menu (#94024) 2024-10-01 11:28:33 +02:00
Dana Axinte
1a31abe254
CloudMigrations: Limit frontend query to get latest snapshots (#93639)
* latest param to endpoint and adapt frontend query

* change to sort param

* api

* remove description
2024-10-01 09:28:25 +01:00
Michael Mandrus
1c648fd010
Chore: Fix flaky cloud migration test (#94035)
* attempt to fix flaky test

* remove skip from test
2024-10-01 03:24:47 +01:00
Yuri Tseretyan
0c1aafd643
Alerting: skip flaky test TestBroadcastAndHandleMessages (#94039) 2024-09-30 18:50:55 -04:00
Alexander Weaver
393faa8732
Alerting: Move rule evaluation status logic out of prometheus API and into scheduler (#89141)
* Add health fields to rules and an aggregator method to the scheduler

* Move health, last error, and last eval time in together to minimize state processing

* Wire up a readonly scheduler to prom api

* Extract to exported function

* Use health in api_prometheus and fix up tests

* Rename health struct to status

* Fix tests one more time

* Several new tests

* Handle inactive rules

* Push state mapping into state manager

* rename to StatusReader

* Rectify cyclo complexity rebase

* Convert existing package local status implementation to models one

* fix tests

* undo RuleDefs rename
2024-09-30 16:52:49 -05:00
owensmallwood
6a3eb276ef
Grafana Indexing PoC: Adds feature flag and gRPC endpoint (#93356)
* 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

* namespaces search route

---------

Co-authored-by: leonorfmartins <leonorfmartins@gmail.com>
Co-authored-by: Todd Treece <todd.treece@grafana.com>
2024-09-30 13:46:14 -06:00
Santiago
aa77023008
Alerting: Fix panics when attempting to create an Alertmanager after failing (#94023) 2024-09-30 13:50:35 -03:00
Santiago
80611b381c
Alerting: Decrypt secure settings when testing receivers in the remote Alertmanager (#93864)
* Alerting: Decrypt secure settings when testing receivers in the remote Alertmanager

* go work sync

* make update-workspace

* point to latest main in grafana/alerting

* unit test

* import definitions only once
2024-09-30 13:28:30 -03:00
Matheus Macabu
7bb3fe3da1
CloudMigrations: Remove unused code from sync migration approach (#94016) 2024-09-30 17:54:12 +02:00
Marcus Efraimsson
b7a7f2bd62
Plugins: Use handler middleware from the SDK (#93445)
updates sdk to v0.251.0
2024-09-30 16:33:15 +02:00
Bruno
6f92fd64ce
Cloud migrations: add more context to errors (#93814)
* Cloud migrations: add more context to errors

* calls to assert.ErrorIs was passing arguments in the wrong order
2024-09-30 09:57:25 -03:00
Ivan Ortega Alba
7bca69849f
Dashboards: Enable scenes by default (#93818)
* Mark Scenes feature toggles as GA

* Move old arch e2e to a new folder

* Run E2E on scenes by default

* Upgrade e2e-selectors to ensure the tests in Playwright works
2024-09-30 10:49:02 +01:00
Arati R.
ed75aea21d
Folders: Export folder store implementation (#93897)
* Export folder store implementation

* Rename folder store

* Add folder store as a parameter to folder service

* Add folder store to dash service implementation

* Fix folder store comments
2024-09-30 10:28:47 +02:00