SecretsManager: Consolidation proto/gRPC (#108857)

* list all encrypted values and count

* separate interfaces

* add time filter to global queries

* initial secrets consolidation

* Revert defaults

* consolidate grpc proto

* More verbose description of the operation

* Add consolidation tests and tracing

* Fix lint

* Revert debug log

* Move buf to top level, regenerate

* Update Makefile buf generate
This commit is contained in:
Dana Axinte
2025-07-31 16:05:24 +01:00
committed by GitHub
parent 4a0758bae5
commit 2d81d03ba5
8 changed files with 322 additions and 38 deletions
+1 -1
View File
@@ -483,7 +483,7 @@ protobuf: ## Compile protobuf definitions
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.5
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.4.0
buf generate pkg/plugins/backendplugin/pluginextensionv2 --template pkg/plugins/backendplugin/pluginextensionv2/buf.gen.yaml
buf generate apps/secret/decrypt/v1beta1 --template apps/secret/decrypt/v1beta1/buf.gen.yaml
buf generate apps/secret --template apps/secret/buf.gen.yaml
buf generate pkg/storage/unified/proto --template pkg/storage/unified/proto/buf.gen.yaml
buf generate pkg/services/authz/proto/v1 --template pkg/services/authz/proto/v1/buf.gen.yaml
buf generate pkg/services/ngalert/store/proto/v1 --template pkg/services/ngalert/store/proto/v1/buf.gen.yaml
@@ -2,11 +2,11 @@ version: v1
plugins:
- plugin: go
out: apps/secret/decrypt/v1beta1
out: apps/secret
opt:
- paths=source_relative
- plugin: go-grpc
out: apps/secret/decrypt/v1beta1
out: apps/secret
opt:
- paths=source_relative
- require_unimplemented_servers=false
@@ -0,0 +1,155 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.5
// protoc (unknown)
// source: consolidate/v1beta1/consolidate.proto
package consolidatev1beta1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type SecretsConsolidateResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` // true if successful, false if error
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // success or error message
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SecretsConsolidateResponse) Reset() {
*x = SecretsConsolidateResponse{}
mi := &file_consolidate_v1beta1_consolidate_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SecretsConsolidateResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SecretsConsolidateResponse) ProtoMessage() {}
func (x *SecretsConsolidateResponse) ProtoReflect() protoreflect.Message {
mi := &file_consolidate_v1beta1_consolidate_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SecretsConsolidateResponse.ProtoReflect.Descriptor instead.
func (*SecretsConsolidateResponse) Descriptor() ([]byte, []int) {
return file_consolidate_v1beta1_consolidate_proto_rawDescGZIP(), []int{0}
}
func (x *SecretsConsolidateResponse) GetSuccess() bool {
if x != nil {
return x.Success
}
return false
}
func (x *SecretsConsolidateResponse) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
var File_consolidate_v1beta1_consolidate_proto protoreflect.FileDescriptor
var file_consolidate_v1beta1_consolidate_proto_rawDesc = string([]byte{
0x0a, 0x25, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69,
0x64, 0x61, 0x74, 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1b, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70,
0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x1a, 0x53, 0x65, 0x63, 0x72,
0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x6c, 0x0a, 0x13, 0x53, 0x65,
0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
0x72, 0x12, 0x55, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65,
0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x4f, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68,
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x66, 0x61, 0x6e, 0x61, 0x2f, 0x67,
0x72, 0x61, 0x66, 0x61, 0x6e, 0x61, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x73, 0x65, 0x63, 0x72,
0x65, 0x74, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61,
0x74, 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
})
var (
file_consolidate_v1beta1_consolidate_proto_rawDescOnce sync.Once
file_consolidate_v1beta1_consolidate_proto_rawDescData []byte
)
func file_consolidate_v1beta1_consolidate_proto_rawDescGZIP() []byte {
file_consolidate_v1beta1_consolidate_proto_rawDescOnce.Do(func() {
file_consolidate_v1beta1_consolidate_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_consolidate_v1beta1_consolidate_proto_rawDesc), len(file_consolidate_v1beta1_consolidate_proto_rawDesc)))
})
return file_consolidate_v1beta1_consolidate_proto_rawDescData
}
var file_consolidate_v1beta1_consolidate_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_consolidate_v1beta1_consolidate_proto_goTypes = []any{
(*SecretsConsolidateResponse)(nil), // 0: consolidatev1beta1.SecretsConsolidateResponse
(*emptypb.Empty)(nil), // 1: google.protobuf.Empty
}
var file_consolidate_v1beta1_consolidate_proto_depIdxs = []int32{
1, // 0: consolidatev1beta1.SecretsConsolidator.Consolidate:input_type -> google.protobuf.Empty
0, // 1: consolidatev1beta1.SecretsConsolidator.Consolidate:output_type -> consolidatev1beta1.SecretsConsolidateResponse
1, // [1:2] is the sub-list for method output_type
0, // [0:1] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_consolidate_v1beta1_consolidate_proto_init() }
func file_consolidate_v1beta1_consolidate_proto_init() {
if File_consolidate_v1beta1_consolidate_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_consolidate_v1beta1_consolidate_proto_rawDesc), len(file_consolidate_v1beta1_consolidate_proto_rawDesc)),
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_consolidate_v1beta1_consolidate_proto_goTypes,
DependencyIndexes: file_consolidate_v1beta1_consolidate_proto_depIdxs,
MessageInfos: file_consolidate_v1beta1_consolidate_proto_msgTypes,
}.Build()
File_consolidate_v1beta1_consolidate_proto = out.File
file_consolidate_v1beta1_consolidate_proto_goTypes = nil
file_consolidate_v1beta1_consolidate_proto_depIdxs = nil
}
@@ -0,0 +1,17 @@
syntax = "proto3";
package consolidatev1beta1;
option go_package = "github.com/grafana/grafana/apps/secret/consolidate/v1beta1;consolidatev1beta1";
import "google/protobuf/empty.proto";
message SecretsConsolidateResponse {
bool success = 1; // true if successful, false if error
string message = 2; // success or error message
}
service SecretsConsolidator {
// Consolidates secrets and returns success or error message.
rpc Consolidate(google.protobuf.Empty) returns (SecretsConsolidateResponse);
}
@@ -0,0 +1,111 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.4.0
// - protoc (unknown)
// source: consolidate/v1beta1/consolidate.proto
package consolidatev1beta1
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
emptypb "google.golang.org/protobuf/types/known/emptypb"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.62.0 or later.
const _ = grpc.SupportPackageIsVersion8
const (
SecretsConsolidator_Consolidate_FullMethodName = "/consolidatev1beta1.SecretsConsolidator/Consolidate"
)
// SecretsConsolidatorClient is the client API for SecretsConsolidator service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type SecretsConsolidatorClient interface {
// Consolidates secrets and returns success or error message.
Consolidate(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*SecretsConsolidateResponse, error)
}
type secretsConsolidatorClient struct {
cc grpc.ClientConnInterface
}
func NewSecretsConsolidatorClient(cc grpc.ClientConnInterface) SecretsConsolidatorClient {
return &secretsConsolidatorClient{cc}
}
func (c *secretsConsolidatorClient) Consolidate(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*SecretsConsolidateResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(SecretsConsolidateResponse)
err := c.cc.Invoke(ctx, SecretsConsolidator_Consolidate_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// SecretsConsolidatorServer is the server API for SecretsConsolidator service.
// All implementations should embed UnimplementedSecretsConsolidatorServer
// for forward compatibility
type SecretsConsolidatorServer interface {
// Consolidates secrets and returns success or error message.
Consolidate(context.Context, *emptypb.Empty) (*SecretsConsolidateResponse, error)
}
// UnimplementedSecretsConsolidatorServer should be embedded to have forward compatible implementations.
type UnimplementedSecretsConsolidatorServer struct {
}
func (UnimplementedSecretsConsolidatorServer) Consolidate(context.Context, *emptypb.Empty) (*SecretsConsolidateResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Consolidate not implemented")
}
// UnsafeSecretsConsolidatorServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to SecretsConsolidatorServer will
// result in compilation errors.
type UnsafeSecretsConsolidatorServer interface {
mustEmbedUnimplementedSecretsConsolidatorServer()
}
func RegisterSecretsConsolidatorServer(s grpc.ServiceRegistrar, srv SecretsConsolidatorServer) {
s.RegisterService(&SecretsConsolidator_ServiceDesc, srv)
}
func _SecretsConsolidator_Consolidate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(emptypb.Empty)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SecretsConsolidatorServer).Consolidate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SecretsConsolidator_Consolidate_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SecretsConsolidatorServer).Consolidate(ctx, req.(*emptypb.Empty))
}
return interceptor(ctx, in, info, handler)
}
// SecretsConsolidator_ServiceDesc is the grpc.ServiceDesc for SecretsConsolidator service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var SecretsConsolidator_ServiceDesc = grpc.ServiceDesc{
ServiceName: "consolidatev1beta1.SecretsConsolidator",
HandlerType: (*SecretsConsolidatorServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Consolidate",
Handler: _SecretsConsolidator_Consolidate_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "consolidate/v1beta1/consolidate.proto",
}
+34 -33
View File
@@ -2,7 +2,7 @@
// versions:
// protoc-gen-go v1.36.5
// protoc (unknown)
// source: decrypt.proto
// source: decrypt/v1beta1/decrypt.proto
package decryptv1beta1
@@ -33,7 +33,7 @@ type SecureValueDecryptRequest struct {
func (x *SecureValueDecryptRequest) Reset() {
*x = SecureValueDecryptRequest{}
mi := &file_decrypt_proto_msgTypes[0]
mi := &file_decrypt_v1beta1_decrypt_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -45,7 +45,7 @@ func (x *SecureValueDecryptRequest) String() string {
func (*SecureValueDecryptRequest) ProtoMessage() {}
func (x *SecureValueDecryptRequest) ProtoReflect() protoreflect.Message {
mi := &file_decrypt_proto_msgTypes[0]
mi := &file_decrypt_v1beta1_decrypt_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -58,7 +58,7 @@ func (x *SecureValueDecryptRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SecureValueDecryptRequest.ProtoReflect.Descriptor instead.
func (*SecureValueDecryptRequest) Descriptor() ([]byte, []int) {
return file_decrypt_proto_rawDescGZIP(), []int{0}
return file_decrypt_v1beta1_decrypt_proto_rawDescGZIP(), []int{0}
}
func (x *SecureValueDecryptRequest) GetNamespace() string {
@@ -87,7 +87,7 @@ type SecureValueDecryptResponseCollection struct {
func (x *SecureValueDecryptResponseCollection) Reset() {
*x = SecureValueDecryptResponseCollection{}
mi := &file_decrypt_proto_msgTypes[1]
mi := &file_decrypt_v1beta1_decrypt_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -99,7 +99,7 @@ func (x *SecureValueDecryptResponseCollection) String() string {
func (*SecureValueDecryptResponseCollection) ProtoMessage() {}
func (x *SecureValueDecryptResponseCollection) ProtoReflect() protoreflect.Message {
mi := &file_decrypt_proto_msgTypes[1]
mi := &file_decrypt_v1beta1_decrypt_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -112,7 +112,7 @@ func (x *SecureValueDecryptResponseCollection) ProtoReflect() protoreflect.Messa
// Deprecated: Use SecureValueDecryptResponseCollection.ProtoReflect.Descriptor instead.
func (*SecureValueDecryptResponseCollection) Descriptor() ([]byte, []int) {
return file_decrypt_proto_rawDescGZIP(), []int{1}
return file_decrypt_v1beta1_decrypt_proto_rawDescGZIP(), []int{1}
}
func (x *SecureValueDecryptResponseCollection) GetDecryptedValues() map[string]*Result {
@@ -135,7 +135,7 @@ type Result struct {
func (x *Result) Reset() {
*x = Result{}
mi := &file_decrypt_proto_msgTypes[2]
mi := &file_decrypt_v1beta1_decrypt_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -147,7 +147,7 @@ func (x *Result) String() string {
func (*Result) ProtoMessage() {}
func (x *Result) ProtoReflect() protoreflect.Message {
mi := &file_decrypt_proto_msgTypes[2]
mi := &file_decrypt_v1beta1_decrypt_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -160,7 +160,7 @@ func (x *Result) ProtoReflect() protoreflect.Message {
// Deprecated: Use Result.ProtoReflect.Descriptor instead.
func (*Result) Descriptor() ([]byte, []int) {
return file_decrypt_proto_rawDescGZIP(), []int{2}
return file_decrypt_v1beta1_decrypt_proto_rawDescGZIP(), []int{2}
}
func (x *Result) GetResult() isResult_Result {
@@ -204,10 +204,11 @@ func (*Result_Value) isResult_Result() {}
func (*Result_ErrorMessage) isResult_Result() {}
var File_decrypt_proto protoreflect.FileDescriptor
var File_decrypt_v1beta1_decrypt_proto protoreflect.FileDescriptor
var file_decrypt_proto_rawDesc = string([]byte{
0x0a, 0x0d, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
var file_decrypt_v1beta1_decrypt_proto_rawDesc = string([]byte{
0x0a, 0x1d, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2f, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x0e, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x22,
0x4f, 0x0a, 0x19, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65,
0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09,
@@ -252,25 +253,25 @@ var file_decrypt_proto_rawDesc = string([]byte{
})
var (
file_decrypt_proto_rawDescOnce sync.Once
file_decrypt_proto_rawDescData []byte
file_decrypt_v1beta1_decrypt_proto_rawDescOnce sync.Once
file_decrypt_v1beta1_decrypt_proto_rawDescData []byte
)
func file_decrypt_proto_rawDescGZIP() []byte {
file_decrypt_proto_rawDescOnce.Do(func() {
file_decrypt_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_decrypt_proto_rawDesc), len(file_decrypt_proto_rawDesc)))
func file_decrypt_v1beta1_decrypt_proto_rawDescGZIP() []byte {
file_decrypt_v1beta1_decrypt_proto_rawDescOnce.Do(func() {
file_decrypt_v1beta1_decrypt_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_decrypt_v1beta1_decrypt_proto_rawDesc), len(file_decrypt_v1beta1_decrypt_proto_rawDesc)))
})
return file_decrypt_proto_rawDescData
return file_decrypt_v1beta1_decrypt_proto_rawDescData
}
var file_decrypt_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_decrypt_proto_goTypes = []any{
var file_decrypt_v1beta1_decrypt_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_decrypt_v1beta1_decrypt_proto_goTypes = []any{
(*SecureValueDecryptRequest)(nil), // 0: decryptv1beta1.SecureValueDecryptRequest
(*SecureValueDecryptResponseCollection)(nil), // 1: decryptv1beta1.SecureValueDecryptResponseCollection
(*Result)(nil), // 2: decryptv1beta1.Result
nil, // 3: decryptv1beta1.SecureValueDecryptResponseCollection.DecryptedValuesEntry
}
var file_decrypt_proto_depIdxs = []int32{
var file_decrypt_v1beta1_decrypt_proto_depIdxs = []int32{
3, // 0: decryptv1beta1.SecureValueDecryptResponseCollection.decrypted_values:type_name -> decryptv1beta1.SecureValueDecryptResponseCollection.DecryptedValuesEntry
2, // 1: decryptv1beta1.SecureValueDecryptResponseCollection.DecryptedValuesEntry.value:type_name -> decryptv1beta1.Result
0, // 2: decryptv1beta1.SecureValueDecrypter.DecryptSecureValues:input_type -> decryptv1beta1.SecureValueDecryptRequest
@@ -282,12 +283,12 @@ var file_decrypt_proto_depIdxs = []int32{
0, // [0:2] is the sub-list for field type_name
}
func init() { file_decrypt_proto_init() }
func file_decrypt_proto_init() {
if File_decrypt_proto != nil {
func init() { file_decrypt_v1beta1_decrypt_proto_init() }
func file_decrypt_v1beta1_decrypt_proto_init() {
if File_decrypt_v1beta1_decrypt_proto != nil {
return
}
file_decrypt_proto_msgTypes[2].OneofWrappers = []any{
file_decrypt_v1beta1_decrypt_proto_msgTypes[2].OneofWrappers = []any{
(*Result_Value)(nil),
(*Result_ErrorMessage)(nil),
}
@@ -295,17 +296,17 @@ func file_decrypt_proto_init() {
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_decrypt_proto_rawDesc), len(file_decrypt_proto_rawDesc)),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_decrypt_v1beta1_decrypt_proto_rawDesc), len(file_decrypt_v1beta1_decrypt_proto_rawDesc)),
NumEnums: 0,
NumMessages: 4,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_decrypt_proto_goTypes,
DependencyIndexes: file_decrypt_proto_depIdxs,
MessageInfos: file_decrypt_proto_msgTypes,
GoTypes: file_decrypt_v1beta1_decrypt_proto_goTypes,
DependencyIndexes: file_decrypt_v1beta1_decrypt_proto_depIdxs,
MessageInfos: file_decrypt_v1beta1_decrypt_proto_msgTypes,
}.Build()
File_decrypt_proto = out.File
file_decrypt_proto_goTypes = nil
file_decrypt_proto_depIdxs = nil
File_decrypt_v1beta1_decrypt_proto = out.File
file_decrypt_v1beta1_decrypt_proto_goTypes = nil
file_decrypt_v1beta1_decrypt_proto_depIdxs = nil
}
@@ -2,7 +2,7 @@
// versions:
// - protoc-gen-go-grpc v1.4.0
// - protoc (unknown)
// source: decrypt.proto
// source: decrypt/v1beta1/decrypt.proto
package decryptv1beta1
@@ -106,5 +106,5 @@ var SecureValueDecrypter_ServiceDesc = grpc.ServiceDesc{
},
},
Streams: []grpc.StreamDesc{},
Metadata: "decrypt.proto",
Metadata: "decrypt/v1beta1/decrypt.proto",
}