Storage: Unified Storage based on Entity API (#71977)

* first round of entityapi updates

- quote column names and clean up insert/update queries
- replace grn with guid
- streamline table structure

fixes

streamline entity history

move EntitySummary into proto

remove EntitySummary

add guid to json

fix tests

change DB_Uuid to DB_NVarchar

fix folder test

convert interface to any

more cleanup

start entity store under grafana-apiserver dskit target

CRUD working, kind of

rough cut of wiring entity api to kube-apiserver

fake grafana user in context

add key to entity

list working

revert unnecessary changes

move entity storage files to their own package, clean up

use accessor to read/write grafana annotations

implement separate Create and Update functions

* go mod tidy

* switch from Kind to resource

* basic grpc storage server

* basic support for grpc entity store

* don't connect to database unless it's needed, pass user identity over grpc

* support getting user from k8s context, fix some mysql issues

* assign owner to snowflake dependency

* switch from ulid to uuid for guids

* cleanup, rename Search to List

* remove entityListResult

* EntityAPI: remove extra user abstraction (#79033)

* remove extra user abstraction

* add test stub (but

* move grpc context setup into client wrapper, fix lint issue

* remove unused constants

* remove custom json stuff

* basic list filtering, add todo

* change target to storage-server, allow entityStore flag in prod mode

* fix issue with Update

* EntityAPI: make test work, need to resolve expected differences (#79123)

* make test work, need to resolve expected differences

* remove the fields not supported by legacy

* sanitize out the bits legacy does not support

* sanitize out the bits legacy does not support

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* update feature toggle generated files

* remove unused http headers

* update feature flag strategy

* devmode

* update readme

* spelling

* readme

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
This commit is contained in:
Dan Cech
2023-12-06 15:21:21 -05:00
committed by GitHub
co-authored by Ryan McKinley
parent 07915703fe
commit c4c9bfaf2e
42 changed files with 4357 additions and 2388 deletions
+2 -1
View File
@@ -24,7 +24,7 @@ dataConnectionsConsole,GA,@grafana/plugins-platform-backend,2022-06-01,false,fal
topnav,deprecated,@grafana/grafana-frontend-platform,2022-06-20,false,false,false,false
dockedMegaMenu,experimental,@grafana/grafana-frontend-platform,2023-09-18,false,false,false,true
grpcServer,preview,@grafana/grafana-app-platform-squad,2022-09-27,false,false,false,false
entityStore,experimental,@grafana/grafana-app-platform-squad,2022-12-01,true,false,false,false
unifiedStorage,experimental,@grafana/grafana-app-platform-squad,2022-12-01,true,false,true,false
cloudWatchCrossAccountQuerying,GA,@grafana/aws-datasources,2022-11-28,false,false,false,false
redshiftAsyncQueryDataSupport,GA,@grafana/aws-datasources,2022-08-27,false,false,false,false
athenaAsyncQueryDataSupport,GA,@grafana/aws-datasources,2022-08-27,false,false,false,true
@@ -86,6 +86,7 @@ traceQLStreaming,experimental,@grafana/observability-traces-and-profiling,2023-0
metricsSummary,experimental,@grafana/observability-traces-and-profiling,2023-08-28,false,false,false,true
grafanaAPIServer,experimental,@grafana/grafana-app-platform-squad,2023-07-14,false,false,false,false
grafanaAPIServerWithExperimentalAPIs,experimental,@grafana/grafana-app-platform-squad,2023-10-06,false,false,false,false
grafanaAPIServerEnsureKubectlAccess,experimental,@grafana/grafana-app-platform-squad,2023-12-06,true,false,true,false
featureToggleAdminPage,experimental,@grafana/grafana-operator-experience-squad,2023-07-18,false,false,true,false
awsAsyncQueryCaching,preview,@grafana/aws-datasources,2023-07-21,false,false,false,false
splitScopes,preview,@grafana/identity-access-team,2023-07-21,false,false,true,false
1 Name Stage Owner Created requiresDevMode RequiresLicense RequiresRestart FrontendOnly
24 topnav deprecated @grafana/grafana-frontend-platform 2022-06-20 false false false false
25 dockedMegaMenu experimental @grafana/grafana-frontend-platform 2023-09-18 false false false true
26 grpcServer preview @grafana/grafana-app-platform-squad 2022-09-27 false false false false
27 entityStore unifiedStorage experimental @grafana/grafana-app-platform-squad 2022-12-01 true false false true false
28 cloudWatchCrossAccountQuerying GA @grafana/aws-datasources 2022-11-28 false false false false
29 redshiftAsyncQueryDataSupport GA @grafana/aws-datasources 2022-08-27 false false false false
30 athenaAsyncQueryDataSupport GA @grafana/aws-datasources 2022-08-27 false false false true
86 metricsSummary experimental @grafana/observability-traces-and-profiling 2023-08-28 false false false true
87 grafanaAPIServer experimental @grafana/grafana-app-platform-squad 2023-07-14 false false false false
88 grafanaAPIServerWithExperimentalAPIs experimental @grafana/grafana-app-platform-squad 2023-10-06 false false false false
89 grafanaAPIServerEnsureKubectlAccess experimental @grafana/grafana-app-platform-squad 2023-12-06 true false true false
90 featureToggleAdminPage experimental @grafana/grafana-operator-experience-squad 2023-07-18 false false true false
91 awsAsyncQueryCaching preview @grafana/aws-datasources 2023-07-21 false false false false
92 splitScopes preview @grafana/identity-access-team 2023-07-21 false false true false