Commit Graph

506 Commits

Author SHA1 Message Date
Karl Persson 294712d7ef User: Add sub resource and api for user teams (#92649)
* Add sub resource for user teams

* Add test snapshots

* Update to use ref:s
2024-08-30 15:05:27 +02:00
Leonor Oliveira 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
Yuri Tseretyan 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
Todd Treece 2bb2183b41 Scopes: Move title and groups to status in ScopeDashboardBinding (#92377)
---------

Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
2024-08-28 08:59:18 -04:00
Ryan McKinley 419edef4dc LibraryPanels: Expose library panels in dashboard apiserver (#92213) 2024-08-27 12:12:22 +03:00
Andrew Hackmann eac194815e MSSQL: decouple plugin (#89597)
* decouple from core

* yarn decouple

* make health check work and azure config

* f

* driver error not needed

* merge
2024-08-26 23:09:21 +03:00
Kristina 1dd830b9f1 Correlations: Migrate config type to root (#91855)
* WIP

* Validate new field, and add value in provisioning if not defined in correct spot

* Simplify logic, use correct value

* fix tests

* Fix linter errors

* fix swagger and tests

* 😬

* Auto-generation isnt doing this..

* Fix linter

* test if nullable is the issue…

* Change structure on the frontend fields

* Try with backtick

* try programatic quoting

* Try only quote non-ints

* quoting, no backticks

* Remove debugging
2024-08-26 08:02:48 -05:00
Sven Grossmann ec857e1de9 Loki: Add dashboard and panel names as headers (#92096)
* feat(nameHeaders): add feature flag

* add safe parsing of headers

* use headers in loki datasource

* Loki: add option to pass headers to Loki

* Loki: add datasource tests for dashboard names

* cleanup

* DataSourceWithBackend: add test

* rename to `sanitizeHeader`

* Loki: add condition when to add headers

* Loki: add e2e tests

* Loki: change test name
2024-08-22 21:30:43 +02:00
Ryan McKinley 2136fd9a92 Storage: Remove unified storage feature flag (#92192)
remove unified storage flag
2024-08-21 19:28:30 +03:00
Kyle Brandt cab5818bc7 Scopes: Add groups property to ScopeDashboardBinding (#92077)
- Note: The `dashboardTitle` property and this property (`groups`) are likely to move from the `spec` container to the `status` container within the `scopeDashboardBinding` object in the future.
2024-08-20 19:32:16 +03:00
Yuri Tseretyan 135f6571a9 Alerting: Update Time Interval service to support renaming of resources (#91856)
* add RenameTimeIntervalInNotificationSettings to storage
* update dependencies when the time interval is renamed
---------

Co-authored-by: William Wernert <william.wernert@grafana.com>
2024-08-16 20:55:03 +03:00
Todd Treece a12b372556 Plugins: Update missed ConversionHandler checks (#92011) 2024-08-16 16:10:32 +03:00
Todd Treece e60b0aef83 Plugins: Add support for ResourceConversion (#91977) 2024-08-15 16:02:21 -04:00
Kristin Laemmert c6ae2d7999 chore: add replDB to team service (#91799) 2024-08-15 12:19:38 -04:00
Ryan McKinley a0cd89860e Identity: Add endpoint to get display info for an identifier (#91828) 2024-08-15 14:38:43 +03:00
Ryan McKinley 427dad26a2 Swagger: Add a custom swagger/api page (#91785)
Co-authored-by: Kristian Bremberg <kristian.bremberg@grafana.com>
2024-08-14 09:03:00 +03:00
Leonor Oliveira d52d04b6d8 Revert "Use dw dynamic config" (#91846)
Revert "Use dw dynamic config (#91222)"

This reverts commit 0258842f87.
2024-08-13 17:24:26 +02:00
Leonor Oliveira 0258842f87 Use dw dynamic config (#91222)
* Remove kubernetesPlaylists feature_toggle

* Remove unified_storage_mode

* Remove double import

* Regenerate feature-toggles

* Read from config instead from feature_toggle

* cover scenario for when unified storage is not defined
2024-08-13 10:03:28 +02:00
Kristin Laemmert 299c142f6a QuotaService: refactor to use ReplDB for Get queries (#91333)
* Feature (quota service): Use ReplDB for quota service Gets

This adds the replDB to the quota service, as well as some more test helper functions to simplify updating tests. My intent is that the helper functions can be removed when this is fully rolled out (or not) and we're consistently using the ReplDB interface (or not!)

* test updates
2024-08-08 13:41:33 -04:00
Ryan McKinley 9e116d13a5 K8s/Dashboards: Fix dashboard list and add tests (#91523) 2024-08-07 13:43:13 +03:00
Ryan McKinley 728150bdbd Identity: extend k8s user.Info (#90937) 2024-07-30 08:27:23 +03:00
Ryan McKinley ec6c6bd6c3 Identity: Add read-only identity apiserver (#90418) 2024-07-26 17:09:08 +03:00
Leonor Oliveira 67b74e1e8a Dual writer: mode 3 (#90045)
* Dual writer: mode 3

* Add integration tests for playlits in mode 3

* Remove todo

* Update pkg/apiserver/rest/dualwriter_mode3.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Admin: Fixes an issue where user accounts could not be enabled (#88117)

Fix: unable to enable user

* [REVIEW] FInish mode 3 and add tests

* Improve logging

* Update dependencies

* Update pkg/apiserver/rest/dualwriter_mode3_test.go

Co-authored-by: maicon <maiconscosta@gmail.com>

* remove test assertion

* Use mode log when dual writer is initiated

---------

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
Co-authored-by: gonvee <gonvee@qq.com>
Co-authored-by: maicon <maiconscosta@gmail.com>
2024-07-24 09:28:14 +02:00
Ryan McKinley f409f8c169 K8s/Dashboards: Implement dashboards as StorageBackend (#90295) 2024-07-17 10:49:23 -07:00
Yuri Tseretyan 970cafa20f Alerting: Time interval Delete API to check for usages in alert rules (#90500)
* Check if a time interval is used in alert rules before deleting it
* Add time interval to parameters of ListAlertRulesQuery and ListNotificationSettings of DbStore

== Refacorings == 
* refactor isMuteTimeInUse to accept a single route
* update getMuteTiming to not return err
* update delete to get the mute timing from config first
2024-07-17 10:53:54 -04:00
Ryan McKinley f3f9cc2e92 Scopes: Avoid dots in example names (#90460) 2024-07-16 18:30:36 +03:00
Santiago e097ffc771 Alerting: Update grafana/alerting dependency (#90365)
* update grafana/alerting to latest main
* update alertmanager to  66ec17e3aa45
2024-07-12 14:05:17 -04:00
Alexander Weaver b3d863c11e Expr: Make math expression scalars compliant with dataplane contract (#90350)
* Specify frame type for scalars arbitrarily

* Update alerting tests which assert on entire dataframe fields
2024-07-12 12:52:19 -05:00
Ryan McKinley 079f0715aa ResourceServer: Add resource server protobuf and wrapper (#90007) 2024-07-09 15:08:13 -07:00
Yuri Tseretyan 5ae5fa3a7a Alerting: Support field selectors in time interval API (#90022)
* fix kind of TimeInterval
* register custom fields for selectors
* support field selectors in legacy storage
* support selectors in storage

===== Misc
* refactor conversions to build in one place
* hide implementation of provenance status behind accessors to use the key in selectors
* fix provenance error
2024-07-08 22:45:30 +03:00
Steve Simpson e9fd191065 Alerting: Fix some status codes returned from provisioning API. (#90117)
The contact point deletion API was returning 500 when it should have been
returning a 4xx error, when the contact point is in use:

- When in use by a notificiation policy, we were missing
  the `.Errorf("")` to convert `errutil.Base` into `errutil.Error`.
- When in use by an alert rule, an regular error was returned.
2024-07-05 19:06:37 +02:00
Alexander Zobnin 87d86e81ce Zanzana: Evaluate permissions alongside with RBAC engine (#90064)
* Zanzana: Evaluate permissions if feature flag enabled

* Fix tests

* adjust logs

* fix spelling

* remove unused

* only evaluate implemented resources

* refactor
2024-07-05 11:31:23 +02:00
Ryan McKinley de06762852 K8s: Add basic peakq test w/ resource (#90026) 2024-07-04 01:26:33 +03:00
Andres Martinez Gotor a22c1ae424 Chore: Remove provisional APIVersion from plugin info (#89831) 2024-07-01 10:53:16 +02:00
Ryan McKinley 3db4e5a0c6 K8s: remove dashboard summary abstraction (#89761) 2024-06-26 15:00:24 +03:00
Ryan McKinley 4651506319 K8s/Dashboards: Replace multiple calls with a single endpoint (#89639) 2024-06-26 07:27:52 +03:00
Ryan McKinley 93ef90a1e4 K8s: remove (not great) example api (#89524) 2024-06-21 10:23:08 +03:00
Yuri Tseretyan b075926202 Alerting: Time Intervals API (#88201)
* expose ngalert API to public
* add delete action to time-intervals
* introduce time-interval model generated by app-platform-sdk from CUE model the fields of the model are chosen to be compatible with the current model
* implement api server
* add feature flag alertingApiServer
---- Test Infra
* update helper to support creating custom users with enterprise permissions
* add generator for Interval model
2024-06-20 16:52:03 -04:00
Ryan McKinley 9b7f9ae22e K8s: Rename origin.key to origin.hash (#89337) 2024-06-18 22:27:16 +03:00
Steve Simpson dd3c3b5857 Alerting: Update grafana/alerting. (#88914) 2024-06-14 09:19:04 +02:00
Ryan McKinley 99d8025829 Chore: Move identity and errutil to apimachinery module (#89116) 2024-06-13 07:11:35 +03:00
Yuri Tseretyan d4b0ac5973 Alerting: Fix rule storage to filter by group names using case-sensitive comparison (#88992)
* add test for the bug
* remove unused struct
* update db store to post process filters by group using go-lang's case-sensitive string comparison

--------

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2024-06-10 19:05:47 -04:00
Leonor Oliveira b30c81b1ad Add and fix tests for playlists in mode1 (#88543)
* Add and fix tests for playlists in mode1

* Make etcd tests pass mode1 for now

* Fix mode1 and add more tests for playlists in mode 1

* Remove repeated test

* Fix test setup
2024-06-10 16:11:01 +02:00
Piotr Jamróz 0a05ac6aed Correlations: Remove flakey test (#88912)
* Make the flakiness error more verbose

* Fix linting

* Remove a flaky test and make assertion failures more verbose
2024-06-10 15:14:38 +02:00
David Harris 60bec80672 Cloudwatch: add keywords (#88855)
---------

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2024-06-10 08:11:47 -04:00
Yuri Tseretyan 003e3efce9 Alerting: Update mute timings provisioning API to support optimistic locking (#88731)
* add version to time-interval models
* set time interval fingerprint as version
* update to check provided version
* delete to check if version is provided in query parameter 'version'
* update integration tests
* update specs
2024-06-06 18:06:37 -04:00
Dave Henderson e21d357d67 chore: Updating linter, fixing some new warnings (#88863) 2024-06-06 13:01:27 -04:00
Carl Bergquist 16cc75b02c Scopes: Add Handler for returning dashboards related to a list of scopes. (#87758)
- Adds a find endpoint to return dashboard bindings that match any of the scopes. For example /apis/scope.grafana.app/v0alpha1/namespaces/default/find/scope_dashboard_bindings?scope=s1&scope=s2
- Updates the ScopeNode find endpoint to a new path, /find/scope_node_children , makes the key "items" for all find endpoints (instead of mix of "found" and "items"), and makes the list item type a ScopeNode instead of its own type.
- Updates kubectl get commands to return more information about scopes, scopenodes, and scopedashboard bindings to display more fields in table output

---------

Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Todd Treece <todd.treece@grafana.com>
2024-06-05 11:47:36 -04:00
Santiago 9f9928d41a Alerting: Update grafana/alerting (#88363)
* Alerting: Update grafana/alerting

* make tests pass by implementing yaml unmarshallers and deleting fields with omitempty in their yaml tags

* go mod tidy

* fix tests by implementing not calling GettableApiAlertingConfig.UnmarshalYAML from GettableApiAlertingConfig.UnmarshalJSON

* cleanup, reduce diff

* fix more tests

* update grafana/alerting to latest commit, delete global section from configs in tests

* bring back YAML unmarshaller for GettableApiAlertingConfig

* update alerting package dependency to point to main

* skip test for sns notifier
2024-06-04 20:29:37 +02:00
Carl Bergquist c99fe4f970 Scopes: Add DashboardTitle to scopedashboardbinding (#88609)
scopes: add title to scopedashboardbinding

Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-06-04 10:36:03 +03:00