Auth: Refactor for revoking user tokens within last hours (#74616)
* fix: revoked tokens within last hours
adds check for unlimited sessions out of index
adds a function for specifing the hours to look back when revoking users tokens, otherwise we "assume" the clean up takes care of them adds a index for the `user_auth_token` - `revoked_at` for faster queries when using `revoked_at`
* fix: sqllite datetime conversion with unixtimestamps
* fix: postgres dialect
* fix: mysql dialect
* fix: mysql dialect missing closing )
* refactor: delete revoked tokens directly
* fix: tests for sqlite
* AuthToken: Simplify DeleteUserRevokedTokens and add test
* fix: linting newline
* Reset get time after test
* fix: test order by revoked
* fix: order by different db
* ascending
* test with seen at
---------
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
(cherry picked from commit b00f3216c1)
Alerting: Do not exit if Redis ping fails when using redis-based Alertmanager clustering (#74144)
Do not fail redis peer construction if ping fails
(cherry picked from commit 5c9aeaef41)
Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
* [LDAP] Disable removed users on login (#74016)
* [LDAP] Disable removed users on login
* Fix tests
* Add test for user disabling
* Add tests for disabling user behind auth proxy
* Linting.
* Rename setup func
* Account for reviews comments
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
---------
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
(cherry picked from commit f900098cc9)
* manual backport of #74016
* LDAP: Fix active sync with large quantities of users (#73834)
* Fix middleware test
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>
Alerting: Limit redis pool size to 5 and make configurable (#74057)
* Limit redis pool size to 5 and expose it in config ini
* Coerce negative pool sizes to the default
(cherry picked from commit dfba94e052)
Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
* Plugins: Dynamic angular patterns: Add random offset to GCOM API calls, handle HTTP errors (#73494)
* Plugins: Dynamic angular patterns: Return error for != 2xx status code
* Add test for status code check
* Plugins: Dynamic angular patterns: Add random skew to periocic GCOM api calls
* Add test for random skew
* Changed randomSkew signature, ensure it is always positive
(cherry picked from commit 4ef98449ff)
* trigger
---------
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
Co-authored-by: Giuseppe Guerra <giuseppe@guerra.in>
Slug: Combine various slugify fixes for special character handling (#73164)
* combine various slugify fixes for special character handling
* a couple more test cases
* update more tests
* goimports
(cherry picked from commit dd97038b00)
Co-authored-by: Dan Cech <dcech@grafana.com>
Logs: Disable query splitting due to conflicts with transformations (#73086)
* disable query splitting for now
* change stage of `lokiQuerySplitting`
(cherry picked from commit 1343c74362)
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
Auth: lock down Grafana admin sync for SAML (#72828)
lock down Grafana admin sync for SAML
(cherry picked from commit 3a2538c2ca)
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Search v1: Remove unnecessary subqueries (#72388)
* Add feature flag
* Introduce interface and dummy implementation
* Add tests for the new filter
* accessControlDashboardPermissionFilterNoFolderSubquery implementation
* join only if it's necessary
* force ordering for tests
* Temporarily enable new query for benchmarks
(cherry picked from commit 2c26a02b82)
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
UserSync: Avoid UpdateLastSeenAt with invalid user ids (#72776)
* avoid user zero
* more errors
* more tests
* split
(cherry picked from commit 7431c0ddb1)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Chore: Refactor error when retrieving the plugin manifest key (#72492)
(cherry picked from commit a331c892a0)
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
* build httpsettings overhaul with new auth component
* remove test code
* add connection and advanced http settings components
* use tooltip with link
* add correct styling and spacing
* save option select for sigV4
* fix styles in Azure auth to fit new auth component
* add types in overhaul folder that are not available yet in grafana
* update e2e tests for new connection component
* update e2e tests for new connection component
* update width of azure inputs
* fix non custom auth selects
* add feature toggle
* wrap azure style changes behind the feature flag
* fix feature toggle rebase fix error
* move advanced http setting and wrap everything in the config subsection component to fix font
* fix input width
* use cx for conditional classes
* use cx for conditional class
* don't show Admin/Data sources page in navtree
* redirect from admin/datasources to connections/datasources
* update link of DS plugins to connections/datasources
* redirect edit page from datasources to connections
* redirect to new datasource page under connections
* redirect to datasouce dashboard page under connections
* fix navId on datasource dashboards page
* fix datasource dashboard page's nav
* Revert "update link of DS plugins to connections/datasources"
This reverts commit 0ebcb09b03.
* Alerting: Fix contact point testing with secure settings
Fixes double encryption of secure settings during contact point testing and removes code duplication
that helped cause the drift between alertmanager and test endpoint. Also adds integration tests to cover
the regression.
Note: provisioningStore is created to remove cycle and the unnecessary dependency.
* add a new feature toggle for locking down role sync for users managed by GCom
* protect the frontend and the backend using the new feature toggle
* fix merge
* Expose library element service's folder service
* Register library panels, add count implementation
* Expand folder counts test
* Update registry deletion method interface
* Allow getting library elements from any folder
* Add test for library panel deletion
* Add test for library panel counting
* Remove feature flag from registry.go
* Remove usages of toggle
* Refactor and cleanup Tempo's query field components
* Added deprecation alert
* Mark nativeSearch fields as deprecated
* Also show deprecated search tab if queryType is nativeSearch
* Update deprecation message to list grafana version
* Fix merge conflict
* Remove mention of toggle from docs
* make sure LastSeen hook has information to decide if update is necessary
* make user service check if it should update the user's last seen
* do not run last seen hook if is a login request
* make service return error when last seen is up to date
* fix err
* Update pkg/services/contexthandler/contexthandler.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* fix golint
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>