Commit Graph

52 Commits

Author SHA1 Message Date
Daniele Stefano Ferru fbda55316d K8s: Set X-Remote-Extra-User-Instance-Role header for SignedInUser (#87958) 2024-05-16 12:57:49 +03:00
owensmallwood 557c3a9cdd Unified Storage: Adds metrics for database query counts (#87781) 2024-05-14 10:17:38 -06:00
Stephanie Hingtgen bbb4323f7e K8s: add server run options (#87784) 2024-05-14 07:11:11 +03:00
Todd Treece fa2f6578b3 Chore: Add info about K8s folder structure to README (#87508)
---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-05-09 16:43:07 +03:00
Todd Treece de438eae2e K8s: Prevent the use of arbitrary namespaces (#83636) 2024-05-08 09:30:08 -07: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
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
Arati R 61f3d08c3f Storage: Add List support for pagination (#87093)
* Add origin keys to List request
* Check origin keys requirement in the sql entity server's List method
* Refactor mode 2 List
* Check origin keys before making Storage List call

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-05-01 08:42:47 +02:00
Will Browne 8a5c0cfdc0 Plugins: Pass cancellable context during API server creation (#86545) 2024-04-19 09:22:14 +03:00
owensmallwood 8c8885ef23 Storage Api: Adds traces (#85391)
- adds traces and improved logging to the unified storage server
- add a configurable logger to the gRPC server service
2024-04-16 08:30:51 -06:00
Charandas a39fe593c2 K8s: remove standalone authenticator in favor of providing one through the factory (#85901) 2024-04-11 21:30:23 +02:00
Marcus Efraimsson 3e385763c5 Tracing: Improve HTTP request/middleware spans and standalone apiserver (#85715)
Fixes so that auth middleware trace/span doesn't wrap the next handlers.
Allow tracing service name to be overridden in standalone apiserver.
Change k8s api tracing operation name to KubernetesAPI from 
grafana-apiserver (which is the service name)
2024-04-11 13:28:23 +02:00
Todd Treece 72472e5eb7 K8s: Add slog wrapper (#84680) 2024-04-09 18:39:25 +03:00
Dan Cech 5dfe4cf407 Storage: Watch tests (#85496)
* basic watch tests working

* refactor to read previous event within poller

* add watch test files

* cleanup

* watch tests passing

* debug cleanup

* special handling for canceled context

* cleanup

* fix wire

* fix sqlite_sequence cleanup issue

* move watch tests to integration, wait for provisioned dashboards

* handle context deadline exceeded and eof errors

* add comment about sleep
2024-04-08 11:42:12 -04:00
Todd Treece c01531dc79 K8s: Use tracing handler from component-base (#85560) 2024-04-04 00:39:09 +03:00
Charandas 0f1151964c K8s: standalone authenticator that allows a type of downstream forwarding (#85130) 2024-03-28 20:52:28 +02:00
Dan Cech ef26fe95dc Storage: GuaranteedUpdate fix & other improvements (#85206)
make GuaranteedUpdate work when ignoring not found errors, increase poll frequency, fix Delete
2024-03-27 10:38:49 -04:00
Charandas dd7d4e2656 K8s: replace a noop certKey content func with actual if available (#84524) 2024-03-25 10:12:55 -07:00
Charandas 3c42a2efd2 K8s: file storage - add sync around resource version (RV) management (#84694) 2024-03-23 23:58:48 -07:00
Marcus Efraimsson 488bbaacab Chore: Remove unused dependenices in plugin client middlewares (#84624)
* Chore: Remove unused dependenices in plugin client middlewares

* refactor logger middleware to remove cfg dependency

* hack to make tracing work in api group builders
2024-03-22 12:54:35 +01:00
Marcus Efraimsson 6c1de260a2 API Server: Standalone observability (#84789)
Adds support for logs (specify level), metrics (enable metrics and Prometheus /metrics endpoint 
and traces (jaeger or otlp) for standalone API server. This will allow any grafana core service 
part of standalone apiserver to use logging, metrics and traces as normal.
2024-03-21 17:06:32 +01:00
Andres Martinez Gotor a705ff7892 API Server: refactor plugin ID handling (#84753) 2024-03-20 13:49:19 +01:00
Dan Cech 89f3b70e17 Storage: Add support for listing resource history (#84331)
* add support for listing resource history

* make watch handle custom label selectors properly

* fix tests

* Apply suggestions from code review

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>

* properly handle special characters in json label matcher

* tidy up

---------

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-03-15 19:17:54 -04:00
Charandas b6a020148b K8s: disallow MT storage functionality for Aggregator builders (#84408) 2024-03-14 01:54:30 +02:00
Georges Chaudy 06b7f6befa k8s: ensure unified storage address is populated from config ini (#84373)
fix: ensure unified storage address is populated from config ini
2024-03-13 15:17:26 +01:00
Charandas 0eee72824c K8s: omit CABundle until insecure is false (#84323) 2024-03-12 21:58:02 +02:00
Charandas da327ce807 K8s: enable insecure to skip server cert validation for now (#84038) 2024-03-12 01:13:14 +02:00
Dan Cech 1ffd1cc8f4 Storage: Support listing deleted entities (#84043)
* support listing deleted entities

* fold listDeleted into List
2024-03-11 13:59:54 -04:00
Georges Chaudy 15e358e3b9 k8s: add support for configuring the gRPC server address (#84006)
* k8s: add support for configuring the gRPC server address
2024-03-11 11:23:03 +02:00
Ryan McKinley d82f3be6f7 QueryService: Use types from sdk (#84029) 2024-03-08 18:12:59 +02:00
Dan Cech 7e4badff1d Storage: Use our own key format and support unnamespaced objects (#83929)
* use our own key format and support unnamespaced objects

* fix tests
2024-03-05 16:31:39 -05:00
Charandas e916372249 K8s: bug fixes for file storage to allow for watcher initialization on startup (#83873)
---------

Co-authored-by: Todd Treece <todd.treece@grafana.com>
2024-03-05 10:34:47 -08:00
Dan Cech 9fa9eaab44 Storage: Support get with resourceversion (#83849)
support getting old resourceversion, return explicit resource version in list
2024-03-05 10:57:32 -05:00
Dan Cech 7b4925ea37 Storage: Watch support (#82282)
* initial naive implementation

* Update pkg/services/store/entity/sqlstash/sql_storage_server.go

Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>

* tidy up

* add action column, batch watch events

* initial implementation of broadcast-based watcher

* fix up watch init

* remove batching, it just adds needless complexity

* use StreamWatcher

* make broadcaster generic

* add circular buffer to replay recent events to new watchers

* loop within poll until all events are read

* add index on entity_history.resource_version to support poller

* increment r.Since when we send events to consumer

* switch broadcaster and cache to use channels instead of mutexes

* cleanup

---------

Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>
2024-03-05 10:14:38 -05:00
Charandas b87ec69431 K8s: add a remote services file config option to specify aggregation config (#83646) 2024-02-29 17:29:05 -08:00
Todd Treece e5a26a3f7c K8s: Add apimachinery and apiserver packages (#83190) 2024-02-23 15:15:43 -05:00
Todd Treece 8f0431ba46 K8s: Pass ID token in X-Extra-id-token header (#82893) 2024-02-16 17:07:37 +02:00
Ryan McKinley c879588332 APIServer: Use options pattern in standalone mode (#82760)
use options
2024-02-15 12:00:20 -08:00
Todd Treece f593161ef6 K8s: Set X-Remote- headers for SignedInUser (#82543) 2024-02-15 12:29:36 -05:00
Todd Treece d6e6298103 K8s: Add Aggregation to Backend Service (#81591)
Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
2024-02-12 22:59:35 +02:00
Todd Treece 6d5211e172 K8s: Fix windows filepath issue in file storage (#81919)
Co-authored-by: Dan Cech <dcech@grafana.com>
2024-02-12 13:21:57 -05:00
Stephanie Hingtgen 87c3d0fb6a K8s: Update stack id validation (#82275) 2024-02-09 21:51:00 +02:00
João Calisto 42d6e176bc Feature Toggle Management: allow editing PublicPreview toggles (#81562)
* Feature Toggle Management: allow editing PublicPreview toggles

* lint

* fix a bunch of tests

* tests are passing

* add permissions unit tests back

* fix display

* close dialog after submit

* use reload method after submit

* make local development easier

* always show editing alert in the UI

* fix readme

---------

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2024-02-09 18:48:56 +02:00
Stephanie Hingtgen 54a77fa55e K8s: StackIDs can be single digits (#82267) 2024-02-09 18:39:58 +02:00
Charandas 117a4b4b0a K8s: resolve crash due to looking up aggregation config when running in a K8s environment (#82125)
K8s: apply authn options only in dev mode - resolves crash due to looking up aggregation config
2024-02-07 16:43:07 -08:00
Dan Cech 1f1461734c Storage: Add support for sortBy selector (#80680)
* add support for sortBy field selector

* use label selectors instead of field selectors

* set entity_labels on create & update

* make entity server integration tests work

* test fixes

* be more consistent with handling of empty body, meta or status

* workaround for database is locked errors during migration

* fix double import of sqlite3

* rename functions and tidy up

* refactor update

* disable integration tests until we can fix the database locking issue
2024-02-07 15:05:10 -05:00
Dan Cech 156d7ae194 use in-process grpc client instead of wrapping server interface (#81926)
* use in-process grpc client instead of wrapping server interface

* comment out jwt token checks until we're ready to validate the token
2024-02-07 13:17:02 -05:00
Ryan McKinley 91754bcda5 K8s: Refactor standalone apiserver initialization (#81932) 2024-02-06 08:40:35 -08:00
Ryan McKinley 202eecccbc K8s: Update common openapi generation scripts (#81857) 2024-02-04 22:37:10 +02:00
Ryan McKinley ba3ee60711 K8s: Allow more control over the final openapi results (#81829) 2024-02-02 14:19:45 -08:00