Commit Graph
7639 Commits
Author SHA1 Message Date
Matthew Jacobson ff6a20f54a Alerting: Include access control metadata in k8s receiver LIST & GET (#93013)
* Include access control metadata in k8s receiver List & Get

* Add tests for receiver access

* Simplify receiver access provisioning extension

- prevents edge case infinite recursion
- removes read requirement from create
2024-09-12 20:57:53 +03:00
Matthew Jacobson 0aa87fd1d4 Alerting: Fix DashboardUID typo in json provisioning api (#65143)
* Alerting: Fix dasboardUid typo in json provisioning api

The json tag for DashboardUID was incorrectly set to dasboardUid in the provisioning api. This change fixes the typo while keeping backwards compatibility for the typo.

* Add alerting-squad as CODEOWNER for services/provisioning/alerting
2024-09-12 20:44:03 +03:00
Yuri TseretyanandMatthew Jacobson f8fa5286a1 Alerting: Introduce alert rule models in storage (#93187)
* introduce storage model for alert rule tables
* remove AlertRuleVersion from models because it's not used anywhere other than in storage
* update historian xorm store to use alerting store to fetch rules

* fix folder tests

---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-09-12 13:20:33 -04:00
William Wernert efe62086f9 Alerting: Add type label rule_group_rules metric (#91425)
* Add group and type labels to rule_group_rules metric

* Don't include group to avoid high cardinality

* Add comments

* Reset rule_group_rules before recording new values

* Edit description for rule_group_rules

* Include ruleGroup combo key in labels

* Fix lint
2024-09-12 17:27:09 +03:00
Ryan McKinley 45eb72e95a K8s: Use wire to initalize the resource client (#93221) 2024-09-12 17:22:27 +03:00
Jean-Philippe Quéméner eabf3b9f73 feat(alerting): add support for query service instant vectors (#92091) 2024-09-12 15:33:00 +02:00
Tito Lins a910188675 Replace prom MustRegister with Register (#92725) 2024-09-12 10:24:12 +02:00
janlugt 9d6935388c Notifications: Add Message-ID header to outgoing emails (#83752)
* Add Message-ID header to outgoing emails

* change message-id format

* parse adddresses with name
2024-09-12 03:58:06 +00:00
Faye Lin 634d590cf1 Search: Fix a bug when searching folders under the general folder (#91042)
* fix: search returns all folders when folder uid is general
* test: add unit test for FolderUIDFilter when NestedFolders is enabled
2024-09-12 05:55:28 +02:00
Will Browne 0469b0f52e Plugins: Ensure fetch loading strategy cases for nested plugins (#93209)
* fix

* fix func name
2024-09-11 16:35:13 +03:00
Gilles De Mey 90ee52e8d9 Alerting: New search UI – Part 1 (#91620) 2024-09-11 14:29:26 +03:00
cb372d3fa8 Alerting: Support secrets in contact points nested fields (#92035)
Back-end:
* update alerting module
* update GetSecretKeysForContactPointType to extract secret fields from nested options
* Update RemoveSecretsForContactPoint to support complex settings
* update PostableGrafanaReceiverToEmbeddedContactPoint to support nested secrets
* update Integration to support nested settings in models.Integration
* make sigv4 fields optional

Front-end:
* add UI support for encrypted subform fields
* allow emptying nested secure fields
* Omit non touched secure fields in POST payload when saving a contact point
* Use SecretInput from grafana-ui instead of the new EncryptedInput
* use produce from immer
* rename mapClone
* rename sliceClone
* Don't use produce from immer as we need to delete the fileds afterwards

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>
2024-09-10 22:26:23 -04:00
Ryan McKinley d724d463b1 DualWriter: Add mode 5 that always uses storage (#93169) 2024-09-10 13:07:06 -04:00
Gabriel MABILLEandIeva 697afc71b4 RBAC: FIX Allow specifying several valid scopes for a kind (#93176)
* PermRegistry: Fix regression with actions applying to multiple scopes

* Add tests

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

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-09-10 17:22:40 +01:00
Gábor Farkas c48caf0921 logging: log plugin request start (#92925)
log plugin request start
2024-09-10 13:25:50 +02:00
Arati R. b12a29a1da K8s: Implement partial folders api with k8s client (#93089)
* Add kubernetes folder feature toggle
* Add kubernetes routes for getting and creating a folder
* Add documentation for interacting with k8s folders
2024-09-10 11:22:08 +02:00
Eric Leijonmarck f3ede1f53d Datasources: allow for query but with warning (#93091)
allow for query but with warning
2024-09-10 10:19:02 +01:00
Aaron Godin 6ded6a8872 feat: Add feature toggle for groupAttributeSync (#93116) 2024-09-09 10:29:43 -05:00
Adela AlmasanandLeon Sorokin af48d3db1e Canvas: Add actions support (#90677)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-09-09 09:11:55 -05:00
Andrej OcenasandLevente Balogh 5e2ac24890 Sidecar: Add split view and basic APIs for extensions (#91648)
* Add split view and basic APIs to extensions

* Add comments

* Update public/app/AppWrapper.tsx

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

* Moved the .grafana-app element and deduplicate some code

* Remove the provider variants of usePluginLinks/Components

* Change buildPluginSectionNav

* Update comment

* Use eventBus

* Remove non existent exports

* refactor: use a sidecar service to encapsulate the state

* Don't wrap single app in split wrapper

* Use hook splitter

* Remove inline styles

* Type the style props from useSplitter

* Move the overflow style changes to appWrapper

* Deduplicate some common top level providers

* Move modals

* Move routes wrappers to it's own file

* Use better css and add comments

* Remove query rows app extension point

* Fix test

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-09-09 14:45:05 +02:00
Will BrowneandJack Westbrook 2c47d246fc Plugins: Introduce LoadingStrategy for frontend loading logic (#92392)
* do it all

* feat(plugins): move loadingStrategy to ds pluginMeta and add to plugin settings endpoint

* support child plugins and update tests

* use relative path for nested plugins

* feat(plugins): support nested plugins in the plugin loader cache by extracting pluginId from path

* feat(grafana-data): add plugin loading strategy to plugin meta and export

* feat(plugins): pass down loadingStrategy to fe plugin loader

* refactor(plugins): make PluginLoadingStrategy an enum

* feat(plugins): add the loading strategy to the fe plugin loader cache

* feat(plugins): load fe plugin js assets as script tags based on be loadingStrategy

* add more tests

* feat(plugins): add loading strategy to plugin preloader

* feat(plugins): make loadingStrategy a maybe and provide fetch fallback

* test(alerting): update config.apps mocks to include loadingStrategy

* fix format

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2024-09-09 10:38:35 +01:00
Jean-Philippe QuéménerandCharandas Batra 368c4e53f1 feat(apiserver): refactor the hooking mechanism for standalone apiserver (#93001)
It now uses a full build handler chain that can be passed from up top to `SetupConfig`.

Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
2024-09-06 14:12:12 -07:00
Tito Lins 539d363d2c Create histogram and observe grafana config size (#93028) 2024-09-06 18:25:16 +02:00
Andre Pereira 72ed3107fa Tempo: Remove usage of traceQLStreaming feature toggle (#93033)
* Remove usage of traceqlStreaming feature toggle and stop checking for Tempo version

* Increase Grafana Live's ClientQueueMaxSize to 4mb to support larger responses from Tempo
2024-09-06 16:12:21 +01:00
Laura Benz 1be0105eb7 RestoreDashboards: Show root location as 'Dashboards' in folder picker (#92936)
* refactor: replace label if its value is Root

* refactor: replace label in the backend
2024-09-06 14:19:39 +02:00
João Calisto a45ec2670d chore(tests): fix flaky SMTP test (#93031) 2024-09-06 13:17:26 +01:00
Claudiu Dragalina-ParaipanandGabriel MABILLE d5ebaa0ef9 [authn] adding appPlatformAccessTokens featureflag (#92991)
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-09-05 19:18:44 +03:00
linoman a0c886922e Auth: Add LDAP scope to Grafana Admin (#92990)
Add LDAP scope to Grafana Admin
2024-09-05 17:15:47 +01:00
Matheus Macabu 95ef2a1eb2 CloudMigrations: Fix snapshot creation on Windows systems (#92941)
* cloudmigration: improve error logging stringify body

* deps: update migration snapshot library to v1.3.0 (fix to Windows)
2024-09-05 15:34:20 +02:00
Ashley Harrison 82fe497b9d Chore: remove adhocFilterOneOf toggle (#92979)
remove adhocFilterOneOf toggle
2024-09-05 15:49:24 +03:00
Karl Persson 2bfa607ad0 ServiceAccount: Update service account api resource and add service account token (#92972)
* Create own legacy store function to list service accounts and update api model

* Add service account tokens as a sub resource for service accounts
2024-09-05 13:43:54 +02:00
Arati R. 47cd8288cd SearchV2: Fix reading library panels (#92961)
* Fix reading of library panel field
* Add test to check reading of library panel field
2024-09-05 13:42:15 +02:00
Ryan McKinley 5441e4c752 Storage: create a client with access to all interfaces, not just ResourceStore (#92967) 2024-09-05 12:52:30 +03:00
Ryan McKinley 9338e40dc3 K8s/IAM: Move identity.grafana.app to iam.grafana.app (#92929) 2024-09-05 09:43:54 +03:00
Dave Henderson c00a3bed42 chore(tests): Attempting to fix flaxy SMTP unit test (#92786)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-09-04 16:25:44 -04:00
Gabriel MABILLE cffaefddc3 Signer: Fix typo (#92928) 2024-09-04 15:01:24 +02:00
Kyle Brandt d382ea773a Prometheus: Enable the promQLScope (Scopes, Adhoc filters and groupby) by default (#92080) 2024-09-03 09:56:25 -04:00
Alexander Zobnin 88259da745 RBAC: Optimize permissions caching (#92673)
* Access control: Use composite cache key for team permissions

* use composite key for teams

* use cache for hotpath (getCachedUserPermissions)

* don't cache empty teams set

* don't pass permissions as argument

* early return if no teams found

* reload cache correctly

* optimize allocations

* Clear user's teams cache

* remove composite cache for teams

* fix linter

* don't clear teams permissions

* pre-allocate memory for basic roles permissions
2024-09-03 15:46:56 +02:00
Ieva 46e81e98cf RBAC: Always store action sets (#92833)
always store action sets, even if FT is disabled
2024-09-03 11:30:47 +01:00
Sven Grossmann 5ad7c47816 Plugin Instrumentation: Add target property to request logs (#91946)
* Plugin Instrumentation: Add `target` property to request logs

* remove comment

* remove error
2024-09-02 17:41:26 +02:00
Arati R. f26f655615 Provisioning: Fix admin reloading of dashboard configuration (#92462)
* Set dashboard provisioner before provisioning dashboards
* Test provisioner instantiation during dashboard provisioning
2024-09-02 15:48:13 +02:00
Sergej-Vlasov 00ae49a61a FeatureToggle - new filters UI feature toggle (#92189)
* add newFiltersUI experimental feature toggle

* adjust Ad hoc filter varibale layout property based on feature toggle

* restore file

* bump to latest scenes
2024-08-30 15:48:13 +03:00
Alexander Akhmetov 152d3540db Alerting: Log number of dimensions instead of all evaluation results (#92733) 2024-08-30 12:35:02 +02:00
2e451b2ed7 Use dw dynamic config (#91882)
* Remove kubernetesPlaylists feature_toggle

* Remove unified_storage_mode

* Remove double import

* Read from config instead from feature_toggle

* cover scenario for when unified storage is not defined

* Be temporarily retro compatible with previous feature toggle

* Properly read unified_storage section

* [WIP] Read new format of config

* Fix test

* Fix other tests

* Generate feature flags file

* Use <group>.<resource> schema

* Use <group>.resource format on the FE as well

* Hide UniStore config from Frontend

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

* unwanted changes

* Use feature toggles in the FE. Enforce FTs are present before enabling dual writing
Co-authored-by: Ryan McKinley <ryantxu@users.noreply.github.com>

* use kubernetes playlists feature toggle on the FE

* Remove unwanted code

* Remove configs from the FE

* Remove commented code

* Add more explicit example

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Maicon Costa <maiconscosta@gmail.com>
2024-08-30 11:59:42 +02:00
Jeff Levin 372d0acec8 Instrument tracing across dashboards (#91937)
Add tracing across dashboards and accesscontrol
2024-08-29 22:26:15 -08:00
Yuri TseretyanandMatthew Jacobson ce64d79027 Alerting: Integration tests for Receiver API (#90632)
---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-08-29 22:27:26 -04:00
Matthew Jacobson d5fd6aceca Alerting: Stop redacting receivers by default in receiver_svc (#92631)
* Stop redacting receivers by default in receiver_svc

[REDACTED] is only used in provisioning API since response doesn't include
SecureFields. This is not necessary in k8s or notifications api, instead we do
not include the encrypted settings in Settings at all, leaving it to
SecureFields to specify when a secure field exists.

* Capitalize logs messages
2024-08-29 14:48:59 -04:00
Matthew Jacobson e43ddd516d Alerting: Ensure k8s receiver API create/update will never store nil settings (#92701)
Ensure Create/Update will never store nil Settings
2024-08-29 20:00:55 +03:00
Sven Grossmann 15a4ff992b Explore Logs: Add feature flags (#92670) 2024-08-29 15:55:59 +02:00
Ryan McKinley 82417c916f K8s: Use stacks plural not singular in grafana namespaces (#92550) 2024-08-29 14:15:00 +03:00