Commit Graph

13145 Commits

Author SHA1 Message Date
Todd Treece 6e4d35e1ee Scopes: Add a /find query endpoint (#87457)
---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-05-08 13:35:11 -04:00
Todd Treece de438eae2e K8s: Prevent the use of arbitrary namespaces (#83636) 2024-05-08 09:30:08 -07:00
Todd Treece f342217158 K8s: Add path rewriter filter (#87456) 2024-05-08 18:08:43 +03:00
Alexander Zobnin d1c582815a Access control: Fix searching permissions from cache (#87489)
* Fix searching permissions from cache

* Write permissions to cache
2024-05-08 16:08:21 +02:00
Marcus Efraimsson 41b29ff93c Chore: Migrate to use buf for protobuf generation (#87407)
* Chore: Migrate to use buf for protobuf generation

* fix codeowners

* fixes after review

* docs/tooling for installing buf

* add back codeowners

* Update upgrading-dependencies.md

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

* sdk v0.229.0

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2024-05-08 15:42:40 +02:00
Ieva 9a824bdf0a RBAC: Don't set empty action sets (#87398)
* don't set empty action sets

* extend comment
2024-05-08 15:09:46 +03:00
Karl Persson be5ced4287 Identity: Use typed version of namespace id (#87257)
* Remove different constructors and only use NewNamespaceID

* AdminUser: check typed namespace id

* Identity: Add convinient function to parse valid user id when type is either user or service account

* Annotations: Use typed namespace id instead
2024-05-08 14:03:53 +02:00
Dan Cech 1884b03511 Provisioning: Look up provisioned folders by UID when possible (#87465)
look up provisioned folders by uid when possible
2024-05-07 15:38:53 -04:00
Charandas a9da6ce1d5 ext_jwt: streamline expected aud in access tokens and id tokens (#87401) 2024-05-07 11:20:16 -07:00
Alexander Weaver 6c47968f6c Alerting: Do not retry rule evaluations with "input data must be a wide series but got type long" style errors (#87343)
add typed error for series must be wide, do not retry
2024-05-07 11:31:07 -05:00
Nihal 5fb87de321 Auth: Added support to filter for parent teams in GitHub connector's team membership filter (#86754)
* added changes for parent teams in team_ids. see https://github.com/grafana/grafana/issues/85916

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* added unit test

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* addressed review comments to consider case where parent object can be null

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* addressed review comment

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

---------

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
2024-05-07 18:19:20 +02:00
Karl Persson 2d8570e85e IDToken: Reuse claims from authlib (#87437)
* bump authlib version

* Reuse claims from authlib
2024-05-07 16:46:43 +02:00
Eric Leijonmarck 6b218b11cf Actionsets: fix remove printf (#87439)
fix: remove printf
2024-05-07 16:36:01 +03:00
Alexander Zobnin 82dea4b3e5 Access control: Cache basic roles and teams permissions (#87043)
* RBAC: Cache basic roles permissions

* Cache teams permissions

* Set cache TTL to 1 minute

* Add OSS implementation

* Fetch basic role permissions correctly

* fix conflict_user_command

* Fix teams permissions query

* Add traces for GetUserPermissions

* Fix folders tests

* Fix colflict user command

* Update store mock

* Fix linter error

* Reuse GetUserPermissions for fetching basic roles

* tests for GetTeamsPermissions

* pre-allocate slice capacity

* Fix linter
2024-05-07 15:23:11 +02:00
Leonor Oliveira ee2f6a7b49 Force interface implementation also on legacy storage (#87414)
* Force interface implementation also on legacy storage

* Add DeleteCollection to folders and dashboards

* Fix integration tests

* Fix tests
2024-05-07 15:02:30 +02:00
Karl Persson 37af1ae58e IDToken: Set typ header (#87430)
TokenSigning: Set typ header
2024-05-07 13:59:23 +02:00
Gábor Farkas 4f7ed97aad mysql: fix dispose-method not called in external-mode (#87330) 2024-05-07 09:54:30 +02:00
Leonor Oliveira 0a2c5065a0 Choose mode. Turn DualWriter into a real interface. Better Logging (#87291)
* Choose mode. Add log field on top level dualwriter

* Add logs

* Turn DualWriter into a full interface. Fix tests

* Lint

* Use struct for dualWriter interface

* Use struct

* Default should be legacyStore for all entities

* Fix test. Get rid of extra concrete type

* Remove comment

* Add comment

* Temp set dualwriter mode 2 for playlists while configs are not in place

* Add modes type + add comment on what each mode does

* Don't require watcher interface for now

* Use storage implementation on mode 2

* Update pkg/apiserver/rest/dualwriter_mode2.go

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>

* Pass log values to the context

* test

* Update pkg/apiserver/rest/dualwriter_mode3.go

Co-authored-by: Dan Cech <dcech@grafana.com>

---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Dan Cech <dcech@grafana.com>
2024-05-06 23:18:28 +02:00
Aaron Godin 0bc8992dfa Revert #86466 (#87405)
Revert "Apply plugin route ReqAction to ds_proxy authorization (#86466)"

This reverts commit 53f94ac50d.
2024-05-06 14:40:32 -05:00
Dan Cech 41bee274fd Chore: Fix error handling in postDashboard, remove UserDisplayDTO, fix live redis client initialization (#87206)
* clean up error handling in postDashboard and remove UserDisplayDTO

* replace GetUserUID with GetUID and GetNamespacedUID, enforce namespace constant type

* lint fix

* lint fix

* more lint fixes
2024-05-06 14:17:34 -04:00
jackyin ba8b4bde3a fix ipv6 startup fail #81870 (#87108)
* fix ipv6 startup fail #81870

* ipv6 startup fail

* ipv6 startup fail
2024-05-06 14:17:03 -04:00
Eric Leijonmarck 601485c74d Actionsets: Fix downgrade of permission to add the actionset permission (#87328)
* check for missingActions empty and add actionset

* spelling
2024-05-06 10:16:26 +01:00
Misi 9236c5a5cf Auth: Add OrgRoleMapper service (#86973)
* Add OrgRoleMapper

* Address feedback, add more tests

* Prevent resetting assignments when global org mapping fails

* Provide a parsing function instead of recalculating the org_mapping on every mapping

* Introduce strict role parsing/mapping

* Introduce MappingConfiguration

* Handle other edge case

* Add tests

* lint

* Apply documentation update suggestions

* Apply GetDefaultOrgMapping suggestions from code review

* Apply suggestions for cleaning up unnecessary err in ParseOrgMappingSettings

* Apply suggestions from code review

* Address feedback suggestions

* Cleanup

* Reduce cognitive complexity of ParseOrgMappingSettings

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-05-06 09:25:47 +02:00
Ryan McKinley 333ed377d6 Prometheus: Avoid parsing unused legacy datasource property (#87224)
* query cleanup

* parse query

* more comments
2024-05-05 15:00:53 +03:00
Jon Cole 8e96821c16 Azure: get custom cloud list from grafana-azure-sdk-go package (#86717)
* Get custom cloud list from grafana-azure-sdk-go for frontend settings

* Remove getAzureClouds() and call CustomClouds() directly

* remove unused type
2024-05-04 13:17:51 +03:00
Charandas 0c59baf62d ext_jwt: switch to new authlib (#87157) 2024-05-03 12:59:37 -07:00
Matthew Jacobson babfa2beac Alerting: Hook up GMA silence APIs to new authentication handler (#86625)
This PR connects the new RBAC authentication service to existing alertmanager API silence endpoints.
2024-05-03 15:32:30 -04:00
Gilles De Mey 5e25afe6e9 Alerting: New settings page (#84501) 2024-05-03 17:42:42 +02:00
Juan Cabanas d1434fad3a ShareModal: Share link redesign under newDashboardSharingComponent FF (#87011) 2024-05-03 12:02:18 -03:00
Prem Saraswat 196134b0b4 Storage Server: Avoid incorrect parsing of connection string (#85293)
Storage Server: avoid incorrect parsing of connection string

In storage server, a connection string is generated to connect to the
backing database. In case of Postgres, we were generating the string
like `"user=grafana pass= host=postgres.example port=4567"`.

This triggered an edge case in `pq` (the go postgres driver) to parse
`pass` to be equal to `host=postgres.example`, and host being reset to
default value.

Using single quotes in the connection string fixed this.

Signed-off-by: Prem Kumar <prem.saraswat@grafana.com>
2024-05-03 10:54:39 -04:00
Andreas Christou 28df41fd96 MSSQL: Add HostName method (#87309)
* Add HostName method

* Add test

* Fix lint
2024-05-03 15:45:34 +01:00
Scott Lepper 1a2bbd61fd sql expressions: improve parser (#87277)
sql expressions: improve parser
2024-05-03 08:08:07 -04:00
Santiago b76a9e4d31 Alerting: Implement GetStatus in the remote Alertmanager struct (#84887)
* Alerting: Implement GetStatus in the remote Alertmanager struct

* update tests

* fix tests, extract AlertmanagerConfig from PostableConfig

* get the remote AM config instead of the Grafana one from the remote AM

* pass grafana AM config in test

* return error in GetStatus instead of logging it (internal AM)
2024-05-03 13:59:02 +02:00
Andres Martinez Gotor b6f899d953 Migrate wrong datasource UIDs (#86598) 2024-05-03 13:32:07 +02:00
ismail simsek 3317691615 InfluxDB: Support cardinality queries with backend mode (#87264)
support cardinality queries
2024-05-03 12:50:00 +02:00
Georges Chaudy dd0e646e92 k8s: remove dependency on app_mode development (#85474)
* k8s: remove dependency on app_mode development

* remove dev conditions on storage server

* remove logic to drop entity tables
2024-05-03 11:28:15 +03:00
Carl Bergquist 7a6bef8f9c Scopes: Adds kinds for browsing the scope node tree. (#86975)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-05-03 09:48:54 +02:00
Karl Persson a22350f8f4 IDToken: add namespace (#87242) 2024-05-02 18:55:28 -07:00
Scott Lepper cbe3e3a5e0 fix: sql expressions parser with join (#87263) 2024-05-02 14:48:05 -04:00
Galen Kistler 840aeddbd1 Logs: Explore panel default visualization feature flag (#87189)
* add logsExploreTableDefaultVisualization feature flag

* use feature flag in calculating initial visualization type

* add feature flag to tracking
2024-05-02 10:28:15 -05:00
Ryan McKinley b7df129b78 FeatureToggles: Write enabled flags to the logs on startup (#87225) 2024-05-02 18:19:34 +03:00
Arati R 4db5ec28a1 Storage: Enable mode 2 dual writing for playlists (#87245)
Enable mode 2 dual writing for playlists
2024-05-02 16:52:29 +02:00
Fayzal Ghantiwala df25e9197e Alerting: Get grafana-managed alert rule by UID (#86845)
* Add auth checks and test

* Check user is authorized to view rule and add tests

* Change naming

* Update Swagger params

* Update auth test and swagger gen

* Update swagger gen

* Change response to GettableExtendedRuleNode

* openapi3-gen

* Update tests with refactors models pkg
2024-05-02 15:24:59 +01:00
Arati R 9e6de035c0 Storage: Add mode 2 dual writing improvements (#87204)
* Fix mode 2 List test
* Set origin timestamp during conversion to k8s resource
* Add instructions for updating a playlist
* Handle partial deletions of a collection in mode 2
2024-05-02 16:06:51 +02:00
Gabriel MABILLE 8802282ebc RBAC: fix panic role not found permission sync (#87217) 2024-05-02 15:19:56 +02:00
Kevin Yu 6851ad9f8c CloudWatch: Fix apostrophes in dimension values not being escaped (#87182) 2024-05-02 06:15:11 -07:00
Mihai Doarna a979417700 SSO: Update ssoSettingsApi flag to general availability (#87216)
* update ssoSettingsApi flag to general availability

* generate files
2024-05-02 16:00:52 +03:00
Karl Persson d8fbbdefea Identity: Use typed namespace id (#87121)
* Use typed namespace id
2024-05-02 14:50:56 +02:00
Scott Lepper 4fd2cb6014 fix: sql expressions - sql parser table name case (#87196)
* fix: sql parser table name case
2024-05-02 08:43:20 -04:00
Serge Zaitsev ad5613d7d4 Chore: Remove cfg from folder service (#87212)
remove cfg from folder service
2024-05-02 13:18:54 +02:00