Commit Graph

2459 Commits

Author SHA1 Message Date
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
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
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
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
Adela Almasan
f9f85131a9 FieldConfig: Add support for Actions (#92874)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-09-27 23:12:37 -05:00
Leon Sorokin
165ca3b4e8 Chore: uPlot v1.6.31 (#93952) 2024-09-27 23:11:05 -05:00
Konrad Lalik
db42af20ca Alerting: Prometheus primary mode for the alert list page (#92975)
* Lazy loading of mimir groups

* Refactor rule statuses

* Use prometheus endpoint to populate namespace and group dropdowns

* Add a feature toggle

* Use lazy loading ruler rules if the feature toggle enabled

* Remove unnecessary props form dynamic table

* Remove query from hash calculation

* Conditionally load ns and group autocompletions from Prom or Ruler APIs

* Fix prometheus dto labels property type

* Add a new suggestions hook which provides autocomplete options for the alert rule form

* Improve delete status handling

* Add waiting for Prometheus endpoint consistency after update submission

* Get rule definition from ruler or prometheus endpoint in useCombinedRule

* Add Prometheus consistency check. Fix view page redirects

* Remove rules reload after rule creation, remove statuses from Prom primary mode

* Add waiting for Prometheus consistency on delete rule action

* Add groups list rendering improvements

* Add memo to useAbilities

* Fix GMA consistency check, fix GMA statuses

* defer filered rules rendering

* Update failing tests

* Update locales

* Add rule-id tests

* Remove unused action

* update loading styles

* Fix unrelated test

* Add a new object for reading alerting feature toggles, address minor review issues

* Improve consistency check

* update i18n

* Improve rule form redirects

* Refactor feature toggle handling

* Update docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update public/app/features/alerting/unified/components/rule-viewer/RuleViewer.tsx

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Fix prettier issues

* Fix i18n

* Fix the feature toggle description

* Fix rule updates, fix ruler-based suggestions, wait for deletion for GMA rules

* Fix rename

* Remove unused code, improve copy

* Update i18n

* Fix url redirect when serving from subpath

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-09-27 14:27:16 +02:00
Jack Westbrook
012d62782c Fix: Prevent import errors caused by Rollup 4 (#93903)
fix(packages): prevent import errors by injecting exports.esmodule and check for default prop
2024-09-27 12:18:52 +01:00
Jack Westbrook
f22bee8ca2 Build: Migrate packages to rollup v4 (#93731)
* chore(packages): bump rollup and rollup plugins to latest

* chore(packages): fix rollup node-externals plugin imports

* chore(packages): update build/bundle scripts to pass configPlugin arg to rollup

* feat(packages): migrate rollup configs to be esm compliant

* feat(packages): build using es2018 target and use same tsconfig and tsc for rollup
2024-09-27 11:00:13 +02:00
renovate[bot]
efe8739864 Update dependency @types/node to v20.16.9 2024-09-26 14:55:59 +00:00
linoman
e2816ee51a RolePickerDrawer: Add feature toggle (#93752)
Add feature toggle
2024-09-26 14:51:38 +02:00
kay delaney
6c8f24adc9 Dashboards: Fix issue with percentage difference formatting (#93389)
* Dashboards: Fix issue with percentage difference formatting

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
2024-09-26 11:15:51 +01:00
Sonia Aguilar
536edee7bf Alerting: Query and expressions section simplification (#93022)
* Add mode switch in Query section

* Implement simple query mode : WIP

* fix logic switching mode

* move guard and get methodd to another folder

* Add more requiremts for being transformable from advanced to not advanced mode

* fix usig mode when it's not a grafana managed alert

* Show warning when switching to not advanced and its not possible to convert

* Add feature toggle alertingQueryAndExpressionsStepMode

* fix test

* add translations

* address PR feedback

* Use form context for sharing simplfied mode used, save in local storage and use the new fields in the api

* add check to valid reducer and threshold when switching to simplified mode

* Use only one expression list

* fix test

* move existing rule check outside storeInLocalStorageValues

* add id in InlineSwitch to handle onClick on label

* fix

* Fix default values when editing existing rule

* Update dto fields for the api request

* fix snapshot

* Fix recording rules to not show switch mode

* remove unnecessary Boolean conversion

* fix areQueriesTransformableToSimpleCondition

* update text

* pr review nit

* pr review part2
2024-09-26 08:33:14 +02:00
Jeff Levin
a21a232a8e Revert read replica POC (#93551)
* Revert "chore: add replDB to team service (#91799)"

This reverts commit c6ae2d7999.

* Revert "experiment: use read replica for Get and Find Dashboards (#91706)"

This reverts commit 54177ca619.

* Revert "QuotaService: refactor to use ReplDB for Get queries (#91333)"

This reverts commit 299c142f6a.

* Revert "refactor replCfg to look more like plugins/plugin config (#91142)"

This reverts commit ac0b4bb34d.

* Revert "chore (replstore): fix registration with multiple sql drivers, again (#90990)"

This reverts commit daedb358dd.

* Revert "Chore (sqlstore): add validation and testing for repl config (#90683)"

This reverts commit af19f039b6.

* Revert "ReplStore: Add support for round robin load balancing between multiple read replicas (#90530)"

This reverts commit 27b52b1507.

* Revert "DashboardStore: Use ReplDB and get dashboard quotas from the ReadReplica (#90235)"

This reverts commit 8a6107cd35.

* Revert "accesscontrol service read replica (#89963)"

This reverts commit 77a4869fca.

* Revert "Fix: add mapping for the new mysqlRepl driver (#89551)"

This reverts commit ab5a079bcc.

* Revert "fix: sql instrumentation dual registration error (#89508)"

This reverts commit d988f5c3b0.

* Revert "Experimental Feature Toggle: databaseReadReplica (#89232)"

This reverts commit 50244ed4a1.
2024-09-25 15:21:39 -08:00
Serena
c822feff9e Home: add setup guide tab under home tab (#92947)
* feat: add setup guide in home tab

* chore: add feature toggle for setup guide

* chore: add feature toggle for sub menu

* chore: run pretier

* chore: run i18n

* chore: run generated files again

* chore: update description

* chore: update comment to trigger test flow

* chore: trigger test

* chore: fix styling
2024-09-25 18:20:04 +01:00
renovate[bot]
a0de3ef867 Update dependency @types/node to v20.16.7 2024-09-25 10:46:05 +00:00
renovate[bot]
db697a3e23 Update dependency @rollup/plugin-node-resolve to v15.3.0 (#93677)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-24 15:43:03 +01:00
Kristina
002f872ce1 Correlations: Allow correlations to target URLs (#92442)
* Pass one

* Fix linter and add new betterer problem (sorry)

* fix swagger

* Add type to tests and update single correlations sql

* Fix provisioning test and other function that needs a type

* Add errors around query/external typing and add tests

* increment number of correlations tested as we added one for testing v1 type placement

* try merging back the swagger that is in main

* try again?

* Style form a little

* Update public/app/features/logs/components/logParser.ts

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* fix bad commit, simplify logic

* Demonstrating type difficulties

* Fix distributed union changes

* Additional type changes

* Update types in form

* Fix swagger

* Add comment around the assertion and explicit typing

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2024-09-24 09:38:17 -05:00
renovate[bot]
b04799dab9 Update dependency @types/node to v20.16.6 2024-09-24 12:58:22 +00:00
Ashley Harrison
a54308138f Navigation: Remove bodyScrolling toggle and make it default (#93652)
* remove bodyScrolling toggle and make it default

* fix e2e tests
2024-09-24 13:23:18 +01:00
Torkel Ödegaard
f04e032cf1 FieldOverrides: Clear displayName caching after applying field overrides (#93651)
* FieldOverrides: Clear displayName caching after applying field overrides

* Remove old comment
2024-09-24 13:51:02 +02:00
renovate[bot]
5193318c56 Update dependency @types/lodash to v4.17.9 2024-09-24 11:47:46 +00:00
Adela Almasan
d630e9bcb3 Chore: Update Action interface (#93248)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-09-23 10:41:05 -05:00
Andres Martinez Gotor
a45167a595 Remove backgroundPluginInstaller feature flag (#93540) 2024-09-23 15:49:18 +02:00
renovate[bot]
07f11e9222 Update dependency @rollup/plugin-node-resolve to v15.2.4 2024-09-23 13:37:26 +00:00
renovate[bot]
08b2805d07 Update dependency esbuild to v0.24.0 (#87650)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 12:27:38 +01:00
Misi
b369341868 Chore: Add feature toggle for session storage redirect handling (#93575)
Add feature toggle for session storage redirect handling
2024-09-23 12:31:23 +03:00
Ryan McKinley
f21a5987a2 Plugins: Expose datasources as apiservers feature toggle (#93250) 2024-09-19 11:28:27 +03:00
DaRK AnGeL
224e96effa Chore: Add ILS (Israeli New Shekels) currency to value formatter (#93390)
add ILS to Currency
2024-09-19 08:05:28 +02:00
kay delaney
98a4d2858a Dashboards: Fix 'days' unit pluralization (#93326) 2024-09-18 10:00:42 +01:00
Misi
41cd0f5180 Auth: Add improvedExternalSessionHandling feature toggle (#93385)
Add improvedExternalSessionHandling feature toggle
2024-09-17 13:54:39 +03:00
Ashley Harrison
161d452841 Chore: Type improvements (#93267)
* some type fixes + ignore graveyard folder

* few more fixes

* remove comment

* ignore global styles

* few more type fixes
2024-09-13 09:50:55 +01:00
Piotr Jamróz
3514504240 Tracing: Remove redundant types (#91835)
* Display event name of a span

* Clean up

* Retrigger the build

* Show colon only when there are fields to display

* Rollback

* Use event name when exporting to OTLP

* Allow filtering spans by event name

* Remove redundant types

* Remove redundant TraceLog

* Update betterer report
2024-09-13 10:05:37 +02:00
Drew Slobodnjak
e6f359f90b Transformations: Binary operation on all numbers (#92172)
* Transformations: Binary operation on all numbers

* Handle replaceFields option

* Change left clear out to string

* Handle time field

* Fix filtering

* Update new field names to remove double space

* Add tests

* Add BinaryValue interface and update editor

* Fix initial behavior

* Rollback rendering standards

* Add ctx interpolate

* Fix fixed value variable

* Add function to convert old binary value type

* Update tests for new structures

* Add bullet for all number field option

* baldm0mma/run content build script

* Disable alias control for type matching
2024-09-12 08:50:23 -07:00
Gilles De Mey
90ee52e8d9 Alerting: New search UI – Part 1 (#91620) 2024-09-11 14:29:26 +03: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
Leon Sorokin
f650a17030 Transformations: Fix inner join by field for zero-length frames (#93144) 2024-09-09 21:22:03 -05:00
renovate[bot]
1e6735706d Update dependency @types/node to v20.16.5 2024-09-09 19:39:19 +00:00
Leon Sorokin
53e59b27cd FieldColor: Prefer displayName for hashing (#93062)
* FieldColor: Prefer displayName for hashing
2024-09-09 17:58:22 +00:00
Aaron Godin
6ded6a8872 feat: Add feature toggle for groupAttributeSync (#93116) 2024-09-09 10:29:43 -05:00
Adela Almasan
af48d3db1e Canvas: Add actions support (#90677)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-09-09 09:11:55 -05:00
Kyle Brandt
b89f3f8115 Ad-Hoc Filters & Scopes: don't remap one-of to regex in frontend (#92995)
* send "one-of" and "not-one-of" directly to datasource (instead of changing them to regex)
* Added to Ad-hoc and and Scope Filters: The "values" prop ([]string) and the "one-of" and "not-one-"of" operators. "values" is used with one-of and not-one-of. 
* adds prometheus support for the above 


---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Todd Treece <todd.treece@grafana.com>
2024-09-09 16:56:43 +03:00
Andrej Ocenas
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 Browne
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
Lucy Chen
2218841aa6 SharePanel: Add icons to panel options Share and More (#92622)
* add icon

* update icons

* add svg

* update legend

* remove new svg

* try again

* remove again

* add legend icons

* make review changes
2024-09-06 12:25:35 -05:00
Claudiu Dragalina-Paraipan
d5ebaa0ef9 [authn] adding appPlatformAccessTokens featureflag (#92991)
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-09-05 19:18:44 +03:00
Ashley Harrison
82fe497b9d Chore: remove adhocFilterOneOf toggle (#92979)
remove adhocFilterOneOf toggle
2024-09-05 15:49:24 +03:00
renovate[bot]
b404dabc55 Update dependency rimraf to v6 (#92923)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-04 12:40:52 +01:00
renovate[bot]
7933cbd204 Update dependency @types/node to v20.16.4 2024-09-04 09:25:17 +00:00
Piotr Jamróz
d7d22bbbb8 TraceView: Display event names of a span (#91382)
* Display event name of a span

* Clean up

* Retrigger the build

* Show colon only when there are fields to display

* Rollback

* Use event name when exporting to OTLP

* Allow filtering spans by event name

* Show duration as a key/value pair

* Update betterer report (we do not translate panels that are planned to be externalized)

* Fix tests after changing how duration is rendered

* Handle long names

* Test handling long names

* Make parenthesis gray

* Fix a test

* Fix linting

* Fix tests

* Update label
2024-09-03 11:18:50 +02:00