attempt to store metadata

pull/95619/head
Georges Chaudy 9 months ago
parent 705bad1e77
commit e0cf0639ad
No known key found for this signature in database
GPG Key ID: 0EE887FFCA1DB6EF
  1. 84
      pkg/plugins/backendplugin/pluginextensionv2/rendererv2.pb.go
  2. 36
      pkg/plugins/backendplugin/pluginextensionv2/sanitizer.pb.go
  3. 228
      pkg/plugins/backendplugin/secretsmanagerplugin/secretsmanager.pb.go
  4. 36
      pkg/services/authz/zanzana/proto/v1/extention.pb.go
  5. 776
      pkg/storage/unified/resource/resource.pb.go
  6. 16
      pkg/storage/unified/resource/resource.proto
  7. 5
      pkg/storage/unified/resource/server.go
  8. 149
      pkg/storage/unified/resource/storage.go

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.34.2
// protoc-gen-go v1.35.1
// protoc (unknown)
// source: rendererv2.proto
@ -30,12 +30,10 @@ type StringList struct {
func (x *StringList) Reset() {
*x = StringList{}
if protoimpl.UnsafeEnabled {
mi := &file_rendererv2_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StringList) String() string {
return protoimpl.X.MessageStringOf(x)
@ -45,7 +43,7 @@ func (*StringList) ProtoMessage() {}
func (x *StringList) ProtoReflect() protoreflect.Message {
mi := &file_rendererv2_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -88,12 +86,10 @@ type RenderRequest struct {
func (x *RenderRequest) Reset() {
*x = RenderRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_rendererv2_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RenderRequest) String() string {
return protoimpl.X.MessageStringOf(x)
@ -103,7 +99,7 @@ func (*RenderRequest) ProtoMessage() {}
func (x *RenderRequest) ProtoReflect() protoreflect.Message {
mi := &file_rendererv2_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -212,12 +208,10 @@ type RenderResponse struct {
func (x *RenderResponse) Reset() {
*x = RenderResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_rendererv2_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RenderResponse) String() string {
return protoimpl.X.MessageStringOf(x)
@ -227,7 +221,7 @@ func (*RenderResponse) ProtoMessage() {}
func (x *RenderResponse) ProtoReflect() protoreflect.Message {
mi := &file_rendererv2_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -266,12 +260,10 @@ type RenderCSVRequest struct {
func (x *RenderCSVRequest) Reset() {
*x = RenderCSVRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_rendererv2_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RenderCSVRequest) String() string {
return protoimpl.X.MessageStringOf(x)
@ -281,7 +273,7 @@ func (*RenderCSVRequest) ProtoMessage() {}
func (x *RenderCSVRequest) ProtoReflect() protoreflect.Message {
mi := &file_rendererv2_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -363,12 +355,10 @@ type RenderCSVResponse struct {
func (x *RenderCSVResponse) Reset() {
*x = RenderCSVResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_rendererv2_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RenderCSVResponse) String() string {
return protoimpl.X.MessageStringOf(x)
@ -378,7 +368,7 @@ func (*RenderCSVResponse) ProtoMessage() {}
func (x *RenderCSVResponse) ProtoReflect() protoreflect.Message {
mi := &file_rendererv2_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -534,68 +524,6 @@ func file_rendererv2_proto_init() {
if File_rendererv2_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_rendererv2_proto_msgTypes[0].Exporter = func(v any, i int) any {
switch v := v.(*StringList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_rendererv2_proto_msgTypes[1].Exporter = func(v any, i int) any {
switch v := v.(*RenderRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_rendererv2_proto_msgTypes[2].Exporter = func(v any, i int) any {
switch v := v.(*RenderResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_rendererv2_proto_msgTypes[3].Exporter = func(v any, i int) any {
switch v := v.(*RenderCSVRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_rendererv2_proto_msgTypes[4].Exporter = func(v any, i int) any {
switch v := v.(*RenderCSVResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.34.2
// protoc-gen-go v1.35.1
// protoc (unknown)
// source: sanitizer.proto
@ -33,12 +33,10 @@ type SanitizeRequest struct {
func (x *SanitizeRequest) Reset() {
*x = SanitizeRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_sanitizer_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SanitizeRequest) String() string {
return protoimpl.X.MessageStringOf(x)
@ -48,7 +46,7 @@ func (*SanitizeRequest) ProtoMessage() {}
func (x *SanitizeRequest) ProtoReflect() protoreflect.Message {
mi := &file_sanitizer_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -102,12 +100,10 @@ type SanitizeResponse struct {
func (x *SanitizeResponse) Reset() {
*x = SanitizeResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_sanitizer_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SanitizeResponse) String() string {
return protoimpl.X.MessageStringOf(x)
@ -117,7 +113,7 @@ func (*SanitizeResponse) ProtoMessage() {}
func (x *SanitizeResponse) ProtoReflect() protoreflect.Message {
mi := &file_sanitizer_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -206,32 +202,6 @@ func file_sanitizer_proto_init() {
if File_sanitizer_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_sanitizer_proto_msgTypes[0].Exporter = func(v any, i int) any {
switch v := v.(*SanitizeRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sanitizer_proto_msgTypes[1].Exporter = func(v any, i int) any {
switch v := v.(*SanitizeResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.34.2
// protoc-gen-go v1.35.1
// protoc (unknown)
// source: secretsmanager.proto
@ -32,12 +32,10 @@ type Key struct {
func (x *Key) Reset() {
*x = Key{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Key) String() string {
return protoimpl.X.MessageStringOf(x)
@ -47,7 +45,7 @@ func (*Key) ProtoMessage() {}
func (x *Key) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -94,12 +92,10 @@ type Item struct {
func (x *Item) Reset() {
*x = Item{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Item) String() string {
return protoimpl.X.MessageStringOf(x)
@ -109,7 +105,7 @@ func (*Item) ProtoMessage() {}
func (x *Item) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -148,12 +144,10 @@ type GetSecretRequest struct {
func (x *GetSecretRequest) Reset() {
*x = GetSecretRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSecretRequest) String() string {
return protoimpl.X.MessageStringOf(x)
@ -163,7 +157,7 @@ func (*GetSecretRequest) ProtoMessage() {}
func (x *GetSecretRequest) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -197,12 +191,10 @@ type GetSecretResponse struct {
func (x *GetSecretResponse) Reset() {
*x = GetSecretResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSecretResponse) String() string {
return protoimpl.X.MessageStringOf(x)
@ -212,7 +204,7 @@ func (*GetSecretResponse) ProtoMessage() {}
func (x *GetSecretResponse) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -259,12 +251,10 @@ type SetSecretRequest struct {
func (x *SetSecretRequest) Reset() {
*x = SetSecretRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetSecretRequest) String() string {
return protoimpl.X.MessageStringOf(x)
@ -274,7 +264,7 @@ func (*SetSecretRequest) ProtoMessage() {}
func (x *SetSecretRequest) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -313,12 +303,10 @@ type SetSecretResponse struct {
func (x *SetSecretResponse) Reset() {
*x = SetSecretResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetSecretResponse) String() string {
return protoimpl.X.MessageStringOf(x)
@ -328,7 +316,7 @@ func (*SetSecretResponse) ProtoMessage() {}
func (x *SetSecretResponse) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -360,12 +348,10 @@ type DeleteSecretRequest struct {
func (x *DeleteSecretRequest) Reset() {
*x = DeleteSecretRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteSecretRequest) String() string {
return protoimpl.X.MessageStringOf(x)
@ -375,7 +361,7 @@ func (*DeleteSecretRequest) ProtoMessage() {}
func (x *DeleteSecretRequest) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -407,12 +393,10 @@ type DeleteSecretResponse struct {
func (x *DeleteSecretResponse) Reset() {
*x = DeleteSecretResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteSecretResponse) String() string {
return protoimpl.X.MessageStringOf(x)
@ -422,7 +406,7 @@ func (*DeleteSecretResponse) ProtoMessage() {}
func (x *DeleteSecretResponse) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -455,12 +439,10 @@ type ListSecretsRequest struct {
func (x *ListSecretsRequest) Reset() {
*x = ListSecretsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListSecretsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
@ -470,7 +452,7 @@ func (*ListSecretsRequest) ProtoMessage() {}
func (x *ListSecretsRequest) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -510,12 +492,10 @@ type ListSecretsResponse struct {
func (x *ListSecretsResponse) Reset() {
*x = ListSecretsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListSecretsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
@ -525,7 +505,7 @@ func (*ListSecretsResponse) ProtoMessage() {}
func (x *ListSecretsResponse) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -562,12 +542,10 @@ type GetAllSecretsRequest struct {
func (x *GetAllSecretsRequest) Reset() {
*x = GetAllSecretsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAllSecretsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
@ -577,7 +555,7 @@ func (*GetAllSecretsRequest) ProtoMessage() {}
func (x *GetAllSecretsRequest) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -603,12 +581,10 @@ type GetAllSecretsResponse struct {
func (x *GetAllSecretsResponse) Reset() {
*x = GetAllSecretsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAllSecretsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
@ -618,7 +594,7 @@ func (*GetAllSecretsResponse) ProtoMessage() {}
func (x *GetAllSecretsResponse) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -658,12 +634,10 @@ type RenameSecretRequest struct {
func (x *RenameSecretRequest) Reset() {
*x = RenameSecretRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RenameSecretRequest) String() string {
return protoimpl.X.MessageStringOf(x)
@ -673,7 +647,7 @@ func (*RenameSecretRequest) ProtoMessage() {}
func (x *RenameSecretRequest) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -712,12 +686,10 @@ type RenameSecretResponse struct {
func (x *RenameSecretResponse) Reset() {
*x = RenameSecretResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_secretsmanager_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RenameSecretResponse) String() string {
return protoimpl.X.MessageStringOf(x)
@ -727,7 +699,7 @@ func (*RenameSecretResponse) ProtoMessage() {}
func (x *RenameSecretResponse) ProtoReflect() protoreflect.Message {
mi := &file_secretsmanager_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -941,176 +913,6 @@ func file_secretsmanager_proto_init() {
if File_secretsmanager_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_secretsmanager_proto_msgTypes[0].Exporter = func(v any, i int) any {
switch v := v.(*Key); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[1].Exporter = func(v any, i int) any {
switch v := v.(*Item); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[2].Exporter = func(v any, i int) any {
switch v := v.(*GetSecretRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[3].Exporter = func(v any, i int) any {
switch v := v.(*GetSecretResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[4].Exporter = func(v any, i int) any {
switch v := v.(*SetSecretRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[5].Exporter = func(v any, i int) any {
switch v := v.(*SetSecretResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[6].Exporter = func(v any, i int) any {
switch v := v.(*DeleteSecretRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[7].Exporter = func(v any, i int) any {
switch v := v.(*DeleteSecretResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[8].Exporter = func(v any, i int) any {
switch v := v.(*ListSecretsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[9].Exporter = func(v any, i int) any {
switch v := v.(*ListSecretsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[10].Exporter = func(v any, i int) any {
switch v := v.(*GetAllSecretsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[11].Exporter = func(v any, i int) any {
switch v := v.(*GetAllSecretsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[12].Exporter = func(v any, i int) any {
switch v := v.(*RenameSecretRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_secretsmanager_proto_msgTypes[13].Exporter = func(v any, i int) any {
switch v := v.(*RenameSecretResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.34.2
// protoc-gen-go v1.35.1
// protoc (unknown)
// source: extention.proto
@ -34,12 +34,10 @@ type ListRequest struct {
func (x *ListRequest) Reset() {
*x = ListRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_extention_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListRequest) String() string {
return protoimpl.X.MessageStringOf(x)
@ -49,7 +47,7 @@ func (*ListRequest) ProtoMessage() {}
func (x *ListRequest) ProtoReflect() protoreflect.Message {
mi := &file_extention_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -111,12 +109,10 @@ type ListResponse struct {
func (x *ListResponse) Reset() {
*x = ListResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_extention_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListResponse) String() string {
return protoimpl.X.MessageStringOf(x)
@ -126,7 +122,7 @@ func (*ListResponse) ProtoMessage() {}
func (x *ListResponse) ProtoReflect() protoreflect.Message {
mi := &file_extention_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
@ -226,32 +222,6 @@ func file_extention_proto_init() {
if File_extention_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_extention_proto_msgTypes[0].Exporter = func(v any, i int) any {
switch v := v.(*ListRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_extention_proto_msgTypes[1].Exporter = func(v any, i int) any {
switch v := v.(*ListResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{

File diff suppressed because it is too large Load Diff

@ -508,6 +508,22 @@ message GetBlobResponse {
bytes value = 4;
}
//----------------------------
// StoredValue
//----------------------------
message StoredValue {
// Raw payload
bytes raw = 1;
// Additional metadata store alongside the payload
string namespace = 2;
string group = 3;
string resource = 4;
string name = 5;
string folder = 6;
}
// This provides the CRUD+List+Watch support needed for a k8s apiserver
// The semantics and behaviors of this service are constrained by kubernetes
// This does not understand the resource schemas, only deals with json bytes

@ -191,10 +191,11 @@ func NewResourceServer(opts ResourceServerOptions) (ResourceServer, error) {
UserID: 1,
IsGrafanaAdmin: true,
}))
return &server{
tracer: opts.Tracer,
log: logger,
backend: opts.Backend,
backend: NewVersionedStorage(opts.Backend),
index: opts.Index,
blob: blobstore,
diagnostics: opts.Diagnostics,
@ -562,6 +563,7 @@ func (s *server) Delete(ctx context.Context, req *DeleteRequest) (*DeleteRespons
APIVersion: "common.grafana.app/v0alpha1", // ?? or can we stick this in common?
}
marker.Annotations["RestoreResourceVersion"] = fmt.Sprintf("%d", event.PreviousRV)
event.Value, err = json.Marshal(marker)
if err != nil {
return nil, apierrors.NewBadRequest(
@ -663,7 +665,6 @@ func (s *server) List(ctx context.Context, req *ListRequest) (*ListResponse, err
if err := iter.Error(); err != nil {
return err
}
item := &ResourceWrapper{
ResourceVersion: iter.ResourceVersion(),
Value: iter.Value(),

@ -0,0 +1,149 @@
package resource
import (
"context"
"fmt"
"github.com/grafana/grafana/pkg/apimachinery/utils"
"google.golang.org/protobuf/proto"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
)
var _ StorageBackend = (*versionedStorage)(nil)
// versionedStorage is able to store and retrieve versioned objects.
// V0 : Raw object
// V1 : StoredValue - protobuf encoded object with additional metadata
type versionedStorage struct {
backend StorageBackend
}
func NewVersionedStorage(backend StorageBackend) StorageBackend {
return &versionedStorage{
backend: backend,
}
}
func (s *versionedStorage) WriteEvent(ctx context.Context, e WriteEvent) (int64, error) {
v, err := proto.Marshal(&StoredValue{
Raw: e.Value,
Namespace: e.Key.Namespace,
Group: e.Key.Group,
Resource: e.Key.Resource,
Name: e.Key.Name,
Folder: e.Object.GetFolder(),
})
if err != nil {
return 0, err
}
e.Value = v
return s.backend.WriteEvent(ctx, e)
}
// TODO: For new this returns the raw object, but we should return the StoredValue with Metadata
func (s *versionedStorage) ReadResource(ctx context.Context, r *ReadRequest) *ReadResponse {
rsp := s.backend.ReadResource(ctx, r)
if rsp.Error != nil {
return rsp
}
v, err := unmarshalStoredValue(rsp.Value)
if err != nil {
fmt.Println(err)
rsp.Value = nil // no partial result
rsp.Error = AsErrorResult(err)
return rsp
}
rsp.Value = v.Raw
return rsp
}
type listIter struct {
backend ListIterator
}
func (l *listIter) ContinueToken() string {
return l.backend.ContinueToken()
}
func (l *listIter) Error() error {
return l.backend.Error()
}
func (l *listIter) Name() string {
return l.backend.Name()
}
func (l *listIter) Namespace() string {
return l.backend.Namespace()
}
func (l *listIter) ResourceVersion() int64 {
return l.backend.ResourceVersion()
}
func (l *listIter) Value() []byte {
v, err := unmarshalStoredValue(l.backend.Value())
if err != nil {
// TODO: Log error
return nil
}
return v.Raw
}
func (l *listIter) Next() bool {
return l.backend.Next()
}
var _ ListIterator = (*listIter)(nil)
func (s *versionedStorage) ListIterator(ctx context.Context, r *ListRequest, cb func(ListIterator) error) (int64, error) {
return s.backend.ListIterator(ctx, r, func(iter ListIterator) error {
return cb(&listIter{backend: iter})
})
}
func (s *versionedStorage) WatchWriteEvents(ctx context.Context) (<-chan *WrittenEvent, error) {
ch, err := s.backend.WatchWriteEvents(ctx)
if err != nil {
return nil, err
}
out := make(chan *WrittenEvent)
go func() {
defer close(out)
for e := range ch {
v, err := unmarshalStoredValue(e.Value)
if err != nil {
// TODO: Log critical error
fmt.Println(err)
continue
}
e.Value = v.Raw
out <- e
}
}()
return out, nil
}
func unmarshalStoredValue(v []byte) (*StoredValue, error) {
var val StoredValue
if err := proto.Unmarshal(v, &val); err != nil {
// Probably not a protobuf value, let's try to unmarshal it as a raw object
tmp := &unstructured.Unstructured{}
if err := tmp.UnmarshalJSON(v); err != nil {
return nil, err
}
obj, err := utils.MetaAccessor(tmp)
if err != nil {
return nil, err
}
val.Group = obj.GetGroupVersionKind().Group
val.Resource = obj.GetGroupVersionKind().Kind
val.Namespace = obj.GetNamespace()
val.Name = obj.GetName()
val.Folder = obj.GetFolder()
val.Raw = v
}
return &val, nil
}
Loading…
Cancel
Save