From 71abc1d2ae07d3b8f57113d3489dafd96a28dd4c Mon Sep 17 00:00:00 2001 From: Jye Cusch Date: Tue, 27 Feb 2024 19:16:24 +1100 Subject: [PATCH 01/24] add keys method to kv contract --- nitric/proto/keyvalue/v1/keyvalue.proto | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/nitric/proto/keyvalue/v1/keyvalue.proto b/nitric/proto/keyvalue/v1/keyvalue.proto index 1ef0e29bb..509d94a07 100644 --- a/nitric/proto/keyvalue/v1/keyvalue.proto +++ b/nitric/proto/keyvalue/v1/keyvalue.proto @@ -22,6 +22,9 @@ service KeyValue { // Delete a key and its value rpc Delete (KeyValueDeleteRequest) returns (KeyValueDeleteResponse); + + // Iterate over all keys in a store + rpc Keys (KeyValueKeysRequest) returns (stream KeyValueKeysResponse); } // Provides a Key/Value Store @@ -73,3 +76,16 @@ message KeyValueDeleteRequest { } message KeyValueDeleteResponse {} + +message KeyValueKeysRequest { + // The store to iterate over + Store store = 1; + + // The prefix to filter keys by + string prefix = 2; +} + +message KeyValueKeysResponse { + // The key of the key/value pair + string key = 1; +} From d91860593096283eb5c6724f1f91c24c05a6a7a8 Mon Sep 17 00:00:00 2001 From: Jye Cusch Date: Tue, 27 Feb 2024 19:16:46 +1100 Subject: [PATCH 02/24] generate kv client with keys method --- core/pkg/proto/keyvalue/v1/keyvalue.pb.go | 208 +++++++++++++++--- .../pkg/proto/keyvalue/v1/keyvalue_grpc.pb.go | 68 +++++- go.work.sum | 1 + 3 files changed, 247 insertions(+), 30 deletions(-) diff --git a/core/pkg/proto/keyvalue/v1/keyvalue.pb.go b/core/pkg/proto/keyvalue/v1/keyvalue.pb.go index 82021e522..1c5f0625e 100644 --- a/core/pkg/proto/keyvalue/v1/keyvalue.pb.go +++ b/core/pkg/proto/keyvalue/v1/keyvalue.pb.go @@ -463,6 +463,111 @@ func (*KeyValueDeleteResponse) Descriptor() ([]byte, []int) { return file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDescGZIP(), []int{8} } +type KeyValueKeysRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The store to iterate over + Store *Store `protobuf:"bytes,1,opt,name=store,proto3" json:"store,omitempty"` + // The prefix to filter keys by + Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` +} + +func (x *KeyValueKeysRequest) Reset() { + *x = KeyValueKeysRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KeyValueKeysRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeyValueKeysRequest) ProtoMessage() {} + +func (x *KeyValueKeysRequest) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KeyValueKeysRequest.ProtoReflect.Descriptor instead. +func (*KeyValueKeysRequest) Descriptor() ([]byte, []int) { + return file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDescGZIP(), []int{9} +} + +func (x *KeyValueKeysRequest) GetStore() *Store { + if x != nil { + return x.Store + } + return nil +} + +func (x *KeyValueKeysRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +type KeyValueKeysResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key of the key/value pair + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *KeyValueKeysResponse) Reset() { + *x = KeyValueKeysResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KeyValueKeysResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeyValueKeysResponse) ProtoMessage() {} + +func (x *KeyValueKeysResponse) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KeyValueKeysResponse.ProtoReflect.Descriptor instead. +func (*KeyValueKeysResponse) Descriptor() ([]byte, []int) { + return file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDescGZIP(), []int{10} +} + +func (x *KeyValueKeysResponse) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + var File_nitric_proto_keyvalue_v1_keyvalue_proto protoreflect.FileDescriptor var file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDesc = []byte{ @@ -509,7 +614,16 @@ var file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDesc = []byte{ 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x18, 0x0a, 0x16, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xbf, 0x02, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, + 0x13, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x22, 0x28, 0x0a, 0x14, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4b, + 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x32, 0xa8, 0x03, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x62, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2c, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, @@ -529,18 +643,25 @@ var file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDesc = []byte{ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, - 0xa3, 0x01, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x65, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x42, - 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, - 0x63, 0x68, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, - 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6b, 0x65, 0x79, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x70, 0x62, 0xaa, - 0x02, 0x18, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, - 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0xca, 0x02, 0x18, 0x4e, 0x69, 0x74, - 0x72, 0x69, 0x63, 0x5c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x67, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2d, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0xa3, 0x01, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, + 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x65, 0x79, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x63, 0x68, 0x2f, 0x6e, 0x69, 0x74, 0x72, + 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x6b, 0x65, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x4b, 0x65, + 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x18, 0x4e, 0x69, 0x74, 0x72, 0x69, + 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x2e, 0x76, 0x31, 0xca, 0x02, 0x18, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x5c, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x5c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -555,7 +676,7 @@ func file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDescGZIP() []byte { return file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDescData } -var file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_nitric_proto_keyvalue_v1_keyvalue_proto_goTypes = []interface{}{ (*Store)(nil), // 0: nitric.proto.KeyValue.v1.Store (*ValueRef)(nil), // 1: nitric.proto.KeyValue.v1.ValueRef @@ -566,27 +687,32 @@ var file_nitric_proto_keyvalue_v1_keyvalue_proto_goTypes = []interface{}{ (*KeyValueSetResponse)(nil), // 6: nitric.proto.KeyValue.v1.KeyValueSetResponse (*KeyValueDeleteRequest)(nil), // 7: nitric.proto.KeyValue.v1.KeyValueDeleteRequest (*KeyValueDeleteResponse)(nil), // 8: nitric.proto.KeyValue.v1.KeyValueDeleteResponse - (*structpb.Struct)(nil), // 9: google.protobuf.Struct + (*KeyValueKeysRequest)(nil), // 9: nitric.proto.KeyValue.v1.KeyValueKeysRequest + (*KeyValueKeysResponse)(nil), // 10: nitric.proto.KeyValue.v1.KeyValueKeysResponse + (*structpb.Struct)(nil), // 11: google.protobuf.Struct } var file_nitric_proto_keyvalue_v1_keyvalue_proto_depIdxs = []int32{ 1, // 0: nitric.proto.KeyValue.v1.Value.ref:type_name -> nitric.proto.KeyValue.v1.ValueRef - 9, // 1: nitric.proto.KeyValue.v1.Value.content:type_name -> google.protobuf.Struct + 11, // 1: nitric.proto.KeyValue.v1.Value.content:type_name -> google.protobuf.Struct 1, // 2: nitric.proto.KeyValue.v1.KeyValueGetRequest.ref:type_name -> nitric.proto.KeyValue.v1.ValueRef 2, // 3: nitric.proto.KeyValue.v1.KeyValueGetResponse.value:type_name -> nitric.proto.KeyValue.v1.Value 1, // 4: nitric.proto.KeyValue.v1.KeyValueSetRequest.ref:type_name -> nitric.proto.KeyValue.v1.ValueRef - 9, // 5: nitric.proto.KeyValue.v1.KeyValueSetRequest.content:type_name -> google.protobuf.Struct + 11, // 5: nitric.proto.KeyValue.v1.KeyValueSetRequest.content:type_name -> google.protobuf.Struct 1, // 6: nitric.proto.KeyValue.v1.KeyValueDeleteRequest.ref:type_name -> nitric.proto.KeyValue.v1.ValueRef - 3, // 7: nitric.proto.KeyValue.v1.KeyValue.Get:input_type -> nitric.proto.KeyValue.v1.KeyValueGetRequest - 5, // 8: nitric.proto.KeyValue.v1.KeyValue.Set:input_type -> nitric.proto.KeyValue.v1.KeyValueSetRequest - 7, // 9: nitric.proto.KeyValue.v1.KeyValue.Delete:input_type -> nitric.proto.KeyValue.v1.KeyValueDeleteRequest - 4, // 10: nitric.proto.KeyValue.v1.KeyValue.Get:output_type -> nitric.proto.KeyValue.v1.KeyValueGetResponse - 6, // 11: nitric.proto.KeyValue.v1.KeyValue.Set:output_type -> nitric.proto.KeyValue.v1.KeyValueSetResponse - 8, // 12: nitric.proto.KeyValue.v1.KeyValue.Delete:output_type -> nitric.proto.KeyValue.v1.KeyValueDeleteResponse - 10, // [10:13] is the sub-list for method output_type - 7, // [7:10] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 0, // 7: nitric.proto.KeyValue.v1.KeyValueKeysRequest.store:type_name -> nitric.proto.KeyValue.v1.Store + 3, // 8: nitric.proto.KeyValue.v1.KeyValue.Get:input_type -> nitric.proto.KeyValue.v1.KeyValueGetRequest + 5, // 9: nitric.proto.KeyValue.v1.KeyValue.Set:input_type -> nitric.proto.KeyValue.v1.KeyValueSetRequest + 7, // 10: nitric.proto.KeyValue.v1.KeyValue.Delete:input_type -> nitric.proto.KeyValue.v1.KeyValueDeleteRequest + 9, // 11: nitric.proto.KeyValue.v1.KeyValue.Keys:input_type -> nitric.proto.KeyValue.v1.KeyValueKeysRequest + 4, // 12: nitric.proto.KeyValue.v1.KeyValue.Get:output_type -> nitric.proto.KeyValue.v1.KeyValueGetResponse + 6, // 13: nitric.proto.KeyValue.v1.KeyValue.Set:output_type -> nitric.proto.KeyValue.v1.KeyValueSetResponse + 8, // 14: nitric.proto.KeyValue.v1.KeyValue.Delete:output_type -> nitric.proto.KeyValue.v1.KeyValueDeleteResponse + 10, // 15: nitric.proto.KeyValue.v1.KeyValue.Keys:output_type -> nitric.proto.KeyValue.v1.KeyValueKeysResponse + 12, // [12:16] is the sub-list for method output_type + 8, // [8:12] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_nitric_proto_keyvalue_v1_keyvalue_proto_init() } @@ -703,6 +829,30 @@ func file_nitric_proto_keyvalue_v1_keyvalue_proto_init() { return nil } } + file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KeyValueKeysRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KeyValueKeysResponse); 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{ @@ -710,7 +860,7 @@ func file_nitric_proto_keyvalue_v1_keyvalue_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDesc, NumEnums: 0, - NumMessages: 9, + NumMessages: 11, NumExtensions: 0, NumServices: 1, }, diff --git a/core/pkg/proto/keyvalue/v1/keyvalue_grpc.pb.go b/core/pkg/proto/keyvalue/v1/keyvalue_grpc.pb.go index 83c453a65..95550d448 100644 --- a/core/pkg/proto/keyvalue/v1/keyvalue_grpc.pb.go +++ b/core/pkg/proto/keyvalue/v1/keyvalue_grpc.pb.go @@ -28,6 +28,8 @@ type KeyValueClient interface { Set(ctx context.Context, in *KeyValueSetRequest, opts ...grpc.CallOption) (*KeyValueSetResponse, error) // Delete a key and its value Delete(ctx context.Context, in *KeyValueDeleteRequest, opts ...grpc.CallOption) (*KeyValueDeleteResponse, error) + // Iterate over all keys in a store + Keys(ctx context.Context, in *KeyValueKeysRequest, opts ...grpc.CallOption) (KeyValue_KeysClient, error) } type keyValueClient struct { @@ -65,6 +67,38 @@ func (c *keyValueClient) Delete(ctx context.Context, in *KeyValueDeleteRequest, return out, nil } +func (c *keyValueClient) Keys(ctx context.Context, in *KeyValueKeysRequest, opts ...grpc.CallOption) (KeyValue_KeysClient, error) { + stream, err := c.cc.NewStream(ctx, &KeyValue_ServiceDesc.Streams[0], "/nitric.proto.KeyValue.v1.KeyValue/Keys", opts...) + if err != nil { + return nil, err + } + x := &keyValueKeysClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type KeyValue_KeysClient interface { + Recv() (*KeyValueKeysResponse, error) + grpc.ClientStream +} + +type keyValueKeysClient struct { + grpc.ClientStream +} + +func (x *keyValueKeysClient) Recv() (*KeyValueKeysResponse, error) { + m := new(KeyValueKeysResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + // KeyValueServer is the server API for KeyValue service. // All implementations should embed UnimplementedKeyValueServer // for forward compatibility @@ -75,6 +109,8 @@ type KeyValueServer interface { Set(context.Context, *KeyValueSetRequest) (*KeyValueSetResponse, error) // Delete a key and its value Delete(context.Context, *KeyValueDeleteRequest) (*KeyValueDeleteResponse, error) + // Iterate over all keys in a store + Keys(*KeyValueKeysRequest, KeyValue_KeysServer) error } // UnimplementedKeyValueServer should be embedded to have forward compatible implementations. @@ -90,6 +126,9 @@ func (UnimplementedKeyValueServer) Set(context.Context, *KeyValueSetRequest) (*K func (UnimplementedKeyValueServer) Delete(context.Context, *KeyValueDeleteRequest) (*KeyValueDeleteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") } +func (UnimplementedKeyValueServer) Keys(*KeyValueKeysRequest, KeyValue_KeysServer) error { + return status.Errorf(codes.Unimplemented, "method Keys not implemented") +} // UnsafeKeyValueServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to KeyValueServer will @@ -156,6 +195,27 @@ func _KeyValue_Delete_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +func _KeyValue_Keys_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(KeyValueKeysRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(KeyValueServer).Keys(m, &keyValueKeysServer{stream}) +} + +type KeyValue_KeysServer interface { + Send(*KeyValueKeysResponse) error + grpc.ServerStream +} + +type keyValueKeysServer struct { + grpc.ServerStream +} + +func (x *keyValueKeysServer) Send(m *KeyValueKeysResponse) error { + return x.ServerStream.SendMsg(m) +} + // KeyValue_ServiceDesc is the grpc.ServiceDesc for KeyValue service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -176,6 +236,12 @@ var KeyValue_ServiceDesc = grpc.ServiceDesc{ Handler: _KeyValue_Delete_Handler, }, }, - Streams: []grpc.StreamDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "Keys", + Handler: _KeyValue_Keys_Handler, + ServerStreams: true, + }, + }, Metadata: "nitric/proto/keyvalue/v1/keyvalue.proto", } diff --git a/go.work.sum b/go.work.sum index a60605065..9f8d2f7ce 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1518,6 +1518,7 @@ github.com/pulumi/pulumi-azure-native/sdk v1.93.0/go.mod h1:lCTXVgZKSgw5n+CMW9iB github.com/pulumi/pulumi-azuread/sdk/v5 v5.31.0 h1:sYcGQCN1RxGOa54muZUfWcKW/uAUXLJDEyt9cx5qcb0= github.com/pulumi/pulumi-gcp/sdk/v6 v6.43.0 h1:U6M+S7e1SS86nyadOZ55LOYxo4+piuYxPLq3c3R8JqU= github.com/pulumi/pulumi-gcp/sdk/v6 v6.47.0/go.mod h1:XQSKusUJfmROSdz4sAdDOGGjgFw3jiwtLlMFnQkvDk0= +github.com/pulumi/pulumi/pkg/v3 v3.98.0/go.mod h1:aeQmrCMwvMOIz1s6qOk+vg1oCWff5hmeRrg1vYv8eRU= github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= github.com/quasilyte/go-ruleguard v0.3.15/go.mod h1:NhuWhnlVEM1gT1A4VJHYfy9MuYSxxwHgxWoPsn9llB4= github.com/quasilyte/go-ruleguard v0.3.18/go.mod h1:lOIzcYlgxrQ2sGJ735EHXmf/e9MJ516j16K/Ifcttvs= From 7eca5c042578d6d71dfe5e2e822c76c77d4a9a1d Mon Sep 17 00:00:00 2001 From: Jye Cusch Date: Tue, 27 Feb 2024 19:17:09 +1100 Subject: [PATCH 03/24] implement kv keys method for Azure storage tables --- cloud/azure/runtime/keyvalue/keyvalue.go | 71 ++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 6 deletions(-) diff --git a/cloud/azure/runtime/keyvalue/keyvalue.go b/cloud/azure/runtime/keyvalue/keyvalue.go index 521a6b530..1e4e69551 100644 --- a/cloud/azure/runtime/keyvalue/keyvalue.go +++ b/cloud/azure/runtime/keyvalue/keyvalue.go @@ -39,7 +39,8 @@ type AzureStorageTableKeyValueService struct { clientFactory AzureStorageClientFactory } -var _ keyvaluepb.KeyValueServer = &AzureStorageTableKeyValueService{} +// Ensure AzureStorageTableKeyValueService implements the KeyValueServer interface +var _ keyvaluepb.KeyValueServer = (*AzureStorageTableKeyValueService)(nil) type AztableEntity struct { aztables.Entity @@ -47,7 +48,7 @@ type AztableEntity struct { Content aztables.EDMBinary } -// Get a document from the DynamoDB table +// Get a value from the Azure Storage table func (s *AzureStorageTableKeyValueService) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequest) (*keyvaluepb.KeyValueGetResponse, error) { newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.Get") client, err := s.clientFactory(req.Ref.Store) @@ -95,7 +96,7 @@ func (s *AzureStorageTableKeyValueService) Get(ctx context.Context, req *keyvalu if err != nil { return nil, newErr( codes.Internal, - "Unable to convert value to pb struct", + "Unable to convert value to AztableEntity", err, ) } @@ -118,7 +119,7 @@ func (s *AzureStorageTableKeyValueService) Get(ctx context.Context, req *keyvalu }, nil } -// Set a document in the DynamoDB table +// Set a value in the Azure Storage table func (s *AzureStorageTableKeyValueService) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequest) (*keyvaluepb.KeyValueSetResponse, error) { newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.Set") client, err := s.clientFactory(req.Ref.Store) @@ -171,7 +172,7 @@ func (s *AzureStorageTableKeyValueService) Set(ctx context.Context, req *keyvalu if err != nil { return nil, newErr( codes.Internal, - "Unable to call aztables.UpsertEntity", + "unable to call aztables.UpsertEntity", err, ) } @@ -179,7 +180,7 @@ func (s *AzureStorageTableKeyValueService) Set(ctx context.Context, req *keyvalu return &keyvaluepb.KeyValueSetResponse{}, nil } -// Delete a document from the DynamoDB table +// Delete a key/value pair from the Azure Storage table func (s *AzureStorageTableKeyValueService) Delete(ctx context.Context, req *keyvaluepb.KeyValueDeleteRequest) (*keyvaluepb.KeyValueDeleteResponse, error) { newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.Delete") client, err := s.clientFactory(req.Ref.Store) @@ -220,6 +221,64 @@ func (s *AzureStorageTableKeyValueService) Delete(ctx context.Context, req *keyv return &keyvaluepb.KeyValueDeleteResponse{}, nil } +// Return all keys in the Azure Storage table for a key/value store +func (s *AzureStorageTableKeyValueService) Keys(req *keyvaluepb.KeyValueKeysRequest, stream keyvaluepb.KeyValue_KeysServer) error { + newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.Keys") + client, err := s.clientFactory(req.GetStore().GetName()) + if err != nil { + return newErr( + codes.Internal, + "unable to create client", + err, + ) + } + + // ge "GreaterThanOrEqual" is used for string prefix filtering (https://learn.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities#filtering-on-string-properties) + keyFilter := fmt.Sprintf("PartitionKey eq '%s' and RowKey ge '%s'", req.GetStore().GetName(), req.GetPrefix()) + + pager := client.NewListEntitiesPager( + &aztables.ListEntitiesOptions{ + Filter: &keyFilter, + }, + ) + + for pager.More() { + response, err := pager.NextPage(context.TODO()) + if err != nil { + return newErr( + codes.Internal, + "failed to call aztables.ListEntities", + err, + ) + } + + for _, entityBytes := range response.Entities { + var entity AztableEntity + err = json.Unmarshal(entityBytes, &entity) + if err != nil { + return newErr( + codes.Internal, + "Unable to convert value to AztableEntity", + err, + ) + } + + if err := stream.Send(&keyvaluepb.KeyValueKeysResponse{ + Key: entity.RowKey, + }); err != nil { + return newErr( + codes.Internal, + "failed to send response", + err, + ) + } + + } + } + + return nil +} + type AzureStorageClientFactory func(tableName string) (*aztables.Client, error) func newStorageTablesClientFactory(creds *azidentity.DefaultAzureCredential, storageAccountName string) AzureStorageClientFactory { From 8c21a958b704e9e4bac0d9a79eaf7c557f7c069f Mon Sep 17 00:00:00 2001 From: Jye Cusch Date: Tue, 27 Feb 2024 19:50:28 +1100 Subject: [PATCH 04/24] ensure store name is provided --- cloud/azure/runtime/keyvalue/keyvalue.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/cloud/azure/runtime/keyvalue/keyvalue.go b/cloud/azure/runtime/keyvalue/keyvalue.go index 1e4e69551..4e37dccc5 100644 --- a/cloud/azure/runtime/keyvalue/keyvalue.go +++ b/cloud/azure/runtime/keyvalue/keyvalue.go @@ -224,7 +224,17 @@ func (s *AzureStorageTableKeyValueService) Delete(ctx context.Context, req *keyv // Return all keys in the Azure Storage table for a key/value store func (s *AzureStorageTableKeyValueService) Keys(req *keyvaluepb.KeyValueKeysRequest, stream keyvaluepb.KeyValue_KeysServer) error { newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.Keys") - client, err := s.clientFactory(req.GetStore().GetName()) + storeName := req.GetStore().GetName() + + if storeName == "" { + return newErr( + codes.InvalidArgument, + "store name is required", + nil, + ) + } + + client, err := s.clientFactory(storeName) if err != nil { return newErr( codes.Internal, @@ -234,7 +244,7 @@ func (s *AzureStorageTableKeyValueService) Keys(req *keyvaluepb.KeyValueKeysRequ } // ge "GreaterThanOrEqual" is used for string prefix filtering (https://learn.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities#filtering-on-string-properties) - keyFilter := fmt.Sprintf("PartitionKey eq '%s' and RowKey ge '%s'", req.GetStore().GetName(), req.GetPrefix()) + keyFilter := fmt.Sprintf("PartitionKey eq '%s' and RowKey ge '%s'", storeName, req.GetPrefix()) pager := client.NewListEntitiesPager( &aztables.ListEntitiesOptions{ @@ -283,6 +293,9 @@ type AzureStorageClientFactory func(tableName string) (*aztables.Client, error) func newStorageTablesClientFactory(creds *azidentity.DefaultAzureCredential, storageAccountName string) AzureStorageClientFactory { return func(tableName string) (*aztables.Client, error) { + if tableName == "" { + return nil, fmt.Errorf("table name is required") + } serviceURL := fmt.Sprintf("https://%s.table.core.windows.net/%s", storageAccountName, tableName) return aztables.NewClient(serviceURL, creds, nil) } From 146c81b16c63dbae9d2fc727cdb18584a180233f Mon Sep 17 00:00:00 2001 From: Jye Cusch Date: Tue, 27 Feb 2024 20:07:06 +1100 Subject: [PATCH 05/24] fix(azure): return permission denied errors from kv requests --- cloud/aws/runtime/keyvalue/dynamodb.go | 2 +- cloud/azure/runtime/keyvalue/keyvalue.go | 45 ++++++++++++++++++++++-- 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/cloud/aws/runtime/keyvalue/dynamodb.go b/cloud/aws/runtime/keyvalue/dynamodb.go index 7aa306e79..7fbabddd0 100644 --- a/cloud/aws/runtime/keyvalue/dynamodb.go +++ b/cloud/aws/runtime/keyvalue/dynamodb.go @@ -98,7 +98,7 @@ func (s *DynamoKeyValueService) Get(ctx context.Context, req *keyvaluepb.KeyValu if isDynamoAccessDeniedErr(err) { return nil, newErr( codes.PermissionDenied, - "unable to get document value, this may be due to a missing permissions request in your code.", + "unable to get value, this may be due to a missing permissions request in your code.", err, ) } diff --git a/cloud/azure/runtime/keyvalue/keyvalue.go b/cloud/azure/runtime/keyvalue/keyvalue.go index 4e37dccc5..a65bf5baf 100644 --- a/cloud/azure/runtime/keyvalue/keyvalue.go +++ b/cloud/azure/runtime/keyvalue/keyvalue.go @@ -81,6 +81,13 @@ func (s *AzureStorageTableKeyValueService) Get(ctx context.Context, req *keyvalu fmt.Sprintf("key %s not found in store %s", req.Ref.Key, req.Ref.Store), err, ) + case http.StatusForbidden: + // Handle forbidden error + return nil, newErr( + codes.PermissionDenied, + "unable to get value, this may be due to a missing permissions request in your code.", + err, + ) } } @@ -161,7 +168,7 @@ func (s *AzureStorageTableKeyValueService) Set(ctx context.Context, req *keyvalu if err != nil { return nil, newErr( codes.Internal, - "Unable to struct to json", + "unable to convert struct to json", err, ) } @@ -170,8 +177,21 @@ func (s *AzureStorageTableKeyValueService) Set(ctx context.Context, req *keyvalu UpdateMode: aztables.UpdateModeReplace, }) if err != nil { + var respErr *azcore.ResponseError + if errors.As(err, &respErr) { + switch respErr.StatusCode { + case http.StatusForbidden: + // Handle forbidden error + return nil, newErr( + codes.PermissionDenied, + "unable to set value, this may be due to a missing permissions request in your code.", + err, + ) + } + } + return nil, newErr( - codes.Internal, + codes.Unknown, "unable to call aztables.UpsertEntity", err, ) @@ -208,6 +228,13 @@ func (s *AzureStorageTableKeyValueService) Delete(ctx context.Context, req *keyv case http.StatusNotFound: // not found isn't an error for delete return &keyvaluepb.KeyValueDeleteResponse{}, nil + case http.StatusForbidden: + // Handle forbidden error + return nil, newErr( + codes.PermissionDenied, + "unable to delete value, this may be due to a missing permissions request in your code.", + err, + ) } } @@ -255,8 +282,20 @@ func (s *AzureStorageTableKeyValueService) Keys(req *keyvaluepb.KeyValueKeysRequ for pager.More() { response, err := pager.NextPage(context.TODO()) if err != nil { + var respErr *azcore.ResponseError + if errors.As(err, &respErr) { + switch respErr.StatusCode { + case http.StatusForbidden: + // Handle forbidden error + return newErr( + codes.PermissionDenied, + "unable to list keys, this may be due to a missing permissions request in your code.", + err, + ) + } + } return newErr( - codes.Internal, + codes.Unknown, "failed to call aztables.ListEntities", err, ) From c39208380478140abe891124e1c4ced54321d767 Mon Sep 17 00:00:00 2001 From: Jye Cusch Date: Tue, 27 Feb 2024 20:55:44 +1100 Subject: [PATCH 06/24] bump aws packages to ensure inter-compatibility --- cloud/aws/go.mod | 61 +++++++++--------- cloud/aws/go.sum | 160 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 192 insertions(+), 29 deletions(-) diff --git a/cloud/aws/go.mod b/cloud/aws/go.mod index 8a5475fd7..27cfd24db 100644 --- a/cloud/aws/go.mod +++ b/cloud/aws/go.mod @@ -6,19 +6,19 @@ require ( github.com/avast/retry-go v3.0.0+incompatible github.com/aws/aws-lambda-go v1.34.1 github.com/aws/aws-sdk-go v1.44.298 - github.com/aws/aws-sdk-go-v2 v1.18.0 - github.com/aws/aws-sdk-go-v2/config v1.18.4 - github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.6 - github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi v1.11.10 - github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.12.20 - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.8 - github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.13.21 - github.com/aws/aws-sdk-go-v2/service/s3 v1.29.1 - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.16.4 - github.com/aws/aws-sdk-go-v2/service/sfn v1.14.3 - github.com/aws/aws-sdk-go-v2/service/sns v1.18.3 - github.com/aws/aws-sdk-go-v2/service/sqs v1.19.12 - github.com/aws/smithy-go v1.13.5 + github.com/aws/aws-sdk-go-v2 v1.25.2 + github.com/aws/aws-sdk-go-v2/config v1.27.4 + github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.13.6 + github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi v1.19.1 + github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.1 + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.30.1 + github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.1 + github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1 + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.28.1 + github.com/aws/aws-sdk-go-v2/service/sfn v1.26.1 + github.com/aws/aws-sdk-go-v2/service/sns v1.29.1 + github.com/aws/aws-sdk-go-v2/service/sqs v1.31.1 + github.com/aws/smithy-go v1.20.1 github.com/getkin/kin-openapi v0.113.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.3 @@ -76,22 +76,25 @@ require ( github.com/ashanbrown/forbidigo v1.6.0 // indirect github.com/ashanbrown/makezero v1.1.1 // indirect github.com/atotto/clipboard v0.1.4 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.9 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.13.4 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.20 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.3.27 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.16 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.13.26 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.20 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.20 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.20 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.19 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.11.26 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.9 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.17.6 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.4 // indirect + github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression v1.7.6 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.6 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.2 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.20.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.2 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.29.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.1 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bkielbasa/cyclop v1.2.1 // indirect diff --git a/cloud/aws/go.sum b/cloud/aws/go.sum index e7c6f6bc2..38888e821 100644 --- a/cloud/aws/go.sum +++ b/cloud/aws/go.sum @@ -38,19 +38,27 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/4meepo/tagalign v1.3.3 h1:ZsOxcwGD/jP4U/aw7qeWu58i7dwYemfy5Y+IF1ACoNw= +github.com/4meepo/tagalign v1.3.3/go.mod h1:Q9c1rYMZJc9dPRkbQPpcBNCLEmY2njbAsXhQOZFE2dE= github.com/Abirdcfly/dupword v0.0.13 h1:SMS17YXypwP000fA7Lr+kfyBQyW14tTT+nRv9ASwUUo= +github.com/Abirdcfly/dupword v0.0.13/go.mod h1:Ut6Ue2KgF/kCOawpW4LnExT+xZLQviJPE4klBPMK/5Y= github.com/Antonboom/errname v0.1.12 h1:oh9ak2zUtsLp5oaEd/erjB4GPu9w19NyoIskZClDcQY= +github.com/Antonboom/errname v0.1.12/go.mod h1:bK7todrzvlaZoQagP1orKzWXv59X/x0W0Io2XT1Ssro= github.com/Antonboom/nilnil v0.1.7 h1:ofgL+BA7vlA1K2wNQOsHzLJ2Pw5B5DpWRLdDAVvvTow= +github.com/Antonboom/nilnil v0.1.7/go.mod h1:TP+ScQWVEq0eSIxqU8CbdT5DFWoHp0MbP+KMUO1BKYQ= github.com/Antonboom/testifylint v1.1.1 h1:xCxYDNOBLImTKjBKPGtx1cHkTSywDAn76mYHTwH5lG8= +github.com/Antonboom/testifylint v1.1.1/go.mod h1:9PFi+vWa8zzl4/B/kqmFJcw85ZUv8ReyBzuQCd30+WI= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= +github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Djarvur/go-err113 v0.1.0 h1:uCRZZOdMQ0TZPHYTdYpoC0bLYJKPEHPUJ8MeAa51lNU= github.com/Djarvur/go-err113 v0.1.0/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 h1:sATXp1x6/axKxz2Gjxv8MALP0bXaNRfQinEwyfMcx8c= +github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0/go.mod h1:Nl76DrGNJTA1KJ0LePKBw/vznBX1EHbAZX8mwjR82nI= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= @@ -59,13 +67,16 @@ github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migc github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenPeeDeeP/depguard/v2 v2.2.0 h1:vDfG60vDtIuf0MEOhmLlLLSzqaRM8EMcgJPdp74zmpA= +github.com/OpenPeeDeeP/depguard/v2 v2.2.0/go.mod h1:CIzddKRvLBC4Au5aYP/i3nyaWQ+ClszLIuVocRiCYFQ= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= +github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/alecthomas/assert/v2 v2.2.2 h1:Z/iVC0xZfWTaFNE6bA3z07T86hd45Xe2eLt6WVy2bbk= github.com/alecthomas/go-check-sumtype v0.1.4 h1:WCvlB3l5Vq5dZQTFmodqL2g68uHiSwwlWcT5a2FGK0c= +github.com/alecthomas/go-check-sumtype v0.1.4/go.mod h1:WyYPfhfkdhyrdaligV6svFopZV8Lqdzn5pyVBaV6jhQ= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -73,6 +84,7 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alexkohler/nakedret/v2 v2.0.2 h1:qnXuZNvv3/AxkAb22q/sEsEpcA99YxLFACDtEw9TPxE= +github.com/alexkohler/nakedret/v2 v2.0.2/go.mod h1:2b8Gkk0GsOrqQv/gPWjNLDSKwG8I5moSXG1K4VIBcTQ= github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= @@ -83,86 +95,154 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= +github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8gerOIVIY= +github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU= github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s= github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= +github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/avast/retry-go v3.0.0+incompatible h1:4SOWQ7Qs+oroOTQOYnAHqelpCO0biHSxpiH9JdtuBj0= github.com/avast/retry-go v3.0.0+incompatible/go.mod h1:XtSnn+n/sHqQIpZ10K1qAevBhOOCWBLXXy3hyiqqBrY= github.com/aws/aws-lambda-go v1.34.1 h1:M3a/uFYBjii+tDcOJ0wL/WyFi2550FHoECdPf27zvOs= github.com/aws/aws-lambda-go v1.34.1/go.mod h1:jwFe2KmMsHmffA1X2R09hH6lFzJQxzI8qK17ewzbQMM= github.com/aws/aws-sdk-go v1.44.298 h1:5qTxdubgV7PptZJmp/2qDwD2JL187ePL7VOxsSh1i3g= +github.com/aws/aws-sdk-go v1.44.298/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v1.17.1/go.mod h1:JLnGeGONAyi2lWXI1p0PCIOIy333JMVK1U7Hf0aRFLw= github.com/aws/aws-sdk-go-v2 v1.17.2/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.18.0 h1:882kkTpSFhdgYRKVZ/VCgf7sd0ru57p2JCxz4/oN5RY= github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= +github.com/aws/aws-sdk-go-v2 v1.25.2 h1:/uiG1avJRgLGiQM9X3qJM8+Qa6KRGK5rRPuXE0HUM+w= +github.com/aws/aws-sdk-go-v2 v1.25.2/go.mod h1:Evoc5AsmtveRt1komDwIsjHFyrP5tDuF1D1U+6z6pNo= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.9 h1:RKci2D7tMwpvGpDNZnGQw9wk6v7o/xSwFcUAuNPoB8k= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.9/go.mod h1:vCmV1q1VK8eoQJ5+aYE7PkK1K6v41qJ5pJdK3ggCDvg= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 h1:gTK2uhtAPtFcdRRJilZPx8uJLL2J85xK11nKtWL0wfU= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1/go.mod h1:sxpLb+nZk7tIfCWChfd+h4QwHNUR57d8hA1cleTkjJo= github.com/aws/aws-sdk-go-v2/config v1.18.4 h1:VZKhr3uAADXHStS/Gf9xSYVmmaluTUfkc0dcbPiDsKE= github.com/aws/aws-sdk-go-v2/config v1.18.4/go.mod h1:EZxMPLSdGAZ3eAmkqXfYbRppZJTzFTkv8VyEzJhKko4= +github.com/aws/aws-sdk-go-v2/config v1.27.4 h1:AhfWb5ZwimdsYTgP7Od8E9L1u4sKmDW2ZVeLcf2O42M= +github.com/aws/aws-sdk-go-v2/config v1.27.4/go.mod h1:zq2FFXK3A416kiukwpsd+rD4ny6JC7QSkp4QdN1Mp2g= github.com/aws/aws-sdk-go-v2/credentials v1.13.4 h1:nEbHIyJy7mCvQ/kzGG7VWHSBpRB4H6sJy3bWierWUtg= github.com/aws/aws-sdk-go-v2/credentials v1.13.4/go.mod h1:/Cj5w9LRsNTLSwexsohwDME32OzJ6U81Zs33zr2ZWOM= +github.com/aws/aws-sdk-go-v2/credentials v1.17.4 h1:h5Vztbd8qLppiPwX+y0Q6WiwMZgpd9keKe2EAENgAuI= +github.com/aws/aws-sdk-go-v2/credentials v1.17.4/go.mod h1:+30tpwrkOgvkJL1rUZuRLoxcJwtI/OkeBLYnHxJtVe0= github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.6 h1:TAs693KgM5digUjCmCmNC9RhpPLxwczfjrCq7mjR7KY= github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.6/go.mod h1:4jroHJSgwid88qqpZyJFpxTyNe6qlItCUND1cXfN50g= +github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.13.6 h1:fKkSKZFqQWCE59mDdboIoG2hWzY1pEHPnSkD6qwq7IE= +github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.13.6/go.mod h1:+/MkJPCE/m0lNlYKVyKG79YFM2IF/n2gM43llt34xXQ= +github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression v1.7.6 h1:pdQFFfM/L8P3VG3KcpuqhRIitI2Ua+vH6iidYqsbLeo= +github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression v1.7.6/go.mod h1:M4qwQnA4Bajt0AGOx47oHHD83jqIN5MZtsNELZsS4FE= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.20 h1:tpNOglTZ8kg9T38NpcGBxudqfUAwUzyUnLQ4XSd0CHE= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.20/go.mod h1:d9xFpWd3qYwdIXM0fvu7deD08vvdRXyc/ueV+0SqaWE= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2 h1:AK0J8iYBFeUk2Ax7O8YpLtFsfhdOByh2QIkHmigpRYk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2/go.mod h1:iRlGzMix0SExQEviAyptRWRGdYNo3+ufW/lCzvKVTUc= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.6 h1:prcsGA3onmpc7ea1W/m+SMj4uOn5vZ63uJp805UhJJs= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.6/go.mod h1:7eQrvATnVFDY0WfMYhfKkSQ1YtZlClT71fAAlsA1s34= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25/go.mod h1:Zb29PYkf42vVYQY6pvSyJCJcFHlPIiY+YKdPtwnvMkY= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.26/go.mod h1:2E0LdbJW6lbeU4uxjum99GZzI0ZjDpAb0CoSCM0oeEY= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33 h1:kG5eQilShqmJbv11XL1VpyDbaEJzWxd4zRiCG30GSn4= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33/go.mod h1:7i0PF1ME/2eUPFcjkVIwq+DOygHEoK92t5cDqNgYbIw= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2 h1:bNo4LagzUKbjdxE0tIcR9pMzLR2U/Tgie1Hq1HQ3iH8= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2/go.mod h1:wRQv0nN6v9wDXuWThpovGQjqF1HFdcgWjporw14lS8k= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.20/go.mod h1:/+6lSiby8TBFpTVXZgKiN/rCfkYXEGvhlM4zCgPpt7w= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27 h1:vFQlirhuM8lLlpI7imKOMsjdQLuN9CPi+k44F/OFVsk= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27/go.mod h1:UrHnn3QV/d0pBZ6QBAEQcqFLf8FAzLmoUfPVIueOvoM= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2 h1:EtOU5jsPdIQNP+6Q2C5e3d65NKT1PeCiQk+9OdzO12Q= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2/go.mod h1:tyF5sKccmDz0Bv4NrstEr+/9YkSPJHrcO7UsUKf7pWM= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.27 h1:N2eKFw2S+JWRCtTt0IhIX7uoGGQciD4p6ba+SJv4WEU= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.27/go.mod h1:RdwFVc7PBYWY33fa2+8T1mSqQ7ZEK4ILpM0wfioDC3w= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.16 h1:2EXB7dtGwRYIN3XQ9qwIW504DVbKIw3r89xQnonGdsQ= github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.16/go.mod h1:XH+3h395e3WVdd6T2Z3mPxuI+x/HVtdqVOREkTiyubs= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.2 h1:en92G0Z7xlksoOylkUhuBSfJgijC7rHVLRdnIlHEs0E= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.2/go.mod h1:HgtQ/wN5G+8QSlK62lbOtNwQ3wTSByJ4wH2rCkPt+AE= github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi v1.11.10 h1:os9Aix72xeiZ9+wQ2LZJSoHOzGUqKYLLS9S7Y4BaRmI= github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi v1.11.10/go.mod h1:rFWa3WA43LkZ9pAJkGuO90kU+N0Ru2dCJwjRfZ8kKZ8= +github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi v1.19.1 h1:jODy8OJ4lqKq9XhYXsOAELK/gxoPDAuz9q6FwzyHWXg= +github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi v1.19.1/go.mod h1:SjZZaoKE6WxAvzOEW74jcPbTBuunp5al6jSKg95AOmc= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.12.20 h1:7N4o3yLag3c3c22POkmCAfrr/OQG5807a9NRh9lUUKw= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.12.20/go.mod h1:BEIWaGqO27qq9JeFeY746S4+SFmBajpV+yhGne2qbMo= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.1 h1:nOJwQpU2wDe2qtw+vwkywJ44UhK66P6+1UIRotE7Jmo= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.1/go.mod h1:A95FM8hxO6umoiROudoYtTmZYl7KN9nbez8deLDOCnA= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.7/go.mod h1:BiglbKCG56L8tmMnUEyEQo422BO9xnNR8vVHnOsByf8= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.8 h1:VgdGaSIoH4JhUZIspT8UgK0aBF85TiLve7VHEx3NfqE= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.8/go.mod h1:jvXzk+hVrlkiQOvnq6jH+F6qBK0CEceXkEWugT+4Kdc= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.30.1 h1:haLXE5R07oaq/UnvSyE43V4jp9gA2XRMYcxkFYHEpdU= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.30.1/go.mod h1:mM51J0CILKQjqIawPDM4g6E1nyxdlvk/qaCDyJkx0II= github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.13.26 h1:ToM7rTr08bzBTGWIL5cEpo74ZlzuRF9TpnWuXYDPc5E= github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.13.26/go.mod h1:5lIdkQbMmEblCTEAyFAsLduBtMPD9Bqt9fwPjBK1KWU= +github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.20.1 h1:kZR1TZ0VYcRK2LFiFt61EReplssCq9SZO4gVSYV1Aww= +github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.20.1/go.mod h1:ifHRXsCyLVIdvDaAScQnM7jtsXtoBZFmyZiLMex8FTA= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.10/go.mod h1:9cBNUHI2aW4ho0A5T87O294iPDuuUOSIEDjnd1Lq/z0= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 h1:y2+VQzC6Zh2ojtV2LoC0MNwHWc6qXv/j2vrQtlftkdA= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 h1:EyBZibRTVAs6ECHZOw5/wlylS9OcTzwyjeQMudmREjE= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1/go.mod h1:JKpmtYhhPs7D97NL/ltqz7yCkERFW5dOlHyVl66ZYF8= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.20 h1:KSvtm1+fPXE0swe9GPjc6msyrdTT0LB/BP8eLugL1FI= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.20/go.mod h1:Mp4XI/CkWGD79AQxZ5lIFlgvC0A+gl+4BmyG1F+SfNc= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.2 h1:zSdTXYLwuXDNPUS+V41i1SFDXG7V0ITp0D9UT9Cvl18= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.2/go.mod h1:v8m8k+qVy95nYi7d56uP1QImleIIY25BPiNJYzPBdFE= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.19/go.mod h1:2WpVWFC5n4DYhjNXzObtge8xfgId9UP6GWca46KJFLo= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.20 h1:kSZR22oLBDMtP8ZPGXhz649NU77xsJDG7g3xfT6nHVk= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.20/go.mod h1:lxM5qubwGNX29Qy+xTFG8G0r2Mj/TmyC+h3hS/7E4V8= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.2 h1:3tS2g6P3N+Wz64e9aNx7X4BCWN/gT9MUvIuv5l2eoho= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.2/go.mod h1:1Pf5vPqk8t9pdYB3dmUMRE/0m8u0IHHg8ESSiutJd0I= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19/go.mod h1:02CP6iuYP+IVnBX5HULVdSAku/85eHB2Y9EsFhrkEwU= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.20 h1:jlgyHbkZQAgAc7VIxJDmtouH8eNjOk2REVAQfVhdaiQ= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.20/go.mod h1:Xs52xaLBqDEKRcAfX/hgjmD3YQ7c/W+BEyfamlO/W2E= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2 h1:5ffmXjPtwRExp1zc7gENLgCPyHFbhEPwVTkTiH9niSk= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2/go.mod h1:Ru7vg1iQ7cR4i7SZ/JTLYN9kaXtbL69UdgG0OQWQxW0= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.19 h1:piDBAaWkaxkkVV3xJJbTehXCZRXYs49kvpi/LG6LR2o= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.19/go.mod h1:BmQWRVkLTmyNzYPFAZgon53qKLWBNSvonugD1MrSWUs= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.2 h1:1oY1AVEisRI4HNuFoLdRUB0hC63ylDAN6Me3MrfclEg= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.2/go.mod h1:KZ03VgvZwSjkT7fOetQ/wF3MZUvYFirlI1H5NklUNsY= +github.com/aws/aws-sdk-go-v2/service/kms v1.29.1 h1:OdjJjUWFlMZLAMl54ASxIpZdGEesY4BH3/c0HAPSFdI= +github.com/aws/aws-sdk-go-v2/service/kms v1.29.1/go.mod h1:Cbx2uxEX0bAB7SlSY+ys05ZBkEb8IbmuAOcGVmDfJFs= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.13.21 h1:m7rx+wKkJZJWhoxINdYeKvwVfhhk7gGN2smj2aVUuDU= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.13.21/go.mod h1:/WfhDm5Hmfy/3TSM/1m9ojM0IQsBuVGvd3vITQc86i0= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.1 h1:ADhzQ6eCjR2jkcrxKcjZl0lumL3QIiWSu94ZcxEYOHU= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.1/go.mod h1:EYr+WnZlEA4LQXZdz76eBP1sOmXedhzE/KJ+QXellgA= github.com/aws/aws-sdk-go-v2/service/s3 v1.29.1 h1:/EMdFPW/Ppieh0WUtQf1+qCGNLdsq5UWUyevBQ6vMVc= github.com/aws/aws-sdk-go-v2/service/s3 v1.29.1/go.mod h1:/NHbqPRiwxSPVOB2Xr+StDEH+GWV/64WwnUjv4KYzV0= +github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1 h1:juZ+uGargZOrQGNxkVHr9HHR/0N+Yu8uekQnV7EAVRs= +github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1/go.mod h1:SoR0c7Jnq8Tpmt0KSLXIavhjmaagRqQpe9r70W3POJg= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.16.4 h1:Hx79EGrkKNJya2iz2U5A7nyr7DjOu/TGTRefThfBZ1w= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.16.4/go.mod h1:k6CPuxyzO247nYEM1baEwHH1kRtosRCvgahAepaaShw= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.28.1 h1:DtKw4TxZT3VrzYupXQJPBqT9ImyobZZE+JIQPPAVxqs= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.28.1/go.mod h1:bit9G2ORpSjUTr4PA4usvbBfbOyvMj0LbE1dXF14Sug= github.com/aws/aws-sdk-go-v2/service/sfn v1.14.3 h1:ofJJWKMioNWqEjKCPtjd7thA+cofOPuqXZcZFJI+v5M= github.com/aws/aws-sdk-go-v2/service/sfn v1.14.3/go.mod h1:NVWpCnviEDkJiYQZOwVEGA3RlGO7QZmt8+Z6dKXeC7k= +github.com/aws/aws-sdk-go-v2/service/sfn v1.26.1 h1:+k/sCGuf8/tnh1zQmhniOmVDIbAuoIsbIuaaEIWEGNU= +github.com/aws/aws-sdk-go-v2/service/sfn v1.26.1/go.mod h1:+DE86OeTYFJBv7qDs9/Mm4zvM3up1Ml4t5o4hbGsrRE= github.com/aws/aws-sdk-go-v2/service/sns v1.18.3 h1:cEFSVrEnbjco0dkcejv7wand04RFaexRdEwbNd1zxCo= github.com/aws/aws-sdk-go-v2/service/sns v1.18.3/go.mod h1:2cPUjR63iE9MPMPJtSyzYmsTFCNrN/Xi9j0v9BL5OU0= +github.com/aws/aws-sdk-go-v2/service/sns v1.29.1 h1:K2FiR/547lI9vGuDL0Ghin4QPSEvOKxbHY9aXFq8wfU= +github.com/aws/aws-sdk-go-v2/service/sns v1.29.1/go.mod h1:PBmfgVv83oBgZVFhs/+oWsL6r0hLyB6qHRFEWwHyHn4= github.com/aws/aws-sdk-go-v2/service/sqs v1.19.12 h1:uiG0JUqcL9w3IUu+tLG/BWJSUUhTgzkMVGThM2wDES4= github.com/aws/aws-sdk-go-v2/service/sqs v1.19.12/go.mod h1:DKX/7/ZiAzHO6p6AhArnGdrV4r+d461weby8KeVtvC4= +github.com/aws/aws-sdk-go-v2/service/sqs v1.31.1 h1:124rVNP6NbCfBZwiX1kfjMQrnsJtnpKeB0GalkuqSXo= +github.com/aws/aws-sdk-go-v2/service/sqs v1.31.1/go.mod h1:YijRvM1SAmuiIQ9pjfwahIEE3HMHUkx9P5oplL/Jnj4= github.com/aws/aws-sdk-go-v2/service/sso v1.11.26 h1:ActQgdTNQej/RuUJjB9uxYVLDOvRGtUreXF8L3c8wyg= github.com/aws/aws-sdk-go-v2/service/sso v1.11.26/go.mod h1:uB9tV79ULEZUXc6Ob18A46KSQ0JDlrplPni9XW6Ot60= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.1 h1:utEGkfdQ4L6YW/ietH7111ZYglLJvS+sLriHJ1NBJEQ= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.1/go.mod h1:RsYqzYr2F2oPDdpy+PdhephuZxTfjHQe7SOBcZGoAU8= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.9 h1:wihKuqYUlA2T/Rx+yu2s6NDAns8B9DgnRooB1PVhY+Q= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.9/go.mod h1:2E/3D/mB8/r2J7nK42daoKP/ooCwbf0q1PznNc+DZTU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1 h1:9/GylMS45hGGFCcMrUZDVayQE1jYSIN6da9jo7RAYIw= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1/go.mod h1:YjAPFn4kGFqKC54VsHs5fn5B6d+PCY2tziEa3U/GB5Y= github.com/aws/aws-sdk-go-v2/service/sts v1.17.6 h1:VQFOLQVL3BrKM/NLO/7FiS4vcp5bqK0mGMyk09xLoAY= github.com/aws/aws-sdk-go-v2/service/sts v1.17.6/go.mod h1:Az3OXXYGyfNwQNsK/31L4R75qFYnO641RZGAoV3uH1c= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.1 h1:3I2cBEYgKhrWlwyZgfpSO2BpaMY1LHPqXYk/QGlu2ew= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.1/go.mod h1:uQ7YYKZt3adCRrdCBREm1CD3efFLOUNH77MrUCvx5oA= github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.20.1 h1:4SZlSlMr36UEqC7XOyRVb27XMeZubNcBNN+9IgEPIQw= +github.com/aws/smithy-go v1.20.1/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= @@ -171,6 +251,7 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bkielbasa/cyclop v1.2.1 h1:AeF71HZDob1P2/pRm1so9cd1alZnrpyc4q2uP2l0gJY= +github.com/bkielbasa/cyclop v1.2.1/go.mod h1:K/dT/M0FPAiYjBgQGau7tz+3TMh4FWAEqlMhzFWCrgM= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M= @@ -178,13 +259,20 @@ github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkAp github.com/bmatcuk/doublestar/v4 v4.0.2 h1:X0krlUVAVmtr2cRoTqR8aDMrDqnB36ht8wpWTiQ3jsA= github.com/bmatcuk/doublestar/v4 v4.0.2/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/bombsimon/wsl/v4 v4.2.0 h1:dKK3o/Hk2aIt6t72CWg02ham2P5lnH9MBSW6cTU9xxU= +github.com/bombsimon/wsl/v4 v4.2.0/go.mod h1:1zaTbf/7ywOQtMdoUdTF2X1fbbBLiBUkajyuFAanT28= github.com/breml/bidichk v0.2.7 h1:dAkKQPLl/Qrk7hnP6P+E0xOodrq8Us7+U0o4UBOAlQY= +github.com/breml/bidichk v0.2.7/go.mod h1:YodjipAGI9fGcYM7II6wFvGhdMYsC5pHDlGzqvEW3tQ= github.com/breml/errchkjson v0.3.6 h1:VLhVkqSBH96AvXEyclMR37rZslRrY2kcyq+31HCsVrA= +github.com/breml/errchkjson v0.3.6/go.mod h1:jhSDoFheAF2RSDOlCfhHO9KqhZgAYLyvHe7bRCX8f/U= github.com/butuzov/ireturn v0.3.0 h1:hTjMqWw3y5JC3kpnC5vXmFJAWI/m31jaCYQqzkS6PL0= +github.com/butuzov/ireturn v0.3.0/go.mod h1:A09nIiwiqzN/IoVo9ogpa0Hzi9fex1kd9PSD6edP5ZA= github.com/butuzov/mirror v1.1.0 h1:ZqX54gBVMXu78QLoiqdwpl2mgmoOJTk7s4p4o+0avZI= +github.com/butuzov/mirror v1.1.0/go.mod h1:8Q0BdQU6rC6WILDiBM60DBfvV78OLJmMmixe7GF45AE= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/catenacyber/perfsprint v0.6.0 h1:VSv95RRkk5+BxrU/YTPcnxuMEWar1iMK5Vyh3fWcBfs= +github.com/catenacyber/perfsprint v0.6.0/go.mod h1:/wclWYompEyjUD2FuIIDVKNkqz7IgBIWXIH3V0Zol50= github.com/ccojocar/zxcvbn-go v1.0.1 h1:+sxrANSCj6CdadkcMnvde/GWU1vZiiXRbqYSCalV4/4= +github.com/ccojocar/zxcvbn-go v1.0.1/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60= github.com/cenkalti/backoff/v4 v4.2.0 h1:HN5dHm3WBOgndBH6E8V0q2jIYIR3s9yglV8k/+MN3u4= github.com/cenkalti/backoff/v4 v4.2.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -196,10 +284,13 @@ github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/charithe/durationcheck v0.0.10 h1:wgw73BiocdBDQPik+zcEoBG/ob8uyBHf2iyoHGPf5w4= github.com/charithe/durationcheck v0.0.10/go.mod h1:bCWXb7gYRysD1CU3C+u4ceO49LoGOY1C1L6uouGNreQ= github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY= +github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc= github.com/charmbracelet/bubbletea v0.24.2 h1:uaQIKx9Ai6Gdh5zpTbGiWpytMU+CfsPp06RaW2cx/SY= github.com/charmbracelet/bubbletea v0.24.2/go.mod h1:XdrNrV4J8GiyshTtx3DNuYkR1FDaJmO3l2nejekbsgg= github.com/charmbracelet/lipgloss v0.8.0 h1:IS00fk4XAHcf8uZKc3eHeMUTCxUH6NkaTrdyCQk84RU= +github.com/charmbracelet/lipgloss v0.8.0/go.mod h1:p4eYUZZJ/0oXTuCQKFF8mqyKCz0ja6y+7DniDDw5KKU= github.com/chavacava/garif v0.1.0 h1:2JHa3hbYf5D9dsgseMKAmc/MZ109otzgNFk5s87H9Pc= +github.com/chavacava/garif v0.1.0/go.mod h1:XMyYCkEL58DF0oyW4qDjjnPWONs2HBqYKI+UIPD+Gww= github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= @@ -225,7 +316,9 @@ github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= +github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/daixiang0/gci v0.12.1 h1:ugsG+KRYny1VK4oqrX4Vtj70bo4akYKa0tgT1DXMYiY= +github.com/daixiang0/gci v0.12.1/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiEfiNNAI= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -252,13 +345,16 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= +github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q= +github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A= github.com/fasthttp/router v1.4.18 h1:elMnlFq527oZd8MHsuUpO6uLDup1exv8rXPfIjClDHk= github.com/fasthttp/router v1.4.18/go.mod h1:ZmC20Mn0VgCBbUWFDmnYzFbQYRfdGeKgpkBy0+JioKA= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= @@ -274,9 +370,11 @@ github.com/getkin/kin-openapi v0.113.0 h1:t9aNS/q5Agr7a55Jp1AuZ3sR2WzHESv3Dd2ys4 github.com/getkin/kin-openapi v0.113.0/go.mod h1:l5e9PaFUo9fyLJCPGQeXI2ML8c3P8BHOEV2VaAVf/pc= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghostiam/protogetter v0.3.4 h1:5SZ+lZSNmNkSbGVSF9hUHhv/b7ELF9Rwchoq7btYo6c= +github.com/ghostiam/protogetter v0.3.4/go.mod h1:A0JgIhs0fgVnotGinjQiKaFVG3waItLJNwPmcMzDnvk= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-critic/go-critic v0.11.0 h1:mARtIFX7jPtJ3SzxO9Isa5T2jd2dZxFmQHK3yNf0wrE= +github.com/go-critic/go-critic v0.11.0/go.mod h1:Cz6lr1PlkIu/0Y0U9KqJgcIJJECAF8mEwmzVjKnhbfI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= @@ -329,6 +427,7 @@ github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJ github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus= github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig= github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1 h1:TQcrn6Wq+sKGkpyPvppOz99zsMBaUOKXq6HSv655U1c= +github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U= github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= @@ -342,10 +441,12 @@ github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= +github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= @@ -380,13 +481,17 @@ github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9 github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6J5HIP8ZtyMdiDscjMLfRBSPuzVVeo= github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e h1:ULcKCDV1LOZPFxGZaA6TlQbiM3J2GCPnkx/bGF6sX/g= +github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e/go.mod h1:Pm5KhLPA8gSnQwrQ6ukebRcapGb/BG9iUkdaiCcGHJM= github.com/golangci/golangci-lint v1.56.1 h1:vR6rJpjE1w6pRp2EkVeCAbISyUIl6c7OO/hrEtGK1yo= +github.com/golangci/golangci-lint v1.56.1/go.mod h1:sOHqnOxdEZ0u9JYrDuofOaIyO0jRgT8Y6nWfzuoSv0Y= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= github.com/golangci/misspell v0.4.1 h1:+y73iSicVy2PqyX7kmUefHusENlrP9YwuHZHPLGQj/g= +github.com/golangci/misspell v0.4.1/go.mod h1:9mAN1quEo3DlpbaIKKyEvRxK1pwqR9s/Sea1bJCtlNI= github.com/golangci/revgrep v0.5.2 h1:EndcWoRhcnfj2NHQ+28hyuXpLMF+dQmCN+YaeeIl4FU= +github.com/golangci/revgrep v0.5.2/go.mod h1:bjAMA+Sh/QUfTDcHzxfyHxr4xKvllVr/0sCv2e7jJHA= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/google/addlicense v1.1.1 h1:jpVf9qPbU8rz5MxKo7d+RMcNHkqxi4YJi/laauX4aAE= @@ -423,9 +528,11 @@ github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= +github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gordonklaus/ineffassign v0.1.0 h1:y2Gd/9I7MdY1oEIt+n+rowjBNDcLQq3RsH5hwJd0f9s= +github.com/gordonklaus/ineffassign v0.1.0/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk= github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc= @@ -457,6 +564,7 @@ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY= +github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -470,11 +578,13 @@ github.com/invopop/yaml v0.1.0/go.mod h1:2XuRLgs/ouIrW3XNzuNj7J3Nvu/Dig5MXvbCEdi github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jgautheron/goconst v1.7.0 h1:cEqH+YBKLsECnRSd4F4TK5ri8t/aXtt/qoL0Ft252B0= +github.com/jgautheron/goconst v1.7.0/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jjti/go-spancheck v0.5.2 h1:WXTZG3efY/ji1Vi8mkH+23O3bLeKR6hp3tI3YB7XwKk= +github.com/jjti/go-spancheck v0.5.2/go.mod h1:ARPNI1JRG1V2Rjnd6/2f2NEfghjSVDZGVmruNKlnXU0= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= @@ -497,6 +607,7 @@ github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/errcheck v1.7.0 h1:+SbscKmWJ5mOK/bO1zS60F5I9WwZDWOfRsC4RwfwRV0= +github.com/kisielk/errcheck v1.7.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkHAIKE/contextcheck v1.1.4 h1:B6zAaLhOEEcjvUgIYEqystmnFk1Oemn8bvJhbt0GMb8= @@ -515,11 +626,13 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs= github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= github.com/kunwardeep/paralleltest v1.0.9 h1:3Sr2IfFNcsMmlqPk1cjTUbJ4zofKPGyHxenwPebgTug= +github.com/kunwardeep/paralleltest v1.0.9/go.mod h1:2C7s65hONVqY7Q5Efj5aLzRCNLjw2h4eMc9EcypGjcY= github.com/kyoh86/exportloopref v0.1.11 h1:1Z0bcmTypkL3Q4k+IDHMWTcnCliEZcaPiIe0/ymEyhQ= github.com/kyoh86/exportloopref v0.1.11/go.mod h1:qkV4UF1zGl6EkF1ox8L5t9SwyeBAZ3qLMd6up458uqA= github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUcJwlhA= github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= github.com/ldez/tagliatelle v0.5.0 h1:epgfuYt9v0CG3fms0pEgIMNPuFf/LpPIfjk4kyqSioo= +github.com/ldez/tagliatelle v0.5.0/go.mod h1:rj1HmWiL1MiKQuOONhd09iySTEkUuE/8+5jtPYz9xa4= github.com/leonklingele/grouper v1.1.1 h1:suWXRU57D4/Enn6pXR0QVqqWWrnJ9Osrz+5rjt8ivzU= github.com/leonklingele/grouper v1.1.1/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= @@ -527,6 +640,7 @@ github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= github.com/macabu/inamedparam v0.1.3 h1:2tk/phHkMlEL/1GNe/Yf6kkR/hkcUdAEY3L0hjYV1Mk= +github.com/macabu/inamedparam v0.1.3/go.mod h1:93FLICAIk/quk7eaPPQvbzihUdn/QkGDwIZEoLtpH6I= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -548,6 +662,7 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= @@ -561,11 +676,13 @@ github.com/matttproud/golang_protobuf_extensions v1.0.2/go.mod h1:BSXmuO+STAnVfr github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgechev/revive v1.3.7 h1:502QY0vQGe9KtYJ9FpxMz9rL+Fc/P13CI5POL4uHCcE= +github.com/mgechev/revive v1.3.7/go.mod h1:RJ16jUbF0OWC3co/+XTxmFNgEpUPwnnA0BRllX2aDNA= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= +github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/term v0.0.0-20221205130635-1aeaba878587 h1:HfkjXDfhgVaN5rmueG8cL8KKeFNecRCXFhaJ2qZ5SKA= @@ -592,6 +709,7 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U= github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= github.com/nishanths/exhaustive v0.12.0 h1:vIY9sALmw6T/yxiASewa4TQcFsVYZQQRUQJhKRf3Swg= +github.com/nishanths/exhaustive v0.12.0/go.mod h1:mEZ95wPIZW+x8kC4TgC+9YCUgiST7ecevsVDTgc2obs= github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk= github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= github.com/nitrictech/nitric/cloud/common v0.0.0-20230616021604-4036d005db63 h1:IFsLa+GXv2Z7eQrbZp+PaUmgGHGasFHtiBou9F+Y42g= @@ -601,6 +719,7 @@ github.com/nitrictech/nitric/core v0.0.0-20230616021604-4036d005db63/go.mod h1:T github.com/nitrictech/protoutils v0.0.0-20220321044654-02667a814cdf h1:8MB8W8ylM8sCM2COGfiO39/tB6BTdiawLszaUGCNL5w= github.com/nitrictech/protoutils v0.0.0-20220321044654-02667a814cdf/go.mod h1:b2lzk2a4o1bvSrSCE6yvTldHuXCJymuDVhdMJGOSslw= github.com/nunnatsa/ginkgolinter v0.15.2 h1:N2ORxUxPU56R9gsfLIlVVvCv/V/VVou5qVI1oBKBNHg= +github.com/nunnatsa/ginkgolinter v0.15.2/go.mod h1:oYxE7dt1vZI8cK2rZOs3RgTaBN2vggkqnENmoJ8kVvc= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= @@ -614,6 +733,7 @@ github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4 github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.28.1 h1:MijcGUbfYuznzK/5R4CPNoUP/9Xvuo20sXfEm6XxoTA= +github.com/onsi/gomega v1.28.1/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= @@ -636,6 +756,7 @@ github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaF github.com/perimeterx/marshmallow v1.1.4 h1:pZLDH9RjlLGGorbXhcaQLhfuV0pFMNfPO55FuFkxqLw= github.com/perimeterx/marshmallow v1.1.4/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw= github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU= +github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M= github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -648,6 +769,7 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/polyfloyd/go-errorlint v1.4.8 h1:jiEjKDH33ouFktyez7sckv6pHWif9B7SuS8cutDXFHw= +github.com/polyfloyd/go-errorlint v1.4.8/go.mod h1:NNCxFcFjZcw3xNjVdCchERkEM6Oz7wta2XJVxRftwO4= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= @@ -660,6 +782,7 @@ github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1: github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= +github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= @@ -674,7 +797,9 @@ github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0= +github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= +github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= github.com/pulumi/pulumi-aws/sdk/v5 v5.26.0 h1:VviljcCRZPl8+PNEbgS1AsodW/ubFHXlVfWF88q//Vk= github.com/pulumi/pulumi-aws/sdk/v5 v5.26.0/go.mod h1:axXtUAYEclH+SVqr/QmWFzMfJchxrrPiyMrywCcMF9A= github.com/pulumi/pulumi-docker/sdk/v4 v4.1.0 h1:ONchALtJZs0usvRryQ2aIelS/2X/z0bSaiUxZADF/1U= @@ -684,6 +809,7 @@ github.com/pulumi/pulumi-random/sdk/v4 v4.8.2/go.mod h1:czSwj+jZnn/VWovMpTLUs/RL github.com/pulumi/pulumi/sdk/v3 v3.105.0 h1:OKEeubZigWyQVnZS6udnFnZHZ/8OWXuUYv9ir3OY+vs= github.com/pulumi/pulumi/sdk/v3 v3.105.0/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= github.com/quasilyte/go-ruleguard v0.4.0 h1:DyM6r+TKL+xbKB4Nm7Afd1IQh9kEUKQs2pboWGKtvQo= +github.com/quasilyte/go-ruleguard v0.4.0/go.mod h1:Eu76Z/R8IXtViWUIHkE3p8gdH3/PKk1eh3YGfaEof10= github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo= github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl980XxGFEZSS6KlBGIV0diGdySzxATTWoqaU= @@ -699,11 +825,13 @@ github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzG github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryancurrah/gomodguard v1.3.0 h1:q15RT/pd6UggBXVBuLps8BXRvl5GPBcwVA7BJHMLuTw= github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28XeGnid8dnni50= github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU= +github.com/ryanrolds/sqlclosecheck v0.5.1/go.mod h1:2g3dUjoS6AL4huFdv6wn55WpLIDjY7ZgUR4J8HOO/XQ= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM= @@ -715,9 +843,11 @@ github.com/santhosh-tekuri/jsonschema/v5 v5.3.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw= github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= github.com/sashamelentyev/usestdlibvars v1.24.0 h1:MKNzmXtGh5N0y74Z/CIaJh4GlB364l0K1RUT08WSWAc= +github.com/sashamelentyev/usestdlibvars v1.24.0/go.mod h1:9cYkq+gYJ+a5W2RPdhfaSCnTVUC1OQP/bSiiBhq3OZE= github.com/savsgio/gotils v0.0.0-20230208104028-c358bd845dee h1:8Iv5m6xEo1NR1AvpV+7XmhI4r39LGNzwUL4YpMuL5vk= github.com/savsgio/gotils v0.0.0-20230208104028-c358bd845dee/go.mod h1:qwtSXrKuJh/zsFQ12yEE89xfCrGKK63Rr7ctU/uCo4g= github.com/securego/gosec/v2 v2.18.2 h1:DkDt3wCiOtAHf1XkiXZBhQ6m6mK/b9T/wD257R3/c+I= +github.com/securego/gosec/v2 v2.18.2/go.mod h1:xUuqSF6i0So56Y2wwohWAmB07EdBkUN6crbLlHwbyJs= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= @@ -730,7 +860,9 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sivchari/containedctx v1.0.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+Wwfd0XE= +github.com/sivchari/containedctx v1.0.3/go.mod h1:c1RDvCbnJLtH4lLcYD/GqwiBSSf4F5Qk0xld2rBqzJ4= github.com/sivchari/nosnakecase v1.7.0 h1:7QkpWIRMe8x25gckkFd2A5Pi6Ymo0qgr4JrhGt95do8= github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= github.com/sivchari/tenv v1.7.1 h1:PSpuD4bu6fSmtWMxSGWcvqUUgIn7k3yOJhOIzVWn8Ak= @@ -743,6 +875,7 @@ github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCp github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= +github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= @@ -784,9 +917,11 @@ github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= github.com/tetafro/godot v1.4.16 h1:4ChfhveiNLk4NveAZ9Pu2AN8QZ2nkUGFuadM9lrr5D0= +github.com/tetafro/godot v1.4.16/go.mod h1:2oVxTBSftRTh4+MVfUaUXR6bn2GDXCaMcOG4Dk3rfio= github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 h1:quvGphlmUVU+nhpFa4gg4yJyTRJ13reZMDHrKwYw53M= +github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966/go.mod h1:27bSVNWSBOHm+qRp1T9qzaIpsWEP6TbUnei/43HK+PQ= github.com/timonwong/loggercheck v0.9.4 h1:HKKhqrjcVj8sxL7K77beXh0adEm6DLjV/QOGeMXEVi4= github.com/timonwong/loggercheck v0.9.4/go.mod h1:caz4zlPcgvpEkXgVnAJGowHAMW2NwHaNlpS8xDbVhTg= github.com/tomarrell/wrapcheck/v2 v2.8.1 h1:HxSqDSN0sAt0yJYsrcYVoEeyM4aI9yAm3KQpIXDJRhQ= @@ -804,10 +939,13 @@ github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6 github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ultraware/funlen v0.1.0 h1:BuqclbkY6pO+cvxoq7OsktIXZpgBSkYTQtmwhAK81vI= +github.com/ultraware/funlen v0.1.0/go.mod h1:XJqmOQja6DpxarLj6Jj1U7JuoS8PvL4nEqDaQhy22p4= github.com/ultraware/whitespace v0.1.0 h1:O1HKYoh0kIeqE8sFqZf1o0qbORXUCOQFrlaQyZsczZw= +github.com/ultraware/whitespace v0.1.0/go.mod h1:/se4r3beMFNmewJ4Xmz0nMQ941GJt+qmSHGP9emHYe0= github.com/urfave/cli/v2 v2.4.0 h1:m2pxjjDFgDxSPtO8WSdbndj17Wu2y8vOT86wE/tjr+I= github.com/urfave/cli/v2 v2.4.0/go.mod h1:NX9W0zmTvedE5oDoOMs2RTC8RvdK98NTYZE5LbaEYPg= github.com/uudashr/gocognit v1.1.2 h1:l6BAEKJqQH2UpKAPKdMfZf5kE4W/2xk8pfU1OVLvniI= +github.com/uudashr/gocognit v1.1.2/go.mod h1:aAVdLURqcanke8h3vg35BC++eseDm66Z7KmchI5et4k= github.com/uw-labs/lichen v0.1.7 h1:SDNE3kThhhtP70XfLN/C2bqaT9Epefg1i10lhWYIG4g= github.com/uw-labs/lichen v0.1.7/go.mod h1:bvEgoBeVZGhzstRxPEpEwM4TGT6AJZ6GA29a4FuLxYw= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= @@ -817,11 +955,13 @@ github.com/valyala/fasthttp v1.45.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/xen0n/gosmopolitan v1.2.2 h1:/p2KTnMzwRexIW8GlKawsTWOxn7UHA+jCMF/V8HHtvU= +github.com/xen0n/gosmopolitan v1.2.2/go.mod h1:7XX7Mj61uLYrj0qmeN0zi7XDon9JRAEhYQqAPLVNTeg= github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= github.com/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o= github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= github.com/ykadowak/zerologlint v0.1.5 h1:Gy/fMz1dFQN9JZTPjv1hxEk+sRWm05row04Yoolgdiw= +github.com/ykadowak/zerologlint v0.1.5/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -830,10 +970,14 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= +github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= gitlab.com/bosi/decorder v0.4.1 h1:VdsdfxhstabyhZovHafFw+9eJ6eU0d2CkFNJcZz/NU4= +gitlab.com/bosi/decorder v0.4.1/go.mod h1:jecSqWUew6Yle1pCr2eLWTensJMmsxHsBwt+PVbkAqA= go-simpler.org/assert v0.7.0 h1:OzWWZqfNxt8cLS+MlUp6Tgk1HjPkmgdKBq9qvy8lZsA= go-simpler.org/musttag v0.8.0 h1:DR4UTgetNNhPRNo02rkK1hwDTRzAPotN+ZqYpdtEwWc= +go-simpler.org/musttag v0.8.0/go.mod h1:fiNdCkXt2S6je9Eblma3okjnlva9NT1Eg/WUt19rWu8= go-simpler.org/sloglint v0.4.0 h1:UVJuUJo63iNQNFEOtZ6o1xAgagVg/giVLLvG9nNLobI= +go-simpler.org/sloglint v0.4.0/go.mod h1:v6zJ++j/thFPhefs2wEXoCKwT10yo5nkBDYRCXyqgNQ= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -882,6 +1026,7 @@ golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -893,9 +1038,11 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc h1:ao2WRsKSzW6KuUY9IWPwWahcHCgR0s52IfwutMfEbdM= +golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20231219180239-dc181d75b848 h1:UhRVJ0i7bF9n/Hd8YjW3eKjlPVBHzbQdxrBgjbSKl64= +golang.org/x/exp/typeparams v0.0.0-20231219180239-dc181d75b848/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -925,6 +1072,7 @@ golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -971,6 +1119,7 @@ golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -994,6 +1143,7 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1060,6 +1210,7 @@ golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1068,6 +1219,7 @@ golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= +golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1153,6 +1305,7 @@ golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= +golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1213,8 +1366,11 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 h1:wpZ8pe2x1Q3f2KyT5f8oP/fa9rHAKgFPr/HZdNuS+PQ= +google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY= google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo= +google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1232,6 +1388,7 @@ google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= +google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1284,14 +1441,17 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.4.6 h1:oFEHCKeID7to/3autwsWfnuv69j3NsfcXbvJKuIcep8= +honnef.co/go/tools v0.4.6/go.mod h1:+rnGS1THNh8zMwnd2oVOTL9QF6vmfyG6ZXBULae2uc0= lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= mvdan.cc/gofumpt v0.6.0 h1:G3QvahNDmpD+Aek/bNOLrFR2XC6ZAdo62dZu65gmwGo= +mvdan.cc/gofumpt v0.6.0/go.mod h1:4L0wf+kgIPZtcCWXynNS2e6bhmj73umwnuXSZarixzA= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo= mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= mvdan.cc/unparam v0.0.0-20240104100049-c549a3470d14 h1:zCr3iRRgdk5eIikZNDphGcM6KGVTx3Yu+/Uu9Es254w= +mvdan.cc/unparam v0.0.0-20240104100049-c549a3470d14/go.mod h1:ZzZjEpJDOmx8TdVU6umamY3Xy0UAQUI2DHbf05USVbI= pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= From 7554b5ab64bb242efff5ded9162239d56962bc6b Mon Sep 17 00:00:00 2001 From: Jye Cusch Date: Tue, 27 Feb 2024 20:56:33 +1100 Subject: [PATCH 07/24] implement keys method for aws --- cloud/aws/runtime/keyvalue/dynamodb.go | 90 +++++++++++++++++++++++- cloud/azure/runtime/keyvalue/keyvalue.go | 1 - 2 files changed, 89 insertions(+), 2 deletions(-) diff --git a/cloud/aws/runtime/keyvalue/dynamodb.go b/cloud/aws/runtime/keyvalue/dynamodb.go index 7fbabddd0..28bf2bf78 100644 --- a/cloud/aws/runtime/keyvalue/dynamodb.go +++ b/cloud/aws/runtime/keyvalue/dynamodb.go @@ -23,6 +23,7 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue" + "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/service/dynamodb" "github.com/aws/smithy-go" "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws" @@ -50,7 +51,8 @@ type DynamoKeyValueService struct { provider resource.AwsResourceProvider } -var _ keyvaluepb.KeyValueServer = &DynamoKeyValueService{} +// Ensure DynamoKeyValueService implements the KeyValueServer interface +var _ keyvaluepb.KeyValueServer = (*DynamoKeyValueService)(nil) func isDynamoAccessDeniedErr(err error) bool { var opErr *smithy.OperationError @@ -269,6 +271,92 @@ func (s *DynamoKeyValueService) Delete(ctx context.Context, req *keyvaluepb.KeyV return &keyvaluepb.KeyValueDeleteResponse{}, nil } +func (s *DynamoKeyValueService) Keys(req *keyvaluepb.KeyValueKeysRequest, stream keyvaluepb.KeyValue_KeysServer) error { + newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Get") + + if req.Store.GetName() == "" { + return newErr( + codes.InvalidArgument, + "store name is required", + nil, + ) + } + + tableName, err := s.getTableName(context.TODO(), req.Store.Name) + if err != nil { + return newErr( + codes.Internal, + "unable to match store name to dynamodb table", + err, + ) + } + + projection := expression.NamesList(expression.Name(AttribPk)) + filter := expression.Name(AttribPk).BeginsWith(req.Prefix) + expr, err := expression.NewBuilder().WithFilter(filter).WithProjection(projection).Build() + + if err != nil { + return newErr( + codes.Internal, + "unable to build key scan expression", + err, + ) + } + + input := &dynamodb.ScanInput{ + TableName: tableName, + ProjectionExpression: expr.Projection(), + FilterExpression: expr.Filter(), + ExpressionAttributeNames: expr.Names(), + ExpressionAttributeValues: expr.Values(), + } + + // Get all keys from the table + paginator := dynamodb.NewScanPaginator(s.client, input) + for paginator.HasMorePages() { + page, err := paginator.NextPage(context.Background()) + if err != nil { + if isDynamoAccessDeniedErr(err) { + return newErr( + codes.PermissionDenied, + "unable to retrieve keys, this may be due to a missing permissions request in your code.", + err, + ) + } + + return newErr( + codes.Internal, + "unable to retrieve keys from dynamodb table", + err, + ) + } + + for _, item := range page.Items { + var itemMap map[string]interface{} + err = attributevalue.UnmarshalMap(item, &itemMap) + if err != nil { + return newErr( + codes.Internal, + "error unmarshalling key attributes", + err, + ) + } + + if err := stream.Send(&keyvaluepb.KeyValueKeysResponse{ + Key: itemMap[AttribPk].(string), + }); err != nil { + return newErr( + codes.Internal, + "failed to send response", + err, + ) + } + } + } + + return nil +} + // New creates a new AWS DynamoDB implementation of a DocumentServiceServer func New(provider resource.AwsResourceProvider) (*DynamoKeyValueService, error) { awsRegion := env.AWS_REGION.String() diff --git a/cloud/azure/runtime/keyvalue/keyvalue.go b/cloud/azure/runtime/keyvalue/keyvalue.go index a65bf5baf..852facc98 100644 --- a/cloud/azure/runtime/keyvalue/keyvalue.go +++ b/cloud/azure/runtime/keyvalue/keyvalue.go @@ -321,7 +321,6 @@ func (s *AzureStorageTableKeyValueService) Keys(req *keyvaluepb.KeyValueKeysRequ err, ) } - } } From 93534f7fa71ef45151ab462c64ffe5f0d921edf6 Mon Sep 17 00:00:00 2001 From: Jye Cusch Date: Tue, 27 Feb 2024 21:24:58 +1100 Subject: [PATCH 08/24] remove comment --- cloud/aws/deploy/keyvalue.go | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/cloud/aws/deploy/keyvalue.go b/cloud/aws/deploy/keyvalue.go index 90a279498..fb74c2945 100644 --- a/cloud/aws/deploy/keyvalue.go +++ b/cloud/aws/deploy/keyvalue.go @@ -60,34 +60,3 @@ func (n *NitricAwsPulumiProvider) KeyValueStore(ctx *pulumi.Context, parent pulu return err } - -// func NewDynamodbKeyValueStore(ctx *pulumi.Context, name string, args *DynamodbKeyValueStoreArgs, opts ...pulumi.ResourceOption) (*DynamodbKeyValueStore, error) { -// res := &DynamodbKeyValueStore{Name: name} - -// err := ctx.RegisterComponentResource("nitric:keyvalue:Dynamodb", name, res, opts...) -// if err != nil { -// return nil, err -// } - -// res.Table, err = dynamodb.NewTable(ctx, name, &dynamodb.TableArgs{ -// Attributes: dynamodb.TableAttributeArray{ -// &dynamodb.TableAttributeArgs{ -// Name: pulumi.String("_pk"), -// Type: pulumi.String("S"), -// }, -// &dynamodb.TableAttributeArgs{ -// Name: pulumi.String("_sk"), -// Type: pulumi.String("S"), -// }, -// }, -// HashKey: pulumi.String("_pk"), -// RangeKey: pulumi.String("_sk"), -// BillingMode: pulumi.String("PAY_PER_REQUEST"), -// Tags: pulumi.ToStringMap(tags.Tags(args.StackID, name, resources.Collection)), -// }) -// if err != nil { -// return nil, err -// } - -// return res, nil -// } From eda49f9c77ab908eed66dc0b32c0a3283fc97bcf Mon Sep 17 00:00:00 2001 From: Jye Cusch Date: Tue, 27 Feb 2024 21:29:51 +1100 Subject: [PATCH 09/24] add scan permission for kv read required to allow 'keys' method to scan for keys --- cloud/aws/deploy/policy.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cloud/aws/deploy/policy.go b/cloud/aws/deploy/policy.go index efa196fc6..36ad1df0c 100644 --- a/cloud/aws/deploy/policy.go +++ b/cloud/aws/deploy/policy.go @@ -58,6 +58,7 @@ var awsActionsMap map[resourcespb.Action][]string = map[resourcespb.Action][]str resourcespb.Action_KeyValueStoreRead: { "dynamodb:GetItem", "dynamodb:BatchGetItem", + "dynamodb:Scan", // required to scan keys }, resourcespb.Action_KeyValueStoreWrite: { "dynamodb:UpdateItem", From 5fc1deb9323c3a2c0b2b0f57a412e1d319af68d1 Mon Sep 17 00:00:00 2001 From: Jye Cusch Date: Wed, 28 Feb 2024 22:00:37 +1100 Subject: [PATCH 10/24] implement kv keys method for gcp --- cloud/gcp/runtime/keyvalue/firestore.go | 57 ++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/cloud/gcp/runtime/keyvalue/firestore.go b/cloud/gcp/runtime/keyvalue/firestore.go index cb360d142..7e43d91bf 100644 --- a/cloud/gcp/runtime/keyvalue/firestore.go +++ b/cloud/gcp/runtime/keyvalue/firestore.go @@ -17,11 +17,13 @@ package keyvalue import ( "context" "fmt" + "strings" "github.com/nitrictech/nitric/core/pkg/decorators/keyvalue" grpc_errors "github.com/nitrictech/nitric/core/pkg/grpc/errors" v1 "github.com/nitrictech/nitric/core/pkg/proto/keyvalue/v1" + "google.golang.org/api/iterator" "google.golang.org/grpc/codes" "google.golang.org/protobuf/types/known/structpb" @@ -164,6 +166,55 @@ func (s *FirestoreDocService) Delete(ctx context.Context, req *v1.KeyValueDelete return &v1.KeyValueDeleteResponse{}, nil } +func (s *FirestoreDocService) Keys(req *v1.KeyValueKeysRequest, stream v1.KeyValue_KeysServer) error { + newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.Keys") + storeName := req.GetStore().GetName() + + if storeName == "" { + return newErr( + codes.InvalidArgument, + "store name is required", + nil, + ) + } + + iter := s.getCollectionRef(storeName).DocumentRefs(stream.Context()) + + for { + doc, err := iter.Next() + if err == iterator.Done { + break + } + if err != nil { + return newErr( + codes.Internal, + "error iterating over firestore collection", + err, + ) + } + + // Range queries don't appear to be supported when querying based on document ID. + // e.g. Where(firestore.DocumentID, "<=", req.Prefix) + // since prefix is a string not a DocumentRef. + // Instead we filter the results as they're returned + if !strings.HasPrefix(doc.ID, req.Prefix) { + continue + } + + if err := stream.Send(&v1.KeyValueKeysResponse{ + Key: doc.ID, + }); err != nil { + return newErr( + codes.Internal, + "failed to send response", + err, + ) + } + } + + return nil +} + func New() (v1.KeyValueServer, error) { ctx := context.Background() @@ -189,5 +240,9 @@ func NewWithClient(client *firestore.Client) (v1.KeyValueServer, error) { } func (s *FirestoreDocService) getDocRef(ref *v1.ValueRef) *firestore.DocumentRef { - return s.client.Collection(ref.Store).Doc(ref.Key) + return s.getCollectionRef(ref.Store).Doc(ref.Key) +} + +func (s *FirestoreDocService) getCollectionRef(store string) *firestore.CollectionRef { + return s.client.Collection(store) } From 7794b4da00e3fb1db53b65ea149a38304d72ac67 Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Wed, 28 Feb 2024 20:06:43 +1100 Subject: [PATCH 11/24] add kvstore replacement contracts. --- core/pkg/proto/kvstore/v1/kvstore.pb.go | 872 +++++++++++++++++++ core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go | 247 ++++++ nitric/proto/kvstore/v1/kvstore.proto | 91 ++ 3 files changed, 1210 insertions(+) create mode 100644 core/pkg/proto/kvstore/v1/kvstore.pb.go create mode 100644 core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go create mode 100644 nitric/proto/kvstore/v1/kvstore.proto diff --git a/core/pkg/proto/kvstore/v1/kvstore.pb.go b/core/pkg/proto/kvstore/v1/kvstore.pb.go new file mode 100644 index 000000000..8715316e6 --- /dev/null +++ b/core/pkg/proto/kvstore/v1/kvstore.pb.go @@ -0,0 +1,872 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.21.4 +// source: nitric/proto/kvstore/v1/kvstore.proto + +package kvstorepb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" + reflect "reflect" + sync "sync" +) + +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) +) + +// Provides a Key/Value Store +type Store struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The store name + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *Store) Reset() { + *x = Store{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Store) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Store) ProtoMessage() {} + +func (x *Store) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Store.ProtoReflect.Descriptor instead. +func (*Store) Descriptor() ([]byte, []int) { + return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{0} +} + +func (x *Store) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// ValueRef provides a unique identifier for a value +type ValueRef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key/value store name + Store string `protobuf:"bytes,1,opt,name=store,proto3" json:"store,omitempty"` + // The item's unique key within the store + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *ValueRef) Reset() { + *x = ValueRef{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValueRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValueRef) ProtoMessage() {} + +func (x *ValueRef) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValueRef.ProtoReflect.Descriptor instead. +func (*ValueRef) Descriptor() ([]byte, []int) { + return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{1} +} + +func (x *ValueRef) GetStore() string { + if x != nil { + return x.Store + } + return "" +} + +func (x *ValueRef) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +// Value provides a return value type +type Value struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ValueRef of the key/value pair, which includes the store and key + Ref *ValueRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` + // The content (JSON object) + Content *structpb.Struct `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` +} + +func (x *Value) Reset() { + *x = Value{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Value) ProtoMessage() {} + +func (x *Value) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Value.ProtoReflect.Descriptor instead. +func (*Value) Descriptor() ([]byte, []int) { + return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{2} +} + +func (x *Value) GetRef() *ValueRef { + if x != nil { + return x.Ref + } + return nil +} + +func (x *Value) GetContent() *structpb.Struct { + if x != nil { + return x.Content + } + return nil +} + +type KvStoreGetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ValueRef of the key/value pair to get, which includes the store and key + Ref *ValueRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` +} + +func (x *KvStoreGetRequest) Reset() { + *x = KvStoreGetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KvStoreGetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KvStoreGetRequest) ProtoMessage() {} + +func (x *KvStoreGetRequest) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KvStoreGetRequest.ProtoReflect.Descriptor instead. +func (*KvStoreGetRequest) Descriptor() ([]byte, []int) { + return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{3} +} + +func (x *KvStoreGetRequest) GetRef() *ValueRef { + if x != nil { + return x.Ref + } + return nil +} + +type KvStoreGetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The retrieved value + Value *Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *KvStoreGetResponse) Reset() { + *x = KvStoreGetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KvStoreGetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KvStoreGetResponse) ProtoMessage() {} + +func (x *KvStoreGetResponse) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KvStoreGetResponse.ProtoReflect.Descriptor instead. +func (*KvStoreGetResponse) Descriptor() ([]byte, []int) { + return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{4} +} + +func (x *KvStoreGetResponse) GetValue() *Value { + if x != nil { + return x.Value + } + return nil +} + +type KvStoreSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ValueRef of the key/value pair to set, which includes the store and key + Ref *ValueRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` + // The value content to store (JSON object) + Content *structpb.Struct `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` +} + +func (x *KvStoreSetRequest) Reset() { + *x = KvStoreSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KvStoreSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KvStoreSetRequest) ProtoMessage() {} + +func (x *KvStoreSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KvStoreSetRequest.ProtoReflect.Descriptor instead. +func (*KvStoreSetRequest) Descriptor() ([]byte, []int) { + return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{5} +} + +func (x *KvStoreSetRequest) GetRef() *ValueRef { + if x != nil { + return x.Ref + } + return nil +} + +func (x *KvStoreSetRequest) GetContent() *structpb.Struct { + if x != nil { + return x.Content + } + return nil +} + +type KvStoreSetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *KvStoreSetResponse) Reset() { + *x = KvStoreSetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KvStoreSetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KvStoreSetResponse) ProtoMessage() {} + +func (x *KvStoreSetResponse) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KvStoreSetResponse.ProtoReflect.Descriptor instead. +func (*KvStoreSetResponse) Descriptor() ([]byte, []int) { + return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{6} +} + +type KvStoreDeleteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ValueRef of the key/value pair to delete, which includes the store and key + Ref *ValueRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` +} + +func (x *KvStoreDeleteRequest) Reset() { + *x = KvStoreDeleteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KvStoreDeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KvStoreDeleteRequest) ProtoMessage() {} + +func (x *KvStoreDeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KvStoreDeleteRequest.ProtoReflect.Descriptor instead. +func (*KvStoreDeleteRequest) Descriptor() ([]byte, []int) { + return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{7} +} + +func (x *KvStoreDeleteRequest) GetRef() *ValueRef { + if x != nil { + return x.Ref + } + return nil +} + +type KvStoreDeleteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *KvStoreDeleteResponse) Reset() { + *x = KvStoreDeleteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KvStoreDeleteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KvStoreDeleteResponse) ProtoMessage() {} + +func (x *KvStoreDeleteResponse) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KvStoreDeleteResponse.ProtoReflect.Descriptor instead. +func (*KvStoreDeleteResponse) Descriptor() ([]byte, []int) { + return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{8} +} + +type KvStoreKeysRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The store to iterate over + Store *Store `protobuf:"bytes,1,opt,name=store,proto3" json:"store,omitempty"` + // The prefix to filter keys by + Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` +} + +func (x *KvStoreKeysRequest) Reset() { + *x = KvStoreKeysRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KvStoreKeysRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KvStoreKeysRequest) ProtoMessage() {} + +func (x *KvStoreKeysRequest) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KvStoreKeysRequest.ProtoReflect.Descriptor instead. +func (*KvStoreKeysRequest) Descriptor() ([]byte, []int) { + return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{9} +} + +func (x *KvStoreKeysRequest) GetStore() *Store { + if x != nil { + return x.Store + } + return nil +} + +func (x *KvStoreKeysRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +type KvStoreKeysResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key of the key/value pair + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *KvStoreKeysResponse) Reset() { + *x = KvStoreKeysResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KvStoreKeysResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KvStoreKeysResponse) ProtoMessage() {} + +func (x *KvStoreKeysResponse) ProtoReflect() protoreflect.Message { + mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KvStoreKeysResponse.ProtoReflect.Descriptor instead. +func (*KvStoreKeysResponse) Descriptor() ([]byte, []int) { + return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{10} +} + +func (x *KvStoreKeysResponse) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +var File_nitric_proto_kvstore_v1_kvstore_proto protoreflect.FileDescriptor + +var file_nitric_proto_kvstore_v1_kvstore_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6b, + 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1b, + 0x0a, 0x05, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x08, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, + 0x6f, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x31, 0x0a, + 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x22, 0x48, 0x0a, 0x11, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x4a, 0x0a, 0x12, 0x4b, 0x76, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, + 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7b, 0x0a, 0x11, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, + 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, + 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, + 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x14, 0x4b, 0x76, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, + 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x17, 0x0a, 0x15, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x62, 0x0a, 0x12, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x22, 0x27, 0x0a, 0x13, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, + 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x32, 0x97, 0x03, 0x0a, + 0x07, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x5e, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, + 0x2a, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, + 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x69, + 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, + 0x2a, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, + 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x69, + 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x63, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2b, 0x2e, 0x6e, 0x69, 0x74, 0x72, + 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x9d, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x6e, 0x69, + 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x01, + 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x69, 0x74, + 0x72, 0x69, 0x63, 0x74, 0x65, 0x63, 0x68, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2f, 0x63, + 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6b, 0x76, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x70, 0x62, 0xaa, 0x02, 0x17, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0xca, 0x02, 0x17, 0x4e, + 0x69, 0x74, 0x72, 0x69, 0x63, 0x5c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5c, 0x4b, 0x76, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_nitric_proto_kvstore_v1_kvstore_proto_rawDescOnce sync.Once + file_nitric_proto_kvstore_v1_kvstore_proto_rawDescData = file_nitric_proto_kvstore_v1_kvstore_proto_rawDesc +) + +func file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP() []byte { + file_nitric_proto_kvstore_v1_kvstore_proto_rawDescOnce.Do(func() { + file_nitric_proto_kvstore_v1_kvstore_proto_rawDescData = protoimpl.X.CompressGZIP(file_nitric_proto_kvstore_v1_kvstore_proto_rawDescData) + }) + return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescData +} + +var file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_nitric_proto_kvstore_v1_kvstore_proto_goTypes = []interface{}{ + (*Store)(nil), // 0: nitric.proto.kvstore.v1.Store + (*ValueRef)(nil), // 1: nitric.proto.kvstore.v1.ValueRef + (*Value)(nil), // 2: nitric.proto.kvstore.v1.Value + (*KvStoreGetRequest)(nil), // 3: nitric.proto.kvstore.v1.KvStoreGetRequest + (*KvStoreGetResponse)(nil), // 4: nitric.proto.kvstore.v1.KvStoreGetResponse + (*KvStoreSetRequest)(nil), // 5: nitric.proto.kvstore.v1.KvStoreSetRequest + (*KvStoreSetResponse)(nil), // 6: nitric.proto.kvstore.v1.KvStoreSetResponse + (*KvStoreDeleteRequest)(nil), // 7: nitric.proto.kvstore.v1.KvStoreDeleteRequest + (*KvStoreDeleteResponse)(nil), // 8: nitric.proto.kvstore.v1.KvStoreDeleteResponse + (*KvStoreKeysRequest)(nil), // 9: nitric.proto.kvstore.v1.KvStoreKeysRequest + (*KvStoreKeysResponse)(nil), // 10: nitric.proto.kvstore.v1.KvStoreKeysResponse + (*structpb.Struct)(nil), // 11: google.protobuf.Struct +} +var file_nitric_proto_kvstore_v1_kvstore_proto_depIdxs = []int32{ + 1, // 0: nitric.proto.kvstore.v1.Value.ref:type_name -> nitric.proto.kvstore.v1.ValueRef + 11, // 1: nitric.proto.kvstore.v1.Value.content:type_name -> google.protobuf.Struct + 1, // 2: nitric.proto.kvstore.v1.KvStoreGetRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef + 2, // 3: nitric.proto.kvstore.v1.KvStoreGetResponse.value:type_name -> nitric.proto.kvstore.v1.Value + 1, // 4: nitric.proto.kvstore.v1.KvStoreSetRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef + 11, // 5: nitric.proto.kvstore.v1.KvStoreSetRequest.content:type_name -> google.protobuf.Struct + 1, // 6: nitric.proto.kvstore.v1.KvStoreDeleteRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef + 0, // 7: nitric.proto.kvstore.v1.KvStoreKeysRequest.store:type_name -> nitric.proto.kvstore.v1.Store + 3, // 8: nitric.proto.kvstore.v1.KvStore.Get:input_type -> nitric.proto.kvstore.v1.KvStoreGetRequest + 5, // 9: nitric.proto.kvstore.v1.KvStore.Set:input_type -> nitric.proto.kvstore.v1.KvStoreSetRequest + 7, // 10: nitric.proto.kvstore.v1.KvStore.Delete:input_type -> nitric.proto.kvstore.v1.KvStoreDeleteRequest + 9, // 11: nitric.proto.kvstore.v1.KvStore.Keys:input_type -> nitric.proto.kvstore.v1.KvStoreKeysRequest + 4, // 12: nitric.proto.kvstore.v1.KvStore.Get:output_type -> nitric.proto.kvstore.v1.KvStoreGetResponse + 6, // 13: nitric.proto.kvstore.v1.KvStore.Set:output_type -> nitric.proto.kvstore.v1.KvStoreSetResponse + 8, // 14: nitric.proto.kvstore.v1.KvStore.Delete:output_type -> nitric.proto.kvstore.v1.KvStoreDeleteResponse + 10, // 15: nitric.proto.kvstore.v1.KvStore.Keys:output_type -> nitric.proto.kvstore.v1.KvStoreKeysResponse + 12, // [12:16] is the sub-list for method output_type + 8, // [8:12] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_nitric_proto_kvstore_v1_kvstore_proto_init() } +func file_nitric_proto_kvstore_v1_kvstore_proto_init() { + if File_nitric_proto_kvstore_v1_kvstore_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Store); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValueRef); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Value); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KvStoreGetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KvStoreGetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KvStoreSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KvStoreSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KvStoreDeleteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KvStoreDeleteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KvStoreKeysRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KvStoreKeysResponse); 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{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_nitric_proto_kvstore_v1_kvstore_proto_rawDesc, + NumEnums: 0, + NumMessages: 11, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_nitric_proto_kvstore_v1_kvstore_proto_goTypes, + DependencyIndexes: file_nitric_proto_kvstore_v1_kvstore_proto_depIdxs, + MessageInfos: file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes, + }.Build() + File_nitric_proto_kvstore_v1_kvstore_proto = out.File + file_nitric_proto_kvstore_v1_kvstore_proto_rawDesc = nil + file_nitric_proto_kvstore_v1_kvstore_proto_goTypes = nil + file_nitric_proto_kvstore_v1_kvstore_proto_depIdxs = nil +} diff --git a/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go b/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go new file mode 100644 index 000000000..3c8564322 --- /dev/null +++ b/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go @@ -0,0 +1,247 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.21.4 +// source: nitric/proto/kvstore/v1/kvstore.proto + +package kvstorepb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// 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.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// KvStoreClient is the client API for KvStore 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 KvStoreClient interface { + // Get an existing value + Get(ctx context.Context, in *KvStoreGetRequest, opts ...grpc.CallOption) (*KvStoreGetResponse, error) + // Create a new or overwrite an existing value + Set(ctx context.Context, in *KvStoreSetRequest, opts ...grpc.CallOption) (*KvStoreSetResponse, error) + // Delete a key and its value + Delete(ctx context.Context, in *KvStoreDeleteRequest, opts ...grpc.CallOption) (*KvStoreDeleteResponse, error) + // Iterate over all keys in a store + Keys(ctx context.Context, in *KvStoreKeysRequest, opts ...grpc.CallOption) (KvStore_KeysClient, error) +} + +type kvStoreClient struct { + cc grpc.ClientConnInterface +} + +func NewKvStoreClient(cc grpc.ClientConnInterface) KvStoreClient { + return &kvStoreClient{cc} +} + +func (c *kvStoreClient) Get(ctx context.Context, in *KvStoreGetRequest, opts ...grpc.CallOption) (*KvStoreGetResponse, error) { + out := new(KvStoreGetResponse) + err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/Get", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *kvStoreClient) Set(ctx context.Context, in *KvStoreSetRequest, opts ...grpc.CallOption) (*KvStoreSetResponse, error) { + out := new(KvStoreSetResponse) + err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/Set", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *kvStoreClient) Delete(ctx context.Context, in *KvStoreDeleteRequest, opts ...grpc.CallOption) (*KvStoreDeleteResponse, error) { + out := new(KvStoreDeleteResponse) + err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/Delete", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *kvStoreClient) Keys(ctx context.Context, in *KvStoreKeysRequest, opts ...grpc.CallOption) (KvStore_KeysClient, error) { + stream, err := c.cc.NewStream(ctx, &KvStore_ServiceDesc.Streams[0], "/nitric.proto.kvstore.v1.KvStore/Keys", opts...) + if err != nil { + return nil, err + } + x := &kvStoreKeysClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type KvStore_KeysClient interface { + Recv() (*KvStoreKeysResponse, error) + grpc.ClientStream +} + +type kvStoreKeysClient struct { + grpc.ClientStream +} + +func (x *kvStoreKeysClient) Recv() (*KvStoreKeysResponse, error) { + m := new(KvStoreKeysResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// KvStoreServer is the server API for KvStore service. +// All implementations should embed UnimplementedKvStoreServer +// for forward compatibility +type KvStoreServer interface { + // Get an existing value + Get(context.Context, *KvStoreGetRequest) (*KvStoreGetResponse, error) + // Create a new or overwrite an existing value + Set(context.Context, *KvStoreSetRequest) (*KvStoreSetResponse, error) + // Delete a key and its value + Delete(context.Context, *KvStoreDeleteRequest) (*KvStoreDeleteResponse, error) + // Iterate over all keys in a store + Keys(*KvStoreKeysRequest, KvStore_KeysServer) error +} + +// UnimplementedKvStoreServer should be embedded to have forward compatible implementations. +type UnimplementedKvStoreServer struct { +} + +func (UnimplementedKvStoreServer) Get(context.Context, *KvStoreGetRequest) (*KvStoreGetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") +} +func (UnimplementedKvStoreServer) Set(context.Context, *KvStoreSetRequest) (*KvStoreSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Set not implemented") +} +func (UnimplementedKvStoreServer) Delete(context.Context, *KvStoreDeleteRequest) (*KvStoreDeleteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") +} +func (UnimplementedKvStoreServer) Keys(*KvStoreKeysRequest, KvStore_KeysServer) error { + return status.Errorf(codes.Unimplemented, "method Keys not implemented") +} + +// UnsafeKvStoreServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to KvStoreServer will +// result in compilation errors. +type UnsafeKvStoreServer interface { + mustEmbedUnimplementedKvStoreServer() +} + +func RegisterKvStoreServer(s grpc.ServiceRegistrar, srv KvStoreServer) { + s.RegisterService(&KvStore_ServiceDesc, srv) +} + +func _KvStore_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(KvStoreGetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(KvStoreServer).Get(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/nitric.proto.kvstore.v1.KvStore/Get", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(KvStoreServer).Get(ctx, req.(*KvStoreGetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _KvStore_Set_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(KvStoreSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(KvStoreServer).Set(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/nitric.proto.kvstore.v1.KvStore/Set", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(KvStoreServer).Set(ctx, req.(*KvStoreSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _KvStore_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(KvStoreDeleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(KvStoreServer).Delete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/nitric.proto.kvstore.v1.KvStore/Delete", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(KvStoreServer).Delete(ctx, req.(*KvStoreDeleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _KvStore_Keys_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(KvStoreKeysRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(KvStoreServer).Keys(m, &kvStoreKeysServer{stream}) +} + +type KvStore_KeysServer interface { + Send(*KvStoreKeysResponse) error + grpc.ServerStream +} + +type kvStoreKeysServer struct { + grpc.ServerStream +} + +func (x *kvStoreKeysServer) Send(m *KvStoreKeysResponse) error { + return x.ServerStream.SendMsg(m) +} + +// KvStore_ServiceDesc is the grpc.ServiceDesc for KvStore service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var KvStore_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "nitric.proto.kvstore.v1.KvStore", + HandlerType: (*KvStoreServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Get", + Handler: _KvStore_Get_Handler, + }, + { + MethodName: "Set", + Handler: _KvStore_Set_Handler, + }, + { + MethodName: "Delete", + Handler: _KvStore_Delete_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "Keys", + Handler: _KvStore_Keys_Handler, + ServerStreams: true, + }, + }, + Metadata: "nitric/proto/kvstore/v1/kvstore.proto", +} diff --git a/nitric/proto/kvstore/v1/kvstore.proto b/nitric/proto/kvstore/v1/kvstore.proto new file mode 100644 index 000000000..754d5bef2 --- /dev/null +++ b/nitric/proto/kvstore/v1/kvstore.proto @@ -0,0 +1,91 @@ +syntax = "proto3"; +package nitric.proto.kvstore.v1; + +import "google/protobuf/struct.proto"; + +// protoc plugin options for code generation +// option go_package = "nitric/v1;v1"; +option go_package = "github.com/nitrictech/nitric/core/pkg/proto/kvstore/v1;kvstorepb"; +option java_package = "io.nitric.proto.kvstore.v1"; +option java_multiple_files = true; +option java_outer_classname = "KvStore"; +option php_namespace = "Nitric\\Proto\\KvStore\\V1"; +option csharp_namespace = "Nitric.Proto.KvStore.v1"; + +// Service for storage and retrieval of simple JSON keyValue +service KvStore { + // Get an existing value + rpc Get (KvStoreGetRequest) returns (KvStoreGetResponse); + + // Create a new or overwrite an existing value + rpc Set (KvStoreSetRequest) returns (KvStoreSetResponse); + + // Delete a key and its value + rpc Delete (KvStoreDeleteRequest) returns (KvStoreDeleteResponse); + + // Iterate over all keys in a store + rpc Keys (KvStoreKeysRequest) returns (stream KvStoreKeysResponse); +} + +// Provides a Key/Value Store +message Store { + // The store name + string name = 1; +} + +// ValueRef provides a unique identifier for a value +message ValueRef { + // The key/value store name + string store = 1; + + // The item's unique key within the store + string key = 2; +} + +// Value provides a return value type +message Value { + // ValueRef of the key/value pair, which includes the store and key + ValueRef ref = 1; + + // The content (JSON object) + google.protobuf.Struct content = 2; +} + +message KvStoreGetRequest { + // ValueRef of the key/value pair to get, which includes the store and key + ValueRef ref = 1; +} + +message KvStoreGetResponse { + // The retrieved value + Value value = 1; +} + +message KvStoreSetRequest { + // ValueRef of the key/value pair to set, which includes the store and key + ValueRef ref = 1 ; + // The value content to store (JSON object) + google.protobuf.Struct content = 3; +} + +message KvStoreSetResponse {} + +message KvStoreDeleteRequest { + // ValueRef of the key/value pair to delete, which includes the store and key + ValueRef ref = 1; +} + +message KvStoreDeleteResponse {} + +message KvStoreKeysRequest { + // The store to iterate over + Store store = 1; + + // The prefix to filter keys by + string prefix = 2; +} + +message KvStoreKeysResponse { + // The key of the key/value pair + string key = 1; +} From dcb8fbdf3d396970122f31bb154475dc8362bb8b Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Thu, 29 Feb 2024 08:27:41 +1100 Subject: [PATCH 12/24] use unique method names. --- core/pkg/proto/kvstore/v1/kvstore.pb.go | 81 ++++++++++---------- core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go | 72 ++++++++--------- nitric/proto/kvstore/v1/kvstore.proto | 6 +- 3 files changed, 80 insertions(+), 79 deletions(-) diff --git a/core/pkg/proto/kvstore/v1/kvstore.pb.go b/core/pkg/proto/kvstore/v1/kvstore.pb.go index 8715316e6..86e1f27bc 100644 --- a/core/pkg/proto/kvstore/v1/kvstore.pb.go +++ b/core/pkg/proto/kvstore/v1/kvstore.pb.go @@ -622,43 +622,44 @@ var file_nitric_proto_kvstore_v1_kvstore_proto_rawDesc = []byte{ 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x27, 0x0a, 0x13, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x32, 0x97, 0x03, 0x0a, - 0x07, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x5e, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, - 0x2a, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, - 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x69, - 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, - 0x2a, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, - 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x69, - 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x32, 0xa0, 0x03, 0x0a, + 0x07, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4b, + 0x65, 0x79, 0x12, 0x2a, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x53, + 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, - 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x63, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2b, 0x2e, 0x6e, 0x69, 0x74, 0x72, - 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x9d, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x6e, 0x69, + 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, + 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x01, - 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x69, 0x74, - 0x72, 0x69, 0x63, 0x74, 0x65, 0x63, 0x68, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2f, 0x63, - 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6b, 0x76, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x70, 0x62, 0xaa, 0x02, 0x17, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0xca, 0x02, 0x17, 0x4e, - 0x69, 0x74, 0x72, 0x69, 0x63, 0x5c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5c, 0x4b, 0x76, 0x53, 0x74, - 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x69, 0x74, + 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x04, 0x4b, 0x65, + 0x79, 0x73, 0x12, 0x2b, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2c, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, + 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, + 0x9d, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, + 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x63, 0x68, + 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, + 0x31, 0x3b, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x17, 0x4e, 0x69, + 0x74, 0x72, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0xca, 0x02, 0x17, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x5c, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x5c, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -697,13 +698,13 @@ var file_nitric_proto_kvstore_v1_kvstore_proto_depIdxs = []int32{ 11, // 5: nitric.proto.kvstore.v1.KvStoreSetRequest.content:type_name -> google.protobuf.Struct 1, // 6: nitric.proto.kvstore.v1.KvStoreDeleteRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef 0, // 7: nitric.proto.kvstore.v1.KvStoreKeysRequest.store:type_name -> nitric.proto.kvstore.v1.Store - 3, // 8: nitric.proto.kvstore.v1.KvStore.Get:input_type -> nitric.proto.kvstore.v1.KvStoreGetRequest - 5, // 9: nitric.proto.kvstore.v1.KvStore.Set:input_type -> nitric.proto.kvstore.v1.KvStoreSetRequest - 7, // 10: nitric.proto.kvstore.v1.KvStore.Delete:input_type -> nitric.proto.kvstore.v1.KvStoreDeleteRequest + 3, // 8: nitric.proto.kvstore.v1.KvStore.GetKey:input_type -> nitric.proto.kvstore.v1.KvStoreGetRequest + 5, // 9: nitric.proto.kvstore.v1.KvStore.SetKey:input_type -> nitric.proto.kvstore.v1.KvStoreSetRequest + 7, // 10: nitric.proto.kvstore.v1.KvStore.DeleteKey:input_type -> nitric.proto.kvstore.v1.KvStoreDeleteRequest 9, // 11: nitric.proto.kvstore.v1.KvStore.Keys:input_type -> nitric.proto.kvstore.v1.KvStoreKeysRequest - 4, // 12: nitric.proto.kvstore.v1.KvStore.Get:output_type -> nitric.proto.kvstore.v1.KvStoreGetResponse - 6, // 13: nitric.proto.kvstore.v1.KvStore.Set:output_type -> nitric.proto.kvstore.v1.KvStoreSetResponse - 8, // 14: nitric.proto.kvstore.v1.KvStore.Delete:output_type -> nitric.proto.kvstore.v1.KvStoreDeleteResponse + 4, // 12: nitric.proto.kvstore.v1.KvStore.GetKey:output_type -> nitric.proto.kvstore.v1.KvStoreGetResponse + 6, // 13: nitric.proto.kvstore.v1.KvStore.SetKey:output_type -> nitric.proto.kvstore.v1.KvStoreSetResponse + 8, // 14: nitric.proto.kvstore.v1.KvStore.DeleteKey:output_type -> nitric.proto.kvstore.v1.KvStoreDeleteResponse 10, // 15: nitric.proto.kvstore.v1.KvStore.Keys:output_type -> nitric.proto.kvstore.v1.KvStoreKeysResponse 12, // [12:16] is the sub-list for method output_type 8, // [8:12] is the sub-list for method input_type diff --git a/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go b/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go index 3c8564322..f3f95535b 100644 --- a/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go +++ b/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go @@ -23,11 +23,11 @@ const _ = grpc.SupportPackageIsVersion7 // 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 KvStoreClient interface { // Get an existing value - Get(ctx context.Context, in *KvStoreGetRequest, opts ...grpc.CallOption) (*KvStoreGetResponse, error) + GetKey(ctx context.Context, in *KvStoreGetRequest, opts ...grpc.CallOption) (*KvStoreGetResponse, error) // Create a new or overwrite an existing value - Set(ctx context.Context, in *KvStoreSetRequest, opts ...grpc.CallOption) (*KvStoreSetResponse, error) + SetKey(ctx context.Context, in *KvStoreSetRequest, opts ...grpc.CallOption) (*KvStoreSetResponse, error) // Delete a key and its value - Delete(ctx context.Context, in *KvStoreDeleteRequest, opts ...grpc.CallOption) (*KvStoreDeleteResponse, error) + DeleteKey(ctx context.Context, in *KvStoreDeleteRequest, opts ...grpc.CallOption) (*KvStoreDeleteResponse, error) // Iterate over all keys in a store Keys(ctx context.Context, in *KvStoreKeysRequest, opts ...grpc.CallOption) (KvStore_KeysClient, error) } @@ -40,27 +40,27 @@ func NewKvStoreClient(cc grpc.ClientConnInterface) KvStoreClient { return &kvStoreClient{cc} } -func (c *kvStoreClient) Get(ctx context.Context, in *KvStoreGetRequest, opts ...grpc.CallOption) (*KvStoreGetResponse, error) { +func (c *kvStoreClient) GetKey(ctx context.Context, in *KvStoreGetRequest, opts ...grpc.CallOption) (*KvStoreGetResponse, error) { out := new(KvStoreGetResponse) - err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/Get", in, out, opts...) + err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/GetKey", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *kvStoreClient) Set(ctx context.Context, in *KvStoreSetRequest, opts ...grpc.CallOption) (*KvStoreSetResponse, error) { +func (c *kvStoreClient) SetKey(ctx context.Context, in *KvStoreSetRequest, opts ...grpc.CallOption) (*KvStoreSetResponse, error) { out := new(KvStoreSetResponse) - err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/Set", in, out, opts...) + err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/SetKey", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *kvStoreClient) Delete(ctx context.Context, in *KvStoreDeleteRequest, opts ...grpc.CallOption) (*KvStoreDeleteResponse, error) { +func (c *kvStoreClient) DeleteKey(ctx context.Context, in *KvStoreDeleteRequest, opts ...grpc.CallOption) (*KvStoreDeleteResponse, error) { out := new(KvStoreDeleteResponse) - err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/Delete", in, out, opts...) + err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/DeleteKey", in, out, opts...) if err != nil { return nil, err } @@ -104,11 +104,11 @@ func (x *kvStoreKeysClient) Recv() (*KvStoreKeysResponse, error) { // for forward compatibility type KvStoreServer interface { // Get an existing value - Get(context.Context, *KvStoreGetRequest) (*KvStoreGetResponse, error) + GetKey(context.Context, *KvStoreGetRequest) (*KvStoreGetResponse, error) // Create a new or overwrite an existing value - Set(context.Context, *KvStoreSetRequest) (*KvStoreSetResponse, error) + SetKey(context.Context, *KvStoreSetRequest) (*KvStoreSetResponse, error) // Delete a key and its value - Delete(context.Context, *KvStoreDeleteRequest) (*KvStoreDeleteResponse, error) + DeleteKey(context.Context, *KvStoreDeleteRequest) (*KvStoreDeleteResponse, error) // Iterate over all keys in a store Keys(*KvStoreKeysRequest, KvStore_KeysServer) error } @@ -117,14 +117,14 @@ type KvStoreServer interface { type UnimplementedKvStoreServer struct { } -func (UnimplementedKvStoreServer) Get(context.Context, *KvStoreGetRequest) (*KvStoreGetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") +func (UnimplementedKvStoreServer) GetKey(context.Context, *KvStoreGetRequest) (*KvStoreGetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetKey not implemented") } -func (UnimplementedKvStoreServer) Set(context.Context, *KvStoreSetRequest) (*KvStoreSetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Set not implemented") +func (UnimplementedKvStoreServer) SetKey(context.Context, *KvStoreSetRequest) (*KvStoreSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetKey not implemented") } -func (UnimplementedKvStoreServer) Delete(context.Context, *KvStoreDeleteRequest) (*KvStoreDeleteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") +func (UnimplementedKvStoreServer) DeleteKey(context.Context, *KvStoreDeleteRequest) (*KvStoreDeleteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteKey not implemented") } func (UnimplementedKvStoreServer) Keys(*KvStoreKeysRequest, KvStore_KeysServer) error { return status.Errorf(codes.Unimplemented, "method Keys not implemented") @@ -141,56 +141,56 @@ func RegisterKvStoreServer(s grpc.ServiceRegistrar, srv KvStoreServer) { s.RegisterService(&KvStore_ServiceDesc, srv) } -func _KvStore_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _KvStore_GetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(KvStoreGetRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(KvStoreServer).Get(ctx, in) + return srv.(KvStoreServer).GetKey(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nitric.proto.kvstore.v1.KvStore/Get", + FullMethod: "/nitric.proto.kvstore.v1.KvStore/GetKey", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(KvStoreServer).Get(ctx, req.(*KvStoreGetRequest)) + return srv.(KvStoreServer).GetKey(ctx, req.(*KvStoreGetRequest)) } return interceptor(ctx, in, info, handler) } -func _KvStore_Set_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _KvStore_SetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(KvStoreSetRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(KvStoreServer).Set(ctx, in) + return srv.(KvStoreServer).SetKey(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nitric.proto.kvstore.v1.KvStore/Set", + FullMethod: "/nitric.proto.kvstore.v1.KvStore/SetKey", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(KvStoreServer).Set(ctx, req.(*KvStoreSetRequest)) + return srv.(KvStoreServer).SetKey(ctx, req.(*KvStoreSetRequest)) } return interceptor(ctx, in, info, handler) } -func _KvStore_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _KvStore_DeleteKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(KvStoreDeleteRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(KvStoreServer).Delete(ctx, in) + return srv.(KvStoreServer).DeleteKey(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nitric.proto.kvstore.v1.KvStore/Delete", + FullMethod: "/nitric.proto.kvstore.v1.KvStore/DeleteKey", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(KvStoreServer).Delete(ctx, req.(*KvStoreDeleteRequest)) + return srv.(KvStoreServer).DeleteKey(ctx, req.(*KvStoreDeleteRequest)) } return interceptor(ctx, in, info, handler) } @@ -224,16 +224,16 @@ var KvStore_ServiceDesc = grpc.ServiceDesc{ HandlerType: (*KvStoreServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "Get", - Handler: _KvStore_Get_Handler, + MethodName: "GetKey", + Handler: _KvStore_GetKey_Handler, }, { - MethodName: "Set", - Handler: _KvStore_Set_Handler, + MethodName: "SetKey", + Handler: _KvStore_SetKey_Handler, }, { - MethodName: "Delete", - Handler: _KvStore_Delete_Handler, + MethodName: "DeleteKey", + Handler: _KvStore_DeleteKey_Handler, }, }, Streams: []grpc.StreamDesc{ diff --git a/nitric/proto/kvstore/v1/kvstore.proto b/nitric/proto/kvstore/v1/kvstore.proto index 754d5bef2..743a8e6ee 100644 --- a/nitric/proto/kvstore/v1/kvstore.proto +++ b/nitric/proto/kvstore/v1/kvstore.proto @@ -15,13 +15,13 @@ option csharp_namespace = "Nitric.Proto.KvStore.v1"; // Service for storage and retrieval of simple JSON keyValue service KvStore { // Get an existing value - rpc Get (KvStoreGetRequest) returns (KvStoreGetResponse); + rpc GetKey (KvStoreGetRequest) returns (KvStoreGetResponse); // Create a new or overwrite an existing value - rpc Set (KvStoreSetRequest) returns (KvStoreSetResponse); + rpc SetKey (KvStoreSetRequest) returns (KvStoreSetResponse); // Delete a key and its value - rpc Delete (KvStoreDeleteRequest) returns (KvStoreDeleteResponse); + rpc DeleteKey (KvStoreDeleteRequest) returns (KvStoreDeleteResponse); // Iterate over all keys in a store rpc Keys (KvStoreKeysRequest) returns (stream KvStoreKeysResponse); From f88075156d5b5a16c36da7f97583e1896b4fd609 Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Thu, 29 Feb 2024 09:20:14 +1100 Subject: [PATCH 13/24] Implement keyvalue compatibility layer --- core/pkg/decorators/keyvalue/keyvalue.go | 2 +- core/pkg/decorators/keyvalue/validate_test.go | 6 +- core/pkg/decorators/keyvalue_compat.go | 77 +++++++++++++++++++ core/pkg/membrane/membrane.go | 7 +- core/pkg/proto/keyvalue/v1/keyvalue.pb.go | 45 +++++------ .../pkg/proto/keyvalue/v1/keyvalue_grpc.pb.go | 68 +--------------- nitric/proto/keyvalue/v1/keyvalue.proto | 3 - 7 files changed, 105 insertions(+), 103 deletions(-) create mode 100644 core/pkg/decorators/keyvalue_compat.go diff --git a/core/pkg/decorators/keyvalue/keyvalue.go b/core/pkg/decorators/keyvalue/keyvalue.go index b5a70ff38..c4cb8e4e5 100644 --- a/core/pkg/decorators/keyvalue/keyvalue.go +++ b/core/pkg/decorators/keyvalue/keyvalue.go @@ -17,7 +17,7 @@ package keyvalue import ( "fmt" - v1 "github.com/nitrictech/nitric/core/pkg/proto/keyvalue/v1" + v1 "github.com/nitrictech/nitric/core/pkg/proto/kvstore/v1" ) // Map of valid expression operators diff --git a/core/pkg/decorators/keyvalue/validate_test.go b/core/pkg/decorators/keyvalue/validate_test.go index c9063c187..b11a537c5 100644 --- a/core/pkg/decorators/keyvalue/validate_test.go +++ b/core/pkg/decorators/keyvalue/validate_test.go @@ -15,7 +15,7 @@ package keyvalue_test import ( document "github.com/nitrictech/nitric/core/pkg/decorators/keyvalue" - keyvaluepb "github.com/nitrictech/nitric/core/pkg/proto/keyvalue/v1" + kvstorepb "github.com/nitrictech/nitric/core/pkg/proto/kvstore/v1" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" @@ -33,13 +33,13 @@ var _ = Describe("Document Plugin", func() { }) When("Blank key.Collection", func() { It("should return error", func() { - err := document.ValidateValueRef(&keyvaluepb.ValueRef{}) + err := document.ValidateValueRef(&kvstorepb.ValueRef{}) Expect(err.Error()).To(ContainSubstring("provide non-blank key.Id")) }) }) When("Blank key.Id", func() { It("should return error", func() { - key := &keyvaluepb.ValueRef{ + key := &kvstorepb.ValueRef{ Store: "users", } err := document.ValidateValueRef(key) diff --git a/core/pkg/decorators/keyvalue_compat.go b/core/pkg/decorators/keyvalue_compat.go new file mode 100644 index 000000000..ea479210b --- /dev/null +++ b/core/pkg/decorators/keyvalue_compat.go @@ -0,0 +1,77 @@ +package decorators + +import ( + "context" + + keyvaluepb "github.com/nitrictech/nitric/core/pkg/proto/keyvalue/v1" + kvstorepb "github.com/nitrictech/nitric/core/pkg/proto/kvstore/v1" +) + +// KvStoreCompat - Compatibility layer for the KvStore service +type KvStoreCompat struct { + kvstorepb.KvStoreServer +} + +var _ keyvaluepb.KeyValueServer = (*KvStoreCompat)(nil) + +// Get an existing value +func (k *KvStoreCompat) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequest) (*keyvaluepb.KeyValueGetResponse, error) { + resp, err := k.GetKey(ctx, &kvstorepb.KvStoreGetRequest{ + Ref: &kvstorepb.ValueRef{ + Key: req.Ref.Key, + Store: req.Ref.Store, + }, + }) + + if err != nil { + return nil, err + } + + return &keyvaluepb.KeyValueGetResponse{ + Value: &keyvaluepb.Value{ + Ref: &keyvaluepb.ValueRef{ + Key: resp.Value.Ref.Key, + Store: resp.Value.Ref.Store, + }, + Content: resp.Value.Content, + }, + }, nil +} + +// Create a new or overwrite an existing value +func (k *KvStoreCompat) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequest) (*keyvaluepb.KeyValueSetResponse, error) { + _, err := k.SetKey(ctx, &kvstorepb.KvStoreSetRequest{ + Ref: &kvstorepb.ValueRef{ + Key: req.Ref.Key, + Store: req.Ref.Store, + }, + }) + + if err != nil { + return nil, err + } + + return &keyvaluepb.KeyValueSetResponse{}, nil +} + +// Delete a key and its value +func (k *KvStoreCompat) Delete(ctx context.Context, req *keyvaluepb.KeyValueDeleteRequest) (*keyvaluepb.KeyValueDeleteResponse, error) { + _, err := k.DeleteKey(ctx, &kvstorepb.KvStoreDeleteRequest{ + Ref: &kvstorepb.ValueRef{ + Key: req.Ref.Key, + Store: req.Ref.Store, + }, + }) + + if err != nil { + return nil, err + } + + return &keyvaluepb.KeyValueDeleteResponse{}, nil +} + +func KeyValueServerWithCompat(srv kvstorepb.KvStoreServer) *KvStoreCompat { + return &KvStoreCompat{ + KvStoreServer: srv, + } +} diff --git a/core/pkg/membrane/membrane.go b/core/pkg/membrane/membrane.go index c7cf4e543..5793b5c9d 100644 --- a/core/pkg/membrane/membrane.go +++ b/core/pkg/membrane/membrane.go @@ -30,6 +30,7 @@ import ( apispb "github.com/nitrictech/nitric/core/pkg/proto/apis/v1" httppb "github.com/nitrictech/nitric/core/pkg/proto/http/v1" keyvaluepb "github.com/nitrictech/nitric/core/pkg/proto/keyvalue/v1" + kvstorepb "github.com/nitrictech/nitric/core/pkg/proto/kvstore/v1" queuespb "github.com/nitrictech/nitric/core/pkg/proto/queues/v1" resourcespb "github.com/nitrictech/nitric/core/pkg/proto/resources/v1" schedulespb "github.com/nitrictech/nitric/core/pkg/proto/schedules/v1" @@ -62,7 +63,7 @@ type MembraneOptions struct { MinWorkers *int // Resource access plugins - KeyValuePlugin keyvaluepb.KeyValueServer + KeyValuePlugin kvstorepb.KvStoreServer TopicsPlugin topicspb.TopicsServer StoragePlugin storagepb.StorageServer SecretManagerPlugin secretspb.SecretManagerServer @@ -193,8 +194,10 @@ func (s *Membrane) Start(startOpts ...MembraneStartOptions) error { // Load & Register the service plugins secretsServerWithValidation := decorators.SecretsServerWithValidation(s.options.SecretManagerPlugin) + keyvalueServerWithCompat := decorators.KeyValueServerWithCompat(s.options.KeyValuePlugin) - keyvaluepb.RegisterKeyValueServer(s.grpcServer, s.options.KeyValuePlugin) + kvstorepb.RegisterKvStoreServer(s.grpcServer, keyvalueServerWithCompat) + keyvaluepb.RegisterKeyValueServer(s.grpcServer, keyvalueServerWithCompat) topicspb.RegisterTopicsServer(s.grpcServer, s.options.TopicsPlugin) storagepb.RegisterStorageServer(s.grpcServer, s.options.StoragePlugin) secretspb.RegisterSecretManagerServer(s.grpcServer, secretsServerWithValidation) diff --git a/core/pkg/proto/keyvalue/v1/keyvalue.pb.go b/core/pkg/proto/keyvalue/v1/keyvalue.pb.go index 1c5f0625e..05da360ff 100644 --- a/core/pkg/proto/keyvalue/v1/keyvalue.pb.go +++ b/core/pkg/proto/keyvalue/v1/keyvalue.pb.go @@ -623,7 +623,7 @@ var file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDesc = []byte{ 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x28, 0x0a, 0x14, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x32, 0xa8, 0x03, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x32, 0xbf, 0x02, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x62, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2c, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, @@ -643,25 +643,18 @@ var file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDesc = []byte{ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x67, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2d, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0xa3, 0x01, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, - 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x65, 0x79, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x63, 0x68, 0x2f, 0x6e, 0x69, 0x74, 0x72, - 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x6b, 0x65, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x4b, 0x65, - 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x18, 0x4e, 0x69, 0x74, 0x72, 0x69, - 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x76, 0x31, 0xca, 0x02, 0x18, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x5c, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x5c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, + 0xa3, 0x01, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x65, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x42, + 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, + 0x63, 0x68, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6b, 0x65, 0x79, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x70, 0x62, 0xaa, + 0x02, 0x18, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, + 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0xca, 0x02, 0x18, 0x4e, 0x69, 0x74, + 0x72, 0x69, 0x63, 0x5c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -703,13 +696,11 @@ var file_nitric_proto_keyvalue_v1_keyvalue_proto_depIdxs = []int32{ 3, // 8: nitric.proto.KeyValue.v1.KeyValue.Get:input_type -> nitric.proto.KeyValue.v1.KeyValueGetRequest 5, // 9: nitric.proto.KeyValue.v1.KeyValue.Set:input_type -> nitric.proto.KeyValue.v1.KeyValueSetRequest 7, // 10: nitric.proto.KeyValue.v1.KeyValue.Delete:input_type -> nitric.proto.KeyValue.v1.KeyValueDeleteRequest - 9, // 11: nitric.proto.KeyValue.v1.KeyValue.Keys:input_type -> nitric.proto.KeyValue.v1.KeyValueKeysRequest - 4, // 12: nitric.proto.KeyValue.v1.KeyValue.Get:output_type -> nitric.proto.KeyValue.v1.KeyValueGetResponse - 6, // 13: nitric.proto.KeyValue.v1.KeyValue.Set:output_type -> nitric.proto.KeyValue.v1.KeyValueSetResponse - 8, // 14: nitric.proto.KeyValue.v1.KeyValue.Delete:output_type -> nitric.proto.KeyValue.v1.KeyValueDeleteResponse - 10, // 15: nitric.proto.KeyValue.v1.KeyValue.Keys:output_type -> nitric.proto.KeyValue.v1.KeyValueKeysResponse - 12, // [12:16] is the sub-list for method output_type - 8, // [8:12] is the sub-list for method input_type + 4, // 11: nitric.proto.KeyValue.v1.KeyValue.Get:output_type -> nitric.proto.KeyValue.v1.KeyValueGetResponse + 6, // 12: nitric.proto.KeyValue.v1.KeyValue.Set:output_type -> nitric.proto.KeyValue.v1.KeyValueSetResponse + 8, // 13: nitric.proto.KeyValue.v1.KeyValue.Delete:output_type -> nitric.proto.KeyValue.v1.KeyValueDeleteResponse + 11, // [11:14] is the sub-list for method output_type + 8, // [8:11] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name diff --git a/core/pkg/proto/keyvalue/v1/keyvalue_grpc.pb.go b/core/pkg/proto/keyvalue/v1/keyvalue_grpc.pb.go index 95550d448..83c453a65 100644 --- a/core/pkg/proto/keyvalue/v1/keyvalue_grpc.pb.go +++ b/core/pkg/proto/keyvalue/v1/keyvalue_grpc.pb.go @@ -28,8 +28,6 @@ type KeyValueClient interface { Set(ctx context.Context, in *KeyValueSetRequest, opts ...grpc.CallOption) (*KeyValueSetResponse, error) // Delete a key and its value Delete(ctx context.Context, in *KeyValueDeleteRequest, opts ...grpc.CallOption) (*KeyValueDeleteResponse, error) - // Iterate over all keys in a store - Keys(ctx context.Context, in *KeyValueKeysRequest, opts ...grpc.CallOption) (KeyValue_KeysClient, error) } type keyValueClient struct { @@ -67,38 +65,6 @@ func (c *keyValueClient) Delete(ctx context.Context, in *KeyValueDeleteRequest, return out, nil } -func (c *keyValueClient) Keys(ctx context.Context, in *KeyValueKeysRequest, opts ...grpc.CallOption) (KeyValue_KeysClient, error) { - stream, err := c.cc.NewStream(ctx, &KeyValue_ServiceDesc.Streams[0], "/nitric.proto.KeyValue.v1.KeyValue/Keys", opts...) - if err != nil { - return nil, err - } - x := &keyValueKeysClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type KeyValue_KeysClient interface { - Recv() (*KeyValueKeysResponse, error) - grpc.ClientStream -} - -type keyValueKeysClient struct { - grpc.ClientStream -} - -func (x *keyValueKeysClient) Recv() (*KeyValueKeysResponse, error) { - m := new(KeyValueKeysResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - // KeyValueServer is the server API for KeyValue service. // All implementations should embed UnimplementedKeyValueServer // for forward compatibility @@ -109,8 +75,6 @@ type KeyValueServer interface { Set(context.Context, *KeyValueSetRequest) (*KeyValueSetResponse, error) // Delete a key and its value Delete(context.Context, *KeyValueDeleteRequest) (*KeyValueDeleteResponse, error) - // Iterate over all keys in a store - Keys(*KeyValueKeysRequest, KeyValue_KeysServer) error } // UnimplementedKeyValueServer should be embedded to have forward compatible implementations. @@ -126,9 +90,6 @@ func (UnimplementedKeyValueServer) Set(context.Context, *KeyValueSetRequest) (*K func (UnimplementedKeyValueServer) Delete(context.Context, *KeyValueDeleteRequest) (*KeyValueDeleteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") } -func (UnimplementedKeyValueServer) Keys(*KeyValueKeysRequest, KeyValue_KeysServer) error { - return status.Errorf(codes.Unimplemented, "method Keys not implemented") -} // UnsafeKeyValueServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to KeyValueServer will @@ -195,27 +156,6 @@ func _KeyValue_Delete_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } -func _KeyValue_Keys_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(KeyValueKeysRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(KeyValueServer).Keys(m, &keyValueKeysServer{stream}) -} - -type KeyValue_KeysServer interface { - Send(*KeyValueKeysResponse) error - grpc.ServerStream -} - -type keyValueKeysServer struct { - grpc.ServerStream -} - -func (x *keyValueKeysServer) Send(m *KeyValueKeysResponse) error { - return x.ServerStream.SendMsg(m) -} - // KeyValue_ServiceDesc is the grpc.ServiceDesc for KeyValue service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -236,12 +176,6 @@ var KeyValue_ServiceDesc = grpc.ServiceDesc{ Handler: _KeyValue_Delete_Handler, }, }, - Streams: []grpc.StreamDesc{ - { - StreamName: "Keys", - Handler: _KeyValue_Keys_Handler, - ServerStreams: true, - }, - }, + Streams: []grpc.StreamDesc{}, Metadata: "nitric/proto/keyvalue/v1/keyvalue.proto", } diff --git a/nitric/proto/keyvalue/v1/keyvalue.proto b/nitric/proto/keyvalue/v1/keyvalue.proto index 509d94a07..f69f884bc 100644 --- a/nitric/proto/keyvalue/v1/keyvalue.proto +++ b/nitric/proto/keyvalue/v1/keyvalue.proto @@ -22,9 +22,6 @@ service KeyValue { // Delete a key and its value rpc Delete (KeyValueDeleteRequest) returns (KeyValueDeleteResponse); - - // Iterate over all keys in a store - rpc Keys (KeyValueKeysRequest) returns (stream KeyValueKeysResponse); } // Provides a Key/Value Store From 6d9c36a5ad8699f265fcd3ec8b34af0b9bb5618f Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Thu, 29 Feb 2024 09:33:54 +1100 Subject: [PATCH 14/24] remove keys request/response models. --- core/pkg/proto/keyvalue/v1/keyvalue.pb.go | 175 +++------------------- nitric/proto/keyvalue/v1/keyvalue.proto | 13 -- 2 files changed, 17 insertions(+), 171 deletions(-) diff --git a/core/pkg/proto/keyvalue/v1/keyvalue.pb.go b/core/pkg/proto/keyvalue/v1/keyvalue.pb.go index 05da360ff..82021e522 100644 --- a/core/pkg/proto/keyvalue/v1/keyvalue.pb.go +++ b/core/pkg/proto/keyvalue/v1/keyvalue.pb.go @@ -463,111 +463,6 @@ func (*KeyValueDeleteResponse) Descriptor() ([]byte, []int) { return file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDescGZIP(), []int{8} } -type KeyValueKeysRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The store to iterate over - Store *Store `protobuf:"bytes,1,opt,name=store,proto3" json:"store,omitempty"` - // The prefix to filter keys by - Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` -} - -func (x *KeyValueKeysRequest) Reset() { - *x = KeyValueKeysRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KeyValueKeysRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KeyValueKeysRequest) ProtoMessage() {} - -func (x *KeyValueKeysRequest) ProtoReflect() protoreflect.Message { - mi := &file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KeyValueKeysRequest.ProtoReflect.Descriptor instead. -func (*KeyValueKeysRequest) Descriptor() ([]byte, []int) { - return file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDescGZIP(), []int{9} -} - -func (x *KeyValueKeysRequest) GetStore() *Store { - if x != nil { - return x.Store - } - return nil -} - -func (x *KeyValueKeysRequest) GetPrefix() string { - if x != nil { - return x.Prefix - } - return "" -} - -type KeyValueKeysResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The key of the key/value pair - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` -} - -func (x *KeyValueKeysResponse) Reset() { - *x = KeyValueKeysResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KeyValueKeysResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KeyValueKeysResponse) ProtoMessage() {} - -func (x *KeyValueKeysResponse) ProtoReflect() protoreflect.Message { - mi := &file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KeyValueKeysResponse.ProtoReflect.Descriptor instead. -func (*KeyValueKeysResponse) Descriptor() ([]byte, []int) { - return file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDescGZIP(), []int{10} -} - -func (x *KeyValueKeysResponse) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - var File_nitric_proto_keyvalue_v1_keyvalue_proto protoreflect.FileDescriptor var file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDesc = []byte{ @@ -614,16 +509,7 @@ var file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDesc = []byte{ 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x18, 0x0a, 0x16, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, - 0x13, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x22, 0x28, 0x0a, 0x14, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4b, - 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x32, 0xbf, 0x02, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xbf, 0x02, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x62, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2c, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, @@ -669,7 +555,7 @@ func file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDescGZIP() []byte { return file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDescData } -var file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_nitric_proto_keyvalue_v1_keyvalue_proto_goTypes = []interface{}{ (*Store)(nil), // 0: nitric.proto.KeyValue.v1.Store (*ValueRef)(nil), // 1: nitric.proto.KeyValue.v1.ValueRef @@ -680,30 +566,27 @@ var file_nitric_proto_keyvalue_v1_keyvalue_proto_goTypes = []interface{}{ (*KeyValueSetResponse)(nil), // 6: nitric.proto.KeyValue.v1.KeyValueSetResponse (*KeyValueDeleteRequest)(nil), // 7: nitric.proto.KeyValue.v1.KeyValueDeleteRequest (*KeyValueDeleteResponse)(nil), // 8: nitric.proto.KeyValue.v1.KeyValueDeleteResponse - (*KeyValueKeysRequest)(nil), // 9: nitric.proto.KeyValue.v1.KeyValueKeysRequest - (*KeyValueKeysResponse)(nil), // 10: nitric.proto.KeyValue.v1.KeyValueKeysResponse - (*structpb.Struct)(nil), // 11: google.protobuf.Struct + (*structpb.Struct)(nil), // 9: google.protobuf.Struct } var file_nitric_proto_keyvalue_v1_keyvalue_proto_depIdxs = []int32{ 1, // 0: nitric.proto.KeyValue.v1.Value.ref:type_name -> nitric.proto.KeyValue.v1.ValueRef - 11, // 1: nitric.proto.KeyValue.v1.Value.content:type_name -> google.protobuf.Struct + 9, // 1: nitric.proto.KeyValue.v1.Value.content:type_name -> google.protobuf.Struct 1, // 2: nitric.proto.KeyValue.v1.KeyValueGetRequest.ref:type_name -> nitric.proto.KeyValue.v1.ValueRef 2, // 3: nitric.proto.KeyValue.v1.KeyValueGetResponse.value:type_name -> nitric.proto.KeyValue.v1.Value 1, // 4: nitric.proto.KeyValue.v1.KeyValueSetRequest.ref:type_name -> nitric.proto.KeyValue.v1.ValueRef - 11, // 5: nitric.proto.KeyValue.v1.KeyValueSetRequest.content:type_name -> google.protobuf.Struct + 9, // 5: nitric.proto.KeyValue.v1.KeyValueSetRequest.content:type_name -> google.protobuf.Struct 1, // 6: nitric.proto.KeyValue.v1.KeyValueDeleteRequest.ref:type_name -> nitric.proto.KeyValue.v1.ValueRef - 0, // 7: nitric.proto.KeyValue.v1.KeyValueKeysRequest.store:type_name -> nitric.proto.KeyValue.v1.Store - 3, // 8: nitric.proto.KeyValue.v1.KeyValue.Get:input_type -> nitric.proto.KeyValue.v1.KeyValueGetRequest - 5, // 9: nitric.proto.KeyValue.v1.KeyValue.Set:input_type -> nitric.proto.KeyValue.v1.KeyValueSetRequest - 7, // 10: nitric.proto.KeyValue.v1.KeyValue.Delete:input_type -> nitric.proto.KeyValue.v1.KeyValueDeleteRequest - 4, // 11: nitric.proto.KeyValue.v1.KeyValue.Get:output_type -> nitric.proto.KeyValue.v1.KeyValueGetResponse - 6, // 12: nitric.proto.KeyValue.v1.KeyValue.Set:output_type -> nitric.proto.KeyValue.v1.KeyValueSetResponse - 8, // 13: nitric.proto.KeyValue.v1.KeyValue.Delete:output_type -> nitric.proto.KeyValue.v1.KeyValueDeleteResponse - 11, // [11:14] is the sub-list for method output_type - 8, // [8:11] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 3, // 7: nitric.proto.KeyValue.v1.KeyValue.Get:input_type -> nitric.proto.KeyValue.v1.KeyValueGetRequest + 5, // 8: nitric.proto.KeyValue.v1.KeyValue.Set:input_type -> nitric.proto.KeyValue.v1.KeyValueSetRequest + 7, // 9: nitric.proto.KeyValue.v1.KeyValue.Delete:input_type -> nitric.proto.KeyValue.v1.KeyValueDeleteRequest + 4, // 10: nitric.proto.KeyValue.v1.KeyValue.Get:output_type -> nitric.proto.KeyValue.v1.KeyValueGetResponse + 6, // 11: nitric.proto.KeyValue.v1.KeyValue.Set:output_type -> nitric.proto.KeyValue.v1.KeyValueSetResponse + 8, // 12: nitric.proto.KeyValue.v1.KeyValue.Delete:output_type -> nitric.proto.KeyValue.v1.KeyValueDeleteResponse + 10, // [10:13] is the sub-list for method output_type + 7, // [7:10] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_nitric_proto_keyvalue_v1_keyvalue_proto_init() } @@ -820,30 +703,6 @@ func file_nitric_proto_keyvalue_v1_keyvalue_proto_init() { return nil } } - file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeyValueKeysRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_nitric_proto_keyvalue_v1_keyvalue_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeyValueKeysResponse); 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{ @@ -851,7 +710,7 @@ func file_nitric_proto_keyvalue_v1_keyvalue_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_nitric_proto_keyvalue_v1_keyvalue_proto_rawDesc, NumEnums: 0, - NumMessages: 11, + NumMessages: 9, NumExtensions: 0, NumServices: 1, }, diff --git a/nitric/proto/keyvalue/v1/keyvalue.proto b/nitric/proto/keyvalue/v1/keyvalue.proto index f69f884bc..1ef0e29bb 100644 --- a/nitric/proto/keyvalue/v1/keyvalue.proto +++ b/nitric/proto/keyvalue/v1/keyvalue.proto @@ -73,16 +73,3 @@ message KeyValueDeleteRequest { } message KeyValueDeleteResponse {} - -message KeyValueKeysRequest { - // The store to iterate over - Store store = 1; - - // The prefix to filter keys by - string prefix = 2; -} - -message KeyValueKeysResponse { - // The key of the key/value pair - string key = 1; -} From 0cebb80de146dfde19ffa62d04abb6b26e96b858 Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Thu, 29 Feb 2024 09:34:22 +1100 Subject: [PATCH 15/24] finalise wrappers. --- cloud/aws/runtime/keyvalue/dynamodb.go | 29 ++++++++++++----------- cloud/azure/runtime/keyvalue/keyvalue.go | 30 ++++++++++++------------ cloud/gcp/runtime/keyvalue/firestore.go | 30 ++++++++++++------------ 3 files changed, 45 insertions(+), 44 deletions(-) diff --git a/cloud/aws/runtime/keyvalue/dynamodb.go b/cloud/aws/runtime/keyvalue/dynamodb.go index 28bf2bf78..efc053f17 100644 --- a/cloud/aws/runtime/keyvalue/dynamodb.go +++ b/cloud/aws/runtime/keyvalue/dynamodb.go @@ -35,7 +35,7 @@ import ( "github.com/nitrictech/nitric/cloud/aws/runtime/resource" document "github.com/nitrictech/nitric/core/pkg/decorators/keyvalue" grpc_errors "github.com/nitrictech/nitric/core/pkg/grpc/errors" - keyvaluepb "github.com/nitrictech/nitric/core/pkg/proto/keyvalue/v1" + kvstorepb "github.com/nitrictech/nitric/core/pkg/proto/kvstore/v1" ) const ( @@ -52,7 +52,8 @@ type DynamoKeyValueService struct { } // Ensure DynamoKeyValueService implements the KeyValueServer interface -var _ keyvaluepb.KeyValueServer = (*DynamoKeyValueService)(nil) +// var _ keyvaluepb.KeyValueServer = (*DynamoKeyValueService)(nil) +var _ kvstorepb.KvStoreServer = (*DynamoKeyValueService)(nil) func isDynamoAccessDeniedErr(err error) bool { var opErr *smithy.OperationError @@ -63,7 +64,7 @@ func isDynamoAccessDeniedErr(err error) bool { } // Get a document from the DynamoDB table -func (s *DynamoKeyValueService) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequest) (*keyvaluepb.KeyValueGetResponse, error) { +func (s *DynamoKeyValueService) GetKey(ctx context.Context, req *kvstorepb.KvStoreGetRequest) (*kvstorepb.KvStoreGetResponse, error) { newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Get") err := document.ValidateValueRef(req.Ref) @@ -142,8 +143,8 @@ func (s *DynamoKeyValueService) Get(ctx context.Context, req *keyvaluepb.KeyValu ) } - return &keyvaluepb.KeyValueGetResponse{ - Value: &keyvaluepb.Value{ + return &kvstorepb.KvStoreGetResponse{ + Value: &kvstorepb.Value{ Ref: req.Ref, Content: documentContent, }, @@ -151,7 +152,7 @@ func (s *DynamoKeyValueService) Get(ctx context.Context, req *keyvaluepb.KeyValu } // Set a document in the DynamoDB table -func (s *DynamoKeyValueService) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequest) (*keyvaluepb.KeyValueSetResponse, error) { +func (s *DynamoKeyValueService) SetKey(ctx context.Context, req *kvstorepb.KvStoreSetRequest) (*kvstorepb.KvStoreSetResponse, error) { newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Set") if err := document.ValidateValueRef(req.Ref); err != nil { @@ -212,11 +213,11 @@ func (s *DynamoKeyValueService) Set(ctx context.Context, req *keyvaluepb.KeyValu ) } - return &keyvaluepb.KeyValueSetResponse{}, nil + return &kvstorepb.KvStoreSetResponse{}, nil } // Delete a document from the DynamoDB table -func (s *DynamoKeyValueService) Delete(ctx context.Context, req *keyvaluepb.KeyValueDeleteRequest) (*keyvaluepb.KeyValueDeleteResponse, error) { +func (s *DynamoKeyValueService) DeleteKey(ctx context.Context, req *kvstorepb.KvStoreDeleteRequest) (*kvstorepb.KvStoreDeleteResponse, error) { newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Delete") if err := document.ValidateValueRef(req.Ref); err != nil { @@ -268,11 +269,11 @@ func (s *DynamoKeyValueService) Delete(ctx context.Context, req *keyvaluepb.KeyV ) } - return &keyvaluepb.KeyValueDeleteResponse{}, nil + return &kvstorepb.KvStoreDeleteResponse{}, nil } -func (s *DynamoKeyValueService) Keys(req *keyvaluepb.KeyValueKeysRequest, stream keyvaluepb.KeyValue_KeysServer) error { - newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Get") +func (s *DynamoKeyValueService) Keys(req *kvstorepb.KvStoreKeysRequest, stream kvstorepb.KvStore_KeysServer) error { + newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Keys") if req.Store.GetName() == "" { return newErr( @@ -342,7 +343,7 @@ func (s *DynamoKeyValueService) Keys(req *keyvaluepb.KeyValueKeysRequest, stream ) } - if err := stream.Send(&keyvaluepb.KeyValueKeysResponse{ + if err := stream.Send(&kvstorepb.KvStoreKeysResponse{ Key: itemMap[AttribPk].(string), }); err != nil { return newErr( @@ -387,7 +388,7 @@ func NewWithClient(provider resource.AwsResourceProvider, client *dynamodb.Clien }, nil } -func createKeyMap(ref *keyvaluepb.ValueRef) map[string]string { +func createKeyMap(ref *kvstorepb.ValueRef) map[string]string { keyMap := make(map[string]string) keyMap[AttribPk] = ref.Key @@ -396,7 +397,7 @@ func createKeyMap(ref *keyvaluepb.ValueRef) map[string]string { return keyMap } -func createItemMap(source map[string]interface{}, ref *keyvaluepb.ValueRef) map[string]interface{} { +func createItemMap(source map[string]interface{}, ref *kvstorepb.ValueRef) map[string]interface{} { // Copy map newMap := make(map[string]interface{}) for key, value := range source { diff --git a/cloud/azure/runtime/keyvalue/keyvalue.go b/cloud/azure/runtime/keyvalue/keyvalue.go index 852facc98..4b0ee3bab 100644 --- a/cloud/azure/runtime/keyvalue/keyvalue.go +++ b/cloud/azure/runtime/keyvalue/keyvalue.go @@ -27,7 +27,7 @@ import ( "github.com/nitrictech/nitric/cloud/azure/runtime/env" document "github.com/nitrictech/nitric/core/pkg/decorators/keyvalue" grpc_errors "github.com/nitrictech/nitric/core/pkg/grpc/errors" - keyvaluepb "github.com/nitrictech/nitric/core/pkg/proto/keyvalue/v1" + kvstorepb "github.com/nitrictech/nitric/core/pkg/proto/kvstore/v1" "github.com/pkg/errors" "google.golang.org/grpc/codes" "google.golang.org/protobuf/proto" @@ -40,7 +40,7 @@ type AzureStorageTableKeyValueService struct { } // Ensure AzureStorageTableKeyValueService implements the KeyValueServer interface -var _ keyvaluepb.KeyValueServer = (*AzureStorageTableKeyValueService)(nil) +var _ kvstorepb.KvStoreServer = (*AzureStorageTableKeyValueService)(nil) type AztableEntity struct { aztables.Entity @@ -49,8 +49,8 @@ type AztableEntity struct { } // Get a value from the Azure Storage table -func (s *AzureStorageTableKeyValueService) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequest) (*keyvaluepb.KeyValueGetResponse, error) { - newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.Get") +func (s *AzureStorageTableKeyValueService) GetKey(ctx context.Context, req *kvstorepb.KvStoreGetRequest) (*kvstorepb.KvStoreGetResponse, error) { + newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.GetKey") client, err := s.clientFactory(req.Ref.Store) if err != nil { return nil, newErr( @@ -118,8 +118,8 @@ func (s *AzureStorageTableKeyValueService) Get(ctx context.Context, req *keyvalu ) } - return &keyvaluepb.KeyValueGetResponse{ - Value: &keyvaluepb.Value{ + return &kvstorepb.KvStoreGetResponse{ + Value: &kvstorepb.Value{ Ref: req.Ref, Content: &structContent, }, @@ -127,8 +127,8 @@ func (s *AzureStorageTableKeyValueService) Get(ctx context.Context, req *keyvalu } // Set a value in the Azure Storage table -func (s *AzureStorageTableKeyValueService) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequest) (*keyvaluepb.KeyValueSetResponse, error) { - newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.Set") +func (s *AzureStorageTableKeyValueService) SetKey(ctx context.Context, req *kvstorepb.KvStoreSetRequest) (*kvstorepb.KvStoreSetResponse, error) { + newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.SetKeys") client, err := s.clientFactory(req.Ref.Store) if err != nil { return nil, newErr( @@ -197,12 +197,12 @@ func (s *AzureStorageTableKeyValueService) Set(ctx context.Context, req *keyvalu ) } - return &keyvaluepb.KeyValueSetResponse{}, nil + return &kvstorepb.KvStoreSetResponse{}, nil } // Delete a key/value pair from the Azure Storage table -func (s *AzureStorageTableKeyValueService) Delete(ctx context.Context, req *keyvaluepb.KeyValueDeleteRequest) (*keyvaluepb.KeyValueDeleteResponse, error) { - newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.Delete") +func (s *AzureStorageTableKeyValueService) DeleteKey(ctx context.Context, req *kvstorepb.KvStoreDeleteRequest) (*kvstorepb.KvStoreDeleteResponse, error) { + newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.DeleteKey") client, err := s.clientFactory(req.Ref.Store) if err != nil { return nil, newErr( @@ -227,7 +227,7 @@ func (s *AzureStorageTableKeyValueService) Delete(ctx context.Context, req *keyv switch respErr.StatusCode { case http.StatusNotFound: // not found isn't an error for delete - return &keyvaluepb.KeyValueDeleteResponse{}, nil + return &kvstorepb.KvStoreDeleteResponse{}, nil case http.StatusForbidden: // Handle forbidden error return nil, newErr( @@ -245,11 +245,11 @@ func (s *AzureStorageTableKeyValueService) Delete(ctx context.Context, req *keyv ) } - return &keyvaluepb.KeyValueDeleteResponse{}, nil + return &kvstorepb.KvStoreDeleteResponse{}, nil } // Return all keys in the Azure Storage table for a key/value store -func (s *AzureStorageTableKeyValueService) Keys(req *keyvaluepb.KeyValueKeysRequest, stream keyvaluepb.KeyValue_KeysServer) error { +func (s *AzureStorageTableKeyValueService) Keys(req *kvstorepb.KvStoreKeysRequest, stream kvstorepb.KvStore_KeysServer) error { newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.Keys") storeName := req.GetStore().GetName() @@ -312,7 +312,7 @@ func (s *AzureStorageTableKeyValueService) Keys(req *keyvaluepb.KeyValueKeysRequ ) } - if err := stream.Send(&keyvaluepb.KeyValueKeysResponse{ + if err := stream.Send(&kvstorepb.KvStoreKeysResponse{ Key: entity.RowKey, }); err != nil { return newErr( diff --git a/cloud/gcp/runtime/keyvalue/firestore.go b/cloud/gcp/runtime/keyvalue/firestore.go index 7e43d91bf..2796e23e1 100644 --- a/cloud/gcp/runtime/keyvalue/firestore.go +++ b/cloud/gcp/runtime/keyvalue/firestore.go @@ -21,7 +21,7 @@ import ( "github.com/nitrictech/nitric/core/pkg/decorators/keyvalue" grpc_errors "github.com/nitrictech/nitric/core/pkg/grpc/errors" - v1 "github.com/nitrictech/nitric/core/pkg/proto/keyvalue/v1" + v1 "github.com/nitrictech/nitric/core/pkg/proto/kvstore/v1" "google.golang.org/api/iterator" "google.golang.org/grpc/codes" @@ -37,10 +37,10 @@ type FirestoreDocService struct { client *firestore.Client } -var _ v1.KeyValueServer = &FirestoreDocService{} +var _ v1.KvStoreServer = &FirestoreDocService{} -func (s *FirestoreDocService) Get(ctx context.Context, req *v1.KeyValueGetRequest) (*v1.KeyValueGetResponse, error) { - newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.Get") +func (s *FirestoreDocService) GetKey(ctx context.Context, req *v1.KvStoreGetRequest) (*v1.KvStoreGetResponse, error) { + newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.GetKey") if err := keyvalue.ValidateValueRef(req.Ref); err != nil { return nil, newErr( @@ -85,7 +85,7 @@ func (s *FirestoreDocService) Get(ctx context.Context, req *v1.KeyValueGetReques ) } - return &v1.KeyValueGetResponse{ + return &v1.KvStoreGetResponse{ Value: &v1.Value{ Ref: req.Ref, Content: documentContent, @@ -93,8 +93,8 @@ func (s *FirestoreDocService) Get(ctx context.Context, req *v1.KeyValueGetReques }, nil } -func (s *FirestoreDocService) Set(ctx context.Context, req *v1.KeyValueSetRequest) (*v1.KeyValueSetResponse, error) { - newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.Set") +func (s *FirestoreDocService) SetKey(ctx context.Context, req *v1.KvStoreSetRequest) (*v1.KvStoreSetResponse, error) { + newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.SetKey") if err := keyvalue.ValidateValueRef(req.Ref); err != nil { return nil, newErr( @@ -130,11 +130,11 @@ func (s *FirestoreDocService) Set(ctx context.Context, req *v1.KeyValueSetReques ) } - return &v1.KeyValueSetResponse{}, nil + return &v1.KvStoreSetResponse{}, nil } -func (s *FirestoreDocService) Delete(ctx context.Context, req *v1.KeyValueDeleteRequest) (*v1.KeyValueDeleteResponse, error) { - newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.Delete") +func (s *FirestoreDocService) DeleteKey(ctx context.Context, req *v1.KvStoreDeleteRequest) (*v1.KvStoreDeleteResponse, error) { + newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.DeleteKey") if err := keyvalue.ValidateValueRef(req.Ref); err != nil { return nil, newErr( @@ -163,10 +163,10 @@ func (s *FirestoreDocService) Delete(ctx context.Context, req *v1.KeyValueDelete ) } - return &v1.KeyValueDeleteResponse{}, nil + return &v1.KvStoreDeleteResponse{}, nil } -func (s *FirestoreDocService) Keys(req *v1.KeyValueKeysRequest, stream v1.KeyValue_KeysServer) error { +func (s *FirestoreDocService) Keys(req *v1.KvStoreKeysRequest, stream v1.KvStore_KeysServer) error { newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.Keys") storeName := req.GetStore().GetName() @@ -201,7 +201,7 @@ func (s *FirestoreDocService) Keys(req *v1.KeyValueKeysRequest, stream v1.KeyVal continue } - if err := stream.Send(&v1.KeyValueKeysResponse{ + if err := stream.Send(&v1.KvStoreKeysResponse{ Key: doc.ID, }); err != nil { return newErr( @@ -215,7 +215,7 @@ func (s *FirestoreDocService) Keys(req *v1.KeyValueKeysRequest, stream v1.KeyVal return nil } -func New() (v1.KeyValueServer, error) { +func New() (v1.KvStoreServer, error) { ctx := context.Background() credentials, credentialsError := google.FindDefaultCredentials(ctx, pubsub.ScopeCloudPlatform) @@ -233,7 +233,7 @@ func New() (v1.KeyValueServer, error) { }, nil } -func NewWithClient(client *firestore.Client) (v1.KeyValueServer, error) { +func NewWithClient(client *firestore.Client) (v1.KvStoreServer, error) { return &FirestoreDocService{ client: client, }, nil From 09e01845255f589ddb483023454afae2a68f8832 Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Thu, 29 Feb 2024 09:58:24 +1100 Subject: [PATCH 16/24] add proto linting and regenerate sources. --- core/Makefile | 10 +- core/go.mod | 14 +- core/go.sum | 78 +++-- .../proto/deployments/v1/deployments.pb.go | 6 +- core/pkg/proto/topics/v1/topics.pb.go | 8 +- core/pkg/proto/websockets/v1/websockets.pb.go | 236 ++++++------- core/protolint.yaml | 23 ++ core/tools/tools.go | 1 + go.work.sum | 70 +--- nitric/proto/apis/v1/apis.proto | 15 +- nitric/proto/deployments/v1/deployments.proto | 328 +++++++++--------- nitric/proto/http/v1/http.proto | 11 +- nitric/proto/kvstore/v1/kvstore.proto | 6 +- nitric/proto/queues/v1/queues.proto | 3 +- nitric/proto/resources/v1/resources.proto | 18 +- nitric/proto/schedules/v1/schedules.proto | 6 +- nitric/proto/storage/v1/storage.proto | 16 +- nitric/proto/topics/v1/topics.proto | 8 +- nitric/proto/websockets/v1/websockets.proto | 42 ++- 19 files changed, 484 insertions(+), 415 deletions(-) create mode 100644 core/protolint.yaml diff --git a/core/Makefile b/core/Makefile index 828ad6891..b427f8b3f 100644 --- a/core/Makefile +++ b/core/Makefile @@ -21,7 +21,15 @@ fmt: @go run github.com/google/addlicense -c "Nitric Technologies Pty Ltd." -y "2021" $(sourcefiles) $(GOLANGCI_LINT) run --fix -lint: +lint-contracts: + @echo "Linting contracts" + @go run github.com/yoheimuta/protolint/cmd/protolint ../nitric/ + +lint-contracts-fix: + @echo "Linting contracts" + @go run github.com/yoheimuta/protolint/cmd/protolint -fix ../nitric/ + +lint: lint-contracts @go run github.com/google/addlicense -check -c "Nitric Technologies Pty Ltd." -y "2021" $(sourcefiles) $(GOLANGCI_LINT) run diff --git a/core/go.mod b/core/go.mod index 4ca1a61f5..646ed6a84 100644 --- a/core/go.mod +++ b/core/go.mod @@ -13,10 +13,6 @@ require ( github.com/onsi/gomega v1.28.1 github.com/pkg/errors v0.9.1 github.com/uw-labs/lichen v0.1.7 - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4 - go.opentelemetry.io/otel v1.11.2 - go.opentelemetry.io/otel/sdk v1.11.2 - go.opentelemetry.io/otel/trace v1.11.2 // indirect golang.org/x/net v0.20.0 // indirect google.golang.org/grpc v1.59.0 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0 @@ -25,6 +21,7 @@ require ( require ( github.com/valyala/fasthttp v1.45.0 + github.com/yoheimuta/protolint v0.47.6 golang.org/x/sync v0.6.0 ) @@ -75,10 +72,9 @@ require ( github.com/firefart/nonamedreturns v1.0.4 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/fzipp/gocyclo v0.6.0 // indirect + github.com/gertd/go-pluralize v0.2.0 // indirect github.com/ghostiam/protogetter v0.3.4 // indirect github.com/go-critic/go-critic v0.11.0 // indirect - github.com/go-logr/logr v1.2.4 // indirect - github.com/go-logr/stdr v1.2.2 // indirect github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect github.com/go-toolsmith/astcast v1.1.0 // indirect github.com/go-toolsmith/astcopy v1.1.0 // indirect @@ -109,9 +105,12 @@ require ( github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect github.com/gostaticanalysis/nilerr v0.1.1 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-hclog v1.2.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-plugin v1.4.3 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb // indirect github.com/hexops/gotextdiff v1.0.3 // indirect github.com/iancoleman/strcase v0.2.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect @@ -145,6 +144,7 @@ require ( github.com/mbilski/exhaustivestruct v1.2.0 // indirect github.com/mgechev/revive v1.3.7 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77 // indirect github.com/moricho/tparallel v0.3.1 // indirect github.com/muesli/termenv v0.15.2 // indirect github.com/nakabonne/nestif v0.3.1 // indirect @@ -152,6 +152,7 @@ require ( github.com/nishanths/predeclared v0.2.2 // indirect github.com/nunnatsa/ginkgolinter v0.15.2 // indirect github.com/nxadm/tail v1.4.8 // indirect + github.com/oklog/run v1.0.0 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.0.5 // indirect @@ -208,6 +209,7 @@ require ( github.com/yagipy/maintidx v1.0.0 // indirect github.com/yeya24/promlinter v0.2.0 // indirect github.com/ykadowak/zerologlint v0.1.5 // indirect + github.com/yoheimuta/go-protoparser/v4 v4.7.0 // indirect gitlab.com/bosi/decorder v0.4.1 // indirect go-simpler.org/musttag v0.8.0 // indirect go-simpler.org/sloglint v0.4.0 // indirect diff --git a/core/go.sum b/core/go.sum index a861c0f08..b41e34713 100644 --- a/core/go.sum +++ b/core/go.sum @@ -17,16 +17,12 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.110.10 h1:LXy9GEO+timppncPIAZoOj3l58LIU9k+kn48AN7IO3Y= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= -cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -40,6 +36,7 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/4meepo/tagalign v1.3.3 h1:ZsOxcwGD/jP4U/aw7qeWu58i7dwYemfy5Y+IF1ACoNw= +github.com/4meepo/tagalign v1.3.3/go.mod h1:Q9c1rYMZJc9dPRkbQPpcBNCLEmY2njbAsXhQOZFE2dE= github.com/Abirdcfly/dupword v0.0.13 h1:SMS17YXypwP000fA7Lr+kfyBQyW14tTT+nRv9ASwUUo= github.com/Abirdcfly/dupword v0.0.13/go.mod h1:Ut6Ue2KgF/kCOawpW4LnExT+xZLQviJPE4klBPMK/5Y= github.com/Antonboom/errname v0.1.12 h1:oh9ak2zUtsLp5oaEd/erjB4GPu9w19NyoIskZClDcQY= @@ -47,6 +44,7 @@ github.com/Antonboom/errname v0.1.12/go.mod h1:bK7todrzvlaZoQagP1orKzWXv59X/x0W0 github.com/Antonboom/nilnil v0.1.7 h1:ofgL+BA7vlA1K2wNQOsHzLJ2Pw5B5DpWRLdDAVvvTow= github.com/Antonboom/nilnil v0.1.7/go.mod h1:TP+ScQWVEq0eSIxqU8CbdT5DFWoHp0MbP+KMUO1BKYQ= github.com/Antonboom/testifylint v1.1.1 h1:xCxYDNOBLImTKjBKPGtx1cHkTSywDAn76mYHTwH5lG8= +github.com/Antonboom/testifylint v1.1.1/go.mod h1:9PFi+vWa8zzl4/B/kqmFJcw85ZUv8ReyBzuQCd30+WI= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= @@ -54,18 +52,24 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/Djarvur/go-err113 v0.1.0 h1:uCRZZOdMQ0TZPHYTdYpoC0bLYJKPEHPUJ8MeAa51lNU= github.com/Djarvur/go-err113 v0.1.0/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 h1:sATXp1x6/axKxz2Gjxv8MALP0bXaNRfQinEwyfMcx8c= +github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0/go.mod h1:Nl76DrGNJTA1KJ0LePKBw/vznBX1EHbAZX8mwjR82nI= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/OpenPeeDeeP/depguard/v2 v2.2.0 h1:vDfG60vDtIuf0MEOhmLlLLSzqaRM8EMcgJPdp74zmpA= +github.com/OpenPeeDeeP/depguard/v2 v2.2.0/go.mod h1:CIzddKRvLBC4Au5aYP/i3nyaWQ+ClszLIuVocRiCYFQ= github.com/alecthomas/assert/v2 v2.2.2 h1:Z/iVC0xZfWTaFNE6bA3z07T86hd45Xe2eLt6WVy2bbk= +github.com/alecthomas/assert/v2 v2.2.2/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= github.com/alecthomas/go-check-sumtype v0.1.4 h1:WCvlB3l5Vq5dZQTFmodqL2g68uHiSwwlWcT5a2FGK0c= +github.com/alecthomas/go-check-sumtype v0.1.4/go.mod h1:WyYPfhfkdhyrdaligV6svFopZV8Lqdzn5pyVBaV6jhQ= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= +github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alexkohler/nakedret/v2 v2.0.2 h1:qnXuZNvv3/AxkAb22q/sEsEpcA99YxLFACDtEw9TPxE= +github.com/alexkohler/nakedret/v2 v2.0.2/go.mod h1:2b8Gkk0GsOrqQv/gPWjNLDSKwG8I5moSXG1K4VIBcTQ= github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= @@ -91,6 +95,7 @@ github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkAp github.com/bmatcuk/doublestar/v4 v4.0.2 h1:X0krlUVAVmtr2cRoTqR8aDMrDqnB36ht8wpWTiQ3jsA= github.com/bmatcuk/doublestar/v4 v4.0.2/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/bombsimon/wsl/v4 v4.2.0 h1:dKK3o/Hk2aIt6t72CWg02ham2P5lnH9MBSW6cTU9xxU= +github.com/bombsimon/wsl/v4 v4.2.0/go.mod h1:1zaTbf/7ywOQtMdoUdTF2X1fbbBLiBUkajyuFAanT28= github.com/breml/bidichk v0.2.7 h1:dAkKQPLl/Qrk7hnP6P+E0xOodrq8Us7+U0o4UBOAlQY= github.com/breml/bidichk v0.2.7/go.mod h1:YodjipAGI9fGcYM7II6wFvGhdMYsC5pHDlGzqvEW3tQ= github.com/breml/errchkjson v0.3.6 h1:VLhVkqSBH96AvXEyclMR37rZslRrY2kcyq+31HCsVrA= @@ -98,8 +103,11 @@ github.com/breml/errchkjson v0.3.6/go.mod h1:jhSDoFheAF2RSDOlCfhHO9KqhZgAYLyvHe7 github.com/butuzov/ireturn v0.3.0 h1:hTjMqWw3y5JC3kpnC5vXmFJAWI/m31jaCYQqzkS6PL0= github.com/butuzov/ireturn v0.3.0/go.mod h1:A09nIiwiqzN/IoVo9ogpa0Hzi9fex1kd9PSD6edP5ZA= github.com/butuzov/mirror v1.1.0 h1:ZqX54gBVMXu78QLoiqdwpl2mgmoOJTk7s4p4o+0avZI= +github.com/butuzov/mirror v1.1.0/go.mod h1:8Q0BdQU6rC6WILDiBM60DBfvV78OLJmMmixe7GF45AE= github.com/catenacyber/perfsprint v0.6.0 h1:VSv95RRkk5+BxrU/YTPcnxuMEWar1iMK5Vyh3fWcBfs= +github.com/catenacyber/perfsprint v0.6.0/go.mod h1:/wclWYompEyjUD2FuIIDVKNkqz7IgBIWXIH3V0Zol50= github.com/ccojocar/zxcvbn-go v1.0.1 h1:+sxrANSCj6CdadkcMnvde/GWU1vZiiXRbqYSCalV4/4= +github.com/ccojocar/zxcvbn-go v1.0.1/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -114,7 +122,6 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5P github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= @@ -137,6 +144,7 @@ github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStB github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q= github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= @@ -144,13 +152,17 @@ github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4 github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= +github.com/gertd/go-pluralize v0.2.0 h1:VzWNnxkUo3wkW2Nmp+3ieHSTQQ0LBHeSVxlKsQPQ+UY= +github.com/gertd/go-pluralize v0.2.0/go.mod h1:4ouO1Ndf/r7sZMorwp4Sbfw80lUni+sd+o3qJR8L9To= github.com/ghostiam/protogetter v0.3.4 h1:5SZ+lZSNmNkSbGVSF9hUHhv/b7ELF9Rwchoq7btYo6c= +github.com/ghostiam/protogetter v0.3.4/go.mod h1:A0JgIhs0fgVnotGinjQiKaFVG3waItLJNwPmcMzDnvk= github.com/go-critic/go-critic v0.11.0 h1:mARtIFX7jPtJ3SzxO9Isa5T2jd2dZxFmQHK3yNf0wrE= github.com/go-critic/go-critic v0.11.0/go.mod h1:Cz6lr1PlkIu/0Y0U9KqJgcIJJECAF8mEwmzVjKnhbfI= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -164,11 +176,8 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= @@ -192,6 +201,7 @@ github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJ github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus= github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig= github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1 h1:TQcrn6Wq+sKGkpyPvppOz99zsMBaUOKXq6HSv655U1c= +github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U= github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= @@ -281,8 +291,10 @@ github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= +github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gordonklaus/ineffassign v0.1.0 h1:y2Gd/9I7MdY1oEIt+n+rowjBNDcLQq3RsH5hwJd0f9s= @@ -302,8 +314,13 @@ github.com/gostaticanalysis/testutil v0.4.0/go.mod h1:bLIoPefWXrRi/ssLFWX1dx7Rep github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= +github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-plugin v1.4.3 h1:DXmvivbWD5qdiBts9TpBC7BYL1Aia5sxbRgQB+v6UZM= +github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -311,6 +328,8 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb h1:b5rjCoWHc7eqmAS4/qyk21ZsHyb6Mxv/jykxvNTkU4M= +github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -321,11 +340,14 @@ github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2 github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jgautheron/goconst v1.7.0 h1:cEqH+YBKLsECnRSd4F4TK5ri8t/aXtt/qoL0Ft252B0= github.com/jgautheron/goconst v1.7.0/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= +github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE= +github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jjti/go-spancheck v0.5.2 h1:WXTZG3efY/ji1Vi8mkH+23O3bLeKR6hp3tI3YB7XwKk= +github.com/jjti/go-spancheck v0.5.2/go.mod h1:ARPNI1JRG1V2Rjnd6/2f2NEfghjSVDZGVmruNKlnXU0= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -373,7 +395,9 @@ github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= github.com/lyft/protoc-gen-star/v2 v2.0.3 h1:/3+/2sWyXeMLzKd1bX+ixWKgEMsULrIivpDsuaF441o= +github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= github.com/macabu/inamedparam v0.1.3 h1:2tk/phHkMlEL/1GNe/Yf6kkR/hkcUdAEY3L0hjYV1Mk= +github.com/macabu/inamedparam v0.1.3/go.mod h1:93FLICAIk/quk7eaPPQvbzihUdn/QkGDwIZEoLtpH6I= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI= @@ -384,13 +408,17 @@ github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 h1:gWg6ZQ4JhDfJPqlo2 github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE= github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2 h1:hAHbPm5IJGijwng3PWk09JkG9WeqChjprR5s9bBZ+OM= github.com/matttproud/golang_protobuf_extensions v1.0.2/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= @@ -400,6 +428,8 @@ github.com/mgechev/revive v1.3.7 h1:502QY0vQGe9KtYJ9FpxMz9rL+Fc/P13CI5POL4uHCcE= github.com/mgechev/revive v1.3.7/go.mod h1:RJ16jUbF0OWC3co/+XTxmFNgEpUPwnnA0BRllX2aDNA= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77 h1:7GoSOOW2jpsfkntVKaS2rAr1TJqfcxotyaUcuxoZSzg= +github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -424,6 +454,8 @@ github.com/nunnatsa/ginkgolinter v0.15.2/go.mod h1:oYxE7dt1vZI8cK2rZOs3RgTaBN2vg github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -431,12 +463,14 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4= +github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.28.1 h1:MijcGUbfYuznzK/5R4CPNoUP/9Xvuo20sXfEm6XxoTA= github.com/onsi/gomega v1.28.1/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= github.com/otiai10/copy v1.14.0 h1:dCI/t1iTdYGtkvCuBG2BgR6KZa83PTclw4U5n2wAllU= +github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= @@ -466,6 +500,7 @@ github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1: github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= +github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= @@ -595,11 +630,17 @@ github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyC github.com/valyala/fasthttp v1.45.0 h1:zPkkzpIn8tdHZUrVa6PzYd0i5verqiPSkgTd3bSUcpA= github.com/valyala/fasthttp v1.45.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA= github.com/xen0n/gosmopolitan v1.2.2 h1:/p2KTnMzwRexIW8GlKawsTWOxn7UHA+jCMF/V8HHtvU= +github.com/xen0n/gosmopolitan v1.2.2/go.mod h1:7XX7Mj61uLYrj0qmeN0zi7XDon9JRAEhYQqAPLVNTeg= github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= github.com/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o= github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= github.com/ykadowak/zerologlint v0.1.5 h1:Gy/fMz1dFQN9JZTPjv1hxEk+sRWm05row04Yoolgdiw= +github.com/ykadowak/zerologlint v0.1.5/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg= +github.com/yoheimuta/go-protoparser/v4 v4.7.0 h1:80LGfVM25sCoNDD08hv9O0ShQMjoTrIE76j5ON+gq3U= +github.com/yoheimuta/go-protoparser/v4 v4.7.0/go.mod h1:AHNNnSWnb0UoL4QgHPiOAg2BniQceFscPI5X/BZNHl8= +github.com/yoheimuta/protolint v0.47.6 h1:qOKnCYbEmXX9uGqM/O8VEjmWZQlA+wM/sDztEXHRd6M= +github.com/yoheimuta/protolint v0.47.6/go.mod h1:aGmpTPddQVyWBaEK18eZhlNgWKWbs1qR5mM3C/ldY1E= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -610,21 +651,16 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5t gitlab.com/bosi/decorder v0.4.1 h1:VdsdfxhstabyhZovHafFw+9eJ6eU0d2CkFNJcZz/NU4= gitlab.com/bosi/decorder v0.4.1/go.mod h1:jecSqWUew6Yle1pCr2eLWTensJMmsxHsBwt+PVbkAqA= go-simpler.org/assert v0.7.0 h1:OzWWZqfNxt8cLS+MlUp6Tgk1HjPkmgdKBq9qvy8lZsA= +go-simpler.org/assert v0.7.0/go.mod h1:74Eqh5eI6vCK6Y5l3PI8ZYFXG4Sa+tkr70OIPJAUr28= go-simpler.org/musttag v0.8.0 h1:DR4UTgetNNhPRNo02rkK1hwDTRzAPotN+ZqYpdtEwWc= +go-simpler.org/musttag v0.8.0/go.mod h1:fiNdCkXt2S6je9Eblma3okjnlva9NT1Eg/WUt19rWu8= go-simpler.org/sloglint v0.4.0 h1:UVJuUJo63iNQNFEOtZ6o1xAgagVg/giVLLvG9nNLobI= +go-simpler.org/sloglint v0.4.0/go.mod h1:v6zJ++j/thFPhefs2wEXoCKwT10yo5nkBDYRCXyqgNQ= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4 h1:PRXhsszxTt5bbPriTjmaweWUsAnJYeWBhUMLRetUgBU= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4/go.mod h1:05eWWy6ZWzmpeImD3UowLTB3VjDMU1yxQ+ENuVWDM3c= -go.opentelemetry.io/otel v1.11.2 h1:YBZcQlsVekzFsFbjygXMOXSs6pialIZxcjfO/mBDmR0= -go.opentelemetry.io/otel v1.11.2/go.mod h1:7p4EUV+AqgdlNV9gL97IgUZiVR3yrFXYo53f9BM3tRI= -go.opentelemetry.io/otel/sdk v1.11.2 h1:GF4JoaEx7iihdMFu30sOyRx52HDHOkl9xQ8SMqNXUiU= -go.opentelemetry.io/otel/sdk v1.11.2/go.mod h1:wZ1WxImwpq+lVRo4vsmSOxdd+xwoUJ6rqyLc3SyX9aU= -go.opentelemetry.io/otel/trace v1.11.2 h1:Xf7hWSF2Glv0DE3MH7fBHvtpSBsjcBUe5MYAmZM/+y0= -go.opentelemetry.io/otel/trace v1.11.2/go.mod h1:4N+yC7QEz7TTsG9BSRLNAa63eg5E06ObSbKPmxQ/pKA= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= @@ -690,6 +726,7 @@ golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -741,8 +778,6 @@ golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= -golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -763,6 +798,7 @@ golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -774,6 +810,7 @@ golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -932,8 +969,7 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -964,6 +1000,8 @@ google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= +google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/core/pkg/proto/deployments/v1/deployments.pb.go b/core/pkg/proto/deployments/v1/deployments.pb.go index ba747c698..dff5f10f3 100644 --- a/core/pkg/proto/deployments/v1/deployments.pb.go +++ b/core/pkg/proto/deployments/v1/deployments.pb.go @@ -462,7 +462,7 @@ type isUpResult_Content interface { type UpResult_Text struct { // Simple text output as result - Text string `protobuf:"bytes,2,opt,name=Text,proto3,oneof"` + Text string `protobuf:"bytes,2,opt,name=text,proto3,oneof"` } func (*UpResult_Text) isUpResult_Content() {} @@ -2194,8 +2194,8 @@ var file_nitric_proto_deployments_v1_deployments_proto_rawDesc = []byte{ 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x45, 0x0a, 0x08, 0x55, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 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, 0x14, - 0x0a, 0x04, 0x54, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, - 0x54, 0x65, 0x78, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, + 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, + 0x74, 0x65, 0x78, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x72, 0x0a, 0x15, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, diff --git a/core/pkg/proto/topics/v1/topics.pb.go b/core/pkg/proto/topics/v1/topics.pb.go index e485ab0e2..1533c8767 100644 --- a/core/pkg/proto/topics/v1/topics.pb.go +++ b/core/pkg/proto/topics/v1/topics.pb.go @@ -577,11 +577,11 @@ var file_nitric_proto_topics_v1_topics_proto_rawDesc = []byte{ 0x0a, 0x23, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x01, 0x0a, 0x0d, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x60, 0x0a, 0x14, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, diff --git a/core/pkg/proto/websockets/v1/websockets.pb.go b/core/pkg/proto/websockets/v1/websockets.pb.go index 503099532..60426ecbb 100644 --- a/core/pkg/proto/websockets/v1/websockets.pb.go +++ b/core/pkg/proto/websockets/v1/websockets.pb.go @@ -564,7 +564,7 @@ type WebsocketEventRequest struct { // The nitric name of the socket that this worker listens on SocketName string `protobuf:"bytes,1,opt,name=socket_name,json=socketName,proto3" json:"socket_name,omitempty"` // The connection this trigger came from - ConnectionId string `protobuf:"bytes,2,opt,name=connectionId,proto3" json:"connectionId,omitempty"` + ConnectionId string `protobuf:"bytes,2,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` // Types that are assignable to WebsocketEvent: // // *WebsocketEventRequest_Connection @@ -1116,131 +1116,131 @@ var file_nitric_proto_websockets_v1_websockets_proto_rawDesc = []byte{ 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xf7, + 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xf8, 0x02, 0x0a, 0x15, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, - 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x56, 0x0a, - 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x34, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6e, - 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, - 0x6b, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x22, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x80, 0x02, 0x0a, - 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x67, - 0x0a, 0x15, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x56, + 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, - 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, - 0x00, 0x52, 0x14, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x17, 0x77, 0x65, 0x62, 0x73, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, + 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, + 0x63, 0x6b, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x77, - 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, - 0x9a, 0x01, 0x0a, 0x16, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x48, 0x00, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, - 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xec, 0x01, 0x0a, - 0x18, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x68, 0x0a, 0x0c, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x45, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, - 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x1a, 0x66, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, + 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, + 0x6b, 0x65, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x22, 0x0a, 0x0a, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x80, 0x02, + 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x67, 0x0a, 0x15, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, + 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x48, 0x00, 0x52, 0x14, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x17, 0x77, 0x65, 0x62, 0x73, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6e, 0x69, 0x74, 0x72, + 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, + 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x22, 0x9a, 0x01, 0x0a, 0x16, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x35, 0x0a, 0x1b, 0x57, - 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6a, 0x65, - 0x63, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x44, - 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x22, 0x2b, 0x0a, 0x15, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, - 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x2a, 0x3e, - 0x0a, 0x12, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, - 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x02, 0x32, 0x8a, - 0x03, 0x0a, 0x09, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x72, 0x0a, 0x0b, - 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x30, 0x2e, 0x6e, 0x69, - 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, - 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, - 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x8c, 0x01, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3c, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x7a, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x33, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x48, 0x00, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x77, 0x65, 0x62, 0x73, 0x6f, + 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xec, 0x01, + 0x0a, 0x18, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x68, 0x0a, 0x0c, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x45, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, - 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x7c, 0x0a, 0x10, 0x57, - 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, - 0x68, 0x0a, 0x0c, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x29, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x29, 0x2e, 0x6e, 0x69, 0x74, - 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0xb6, 0x01, 0x0a, 0x1d, 0x69, 0x6f, + 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x66, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x69, 0x74, 0x72, + 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x35, 0x0a, 0x1b, + 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x65, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6a, + 0x65, 0x63, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x22, 0x2b, 0x0a, 0x15, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, + 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x2a, + 0x3e, 0x0a, 0x12, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x02, 0x32, + 0x8a, 0x03, 0x0a, 0x09, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x72, 0x0a, + 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x30, 0x2e, 0x6e, + 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, + 0x6b, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, - 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x57, 0x65, 0x62, - 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x01, - 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x69, 0x74, - 0x72, 0x69, 0x63, 0x74, 0x65, 0x63, 0x68, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2f, 0x63, - 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, - 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x77, 0x65, 0x62, 0x73, - 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x4e, 0x69, 0x74, 0x72, 0x69, - 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x2e, 0x76, 0x31, 0xca, 0x02, 0x1a, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x5c, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x5c, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5c, - 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x73, + 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x7a, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x33, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, + 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x7c, 0x0a, 0x10, + 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, + 0x12, 0x68, 0x0a, 0x0c, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x29, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x29, 0x2e, 0x6e, 0x69, + 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, + 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0xb6, 0x01, 0x0a, 0x1d, 0x69, + 0x6f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x57, 0x65, + 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, + 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x69, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x63, 0x68, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2f, + 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, + 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x77, 0x65, 0x62, + 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x4e, 0x69, 0x74, 0x72, + 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0xca, 0x02, 0x1a, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x5c, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5c, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, + 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/core/protolint.yaml b/core/protolint.yaml new file mode 100644 index 000000000..5af711765 --- /dev/null +++ b/core/protolint.yaml @@ -0,0 +1,23 @@ +lint: + rules: + # Determines whether or not to include the default set of linters. + # no_default: true + + # Set the default to all linters. This option works the other way around as no_default does. + # If you want to enable this option, delete the comment out below and no_default. + # all_default: true + + # The specific linters to remove. + remove: + - MAX_LINE_LENGTH + - ENUM_FIELD_NAMES_PREFIX + - ENUM_FIELD_NAMES_UPPER_SNAKE_CASE + - ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH + - REPEATED_FIELD_NAMES_PLURALIZED + + files: + # The specific files to exclude. + exclude: + # We already know this contract is non-compliant + # Will be removed in a future release + - ../nitric/proto/keyvalue/v1/keyvalue.proto \ No newline at end of file diff --git a/core/tools/tools.go b/core/tools/tools.go index 40f8ddca7..f689685b3 100644 --- a/core/tools/tools.go +++ b/core/tools/tools.go @@ -20,6 +20,7 @@ import ( _ "github.com/google/addlicense" _ "github.com/onsi/ginkgo/ginkgo" _ "github.com/uw-labs/lichen" + _ "github.com/yoheimuta/protolint/cmd/protolint" _ "google.golang.org/grpc/cmd/protoc-gen-go-grpc" _ "google.golang.org/protobuf/cmd/protoc-gen-go" ) diff --git a/go.work.sum b/go.work.sum index 9f8d2f7ce..dccd31b3a 100644 --- a/go.work.sum +++ b/go.work.sum @@ -793,16 +793,13 @@ cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcP cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g= cloud.google.com/go/workflows v1.12.3/go.mod h1:fmOUeeqEwPzIU81foMjTRQIdwQHADi/vEr1cx9R1m5g= contrib.go.opencensus.io/exporter/stackdriver v0.13.4/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= -dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= -github.com/4meepo/tagalign v1.3.3/go.mod h1:Q9c1rYMZJc9dPRkbQPpcBNCLEmY2njbAsXhQOZFE2dE= github.com/Abirdcfly/dupword v0.0.7/go.mod h1:K/4M1kj+Zh39d2aotRwypvasonOyAMH1c/IZJzE0dmk= github.com/Abirdcfly/dupword v0.0.8 h1:CMezjEYGP+FSHWvhYLUUmAvMoK7/oZVks4lP9u7Ur94= github.com/Abirdcfly/dupword v0.0.8/go.mod h1:/QKir8/YhQiywrKcttZCo4QkjjmCQ4KAVq4NeXx6RdE= github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= github.com/Antonboom/errname v0.1.5/go.mod h1:DugbBstvPFQbv/5uLcRRzfrNqKE9tVdVCqWCLp6Cifo= github.com/Antonboom/nilnil v0.1.0/go.mod h1:PhHLvRPSghY5Y7mX4TW+BHZQYo1A8flE5H20D3IPZBo= -github.com/Antonboom/testifylint v1.1.1/go.mod h1:9PFi+vWa8zzl4/B/kqmFJcw85ZUv8ReyBzuQCd30+WI= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1/go.mod h1:RKUqNu35KJYcVG/fqTRqmuXJZYNhYkBrnC/hX7yGbTA= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1/go.mod h1:h8hyGFDsU5HMivxiS2iYFZsgDbU9OnnJ163x5UGVKYo= github.com/Azure/azure-sdk-for-go/sdk/data/aztables v1.1.0/go.mod h1:PMB5kQ1apg/irrvpPryVdchapVIYP+VV9iHJQ2CHwG8= @@ -824,7 +821,6 @@ github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dX github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.8 h1:Rpmta4xZ/MgZnriKNd24iZMhGpP5dvUcs/uqfBapKZY= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= -github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0/go.mod h1:Nl76DrGNJTA1KJ0LePKBw/vznBX1EHbAZX8mwjR82nI= github.com/Jille/raft-grpc-transport v1.3.0 h1:s6a7F4k23n7IlH5O6fWW5xz2sxbz6RIB4CzWlsvmbpY= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= @@ -834,21 +830,15 @@ github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuN github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OpenPeeDeeP/depguard v1.1.0 h1:pjK9nLPS1FwQYGGpPxoMYpe7qACHOhAWQMQzV71i49o= github.com/OpenPeeDeeP/depguard v1.1.0/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= -github.com/OpenPeeDeeP/depguard/v2 v2.2.0/go.mod h1:CIzddKRvLBC4Au5aYP/i3nyaWQ+ClszLIuVocRiCYFQ= github.com/Sereal/Sereal v0.0.0-20200820125258-a016b7cda3f3 h1:XgiXcABXIRyuLNyKHIk6gICrVXcGooDUxR+XMRr2QDM= github.com/Shopify/sarama v1.37.2 h1:LoBbU0yJPte0cE5TZCGdlzZRmMgMtZU/XgnUKZg9Cv4= github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= -github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af h1:wVe6/Ea46ZMeNkQjjBW6xcqyQA/j5e0D6GytH95g0gQ= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs= -github.com/alecthomas/assert/v2 v2.2.2/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= github.com/alecthomas/chroma v0.10.0/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s= -github.com/alecthomas/go-check-sumtype v0.1.4/go.mod h1:WyYPfhfkdhyrdaligV6svFopZV8Lqdzn5pyVBaV6jhQ= -github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E= -github.com/alexkohler/nakedret/v2 v2.0.2/go.mod h1:2b8Gkk0GsOrqQv/gPWjNLDSKwG8I5moSXG1K4VIBcTQ= github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= @@ -860,7 +850,6 @@ github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/P github.com/apache/thrift v0.16.0 h1:qEy6UW60iVOlUy+b9ZR0d5WzUWYGOo4HfopoyBaNmoY= github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= -github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/arangodb/go-driver v1.4.0 h1:uNCbVYkr5ZP3hIVUP6wqjOVyhMYOL9NDmR762tIeYP0= github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e h1:Xg+hGrY2LcQBbxd0ZFdbGSyRKTYMZCfBbw/pMJFOk1g= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA= @@ -879,11 +868,9 @@ github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgI github.com/asdine/storm v2.1.2+incompatible h1:dczuIkyqwY2LrtXPz8ixMrU/OFgZp71kbKTHGrXYt/Q= github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= github.com/atomicgo/cursor v0.0.1 h1:xdogsqa6YYlLfM+GyClC/Lchf7aiMerFiZQn7soTOoU= -github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.36.30/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.44.298/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.21/go.mod h1:iIYPrQ2rYfZiB/iADYlhj9HHZ9TTi6PqKQPAqygohbE= github.com/aws/aws-sdk-go-v2/service/kms v1.18.1/go.mod h1:4PZMUkc9rXHWGVB5J9vKaZy3D7Nai79ORworQ3ASMiM= github.com/aymanbagabas/go-osc52 v1.0.3 h1:DTwqENW7X9arYimJrPeGZcV0ln14sGMt3pHZspWD+Mg= @@ -896,16 +883,12 @@ github.com/bmatcuk/doublestar/v4 v4.4.0 h1:LmAwNwhjEbYtyVLzjcP/XeVw4nhuScHGkF/XW github.com/bmatcuk/doublestar/v4 v4.4.0/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/boltdb/bolt v1.3.1 h1:JQmyP4ZBrce+ZQu0dY660FMfatumYDLun9hBCUVIkF4= github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= -github.com/bombsimon/wsl/v4 v4.2.0/go.mod h1:1zaTbf/7ywOQtMdoUdTF2X1fbbBLiBUkajyuFAanT28= github.com/breml/bidichk v0.2.2/go.mod h1:zbfeitpevDUGI7V91Uzzuwrn4Vls8MoBMrwtt78jmso= github.com/breml/errchkjson v0.2.3/go.mod h1:jZEATw/jF69cL1iy7//Yih8yp/mXp2CBoBr9GJwCAsY= -github.com/butuzov/mirror v1.1.0/go.mod h1:8Q0BdQU6rC6WILDiBM60DBfvV78OLJmMmixe7GF45AE= github.com/bwesterb/go-ristretto v1.2.2 h1:S2C0mmSjCLS3H9+zfXoIoKzl+cOncvBvt6pE+zTm5Ms= github.com/bwesterb/go-ristretto v1.2.2/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/bwesterb/go-ristretto v1.2.3 h1:1w53tCkGhCQ5djbat3+MH0BAQ5Kfgbt56UZQ/JMzngw= github.com/bwmarrin/snowflake v0.3.0 h1:xm67bEhkKh6ij1790JB83OujPR5CzNe8QuQqAgISZN0= -github.com/catenacyber/perfsprint v0.6.0/go.mod h1:/wclWYompEyjUD2FuIIDVKNkqz7IgBIWXIH3V0Zol50= -github.com/ccojocar/zxcvbn-go v1.0.1/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60= github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk= github.com/census-instrumentation/opencensus-proto v0.3.0 h1:t/LhUZLVitR1Ow2YOnduCsavhwFUklBMoGVYUCqmCqk= @@ -966,7 +949,6 @@ github.com/cristalhq/acmd v0.8.1/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBj github.com/cristalhq/acmd v0.11.1 h1:DJ4fh2Pv0nPKmqT646IU/0Vh5FNdGblxvF+3/W3NAUI= github.com/cristalhq/acmd v0.11.1/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= github.com/cristalhq/acmd v0.11.2/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= -github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548 h1:iwZdTE0PVqJCos1vaoKsclOGD3ADKpshg3SRtYBbwso= github.com/daixiang0/gci v0.3.3/go.mod h1:1Xr2bxnQbDxCqqulUOv8qpGqkgRw9RSCGGjEC2LjF8o= github.com/daixiang0/gci v0.8.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= @@ -1010,7 +992,6 @@ github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a h1:yDWHCSQ40h88yih2JAcL6Ls/kVkSE8GFACTGVnMPruw= github.com/facebookgo/stats v0.0.0-20151006221625-1b76add642e4 h1:0YtRCqIZs2+Tz49QuH6cJVw/IFqzo39gEqZ0iYLxD2M= github.com/fasthttp/router v1.4.13 h1:42M7+7tNO6clb5seb4HhXlBIX1lnNv8DLhiT6jUv75A= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fluent/fluent-logger-golang v1.9.0 h1:zUdY44CHX2oIUc7VTNZc+4m+ORuO/mldQDA7czhWXEg= @@ -1019,14 +1000,12 @@ github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90 h1:WXb3TSNmHp2vHoCro github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk= github.com/frankban/quicktest v1.14.2/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= -github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fullstorydev/grpcurl v1.6.0/go.mod h1:ZQ+ayqbKMJNhzLmbpCiurTVlaK2M/3nqZCxaQ2Ze/sM= github.com/fzipp/gocyclo v0.4.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= github.com/getkin/kin-openapi v0.112.0/go.mod h1:QtwUNt0PAAgIIBEvFWYfB7dfngxtAaqCX1zYHMZDeK8= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -github.com/ghostiam/protogetter v0.3.4/go.mod h1:A0JgIhs0fgVnotGinjQiKaFVG3waItLJNwPmcMzDnvk= github.com/go-critic/go-critic v0.6.2/go.mod h1:td1s27kfmLpe5G/DPjlnFI7o1UCzePptwU7Az0V5iCM= github.com/go-critic/go-critic v0.6.5/go.mod h1:ezfP/Lh7MA6dBNn4c6ab5ALv3sKnZVLx37tr00uuaOY= github.com/go-errors/errors v1.1.1 h1:ljK/pL5ltg3qoN+OtN6yCv9HWSfMwxSx90GJCZQxYNg= @@ -1064,7 +1043,6 @@ github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUP github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5/go.mod h1:3NAwwmD4uY/yggRxoEjk/S00MIV3A+H7rrE3i87eYxM= github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= -github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= github.com/go-zookeeper/zk v1.0.2 h1:4mx0EYENAdX/B/rbunjlt5+4RTA/a9SMHBRuSKdGxPM= github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= @@ -1081,7 +1059,6 @@ github.com/golang-jwt/jwt/v5 v5.2.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVI github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -1102,6 +1079,7 @@ github.com/google/certificate-transparency-go v1.1.1/go.mod h1:FDKqPvSXawb2ecErV github.com/google/flatbuffers v2.0.8+incompatible h1:ivUb1cGomAB101ZM1T0nOiWz9pSrTMoa9+EiY7igmkM= github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= @@ -1114,7 +1092,6 @@ github.com/google/pprof v0.0.0-20200507031123-427632fa3b1c/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2 h1:LR89qFljJ48s990kEKGsk213yIJDPI4205OKOzbURK8= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= @@ -1128,6 +1105,8 @@ github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4Mgqvf github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= @@ -1186,10 +1165,8 @@ github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= -github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.2 h1:ihRI7YFwcZdiSD7SIenIhHfQH3OuDvWerAUBZbeQS3M= github.com/hashicorp/go-hclog v1.2.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -1200,6 +1177,7 @@ github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9 github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-msgpack v1.1.5 h1:9byZdVjKTe5mce63pRVNP1L7UAmdHOTEMGehn6KvJWs= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-plugin v1.4.6 h1:MDV3UrKQBM3du3G7MApDGvOsMYy3JQJ4exhSoKBAeVA= github.com/hashicorp/go-plugin v1.4.6/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= github.com/hashicorp/go-retryablehttp v0.5.3 h1:QlWt0KvWT0lq8MFppF9tsJGF+ynG7ztc2KIPhzRGk7s= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= @@ -1222,7 +1200,6 @@ github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/C github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= @@ -1242,6 +1219,7 @@ github.com/hashicorp/serf v0.9.8 h1:JGklO/2Drf1QGa312EieQN3zhxQ+aJg6pG+aC3MFaVo= github.com/hashicorp/serf v0.9.8/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/vault/api v1.8.2/go.mod h1:ML8aYzBIhY5m1MD1B2Q0JV89cC85YVH4t5kBaZiyVaE= github.com/hashicorp/vault/sdk v0.6.1/go.mod h1:Ck4JuAC6usTphfrrRJCRH+7/N7O2ozZzkm/fzQFt4uM= +github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= @@ -1262,7 +1240,6 @@ github.com/jcmturner/gokrb5/v8 v8.4.3 h1:iTonLeSJOn7MVUtyMT+arAn5AKAPrkilzhGw8wE github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4= -github.com/jjti/go-spancheck v0.5.2/go.mod h1:ARPNI1JRG1V2Rjnd6/2f2NEfghjSVDZGVmruNKlnXU0= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmoiron/sqlx v1.2.0 h1:41Ip0zITnmWNR/vHV+S4m+VoUivnWY5E4OJfLZjCJMA= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= @@ -1333,8 +1310,6 @@ github.com/lyft/protoc-gen-star v0.6.2 h1:DgqBrh0Q/JGHXDZjJaYCWKD/EXLczxplIC0JeE github.com/lyft/protoc-gen-star v0.6.2/go.mod h1:M0b1EfeJR3f8E3YHKFr9KXWjAB4mrKn6Rm6PPEuJlI0= github.com/lyft/protoc-gen-star/v2 v2.0.1 h1:keaAo8hRuAT0O3DfJ/wM3rufbAjGeJ1lAtWZHDjKGB0= github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= -github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= -github.com/macabu/inamedparam v0.1.3/go.mod h1:93FLICAIk/quk7eaPPQvbzihUdn/QkGDwIZEoLtpH6I= github.com/magefile/mage v1.14.0 h1:6QDX3g6z1YvJ4olPhT1wksUcSa/V0a1B+pJb73fBjyo= github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= @@ -1347,7 +1322,6 @@ github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= @@ -1380,10 +1354,10 @@ github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXx github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= -github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= @@ -1421,6 +1395,7 @@ github.com/nishanths/predeclared v0.0.0-20190419143655-18a43bb90ffc/go.mod h1:62 github.com/nishanths/predeclared v0.2.1/go.mod h1:HvkGJcA3naj4lOwnFXFDkFxVtSqQMB9sbB1usJ+xjQE= github.com/nitrictech/go-mods-direct v0.0.0-20221124004415-e2ce7ec20618 h1:nHCmSvLWJUehCabPo+STGUM6cTzCLJsoYuuJEJ9qT84= github.com/nitrictech/nitric/cloud/azure v0.0.0-20230430232207-a0e427e2d646/go.mod h1:29YXAFkYPA4ezU2pb6+jceCzWuu/mBKzTHd0NXX/BrA= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= @@ -1436,14 +1411,12 @@ github.com/onsi/ginkgo/v2 v2.3.1/go.mod h1:Sv4yQXwG5VmF7tm3Q5Z+RWUpPo24LF1mpnz2c github.com/onsi/ginkgo/v2 v2.5.0/go.mod h1:Luc4sArBICYCS8THh8v3i3i5CuSZO+RaQRaJoeNwomw= github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM= -github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= github.com/onsi/gomega v1.24.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= github.com/onsi/gomega v1.25.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= -github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w= github.com/otiai10/curr v1.0.0 h1:TJIWdbX0B+kpNagQrjgq8bCMrbhiuX73M2XwgtDMoOI= github.com/otiai10/mint v1.3.1 h1:BCmzIS3n71sGfHB5NMNDB3lHYPz8fWSkCAErHed//qc= github.com/otiai10/mint v1.5.1/go.mod h1:MJm72SBthJjz8qhefc4z1PYEieWmy8Bku7CjcAqyUSM= @@ -1459,7 +1432,6 @@ github.com/petar-dambovaliev/aho-corasick v0.0.0-20230725210150-fb29fc3c913e/go. github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/peterh/liner v1.2.2 h1:aJ4AOodmL+JxOZZEL2u9iJf8omNRpqHc/EbrK+3mAXw= github.com/pgavlin/diff v0.0.0-20230503175810-113847418e2e/go.mod h1:WGwlmuPAiQTGQUjxyAfP7j4JgbgiFvFpI/qRtsQtS/4= -github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M= github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE= github.com/pgavlin/text v0.0.0-20230428184845-84c285f11d2f/go.mod h1:fk4+YyTLi0Ap0CsL1HA70/tAs6evqw3hbPGdR8rD/3E= github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA= @@ -1492,7 +1464,6 @@ github.com/pquerna/cachecontrol v0.1.0 h1:yJMy84ti9h/+OEWa752kBTKv4XC30OtVVHYv/8 github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= -github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.38.0 h1:VTQitp6mXTdUoCmDMugDVOJ1opi6ADftKfp/yeqTR/E= github.com/prometheus/common v0.38.0/go.mod h1:MBXfmBQZrK5XpbCkjofnXs96LD2QQ7fEq4C0xjC/yec= @@ -1500,8 +1471,6 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= github.com/pseudomuto/protoc-gen-doc v1.3.2/go.mod h1:y5+P6n3iGrbKG+9O04V5ld71in3v/bX88wUwgt+U8EA= github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= -github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= -github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= github.com/pulumi/pulumi-azure-native-sdk v1.87.0 h1:Jt6Jkw2Y5GYXIv6YmkzwdQfkDpAzXpwbtwwV6qBDu8c= github.com/pulumi/pulumi-azure-native-sdk/apimanagement v1.87.0 h1:NGWnQRyJBc51y2bPLSXOpTJWqIShAsLyuQOsn2ilVs0= github.com/pulumi/pulumi-azure-native-sdk/app v1.87.0 h1:FCFNeMBTRJbFcPzQI3kBfCPhS5kvcHFg4HVdkC4PL9U= @@ -1679,7 +1648,6 @@ github.com/xanzy/ssh-agent v0.3.2/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xen0n/gosmopolitan v1.2.2/go.mod h1:7XX7Mj61uLYrj0qmeN0zi7XDon9JRAEhYQqAPLVNTeg= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= @@ -1692,7 +1660,6 @@ github.com/ydb-platform/ydb-go-sdk/v3 v3.40.1 h1:6a/yMcXT+ZpybYsGvEpFSsOdQlbqtAr github.com/ydb-platform/ydb-go-yc v0.8.3 h1:92UUUMsfvtMl6mho8eQ9lbkiPrF3a9CT+RrVRAKNRwo= github.com/ydb-platform/ydb-go-yc-metadata v0.5.2 h1:nMtixUijP0Z7iHJNT9fOL+dbmEzZxqU6Xk87ll7hqXg= github.com/yeya24/promlinter v0.1.1-0.20210918184747-d757024714a1/go.mod h1:rs5vtZzeBHqqMwXqFScncpCF6u06lezhZepno9AB1Oc= -github.com/ykadowak/zerologlint v0.1.5/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg= github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= @@ -1703,14 +1670,10 @@ github.com/yuin/goldmark-emoji v1.0.1/go.mod h1:2w1E6FEWLcDQkoTE+7HU6QF1F6SLlNGj github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= gitlab.com/bosi/decorder v0.2.1/go.mod h1:6C/nhLSbF6qZbYD8bRmISBwc6vcWdNsiIBkRvjJFrH0= -go-simpler.org/assert v0.7.0/go.mod h1:74Eqh5eI6vCK6Y5l3PI8ZYFXG4Sa+tkr70OIPJAUr28= -go-simpler.org/musttag v0.8.0/go.mod h1:fiNdCkXt2S6je9Eblma3okjnlva9NT1Eg/WUt19rWu8= -go-simpler.org/sloglint v0.4.0/go.mod h1:v6zJ++j/thFPhefs2wEXoCKwT10yo5nkBDYRCXyqgNQ= go.etcd.io/bbolt v1.3.2 h1:Z/90sZLPOeCy2PwprqkFa25PdkusRzaj9P8zm/KNyvk= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= @@ -1787,9 +1750,9 @@ golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0 golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1818,6 +1781,7 @@ golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1842,7 +1806,9 @@ golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= @@ -1860,6 +1826,7 @@ golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM= +golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220513210516-0976fa681c29/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1868,6 +1835,7 @@ golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1875,7 +1843,6 @@ golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1915,19 +1882,21 @@ golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190228203856-589c23e65e65/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -2010,7 +1979,6 @@ google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9 google.golang.org/api v0.150.0/go.mod h1:ccy+MJ6nrYFgE3WgRx/AMXOxOmU8Q4hSa+jjibzhxcg= google.golang.org/api v0.152.0/go.mod h1:3qNJX5eOmhiWYc67jRA/3GsDw97UFb5ivv7Y2PrriAY= google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181107211654-5fc9ac540362/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -2074,7 +2042,6 @@ google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZ google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI= google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405/go.mod h1:3WDQMjmJk36UQhjQ89emUzb1mdaHcPeeAh4SCBKznB4= -google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY= google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 h1:XVeBY8d/FaK4848myy41HBqnDwvxeV3zMZhwN1TvAMU= @@ -2082,7 +2049,6 @@ google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go. google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870= google.golang.org/genproto/googleapis/api v0.0.0-20231030173426-d783a09b4405/go.mod h1:oT32Z4o8Zv2xPQTg0pbVaPr0MPOH6f14RgXt7zfIpwg= -google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231120223509-83a465c0220f/go.mod h1:iIgEblxoG4klcXsG0d9cpoxJ4xndv6+1FkDROCHhPRI= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= @@ -2093,8 +2059,6 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc= google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= -google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= google.golang.org/grpc v1.29.0/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= diff --git a/nitric/proto/apis/v1/apis.proto b/nitric/proto/apis/v1/apis.proto index ba7f9a65e..02fc8ae4b 100644 --- a/nitric/proto/apis/v1/apis.proto +++ b/nitric/proto/apis/v1/apis.proto @@ -40,9 +40,13 @@ message ClientMessage { } } -message HeaderValue { repeated string value = 1; } +message HeaderValue { + repeated string value = 1; +} -message QueryValue { repeated string value = 1; } +message QueryValue { + repeated string value = 1; +} message HttpRequest { // The request method @@ -90,9 +94,12 @@ message ServerMessage { } } -message RegistrationResponse {} +message RegistrationResponse { +} -message ApiWorkerScopes { repeated string scopes = 1; } +message ApiWorkerScopes { + repeated string scopes = 1; +} message ApiWorkerOptions { // Apply security definitions to this operation diff --git a/nitric/proto/deployments/v1/deployments.proto b/nitric/proto/deployments/v1/deployments.proto index b7890b349..c63c6e986 100644 --- a/nitric/proto/deployments/v1/deployments.proto +++ b/nitric/proto/deployments/v1/deployments.proto @@ -1,6 +1,11 @@ syntax = "proto3"; + package nitric.proto.deployments.v1; +import "google/protobuf/struct.proto"; +import "nitric/proto/resources/v1/resources.proto"; +import "nitric/proto/storage/v1/storage.proto"; + //protoc plugin options for code generation option go_package = "github.com/nitrictech/nitric/core/pkg/proto/deployments/v1;deploymentspb"; option java_package = "io.nitric.proto.deployments.v1"; @@ -9,243 +14,242 @@ option java_outer_classname = "Deployments"; option php_namespace = "Nitric\\Proto\\Deployments\\V1"; option csharp_namespace = "Nitric.Proto.Deployments.v1"; -import "google/protobuf/struct.proto"; -import "nitric/proto/resources/v1/resources.proto"; -import "nitric/proto/storage/v1/storage.proto"; - // The Nitric Deloyment Service contract service Deployment { - // Begins a new deployment - // Server will stream updates back to the connected client - // on the status of the deployment - rpc Up (DeploymentUpRequest) returns (stream DeploymentUpEvent); - // Tears down an existing deployment - // Server will stream updates back to the connected client - // on the status of the teardown - rpc Down (DeploymentDownRequest) returns (stream DeploymentDownEvent); + // Begins a new deployment + // Server will stream updates back to the connected client + // on the status of the deployment + rpc Up (DeploymentUpRequest) returns (stream DeploymentUpEvent); + // Tears down an existing deployment + // Server will stream updates back to the connected client + // on the status of the teardown + rpc Down (DeploymentDownRequest) returns (stream DeploymentDownEvent); } message DeploymentUpRequest { - // The spec to deploy - Spec spec = 1; + // The spec to deploy + Spec spec = 1; - // A map of attributes related to the deploy request - // this allows for adding project identifiers etc. - google.protobuf.Struct attributes = 2; + // A map of attributes related to the deploy request + // this allows for adding project identifiers etc. + google.protobuf.Struct attributes = 2; - // A hint to the provider of the kind of output that the client can accept - // This will allow provider developers to provider richer output back to clients. - bool interactive = 3; + // A hint to the provider of the kind of output that the client can accept + // This will allow provider developers to provider richer output back to clients. + bool interactive = 3; } message DeploymentUpEvent { - oneof content { - string message = 1; - ResourceUpdate update = 2; - UpResult result = 3; - } + oneof content { + string message = 1; + ResourceUpdate update = 2; + UpResult result = 3; + } } enum ResourceDeploymentAction { - // A new resource is being created - CREATE = 0; - // An existing resource is being updated - UPDATE = 1; - // An existing resource is being replaced - REPLACE = 2; - // No-op on the resource (it already exists and requires no changes) - SAME = 3; - // An existing resource is being deleted - DELETE = 4; + // A new resource is being created + CREATE = 0; + // An existing resource is being updated + UPDATE = 1; + // An existing resource is being replaced + REPLACE = 2; + // No-op on the resource (it already exists and requires no changes) + SAME = 3; + // An existing resource is being deleted + DELETE = 4; } enum ResourceDeploymentStatus { - // The action hasn't started, usually due to a dependency - PENDING = 0; - // The action in currently in-flight, e.g. waiting for cloud provder to provision a resource - IN_PROGRESS = 1; - // The action has been applied successfully - SUCCESS = 2; - // The action has failed to be (completely) applied - FAILED = 3; + // The action hasn't started, usually due to a dependency + PENDING = 0; + // The action in currently in-flight, e.g. waiting for cloud provder to provision a resource + IN_PROGRESS = 1; + // The action has been applied successfully + SUCCESS = 2; + // The action has failed to be (completely) applied + FAILED = 3; } message ResourceUpdate { - // The resource being updated, if this is nil the update applies to the stack - nitric.proto.resources.v1.ResourceIdentifier id = 1; + // The resource being updated, if this is nil the update applies to the stack + nitric.proto.resources.v1.ResourceIdentifier id = 1; - // The type of update being applied - ResourceDeploymentAction action = 3; + // The type of update being applied + ResourceDeploymentAction action = 3; - // The current status of the action being applied - ResourceDeploymentStatus status = 4; + // The current status of the action being applied + ResourceDeploymentStatus status = 4; - // (optional) A globally unique identifier (scoped to the id above), used when Nitric Resources map 1:many in a cloud provider. - // e.g. the container image repository for a service deployment. - // This can also be set when id is nil above and it will imply a non-nitric resource that is necessary to deploy for a stack to operate - // e.g. an Azure StorageAccount - string sub_resource = 5; + // (optional) A globally unique identifier (scoped to the id above), used when Nitric Resources map 1:many in a cloud provider. + // e.g. the container image repository for a service deployment. + // This can also be set when id is nil above and it will imply a non-nitric resource that is necessary to deploy for a stack to operate + // e.g. an Azure StorageAccount + string sub_resource = 5; - // Additional information about the update - string message = 6; + // Additional information about the update + string message = 6; } // Terminal message indicating deployment success message UpResult { - // Indicate the success status - bool success = 1; + // Indicate the success status + bool success = 1; - oneof content { - // Simple text output as result - string Text = 2; - } + oneof content { + // Simple text output as result + string text = 2; + } } message DeploymentDownRequest { - // A map of attributes related to the deploy request - // this allows for adding project identifiers etc. - google.protobuf.Struct attributes = 1; + // A map of attributes related to the deploy request + // this allows for adding project identifiers etc. + google.protobuf.Struct attributes = 1; - // A hint to the provider of the kind of output that the client can accept - // This will allow provider developers to provider richer output back to clients. - bool interactive = 2; + // A hint to the provider of the kind of output that the client can accept + // This will allow provider developers to provider richer output back to clients. + bool interactive = 2; } message DeploymentDownEvent { - oneof content { - string message = 1; - DownResult result = 2; - ResourceUpdate update = 3; - } + oneof content { + string message = 1; + DownResult result = 2; + ResourceUpdate update = 3; + } } // Terminal message indicating deployment success -message DownResult {} +message DownResult { +} // An image source to be used for service deployment message ImageSource { - // URI of the docker image - // To support remote images this may also need to provide auth information - string uri = 1; + // URI of the docker image + // To support remote images this may also need to provide auth information + string uri = 1; } // A unit of compute (i.e. function/container) message Service { - // Source of the service - oneof source { - // Container image as a service - ImageSource image = 1; + // Source of the service + oneof source { + // Container image as a service + ImageSource image = 1; // Alternative sources could include // - zipped code sources // - git/scm repository URIs - } - - // Expected worker count for this service - int32 workers = 10; - // Configurable timeout for request handling - int32 timeout = 11 [deprecated = true]; - // Configurable memory size for this instance - int32 memory = 12 [deprecated = true]; - - // A simple type property - // describes the requested type of service that this should be - // for this project, a provider can implement how this request is satisfied - // in any way - string type = 13; + } - // Environment variables for this service - map env = 14; + // Expected worker count for this service + int32 workers = 10; + // Configurable timeout for request handling + int32 timeout = 11 [deprecated = true]; + // Configurable memory size for this instance + int32 memory = 12 [deprecated = true]; + + // A simple type property + // describes the requested type of service that this should be + // for this project, a provider can implement how this request is satisfied + // in any way + string type = 13; + + // Environment variables for this service + map env = 14; } message Bucket { - repeated BucketListener listeners = 1; + repeated BucketListener listeners = 1; } message BucketListener { - nitric.proto.storage.v1.RegistrationRequest config = 1; - oneof target { - // The name of an service to target - string service = 2; - } + nitric.proto.storage.v1.RegistrationRequest config = 1; + oneof target { + // The name of an service to target + string service = 2; + } } - message Topic { - repeated SubscriptionTarget subscriptions = 1; + repeated SubscriptionTarget subscriptions = 1; } -message Queue {} +message Queue { +} -message KeyValueStore {} +message KeyValueStore { +} -message Secret {} +message Secret { +} message SubscriptionTarget { - oneof target { - // The name of an service to target - string service = 1; + oneof target { + // The name of an service to target + string service = 1; // Additional targets could potentially include // - HTTP/API Endpoints // - Queues - } + } } message TopicSubscription { - SubscriptionTarget target = 1; + SubscriptionTarget target = 1; } message HttpTarget { - oneof target { - // The name of an service to target - string service = 1; - } + oneof target { + // The name of an service to target + string service = 1; + } } // An http proxy resource message Http { - HttpTarget target = 1; + HttpTarget target = 1; } message Api { - oneof document { - // An OpenAPI document for deployment - // This document will contain extensions that hint of services that should be targeted as part of the deployment - string openapi = 1; - } + oneof document { + // An OpenAPI document for deployment + // This document will contain extensions that hint of services that should be targeted as part of the deployment + string openapi = 1; + } } // Declare a new websocket message Websocket { - // Target for handling new client connections - WebsocketTarget connect_target = 1; - // Target for handling client disconnections - WebsocketTarget disconnect_target = 2; - // Target for handling all other message types - WebsocketTarget message_target = 3; + // Target for handling new client connections + WebsocketTarget connect_target = 1; + // Target for handling client disconnections + WebsocketTarget disconnect_target = 2; + // Target for handling all other message types + WebsocketTarget message_target = 3; } message WebsocketTarget { - oneof target { - // The name of an service to target - string service = 1; + oneof target { + // The name of an service to target + string service = 1; // Additional targets could potentially include // - HTTP/API Endpoints - } + } } message ScheduleTarget { - oneof target { - // The name of an service to target - string service = 1; + oneof target { + // The name of an service to target + string service = 1; // Additional targets could potentially include // - HTTP/API Endpoints - } + } } message Schedule { - ScheduleTarget target = 1; + ScheduleTarget target = 1; oneof cadence { ScheduleEvery every = 10; @@ -254,42 +258,42 @@ message Schedule { } message ScheduleEvery { - // rate string e.g. '5 minutes'. Value frequencies are 'minutes', 'hours', 'days'. - string rate = 1; + // rate string e.g. '5 minutes'. Value frequencies are 'minutes', 'hours', 'days'. + string rate = 1; } message ScheduleCron { - // standard unix cron expression - string expression = 1; + // standard unix cron expression + string expression = 1; } message Resource { - nitric.proto.resources.v1.ResourceIdentifier id = 1; - - oneof config { - Service service = 10; - Bucket bucket = 11; - Topic topic = 12; - Api api = 13; - Policy policy = 14; - Schedule schedule = 15; - KeyValueStore key_value_store = 16; - Secret secret = 17; - Websocket websocket = 18; - Http http = 19; - Queue queue = 20; - } + nitric.proto.resources.v1.ResourceIdentifier id = 1; + + oneof config { + Service service = 10; + Bucket bucket = 11; + Topic topic = 12; + Api api = 13; + Policy policy = 14; + Schedule schedule = 15; + KeyValueStore key_value_store = 16; + Secret secret = 17; + Websocket websocket = 18; + Http http = 19; + Queue queue = 20; + } } // This is already defined in the resource contracts, // unfortunately there are parts we don't want to duplicate, such as API config message Policy { - repeated Resource principals = 1; - repeated nitric.proto.resources.v1.Action actions = 2; - repeated Resource resources = 3; + repeated Resource principals = 1; + repeated nitric.proto.resources.v1.Action actions = 2; + repeated Resource resources = 3; } message Spec { - // list of resources to deploy - repeated Resource resources = 1; + // list of resources to deploy + repeated Resource resources = 1; } diff --git a/nitric/proto/http/v1/http.proto b/nitric/proto/http/v1/http.proto index 72c060b09..b64e6d1ff 100644 --- a/nitric/proto/http/v1/http.proto +++ b/nitric/proto/http/v1/http.proto @@ -16,14 +16,15 @@ service Http { } message ClientMessage { - // Details of the HTTP server to proxy - HttpProxyRequest request = 1; + // Details of the HTTP server to proxy + HttpProxyRequest request = 1; } -message ServerMessage {} +message ServerMessage { +} message HttpProxyRequest { - // The address the server can be accessed on - string host = 1; + // The address the server can be accessed on + string host = 1; } diff --git a/nitric/proto/kvstore/v1/kvstore.proto b/nitric/proto/kvstore/v1/kvstore.proto index 743a8e6ee..0c45fd895 100644 --- a/nitric/proto/kvstore/v1/kvstore.proto +++ b/nitric/proto/kvstore/v1/kvstore.proto @@ -68,14 +68,16 @@ message KvStoreSetRequest { google.protobuf.Struct content = 3; } -message KvStoreSetResponse {} +message KvStoreSetResponse { +} message KvStoreDeleteRequest { // ValueRef of the key/value pair to delete, which includes the store and key ValueRef ref = 1; } -message KvStoreDeleteResponse {} +message KvStoreDeleteResponse { +} message KvStoreKeysRequest { // The store to iterate over diff --git a/nitric/proto/queues/v1/queues.proto b/nitric/proto/queues/v1/queues.proto index bcc146c16..122af9116 100644 --- a/nitric/proto/queues/v1/queues.proto +++ b/nitric/proto/queues/v1/queues.proto @@ -57,7 +57,8 @@ message QueueCompleteRequest { string lease_id = 2; } -message QueueCompleteResponse {} +message QueueCompleteResponse { +} // An message to be sent to a queue. message QueueMessage { diff --git a/nitric/proto/resources/v1/resources.proto b/nitric/proto/resources/v1/resources.proto index 79bbb14a6..4fa5a3b12 100644 --- a/nitric/proto/resources/v1/resources.proto +++ b/nitric/proto/resources/v1/resources.proto @@ -62,11 +62,16 @@ message ResourceDeclareRequest { } } -message BucketResource {} -message TopicResource {} -message QueueResource {} -message KeyValueStoreResource {} -message SecretResource {} +message BucketResource { +} +message TopicResource { +} +message QueueResource { +} +message KeyValueStoreResource { +} +message SecretResource { +} message ApiOpenIdConnectionDefinition { string issuer = 1; @@ -118,4 +123,5 @@ enum Action { QueueDequeue = 601; } -message ResourceDeclareResponse {} +message ResourceDeclareResponse { +} diff --git a/nitric/proto/schedules/v1/schedules.proto b/nitric/proto/schedules/v1/schedules.proto index 83d4f59aa..364d548ff 100644 --- a/nitric/proto/schedules/v1/schedules.proto +++ b/nitric/proto/schedules/v1/schedules.proto @@ -62,6 +62,8 @@ message ScheduleCron { string expression = 1; } -message RegistrationResponse {} +message RegistrationResponse { +} -message IntervalResponse {} +message IntervalResponse { +} diff --git a/nitric/proto/storage/v1/storage.proto b/nitric/proto/storage/v1/storage.proto index ae899009a..afcc6ecaf 100644 --- a/nitric/proto/storage/v1/storage.proto +++ b/nitric/proto/storage/v1/storage.proto @@ -1,6 +1,9 @@ syntax = "proto3"; + package nitric.proto.storage.v1; +import "google/protobuf/duration.proto"; + // protoc plugin options for code generation option go_package = "github.com/nitrictech/nitric/core/pkg/proto/storage/v1;storagepb"; option java_package = "io.nitric.proto.storage.v1"; @@ -9,8 +12,6 @@ option java_outer_classname = "StorageService"; option php_namespace = "Nitric\\Proto\\Storage\\V1"; option csharp_namespace = "Nitric.Proto.Storage.v1"; -import "google/protobuf/duration.proto"; - // Services for storage and retrieval of blobs in the form of byte arrays, such as text and binary blobs. service Storage { // Retrieve an item from a bucket @@ -62,7 +63,7 @@ message BlobEventRequest { string bucket_name = 1; oneof event { - BlobEvent blob_event = 10; + BlobEvent blob_event = 10; } } @@ -74,7 +75,6 @@ message BlobEvent { BlobEventType type = 2; } - message BlobEventResponse { bool success = 1; } @@ -112,7 +112,8 @@ message StorageWriteRequest { } // Result of putting a storage item -message StorageWriteResponse {} +message StorageWriteResponse { +} // Request to retrieve a storage item message StorageReadRequest { @@ -138,7 +139,8 @@ message StorageDeleteRequest { } // Result of deleting a storage item -message StorageDeleteResponse {} +message StorageDeleteResponse { +} // Request to generate a pre-signed URL for a blob to perform a specific operation, such as read or write. message StoragePreSignUrlRequest { @@ -186,4 +188,4 @@ message StorageExistsRequest { message StorageExistsResponse { bool exists = 1; -} \ No newline at end of file +} diff --git a/nitric/proto/topics/v1/topics.proto b/nitric/proto/topics/v1/topics.proto index 690a5269e..643504ad1 100644 --- a/nitric/proto/topics/v1/topics.proto +++ b/nitric/proto/topics/v1/topics.proto @@ -1,8 +1,8 @@ syntax = "proto3"; package nitric.proto.topics.v1; -import "google/protobuf/struct.proto"; import "google/protobuf/duration.proto"; +import "google/protobuf/struct.proto"; // protoc plugin options for code generation option go_package = "github.com/nitrictech/nitric/core/pkg/proto/topics/v1;topicspb"; @@ -67,7 +67,8 @@ message RegistrationRequest { string topic_name = 1; } -message RegistrationResponse {} +message RegistrationResponse { +} message TopicMessage { // The topic message contents @@ -89,4 +90,5 @@ message TopicPublishRequest { } // Result of publishing an topic -message TopicPublishResponse {} +message TopicPublishResponse { +} diff --git a/nitric/proto/websockets/v1/websockets.proto b/nitric/proto/websockets/v1/websockets.proto index bf54715f3..d69ff56e7 100644 --- a/nitric/proto/websockets/v1/websockets.proto +++ b/nitric/proto/websockets/v1/websockets.proto @@ -35,24 +35,26 @@ service WebsocketHandler { } message WebsocketSendRequest { - // The nitric name of the socket to send on - string socket_name = 1; - // The connection ID of the client to send to - string connection_id = 2; - // The data to send to the socket - bytes data = 3; + // The nitric name of the socket to send on + string socket_name = 1; + // The connection ID of the client to send to + string connection_id = 2; + // The data to send to the socket + bytes data = 3; } -message WebsocketSendResponse {} +message WebsocketSendResponse { +} message WebsocketCloseConnectionRequest { - // The nitric name of the socket to send on - string socket_name = 1; - // The connection ID of the client to send to - string connection_id = 2; + // The nitric name of the socket to send on + string socket_name = 1; + // The connection ID of the client to send to + string connection_id = 2; } -message WebsocketCloseConnectionResponse {} +message WebsocketCloseConnectionResponse { +} // ClientMessages are sent from the service to the nitric server @@ -81,7 +83,8 @@ enum WebsocketEventType { } // Placeholder message -message RegistrationResponse {} +message RegistrationResponse { +} message RegistrationRequest { // The nitric name of the socket that this worker listens on @@ -95,7 +98,7 @@ message WebsocketEventRequest { string socket_name = 1; // The connection this trigger came from - string connectionId = 2; + string connection_id = 2; oneof websocket_event { WebsocketConnectionEvent connection = 10; @@ -104,7 +107,9 @@ message WebsocketEventRequest { } } -message QueryValue { repeated string value = 1; } +message QueryValue { + repeated string value = 1; +} // ServerMessages are sent from the nitric server to the service message ServerMessage { @@ -139,9 +144,10 @@ message WebsocketConnectionResponse { bool reject = 1; } -message WebsocketDisconnectionEvent {} +message WebsocketDisconnectionEvent { +} message WebsocketMessageEvent { - // Data available on - bytes body = 1; + // Data available on + bytes body = 1; } From dcaccb1b34f6ef5c9e8182462121d212b24a565e Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Thu, 29 Feb 2024 10:09:33 +1100 Subject: [PATCH 17/24] address lint issues. --- cloud/aws/go.mod | 15 +-- cloud/aws/go.sum | 121 ---------------------- cloud/aws/runtime/keyvalue/dynamodb.go | 1 - cloud/aws/runtime/websocket/apigateway.go | 6 +- cloud/azure/go.mod | 3 +- cloud/azure/go.sum | 11 -- cloud/common/go.mod | 8 +- cloud/common/go.sum | 4 - cloud/gcp/go.mod | 14 +-- cloud/gcp/go.sum | 45 -------- cloud/gcp/runtime/keyvalue/firestore.go | 3 +- core/go.mod | 10 +- core/go.sum | 25 +---- core/pkg/decorators/keyvalue_compat.go | 17 ++- go.work.sum | 10 +- 15 files changed, 43 insertions(+), 250 deletions(-) diff --git a/cloud/aws/go.mod b/cloud/aws/go.mod index 27cfd24db..3a5b802da 100644 --- a/cloud/aws/go.mod +++ b/cloud/aws/go.mod @@ -9,6 +9,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.25.2 github.com/aws/aws-sdk-go-v2/config v1.27.4 github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.13.6 + github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression v1.7.6 github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi v1.19.1 github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.1 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.30.1 @@ -21,7 +22,6 @@ require ( github.com/aws/smithy-go v1.20.1 github.com/getkin/kin-openapi v0.113.0 github.com/golang/mock v1.6.0 - github.com/golang/protobuf v1.5.3 github.com/golangci/golangci-lint v1.56.1 github.com/google/addlicense v1.1.1 github.com/google/uuid v1.5.0 @@ -39,11 +39,9 @@ require ( github.com/samber/lo v1.38.1 github.com/uw-labs/lichen v0.1.7 github.com/valyala/fasthttp v1.45.0 - go.opentelemetry.io/contrib/detectors/aws/lambda v0.36.3 go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.36.4 go.opentelemetry.io/contrib/propagators/aws v1.11.0 go.opentelemetry.io/otel v1.11.2 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.2 go.opentelemetry.io/otel/sdk v1.11.2 google.golang.org/grpc v1.59.0 google.golang.org/protobuf v1.31.0 @@ -78,9 +76,7 @@ require ( github.com/atotto/clipboard v0.1.4 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.17.4 // indirect - github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression v1.7.6 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.6 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect @@ -91,7 +87,6 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.2 // indirect - github.com/aws/aws-sdk-go-v2/service/kms v1.29.1 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.20.1 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.28.1 // indirect @@ -108,7 +103,6 @@ require ( github.com/butuzov/mirror v1.1.0 // indirect github.com/catenacyber/perfsprint v0.6.0 // indirect github.com/ccojocar/zxcvbn-go v1.0.1 // indirect - github.com/cenkalti/backoff/v4 v4.2.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/charithe/durationcheck v0.0.10 // indirect github.com/charmbracelet/bubbles v0.16.1 // indirect @@ -163,6 +157,7 @@ require ( github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/glog v1.1.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe // indirect @@ -179,7 +174,6 @@ require ( github.com/gostaticanalysis/comment v1.4.2 // indirect github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect github.com/gostaticanalysis/nilerr v0.1.1 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect @@ -320,10 +314,7 @@ require ( go-simpler.org/musttag v0.8.0 // indirect go-simpler.org/sloglint v0.4.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4 // indirect - go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.2 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.2 // indirect go.opentelemetry.io/otel/trace v1.11.2 // indirect - go.opentelemetry.io/proto/otlp v0.19.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.8.0 // indirect go.uber.org/zap v1.24.0 // indirect @@ -337,8 +328,6 @@ require ( golang.org/x/term v0.16.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/tools v0.17.0 // indirect - google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect diff --git a/cloud/aws/go.sum b/cloud/aws/go.sum index 38888e821..53b191cb0 100644 --- a/cloud/aws/go.sum +++ b/cloud/aws/go.sum @@ -65,7 +65,6 @@ github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF0 github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenPeeDeeP/depguard/v2 v2.2.0 h1:vDfG60vDtIuf0MEOhmLlLLSzqaRM8EMcgJPdp74zmpA= github.com/OpenPeeDeeP/depguard/v2 v2.2.0/go.mod h1:CIzddKRvLBC4Au5aYP/i3nyaWQ+ClszLIuVocRiCYFQ= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= @@ -93,7 +92,6 @@ github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/ github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= @@ -110,137 +108,64 @@ github.com/aws/aws-lambda-go v1.34.1 h1:M3a/uFYBjii+tDcOJ0wL/WyFi2550FHoECdPf27z github.com/aws/aws-lambda-go v1.34.1/go.mod h1:jwFe2KmMsHmffA1X2R09hH6lFzJQxzI8qK17ewzbQMM= github.com/aws/aws-sdk-go v1.44.298 h1:5qTxdubgV7PptZJmp/2qDwD2JL187ePL7VOxsSh1i3g= github.com/aws/aws-sdk-go v1.44.298/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= -github.com/aws/aws-sdk-go-v2 v1.17.1/go.mod h1:JLnGeGONAyi2lWXI1p0PCIOIy333JMVK1U7Hf0aRFLw= -github.com/aws/aws-sdk-go-v2 v1.17.2/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2 v1.18.0 h1:882kkTpSFhdgYRKVZ/VCgf7sd0ru57p2JCxz4/oN5RY= -github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.25.2 h1:/uiG1avJRgLGiQM9X3qJM8+Qa6KRGK5rRPuXE0HUM+w= github.com/aws/aws-sdk-go-v2 v1.25.2/go.mod h1:Evoc5AsmtveRt1komDwIsjHFyrP5tDuF1D1U+6z6pNo= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.9 h1:RKci2D7tMwpvGpDNZnGQw9wk6v7o/xSwFcUAuNPoB8k= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.9/go.mod h1:vCmV1q1VK8eoQJ5+aYE7PkK1K6v41qJ5pJdK3ggCDvg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 h1:gTK2uhtAPtFcdRRJilZPx8uJLL2J85xK11nKtWL0wfU= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1/go.mod h1:sxpLb+nZk7tIfCWChfd+h4QwHNUR57d8hA1cleTkjJo= -github.com/aws/aws-sdk-go-v2/config v1.18.4 h1:VZKhr3uAADXHStS/Gf9xSYVmmaluTUfkc0dcbPiDsKE= -github.com/aws/aws-sdk-go-v2/config v1.18.4/go.mod h1:EZxMPLSdGAZ3eAmkqXfYbRppZJTzFTkv8VyEzJhKko4= github.com/aws/aws-sdk-go-v2/config v1.27.4 h1:AhfWb5ZwimdsYTgP7Od8E9L1u4sKmDW2ZVeLcf2O42M= github.com/aws/aws-sdk-go-v2/config v1.27.4/go.mod h1:zq2FFXK3A416kiukwpsd+rD4ny6JC7QSkp4QdN1Mp2g= -github.com/aws/aws-sdk-go-v2/credentials v1.13.4 h1:nEbHIyJy7mCvQ/kzGG7VWHSBpRB4H6sJy3bWierWUtg= -github.com/aws/aws-sdk-go-v2/credentials v1.13.4/go.mod h1:/Cj5w9LRsNTLSwexsohwDME32OzJ6U81Zs33zr2ZWOM= github.com/aws/aws-sdk-go-v2/credentials v1.17.4 h1:h5Vztbd8qLppiPwX+y0Q6WiwMZgpd9keKe2EAENgAuI= github.com/aws/aws-sdk-go-v2/credentials v1.17.4/go.mod h1:+30tpwrkOgvkJL1rUZuRLoxcJwtI/OkeBLYnHxJtVe0= -github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.6 h1:TAs693KgM5digUjCmCmNC9RhpPLxwczfjrCq7mjR7KY= -github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.6/go.mod h1:4jroHJSgwid88qqpZyJFpxTyNe6qlItCUND1cXfN50g= github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.13.6 h1:fKkSKZFqQWCE59mDdboIoG2hWzY1pEHPnSkD6qwq7IE= github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.13.6/go.mod h1:+/MkJPCE/m0lNlYKVyKG79YFM2IF/n2gM43llt34xXQ= github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression v1.7.6 h1:pdQFFfM/L8P3VG3KcpuqhRIitI2Ua+vH6iidYqsbLeo= github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression v1.7.6/go.mod h1:M4qwQnA4Bajt0AGOx47oHHD83jqIN5MZtsNELZsS4FE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.20 h1:tpNOglTZ8kg9T38NpcGBxudqfUAwUzyUnLQ4XSd0CHE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.20/go.mod h1:d9xFpWd3qYwdIXM0fvu7deD08vvdRXyc/ueV+0SqaWE= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2 h1:AK0J8iYBFeUk2Ax7O8YpLtFsfhdOByh2QIkHmigpRYk= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2/go.mod h1:iRlGzMix0SExQEviAyptRWRGdYNo3+ufW/lCzvKVTUc= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.6 h1:prcsGA3onmpc7ea1W/m+SMj4uOn5vZ63uJp805UhJJs= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.6/go.mod h1:7eQrvATnVFDY0WfMYhfKkSQ1YtZlClT71fAAlsA1s34= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25/go.mod h1:Zb29PYkf42vVYQY6pvSyJCJcFHlPIiY+YKdPtwnvMkY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.26/go.mod h1:2E0LdbJW6lbeU4uxjum99GZzI0ZjDpAb0CoSCM0oeEY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33 h1:kG5eQilShqmJbv11XL1VpyDbaEJzWxd4zRiCG30GSn4= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33/go.mod h1:7i0PF1ME/2eUPFcjkVIwq+DOygHEoK92t5cDqNgYbIw= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2 h1:bNo4LagzUKbjdxE0tIcR9pMzLR2U/Tgie1Hq1HQ3iH8= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2/go.mod h1:wRQv0nN6v9wDXuWThpovGQjqF1HFdcgWjporw14lS8k= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.20/go.mod h1:/+6lSiby8TBFpTVXZgKiN/rCfkYXEGvhlM4zCgPpt7w= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27 h1:vFQlirhuM8lLlpI7imKOMsjdQLuN9CPi+k44F/OFVsk= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27/go.mod h1:UrHnn3QV/d0pBZ6QBAEQcqFLf8FAzLmoUfPVIueOvoM= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2 h1:EtOU5jsPdIQNP+6Q2C5e3d65NKT1PeCiQk+9OdzO12Q= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2/go.mod h1:tyF5sKccmDz0Bv4NrstEr+/9YkSPJHrcO7UsUKf7pWM= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.27 h1:N2eKFw2S+JWRCtTt0IhIX7uoGGQciD4p6ba+SJv4WEU= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.27/go.mod h1:RdwFVc7PBYWY33fa2+8T1mSqQ7ZEK4ILpM0wfioDC3w= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.16 h1:2EXB7dtGwRYIN3XQ9qwIW504DVbKIw3r89xQnonGdsQ= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.16/go.mod h1:XH+3h395e3WVdd6T2Z3mPxuI+x/HVtdqVOREkTiyubs= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.2 h1:en92G0Z7xlksoOylkUhuBSfJgijC7rHVLRdnIlHEs0E= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.2/go.mod h1:HgtQ/wN5G+8QSlK62lbOtNwQ3wTSByJ4wH2rCkPt+AE= -github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi v1.11.10 h1:os9Aix72xeiZ9+wQ2LZJSoHOzGUqKYLLS9S7Y4BaRmI= -github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi v1.11.10/go.mod h1:rFWa3WA43LkZ9pAJkGuO90kU+N0Ru2dCJwjRfZ8kKZ8= github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi v1.19.1 h1:jODy8OJ4lqKq9XhYXsOAELK/gxoPDAuz9q6FwzyHWXg= github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi v1.19.1/go.mod h1:SjZZaoKE6WxAvzOEW74jcPbTBuunp5al6jSKg95AOmc= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.12.20 h1:7N4o3yLag3c3c22POkmCAfrr/OQG5807a9NRh9lUUKw= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.12.20/go.mod h1:BEIWaGqO27qq9JeFeY746S4+SFmBajpV+yhGne2qbMo= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.1 h1:nOJwQpU2wDe2qtw+vwkywJ44UhK66P6+1UIRotE7Jmo= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.1/go.mod h1:A95FM8hxO6umoiROudoYtTmZYl7KN9nbez8deLDOCnA= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.7/go.mod h1:BiglbKCG56L8tmMnUEyEQo422BO9xnNR8vVHnOsByf8= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.8 h1:VgdGaSIoH4JhUZIspT8UgK0aBF85TiLve7VHEx3NfqE= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.8/go.mod h1:jvXzk+hVrlkiQOvnq6jH+F6qBK0CEceXkEWugT+4Kdc= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.30.1 h1:haLXE5R07oaq/UnvSyE43V4jp9gA2XRMYcxkFYHEpdU= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.30.1/go.mod h1:mM51J0CILKQjqIawPDM4g6E1nyxdlvk/qaCDyJkx0II= -github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.13.26 h1:ToM7rTr08bzBTGWIL5cEpo74ZlzuRF9TpnWuXYDPc5E= -github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.13.26/go.mod h1:5lIdkQbMmEblCTEAyFAsLduBtMPD9Bqt9fwPjBK1KWU= github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.20.1 h1:kZR1TZ0VYcRK2LFiFt61EReplssCq9SZO4gVSYV1Aww= github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.20.1/go.mod h1:ifHRXsCyLVIdvDaAScQnM7jtsXtoBZFmyZiLMex8FTA= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.10/go.mod h1:9cBNUHI2aW4ho0A5T87O294iPDuuUOSIEDjnd1Lq/z0= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 h1:y2+VQzC6Zh2ojtV2LoC0MNwHWc6qXv/j2vrQtlftkdA= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 h1:EyBZibRTVAs6ECHZOw5/wlylS9OcTzwyjeQMudmREjE= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1/go.mod h1:JKpmtYhhPs7D97NL/ltqz7yCkERFW5dOlHyVl66ZYF8= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.20 h1:KSvtm1+fPXE0swe9GPjc6msyrdTT0LB/BP8eLugL1FI= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.20/go.mod h1:Mp4XI/CkWGD79AQxZ5lIFlgvC0A+gl+4BmyG1F+SfNc= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.2 h1:zSdTXYLwuXDNPUS+V41i1SFDXG7V0ITp0D9UT9Cvl18= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.2/go.mod h1:v8m8k+qVy95nYi7d56uP1QImleIIY25BPiNJYzPBdFE= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.19/go.mod h1:2WpVWFC5n4DYhjNXzObtge8xfgId9UP6GWca46KJFLo= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.20 h1:kSZR22oLBDMtP8ZPGXhz649NU77xsJDG7g3xfT6nHVk= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.20/go.mod h1:lxM5qubwGNX29Qy+xTFG8G0r2Mj/TmyC+h3hS/7E4V8= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.2 h1:3tS2g6P3N+Wz64e9aNx7X4BCWN/gT9MUvIuv5l2eoho= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.2/go.mod h1:1Pf5vPqk8t9pdYB3dmUMRE/0m8u0IHHg8ESSiutJd0I= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19/go.mod h1:02CP6iuYP+IVnBX5HULVdSAku/85eHB2Y9EsFhrkEwU= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.20 h1:jlgyHbkZQAgAc7VIxJDmtouH8eNjOk2REVAQfVhdaiQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.20/go.mod h1:Xs52xaLBqDEKRcAfX/hgjmD3YQ7c/W+BEyfamlO/W2E= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2 h1:5ffmXjPtwRExp1zc7gENLgCPyHFbhEPwVTkTiH9niSk= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2/go.mod h1:Ru7vg1iQ7cR4i7SZ/JTLYN9kaXtbL69UdgG0OQWQxW0= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.19 h1:piDBAaWkaxkkVV3xJJbTehXCZRXYs49kvpi/LG6LR2o= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.19/go.mod h1:BmQWRVkLTmyNzYPFAZgon53qKLWBNSvonugD1MrSWUs= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.2 h1:1oY1AVEisRI4HNuFoLdRUB0hC63ylDAN6Me3MrfclEg= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.2/go.mod h1:KZ03VgvZwSjkT7fOetQ/wF3MZUvYFirlI1H5NklUNsY= -github.com/aws/aws-sdk-go-v2/service/kms v1.29.1 h1:OdjJjUWFlMZLAMl54ASxIpZdGEesY4BH3/c0HAPSFdI= -github.com/aws/aws-sdk-go-v2/service/kms v1.29.1/go.mod h1:Cbx2uxEX0bAB7SlSY+ys05ZBkEb8IbmuAOcGVmDfJFs= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.13.21 h1:m7rx+wKkJZJWhoxINdYeKvwVfhhk7gGN2smj2aVUuDU= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.13.21/go.mod h1:/WfhDm5Hmfy/3TSM/1m9ojM0IQsBuVGvd3vITQc86i0= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.1 h1:ADhzQ6eCjR2jkcrxKcjZl0lumL3QIiWSu94ZcxEYOHU= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.1/go.mod h1:EYr+WnZlEA4LQXZdz76eBP1sOmXedhzE/KJ+QXellgA= -github.com/aws/aws-sdk-go-v2/service/s3 v1.29.1 h1:/EMdFPW/Ppieh0WUtQf1+qCGNLdsq5UWUyevBQ6vMVc= -github.com/aws/aws-sdk-go-v2/service/s3 v1.29.1/go.mod h1:/NHbqPRiwxSPVOB2Xr+StDEH+GWV/64WwnUjv4KYzV0= github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1 h1:juZ+uGargZOrQGNxkVHr9HHR/0N+Yu8uekQnV7EAVRs= github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1/go.mod h1:SoR0c7Jnq8Tpmt0KSLXIavhjmaagRqQpe9r70W3POJg= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.16.4 h1:Hx79EGrkKNJya2iz2U5A7nyr7DjOu/TGTRefThfBZ1w= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.16.4/go.mod h1:k6CPuxyzO247nYEM1baEwHH1kRtosRCvgahAepaaShw= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.28.1 h1:DtKw4TxZT3VrzYupXQJPBqT9ImyobZZE+JIQPPAVxqs= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.28.1/go.mod h1:bit9G2ORpSjUTr4PA4usvbBfbOyvMj0LbE1dXF14Sug= -github.com/aws/aws-sdk-go-v2/service/sfn v1.14.3 h1:ofJJWKMioNWqEjKCPtjd7thA+cofOPuqXZcZFJI+v5M= -github.com/aws/aws-sdk-go-v2/service/sfn v1.14.3/go.mod h1:NVWpCnviEDkJiYQZOwVEGA3RlGO7QZmt8+Z6dKXeC7k= github.com/aws/aws-sdk-go-v2/service/sfn v1.26.1 h1:+k/sCGuf8/tnh1zQmhniOmVDIbAuoIsbIuaaEIWEGNU= github.com/aws/aws-sdk-go-v2/service/sfn v1.26.1/go.mod h1:+DE86OeTYFJBv7qDs9/Mm4zvM3up1Ml4t5o4hbGsrRE= -github.com/aws/aws-sdk-go-v2/service/sns v1.18.3 h1:cEFSVrEnbjco0dkcejv7wand04RFaexRdEwbNd1zxCo= -github.com/aws/aws-sdk-go-v2/service/sns v1.18.3/go.mod h1:2cPUjR63iE9MPMPJtSyzYmsTFCNrN/Xi9j0v9BL5OU0= github.com/aws/aws-sdk-go-v2/service/sns v1.29.1 h1:K2FiR/547lI9vGuDL0Ghin4QPSEvOKxbHY9aXFq8wfU= github.com/aws/aws-sdk-go-v2/service/sns v1.29.1/go.mod h1:PBmfgVv83oBgZVFhs/+oWsL6r0hLyB6qHRFEWwHyHn4= -github.com/aws/aws-sdk-go-v2/service/sqs v1.19.12 h1:uiG0JUqcL9w3IUu+tLG/BWJSUUhTgzkMVGThM2wDES4= -github.com/aws/aws-sdk-go-v2/service/sqs v1.19.12/go.mod h1:DKX/7/ZiAzHO6p6AhArnGdrV4r+d461weby8KeVtvC4= github.com/aws/aws-sdk-go-v2/service/sqs v1.31.1 h1:124rVNP6NbCfBZwiX1kfjMQrnsJtnpKeB0GalkuqSXo= github.com/aws/aws-sdk-go-v2/service/sqs v1.31.1/go.mod h1:YijRvM1SAmuiIQ9pjfwahIEE3HMHUkx9P5oplL/Jnj4= -github.com/aws/aws-sdk-go-v2/service/sso v1.11.26 h1:ActQgdTNQej/RuUJjB9uxYVLDOvRGtUreXF8L3c8wyg= -github.com/aws/aws-sdk-go-v2/service/sso v1.11.26/go.mod h1:uB9tV79ULEZUXc6Ob18A46KSQ0JDlrplPni9XW6Ot60= github.com/aws/aws-sdk-go-v2/service/sso v1.20.1 h1:utEGkfdQ4L6YW/ietH7111ZYglLJvS+sLriHJ1NBJEQ= github.com/aws/aws-sdk-go-v2/service/sso v1.20.1/go.mod h1:RsYqzYr2F2oPDdpy+PdhephuZxTfjHQe7SOBcZGoAU8= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.9 h1:wihKuqYUlA2T/Rx+yu2s6NDAns8B9DgnRooB1PVhY+Q= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.9/go.mod h1:2E/3D/mB8/r2J7nK42daoKP/ooCwbf0q1PznNc+DZTU= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1 h1:9/GylMS45hGGFCcMrUZDVayQE1jYSIN6da9jo7RAYIw= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1/go.mod h1:YjAPFn4kGFqKC54VsHs5fn5B6d+PCY2tziEa3U/GB5Y= -github.com/aws/aws-sdk-go-v2/service/sts v1.17.6 h1:VQFOLQVL3BrKM/NLO/7FiS4vcp5bqK0mGMyk09xLoAY= -github.com/aws/aws-sdk-go-v2/service/sts v1.17.6/go.mod h1:Az3OXXYGyfNwQNsK/31L4R75qFYnO641RZGAoV3uH1c= github.com/aws/aws-sdk-go-v2/service/sts v1.28.1 h1:3I2cBEYgKhrWlwyZgfpSO2BpaMY1LHPqXYk/QGlu2ew= github.com/aws/aws-sdk-go-v2/service/sts v1.28.1/go.mod h1:uQ7YYKZt3adCRrdCBREm1CD3efFLOUNH77MrUCvx5oA= -github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= -github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.20.1 h1:4SZlSlMr36UEqC7XOyRVb27XMeZubNcBNN+9IgEPIQw= github.com/aws/smithy-go v1.20.1/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= @@ -273,10 +198,7 @@ github.com/catenacyber/perfsprint v0.6.0 h1:VSv95RRkk5+BxrU/YTPcnxuMEWar1iMK5Vyh github.com/catenacyber/perfsprint v0.6.0/go.mod h1:/wclWYompEyjUD2FuIIDVKNkqz7IgBIWXIH3V0Zol50= github.com/ccojocar/zxcvbn-go v1.0.1 h1:+sxrANSCj6CdadkcMnvde/GWU1vZiiXRbqYSCalV4/4= github.com/ccojocar/zxcvbn-go v1.0.1/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60= -github.com/cenkalti/backoff/v4 v4.2.0 h1:HN5dHm3WBOgndBH6E8V0q2jIYIR3s9yglV8k/+MN3u4= -github.com/cenkalti/backoff/v4 v4.2.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= @@ -301,12 +223,6 @@ github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUK github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= @@ -340,9 +256,6 @@ github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FM github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= @@ -368,7 +281,6 @@ github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= github.com/getkin/kin-openapi v0.113.0 h1:t9aNS/q5Agr7a55Jp1AuZ3sR2WzHESv3Dd2ys4UphsM= github.com/getkin/kin-openapi v0.113.0/go.mod h1:l5e9PaFUo9fyLJCPGQeXI2ML8c3P8BHOEV2VaAVf/pc= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghostiam/protogetter v0.3.4 h1:5SZ+lZSNmNkSbGVSF9hUHhv/b7ELF9Rwchoq7btYo6c= github.com/ghostiam/protogetter v0.3.4/go.mod h1:A0JgIhs0fgVnotGinjQiKaFVG3waItLJNwPmcMzDnvk= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= @@ -439,7 +351,6 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -526,7 +437,6 @@ github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= @@ -545,10 +455,6 @@ github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3 github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -822,7 +728,6 @@ github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= @@ -873,7 +778,6 @@ github.com/sonatard/noctx v0.0.2 h1:L7Dz4De2zDQhW8S0t+KUjY0MAQJd6SgVwhzNIc4ok00= github.com/sonatard/noctx v0.0.2/go.mod h1:kzFz+CzWSjQ2OzIm46uJZoXuBpa2+0y3T36U18dWqIo= github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0= github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= @@ -983,8 +887,6 @@ go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opentelemetry.io/contrib/detectors/aws/lambda v0.36.3 h1:Joa3ioM69WggvQgSvr7ZRbcrI1mMCl30sjbSGglAUMU= -go.opentelemetry.io/contrib/detectors/aws/lambda v0.36.3/go.mod h1:DVT7ZIQ4/NA8BmwOLDpRADMmNoAozODhEMOdK7MQ1xY= go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.36.4 h1:E85NvhZcKfJtiCI+E2sNjrBHE/anyA3MjbTTiRngGoQ= go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.36.4/go.mod h1:sNHaxla2G+y6M3/Jfb3N06CVn/kAZf+8yFwxkIVa/pI= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4 h1:PRXhsszxTt5bbPriTjmaweWUsAnJYeWBhUMLRetUgBU= @@ -993,19 +895,10 @@ go.opentelemetry.io/contrib/propagators/aws v1.11.0 h1:PQH+ds9TdfJv/kVge4ohedKCx go.opentelemetry.io/contrib/propagators/aws v1.11.0/go.mod h1:evz2eVSJ9amYUKHQ7KBf1htk/iKt+xAkYiTYEF72Jik= go.opentelemetry.io/otel v1.11.2 h1:YBZcQlsVekzFsFbjygXMOXSs6pialIZxcjfO/mBDmR0= go.opentelemetry.io/otel v1.11.2/go.mod h1:7p4EUV+AqgdlNV9gL97IgUZiVR3yrFXYo53f9BM3tRI= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.2 h1:htgM8vZIF8oPSCxa341e3IZ4yr/sKxgu8KZYllByiVY= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.2/go.mod h1:rqbht/LlhVBgn5+k3M5QK96K5Xb0DvXpMJ5SFQpY6uw= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.2 h1:fqR1kli93643au1RKo0Uma3d2aPQKT+WBKfTSBaKbOc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.2/go.mod h1:5Qn6qvgkMsLDX+sYK64rHb1FPhpn0UtxF+ouX1uhyJE= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.2 h1:ERwKPn9Aer7Gxsc0+ZlutlH1bEEAUXAUhqm3Y45ABbk= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.2/go.mod h1:jWZUM2MWhWCJ9J9xVbRx7tzK1mXKpAlze4CeulycwVY= go.opentelemetry.io/otel/sdk v1.11.2 h1:GF4JoaEx7iihdMFu30sOyRx52HDHOkl9xQ8SMqNXUiU= go.opentelemetry.io/otel/sdk v1.11.2/go.mod h1:wZ1WxImwpq+lVRo4vsmSOxdd+xwoUJ6rqyLc3SyX9aU= go.opentelemetry.io/otel/trace v1.11.2 h1:Xf7hWSF2Glv0DE3MH7fBHvtpSBsjcBUe5MYAmZM/+y0= go.opentelemetry.io/otel/trace v1.11.2/go.mod h1:4N+yC7QEz7TTsG9BSRLNAa63eg5E06ObSbKPmxQ/pKA= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= -go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= @@ -1126,7 +1019,6 @@ golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1225,7 +1117,6 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= @@ -1357,18 +1248,12 @@ google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 h1:wpZ8pe2x1Q3f2KyT5f8oP/fa9rHAKgFPr/HZdNuS+PQ= -google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY= -google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo= -google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -1383,10 +1268,6 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -1401,7 +1282,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -1420,7 +1300,6 @@ gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/cloud/aws/runtime/keyvalue/dynamodb.go b/cloud/aws/runtime/keyvalue/dynamodb.go index efc053f17..81e4d2d6e 100644 --- a/cloud/aws/runtime/keyvalue/dynamodb.go +++ b/cloud/aws/runtime/keyvalue/dynamodb.go @@ -295,7 +295,6 @@ func (s *DynamoKeyValueService) Keys(req *kvstorepb.KvStoreKeysRequest, stream k projection := expression.NamesList(expression.Name(AttribPk)) filter := expression.Name(AttribPk).BeginsWith(req.Prefix) expr, err := expression.NewBuilder().WithFilter(filter).WithProjection(projection).Build() - if err != nil { return newErr( codes.Internal, diff --git a/cloud/aws/runtime/websocket/apigateway.go b/cloud/aws/runtime/websocket/apigateway.go index c81444542..6a0445735 100644 --- a/cloud/aws/runtime/websocket/apigateway.go +++ b/cloud/aws/runtime/websocket/apigateway.go @@ -68,9 +68,9 @@ func (a *ApiGatewayWebsocketService) getClientForSocket(socket string) (*apigate otelaws.AppendMiddlewares(&cfg.APIOptions) - a.clients[socket] = apigatewaymanagementapi.NewFromConfig(cfg, apigatewaymanagementapi.WithEndpointResolver(apigatewaymanagementapi.EndpointResolverFromURL( - callbackUrl, - ))) + a.clients[socket] = apigatewaymanagementapi.NewFromConfig(cfg, func(o *apigatewaymanagementapi.Options) { + o.BaseEndpoint = aws.String(callbackUrl) + }) return a.clients[socket], nil } diff --git a/cloud/azure/go.mod b/cloud/azure/go.mod index 5171738a7..97211fb24 100644 --- a/cloud/azure/go.mod +++ b/cloud/azure/go.mod @@ -4,6 +4,7 @@ go 1.21 require ( github.com/Azure/azure-sdk-for-go v67.1.0+incompatible + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1 github.com/Azure/azure-sdk-for-go/sdk/data/aztables v1.1.0 github.com/Azure/azure-storage-blob-go v0.15.0 @@ -62,7 +63,6 @@ require ( github.com/Antonboom/nilnil v0.1.7 // indirect github.com/Antonboom/testifylint v1.1.1 // indirect github.com/Azure/azure-pipeline-go v0.2.3 // indirect - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1 // indirect github.com/Azure/go-autorest v14.2.0+incompatible // indirect github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 // indirect @@ -316,7 +316,6 @@ require ( gitlab.com/bosi/decorder v0.4.1 // indirect go-simpler.org/musttag v0.8.0 // indirect go-simpler.org/sloglint v0.4.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4 // indirect go.opentelemetry.io/otel v1.11.2 // indirect go.opentelemetry.io/otel/sdk v1.11.2 // indirect go.opentelemetry.io/otel/trace v1.11.2 // indirect diff --git a/cloud/azure/go.sum b/cloud/azure/go.sum index 113a22e15..730959f0f 100644 --- a/cloud/azure/go.sum +++ b/cloud/azure/go.sum @@ -17,16 +17,12 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.110.10 h1:LXy9GEO+timppncPIAZoOj3l58LIU9k+kn48AN7IO3Y= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= -cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -181,7 +177,6 @@ github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUK github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= @@ -229,7 +224,6 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q= @@ -903,8 +897,6 @@ go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4 h1:PRXhsszxTt5bbPriTjmaweWUsAnJYeWBhUMLRetUgBU= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4/go.mod h1:05eWWy6ZWzmpeImD3UowLTB3VjDMU1yxQ+ENuVWDM3c= go.opentelemetry.io/otel v1.11.2 h1:YBZcQlsVekzFsFbjygXMOXSs6pialIZxcjfO/mBDmR0= go.opentelemetry.io/otel v1.11.2/go.mod h1:7p4EUV+AqgdlNV9gL97IgUZiVR3yrFXYo53f9BM3tRI= go.opentelemetry.io/otel/sdk v1.11.2 h1:GF4JoaEx7iihdMFu30sOyRx52HDHOkl9xQ8SMqNXUiU= @@ -1044,7 +1036,6 @@ golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1253,8 +1244,6 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= diff --git a/cloud/common/go.mod b/cloud/common/go.mod index b8d793851..d339b9cdf 100644 --- a/cloud/common/go.mod +++ b/cloud/common/go.mod @@ -3,10 +3,6 @@ module github.com/nitrictech/nitric/cloud/common go 1.21 require ( - github.com/charmbracelet/bubbles v0.16.1 - github.com/charmbracelet/bubbletea v0.24.2 - github.com/charmbracelet/lipgloss v0.8.0 - github.com/charmbracelet/log v0.2.4 github.com/docker/docker v20.10.24+incompatible github.com/golangci/golangci-lint v1.56.1 github.com/google/addlicense v1.1.1 @@ -62,6 +58,9 @@ require ( github.com/ccojocar/zxcvbn-go v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/charithe/durationcheck v0.0.10 // indirect + github.com/charmbracelet/bubbles v0.16.1 // indirect + github.com/charmbracelet/bubbletea v0.24.2 // indirect + github.com/charmbracelet/lipgloss v0.8.0 // indirect github.com/chavacava/garif v0.1.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect github.com/curioswitch/go-reassign v0.2.0 // indirect @@ -78,7 +77,6 @@ require ( github.com/fzipp/gocyclo v0.6.0 // indirect github.com/ghostiam/protogetter v0.3.4 // indirect github.com/go-critic/go-critic v0.11.0 // indirect - github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect github.com/go-toolsmith/astcast v1.1.0 // indirect github.com/go-toolsmith/astcopy v1.1.0 // indirect diff --git a/cloud/common/go.sum b/cloud/common/go.sum index 37f8386e7..4c4b2cade 100644 --- a/cloud/common/go.sum +++ b/cloud/common/go.sum @@ -117,8 +117,6 @@ github.com/charmbracelet/bubbletea v0.24.2 h1:uaQIKx9Ai6Gdh5zpTbGiWpytMU+CfsPp06 github.com/charmbracelet/bubbletea v0.24.2/go.mod h1:XdrNrV4J8GiyshTtx3DNuYkR1FDaJmO3l2nejekbsgg= github.com/charmbracelet/lipgloss v0.8.0 h1:IS00fk4XAHcf8uZKc3eHeMUTCxUH6NkaTrdyCQk84RU= github.com/charmbracelet/lipgloss v0.8.0/go.mod h1:p4eYUZZJ/0oXTuCQKFF8mqyKCz0ja6y+7DniDDw5KKU= -github.com/charmbracelet/log v0.2.4 h1:3pKtq5/Y5QMKtcZt7kDqD1p9w7lICzHYQACBFY4ocHA= -github.com/charmbracelet/log v0.2.4/go.mod h1:nQGK8tvc4pS9cvVEH/pWJiZ50eUq1aoXUOjGpXvdD0k= github.com/chavacava/garif v0.1.0 h1:2JHa3hbYf5D9dsgseMKAmc/MZ109otzgNFk5s87H9Pc= github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= @@ -197,8 +195,6 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= -github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= diff --git a/cloud/gcp/go.mod b/cloud/gcp/go.mod index b9de5dbc9..38a1b95cd 100644 --- a/cloud/gcp/go.mod +++ b/cloud/gcp/go.mod @@ -13,7 +13,6 @@ require ( github.com/charmbracelet/log v0.2.4 github.com/fasthttp/router v1.4.18 github.com/golang/mock v1.6.0 - github.com/golang/protobuf v1.5.3 github.com/golangci/golangci-lint v1.56.1 github.com/google/addlicense v1.1.1 github.com/googleapis/gax-go/v2 v2.12.0 @@ -24,12 +23,10 @@ require ( github.com/onsi/gomega v1.28.1 github.com/pkg/errors v0.9.1 github.com/pulumi/pulumi/sdk/v3 v3.105.0 + github.com/samber/lo v1.38.1 github.com/uw-labs/lichen v0.1.7 github.com/valyala/fasthttp v1.45.0 - go.opentelemetry.io/contrib/detectors/gcp v1.11.0 go.opentelemetry.io/otel v1.11.2 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.2 - go.opentelemetry.io/otel/sdk v1.11.2 golang.org/x/oauth2 v0.15.0 google.golang.org/api v0.152.0 google.golang.org/grpc v1.59.0 @@ -99,7 +96,6 @@ require ( github.com/BurntSushi/toml v1.3.2 // indirect github.com/Djarvur/go-err113 v0.1.0 // indirect github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v0.33.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/OpenPeeDeeP/depguard/v2 v2.2.0 // indirect github.com/agext/levenshtein v1.2.3 // indirect @@ -124,7 +120,6 @@ require ( github.com/butuzov/mirror v1.1.0 // indirect github.com/catenacyber/perfsprint v0.6.0 // indirect github.com/ccojocar/zxcvbn-go v1.0.1 // indirect - github.com/cenkalti/backoff/v4 v4.2.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/charithe/durationcheck v0.0.10 // indirect github.com/charmbracelet/bubbles v0.16.1 // indirect @@ -169,6 +164,7 @@ require ( github.com/gobwas/glob v0.2.3 // indirect github.com/gofrs/flock v0.8.1 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe // indirect @@ -188,7 +184,6 @@ require ( github.com/gostaticanalysis/comment v1.4.2 // indirect github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect github.com/gostaticanalysis/nilerr v0.1.1 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-version v1.6.0 // indirect @@ -262,7 +257,6 @@ require ( github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/ryancurrah/gomodguard v1.3.0 // indirect github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect - github.com/samber/lo v1.38.1 // indirect github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect github.com/sashamelentyev/interfacebloat v1.1.0 // indirect github.com/sashamelentyev/usestdlibvars v1.24.0 // indirect @@ -310,10 +304,8 @@ require ( go-simpler.org/sloglint v0.4.0 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4 // indirect - go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.2 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.2 // indirect + go.opentelemetry.io/otel/sdk v1.11.2 // indirect go.opentelemetry.io/otel/trace v1.11.2 // indirect - go.opentelemetry.io/proto/otlp v0.19.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.8.0 // indirect go.uber.org/zap v1.24.0 // indirect diff --git a/cloud/gcp/go.sum b/cloud/gcp/go.sum index cd65c4784..df63e67e1 100644 --- a/cloud/gcp/go.sum +++ b/cloud/gcp/go.sum @@ -62,8 +62,6 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/Djarvur/go-err113 v0.1.0 h1:uCRZZOdMQ0TZPHYTdYpoC0bLYJKPEHPUJ8MeAa51lNU= github.com/Djarvur/go-err113 v0.1.0/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 h1:sATXp1x6/axKxz2Gjxv8MALP0bXaNRfQinEwyfMcx8c= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v0.33.0 h1:XJF4ZmIPeOkZUKTo2W177ngJ79XSD2eOuYkQvyuMdvI= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v0.33.0/go.mod h1:8jbDwk101z1YJ201wir2t/3O5Sxn55M37IDVwnQA1rg= github.com/GoogleCloudPlatform/opentelemetry-operations-go/propagator v0.34.2 h1:+Yq9wIbkgEe31FddGeMtCgrXwttHQA66gQrdnXeby5s= github.com/GoogleCloudPlatform/opentelemetry-operations-go/propagator v0.34.2/go.mod h1:0fpP57AX/8cH5k51D2rwhfovlXmNOuh8LFPWA3pIG8k= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= @@ -72,7 +70,6 @@ github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF0 github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenPeeDeeP/depguard/v2 v2.2.0 h1:vDfG60vDtIuf0MEOhmLlLLSzqaRM8EMcgJPdp74zmpA= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= @@ -96,7 +93,6 @@ github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/ github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= @@ -126,10 +122,7 @@ github.com/butuzov/mirror v1.1.0 h1:ZqX54gBVMXu78QLoiqdwpl2mgmoOJTk7s4p4o+0avZI= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/catenacyber/perfsprint v0.6.0 h1:VSv95RRkk5+BxrU/YTPcnxuMEWar1iMK5Vyh3fWcBfs= github.com/ccojocar/zxcvbn-go v1.0.1 h1:+sxrANSCj6CdadkcMnvde/GWU1vZiiXRbqYSCalV4/4= -github.com/cenkalti/backoff/v4 v4.2.0 h1:HN5dHm3WBOgndBH6E8V0q2jIYIR3s9yglV8k/+MN3u4= -github.com/cenkalti/backoff/v4 v4.2.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= @@ -152,12 +145,6 @@ github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUK github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= @@ -189,9 +176,6 @@ github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FM github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= @@ -214,7 +198,6 @@ github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= github.com/getkin/kin-openapi v0.113.0 h1:t9aNS/q5Agr7a55Jp1AuZ3sR2WzHESv3Dd2ys4UphsM= github.com/getkin/kin-openapi v0.113.0/go.mod h1:l5e9PaFUo9fyLJCPGQeXI2ML8c3P8BHOEV2VaAVf/pc= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghostiam/protogetter v0.3.4 h1:5SZ+lZSNmNkSbGVSF9hUHhv/b7ELF9Rwchoq7btYo6c= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= @@ -283,7 +266,6 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -389,10 +371,6 @@ github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3 github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -641,7 +619,6 @@ github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJ github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= @@ -686,7 +663,6 @@ github.com/sonatard/noctx v0.0.2 h1:L7Dz4De2zDQhW8S0t+KUjY0MAQJd6SgVwhzNIc4ok00= github.com/sonatard/noctx v0.0.2/go.mod h1:kzFz+CzWSjQ2OzIm46uJZoXuBpa2+0y3T36U18dWqIo= github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0= github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= @@ -786,25 +762,14 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/detectors/gcp v1.11.0 h1:kb+VGYAf2ut2Iiy7lJy/lglbIeC3sTqug/nIl3vvGoE= -go.opentelemetry.io/contrib/detectors/gcp v1.11.0/go.mod h1:ngcIy8Phjir6CnHzUQXRASWl4dG3bXlQ3HY761RMmUQ= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4 h1:PRXhsszxTt5bbPriTjmaweWUsAnJYeWBhUMLRetUgBU= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4/go.mod h1:05eWWy6ZWzmpeImD3UowLTB3VjDMU1yxQ+ENuVWDM3c= go.opentelemetry.io/otel v1.11.2 h1:YBZcQlsVekzFsFbjygXMOXSs6pialIZxcjfO/mBDmR0= go.opentelemetry.io/otel v1.11.2/go.mod h1:7p4EUV+AqgdlNV9gL97IgUZiVR3yrFXYo53f9BM3tRI= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.2 h1:htgM8vZIF8oPSCxa341e3IZ4yr/sKxgu8KZYllByiVY= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.2/go.mod h1:rqbht/LlhVBgn5+k3M5QK96K5Xb0DvXpMJ5SFQpY6uw= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.2 h1:fqR1kli93643au1RKo0Uma3d2aPQKT+WBKfTSBaKbOc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.2/go.mod h1:5Qn6qvgkMsLDX+sYK64rHb1FPhpn0UtxF+ouX1uhyJE= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.2 h1:ERwKPn9Aer7Gxsc0+ZlutlH1bEEAUXAUhqm3Y45ABbk= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.2/go.mod h1:jWZUM2MWhWCJ9J9xVbRx7tzK1mXKpAlze4CeulycwVY= go.opentelemetry.io/otel/sdk v1.11.2 h1:GF4JoaEx7iihdMFu30sOyRx52HDHOkl9xQ8SMqNXUiU= go.opentelemetry.io/otel/sdk v1.11.2/go.mod h1:wZ1WxImwpq+lVRo4vsmSOxdd+xwoUJ6rqyLc3SyX9aU= go.opentelemetry.io/otel/trace v1.11.2 h1:Xf7hWSF2Glv0DE3MH7fBHvtpSBsjcBUe5MYAmZM/+y0= go.opentelemetry.io/otel/trace v1.11.2/go.mod h1:4N+yC7QEz7TTsG9BSRLNAa63eg5E06ObSbKPmxQ/pKA= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= -go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= @@ -921,7 +886,6 @@ golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1018,7 +982,6 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= @@ -1152,14 +1115,12 @@ google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 h1:wpZ8pe2x1Q3f2KyT5f8oP/fa9rHAKgFPr/HZdNuS+PQ= google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= @@ -1175,11 +1136,7 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1193,7 +1150,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -1212,7 +1168,6 @@ gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/cloud/gcp/runtime/keyvalue/firestore.go b/cloud/gcp/runtime/keyvalue/firestore.go index 2796e23e1..fd390e36a 100644 --- a/cloud/gcp/runtime/keyvalue/firestore.go +++ b/cloud/gcp/runtime/keyvalue/firestore.go @@ -16,6 +16,7 @@ package keyvalue import ( "context" + "errors" "fmt" "strings" @@ -182,7 +183,7 @@ func (s *FirestoreDocService) Keys(req *v1.KvStoreKeysRequest, stream v1.KvStore for { doc, err := iter.Next() - if err == iterator.Done { + if errors.Is(err, iterator.Done) { break } if err != nil { diff --git a/core/go.mod b/core/go.mod index 646ed6a84..ad3b2821f 100644 --- a/core/go.mod +++ b/core/go.mod @@ -105,12 +105,12 @@ require ( github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect github.com/gostaticanalysis/nilerr v0.1.1 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect - github.com/hashicorp/go-hclog v1.2.0 // indirect + github.com/hashicorp/go-hclog v1.2.2 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.4.3 // indirect + github.com/hashicorp/go-plugin v1.4.6 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb // indirect + github.com/hashicorp/yamux v0.1.1 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect github.com/iancoleman/strcase v0.2.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect @@ -144,7 +144,7 @@ require ( github.com/mbilski/exhaustivestruct v1.2.0 // indirect github.com/mgechev/revive v1.3.7 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77 // indirect + github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/moricho/tparallel v0.3.1 // indirect github.com/muesli/termenv v0.15.2 // indirect github.com/nakabonne/nestif v0.3.1 // indirect @@ -152,7 +152,7 @@ require ( github.com/nishanths/predeclared v0.2.2 // indirect github.com/nunnatsa/ginkgolinter v0.15.2 // indirect github.com/nxadm/tail v1.4.8 // indirect - github.com/oklog/run v1.0.0 // indirect + github.com/oklog/run v1.1.0 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.0.5 // indirect diff --git a/core/go.sum b/core/go.sum index b41e34713..d9a5bad8d 100644 --- a/core/go.sum +++ b/core/go.sum @@ -144,7 +144,6 @@ github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStB github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q= github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= @@ -314,13 +313,10 @@ github.com/gostaticanalysis/testutil v0.4.0/go.mod h1:bLIoPefWXrRi/ssLFWX1dx7Rep github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= -github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.2 h1:ihRI7YFwcZdiSD7SIenIhHfQH3OuDvWerAUBZbeQS3M= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-plugin v1.4.3 h1:DXmvivbWD5qdiBts9TpBC7BYL1Aia5sxbRgQB+v6UZM= -github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= +github.com/hashicorp/go-plugin v1.4.6 h1:MDV3UrKQBM3du3G7MApDGvOsMYy3JQJ4exhSoKBAeVA= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -328,8 +324,7 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb h1:b5rjCoWHc7eqmAS4/qyk21ZsHyb6Mxv/jykxvNTkU4M= -github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -408,11 +403,8 @@ github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 h1:gWg6ZQ4JhDfJPqlo2 github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE= github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= @@ -428,8 +420,7 @@ github.com/mgechev/revive v1.3.7 h1:502QY0vQGe9KtYJ9FpxMz9rL+Fc/P13CI5POL4uHCcE= github.com/mgechev/revive v1.3.7/go.mod h1:RJ16jUbF0OWC3co/+XTxmFNgEpUPwnnA0BRllX2aDNA= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77 h1:7GoSOOW2jpsfkntVKaS2rAr1TJqfcxotyaUcuxoZSzg= -github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -454,8 +445,7 @@ github.com/nunnatsa/ginkgolinter v0.15.2/go.mod h1:oYxE7dt1vZI8cK2rZOs3RgTaBN2vg github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= -github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -726,7 +716,6 @@ golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -798,7 +787,6 @@ golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -810,7 +798,6 @@ golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -969,7 +956,6 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1001,7 +987,6 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= -google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/core/pkg/decorators/keyvalue_compat.go b/core/pkg/decorators/keyvalue_compat.go index ea479210b..197552899 100644 --- a/core/pkg/decorators/keyvalue_compat.go +++ b/core/pkg/decorators/keyvalue_compat.go @@ -1,3 +1,17 @@ +// Copyright 2021 Nitric Technologies Pty Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package decorators import ( @@ -22,7 +36,6 @@ func (k *KvStoreCompat) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequ Store: req.Ref.Store, }, }) - if err != nil { return nil, err } @@ -46,7 +59,6 @@ func (k *KvStoreCompat) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequ Store: req.Ref.Store, }, }) - if err != nil { return nil, err } @@ -62,7 +74,6 @@ func (k *KvStoreCompat) Delete(ctx context.Context, req *keyvaluepb.KeyValueDele Store: req.Ref.Store, }, }) - if err != nil { return nil, err } diff --git a/go.work.sum b/go.work.sum index dccd31b3a..3c8cfdac8 100644 --- a/go.work.sum +++ b/go.work.sum @@ -900,6 +900,7 @@ github.com/charmbracelet/glamour v0.6.0/go.mod h1:taqWV4swIMMbWALc0m7AfE9JkPSU8o github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c= +github.com/charmbracelet/log v0.2.4/go.mod h1:nQGK8tvc4pS9cvVEH/pWJiZ50eUq1aoXUOjGpXvdD0k= github.com/chavacava/garif v0.0.0-20210405164556-e8a0a408d6af/go.mod h1:Qjyv4H3//PWVzTeCezG2b9IRn6myJxJSr4TD/xo6ojU= github.com/chavacava/garif v0.0.0-20220630083739-93517212f375/go.mod h1:4m1Rv7xfuwWPNKXlThldNuJvutYM6J95wNuuVmn55To= github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= @@ -1020,6 +1021,7 @@ github.com/go-kit/log v0.2.0 h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= +github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-redis/redis v6.15.8+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= @@ -1166,7 +1168,6 @@ github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9n github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.2.2 h1:ihRI7YFwcZdiSD7SIenIhHfQH3OuDvWerAUBZbeQS3M= github.com/hashicorp/go-hclog v1.2.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -1177,7 +1178,6 @@ github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9 github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-msgpack v1.1.5 h1:9byZdVjKTe5mce63pRVNP1L7UAmdHOTEMGehn6KvJWs= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-plugin v1.4.6 h1:MDV3UrKQBM3du3G7MApDGvOsMYy3JQJ4exhSoKBAeVA= github.com/hashicorp/go-plugin v1.4.6/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= github.com/hashicorp/go-retryablehttp v0.5.3 h1:QlWt0KvWT0lq8MFppF9tsJGF+ynG7ztc2KIPhzRGk7s= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= @@ -1219,7 +1219,6 @@ github.com/hashicorp/serf v0.9.8 h1:JGklO/2Drf1QGa312EieQN3zhxQ+aJg6pG+aC3MFaVo= github.com/hashicorp/serf v0.9.8/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/vault/api v1.8.2/go.mod h1:ML8aYzBIhY5m1MD1B2Q0JV89cC85YVH4t5kBaZiyVaE= github.com/hashicorp/vault/sdk v0.6.1/go.mod h1:Ck4JuAC6usTphfrrRJCRH+7/N7O2ozZzkm/fzQFt4uM= -github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= @@ -1271,6 +1270,7 @@ github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47e github.com/klauspost/compress v1.15.12/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.15.13 h1:NFn1Wr8cfnenSJSA46lLq4wHCcBzKTSjnBIexDMMOV0= github.com/klauspost/compress v1.15.13/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/reedsolomon v1.11.3 h1:rX9UNNvDhJ0Bq45y6uBy/eYehcjyz5faokTuZmu1Q9U= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= @@ -1354,7 +1354,6 @@ github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXx github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= @@ -1395,7 +1394,6 @@ github.com/nishanths/predeclared v0.0.0-20190419143655-18a43bb90ffc/go.mod h1:62 github.com/nishanths/predeclared v0.2.1/go.mod h1:HvkGJcA3naj4lOwnFXFDkFxVtSqQMB9sbB1usJ+xjQE= github.com/nitrictech/go-mods-direct v0.0.0-20221124004415-e2ce7ec20618 h1:nHCmSvLWJUehCabPo+STGUM6cTzCLJsoYuuJEJ9qT84= github.com/nitrictech/nitric/cloud/azure v0.0.0-20230430232207-a0e427e2d646/go.mod h1:29YXAFkYPA4ezU2pb6+jceCzWuu/mBKzTHd0NXX/BrA= -github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= @@ -2042,6 +2040,7 @@ google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZ google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI= google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405/go.mod h1:3WDQMjmJk36UQhjQ89emUzb1mdaHcPeeAh4SCBKznB4= +google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY= google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 h1:XVeBY8d/FaK4848myy41HBqnDwvxeV3zMZhwN1TvAMU= @@ -2049,6 +2048,7 @@ google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go. google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870= google.golang.org/genproto/googleapis/api v0.0.0-20231030173426-d783a09b4405/go.mod h1:oT32Z4o8Zv2xPQTg0pbVaPr0MPOH6f14RgXt7zfIpwg= +google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231120223509-83a465c0220f/go.mod h1:iIgEblxoG4klcXsG0d9cpoxJ4xndv6+1FkDROCHhPRI= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= From 27139bc7fabd2b148cb4f719446924d9d8066323 Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Thu, 29 Feb 2024 10:22:16 +1100 Subject: [PATCH 18/24] add log warning to compat layer for keyvaluestore --- core/pkg/decorators/keyvalue_compat.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/pkg/decorators/keyvalue_compat.go b/core/pkg/decorators/keyvalue_compat.go index 197552899..22317b786 100644 --- a/core/pkg/decorators/keyvalue_compat.go +++ b/core/pkg/decorators/keyvalue_compat.go @@ -17,6 +17,7 @@ package decorators import ( "context" + "github.com/nitrictech/nitric/core/pkg/logger" keyvaluepb "github.com/nitrictech/nitric/core/pkg/proto/keyvalue/v1" kvstorepb "github.com/nitrictech/nitric/core/pkg/proto/kvstore/v1" ) @@ -30,6 +31,8 @@ var _ keyvaluepb.KeyValueServer = (*KvStoreCompat)(nil) // Get an existing value func (k *KvStoreCompat) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequest) (*keyvaluepb.KeyValueGetResponse, error) { + logger.Warnf("Your SDK is using the deprecated KeyValue service which will soon be removed, update your nitric language SDK") + resp, err := k.GetKey(ctx, &kvstorepb.KvStoreGetRequest{ Ref: &kvstorepb.ValueRef{ Key: req.Ref.Key, @@ -53,6 +56,8 @@ func (k *KvStoreCompat) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequ // Create a new or overwrite an existing value func (k *KvStoreCompat) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequest) (*keyvaluepb.KeyValueSetResponse, error) { + logger.Warnf("Your SDK is using the deprecated KeyValue service which will soon be removed, update your nitric language SDK") + _, err := k.SetKey(ctx, &kvstorepb.KvStoreSetRequest{ Ref: &kvstorepb.ValueRef{ Key: req.Ref.Key, @@ -68,6 +73,8 @@ func (k *KvStoreCompat) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequ // Delete a key and its value func (k *KvStoreCompat) Delete(ctx context.Context, req *keyvaluepb.KeyValueDeleteRequest) (*keyvaluepb.KeyValueDeleteResponse, error) { + logger.Warnf("Your SDK is using the deprecated KeyValue service which will soon be removed, update your nitric language SDK") + _, err := k.DeleteKey(ctx, &kvstorepb.KvStoreDeleteRequest{ Ref: &kvstorepb.ValueRef{ Key: req.Ref.Key, From 70d8649efcb7dbb190ea8b685a5b84bb5794b703 Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Thu, 29 Feb 2024 10:25:14 +1100 Subject: [PATCH 19/24] update log warning --- core/pkg/decorators/keyvalue_compat.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/pkg/decorators/keyvalue_compat.go b/core/pkg/decorators/keyvalue_compat.go index 22317b786..49fb34a26 100644 --- a/core/pkg/decorators/keyvalue_compat.go +++ b/core/pkg/decorators/keyvalue_compat.go @@ -31,7 +31,7 @@ var _ keyvaluepb.KeyValueServer = (*KvStoreCompat)(nil) // Get an existing value func (k *KvStoreCompat) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequest) (*keyvaluepb.KeyValueGetResponse, error) { - logger.Warnf("Your SDK is using the deprecated KeyValue service which will soon be removed, update your nitric language SDK") + logger.Warnf("Your language SDK is using a version of the KeyValue service that is out of date, update your nitric language SDK") resp, err := k.GetKey(ctx, &kvstorepb.KvStoreGetRequest{ Ref: &kvstorepb.ValueRef{ @@ -56,7 +56,7 @@ func (k *KvStoreCompat) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequ // Create a new or overwrite an existing value func (k *KvStoreCompat) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequest) (*keyvaluepb.KeyValueSetResponse, error) { - logger.Warnf("Your SDK is using the deprecated KeyValue service which will soon be removed, update your nitric language SDK") + logger.Warnf("Your language SDK is using a version of the KeyValue service that is out of date, update your nitric language SDK") _, err := k.SetKey(ctx, &kvstorepb.KvStoreSetRequest{ Ref: &kvstorepb.ValueRef{ @@ -73,7 +73,7 @@ func (k *KvStoreCompat) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequ // Delete a key and its value func (k *KvStoreCompat) Delete(ctx context.Context, req *keyvaluepb.KeyValueDeleteRequest) (*keyvaluepb.KeyValueDeleteResponse, error) { - logger.Warnf("Your SDK is using the deprecated KeyValue service which will soon be removed, update your nitric language SDK") + logger.Warnf("Your language SDK is using a version of the KeyValue service that is out of date, update your nitric language SDK") _, err := k.DeleteKey(ctx, &kvstorepb.KvStoreDeleteRequest{ Ref: &kvstorepb.ValueRef{ From b2986f417930f23f3fbda98fd76254cbaf82e2b7 Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Thu, 29 Feb 2024 11:12:07 +1100 Subject: [PATCH 20/24] update kvstore message names --- cloud/aws/runtime/keyvalue/dynamodb.go | 16 +- cloud/azure/runtime/keyvalue/keyvalue.go | 18 +- cloud/gcp/runtime/keyvalue/firestore.go | 16 +- core/pkg/decorators/keyvalue_compat.go | 6 +- core/pkg/proto/kvstore/v1/kvstore.pb.go | 349 ++++++++++--------- core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go | 84 ++--- nitric/proto/kvstore/v1/kvstore.proto | 24 +- 7 files changed, 258 insertions(+), 255 deletions(-) diff --git a/cloud/aws/runtime/keyvalue/dynamodb.go b/cloud/aws/runtime/keyvalue/dynamodb.go index 81e4d2d6e..bedd4d3da 100644 --- a/cloud/aws/runtime/keyvalue/dynamodb.go +++ b/cloud/aws/runtime/keyvalue/dynamodb.go @@ -64,7 +64,7 @@ func isDynamoAccessDeniedErr(err error) bool { } // Get a document from the DynamoDB table -func (s *DynamoKeyValueService) GetKey(ctx context.Context, req *kvstorepb.KvStoreGetRequest) (*kvstorepb.KvStoreGetResponse, error) { +func (s *DynamoKeyValueService) GetKey(ctx context.Context, req *kvstorepb.KvStoreGetKeyRequest) (*kvstorepb.KvStoreGetKeyResponse, error) { newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Get") err := document.ValidateValueRef(req.Ref) @@ -143,7 +143,7 @@ func (s *DynamoKeyValueService) GetKey(ctx context.Context, req *kvstorepb.KvSto ) } - return &kvstorepb.KvStoreGetResponse{ + return &kvstorepb.KvStoreGetKeyResponse{ Value: &kvstorepb.Value{ Ref: req.Ref, Content: documentContent, @@ -152,7 +152,7 @@ func (s *DynamoKeyValueService) GetKey(ctx context.Context, req *kvstorepb.KvSto } // Set a document in the DynamoDB table -func (s *DynamoKeyValueService) SetKey(ctx context.Context, req *kvstorepb.KvStoreSetRequest) (*kvstorepb.KvStoreSetResponse, error) { +func (s *DynamoKeyValueService) SetKey(ctx context.Context, req *kvstorepb.KvStoreSetKeyRequest) (*kvstorepb.KvStoreSetKeyResponse, error) { newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Set") if err := document.ValidateValueRef(req.Ref); err != nil { @@ -213,11 +213,11 @@ func (s *DynamoKeyValueService) SetKey(ctx context.Context, req *kvstorepb.KvSto ) } - return &kvstorepb.KvStoreSetResponse{}, nil + return &kvstorepb.KvStoreSetKeyResponse{}, nil } // Delete a document from the DynamoDB table -func (s *DynamoKeyValueService) DeleteKey(ctx context.Context, req *kvstorepb.KvStoreDeleteRequest) (*kvstorepb.KvStoreDeleteResponse, error) { +func (s *DynamoKeyValueService) DeleteKey(ctx context.Context, req *kvstorepb.KvStoreDeleteKeyRequest) (*kvstorepb.KvStoreDeleteKeyResponse, error) { newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Delete") if err := document.ValidateValueRef(req.Ref); err != nil { @@ -269,10 +269,10 @@ func (s *DynamoKeyValueService) DeleteKey(ctx context.Context, req *kvstorepb.Kv ) } - return &kvstorepb.KvStoreDeleteResponse{}, nil + return &kvstorepb.KvStoreDeleteKeyResponse{}, nil } -func (s *DynamoKeyValueService) Keys(req *kvstorepb.KvStoreKeysRequest, stream kvstorepb.KvStore_KeysServer) error { +func (s *DynamoKeyValueService) GetKeys(req *kvstorepb.KvStoreGetKeysRequest, stream kvstorepb.KvStore_GetKeysServer) error { newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Keys") if req.Store.GetName() == "" { @@ -342,7 +342,7 @@ func (s *DynamoKeyValueService) Keys(req *kvstorepb.KvStoreKeysRequest, stream k ) } - if err := stream.Send(&kvstorepb.KvStoreKeysResponse{ + if err := stream.Send(&kvstorepb.KvStoreGetKeysResponse{ Key: itemMap[AttribPk].(string), }); err != nil { return newErr( diff --git a/cloud/azure/runtime/keyvalue/keyvalue.go b/cloud/azure/runtime/keyvalue/keyvalue.go index 4b0ee3bab..cd6c6fab6 100644 --- a/cloud/azure/runtime/keyvalue/keyvalue.go +++ b/cloud/azure/runtime/keyvalue/keyvalue.go @@ -49,7 +49,7 @@ type AztableEntity struct { } // Get a value from the Azure Storage table -func (s *AzureStorageTableKeyValueService) GetKey(ctx context.Context, req *kvstorepb.KvStoreGetRequest) (*kvstorepb.KvStoreGetResponse, error) { +func (s *AzureStorageTableKeyValueService) GetKey(ctx context.Context, req *kvstorepb.KvStoreGetKeyRequest) (*kvstorepb.KvStoreGetKeyResponse, error) { newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.GetKey") client, err := s.clientFactory(req.Ref.Store) if err != nil { @@ -118,7 +118,7 @@ func (s *AzureStorageTableKeyValueService) GetKey(ctx context.Context, req *kvst ) } - return &kvstorepb.KvStoreGetResponse{ + return &kvstorepb.KvStoreGetKeyResponse{ Value: &kvstorepb.Value{ Ref: req.Ref, Content: &structContent, @@ -127,7 +127,7 @@ func (s *AzureStorageTableKeyValueService) GetKey(ctx context.Context, req *kvst } // Set a value in the Azure Storage table -func (s *AzureStorageTableKeyValueService) SetKey(ctx context.Context, req *kvstorepb.KvStoreSetRequest) (*kvstorepb.KvStoreSetResponse, error) { +func (s *AzureStorageTableKeyValueService) SetKey(ctx context.Context, req *kvstorepb.KvStoreSetKeyRequest) (*kvstorepb.KvStoreSetKeyResponse, error) { newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.SetKeys") client, err := s.clientFactory(req.Ref.Store) if err != nil { @@ -197,11 +197,11 @@ func (s *AzureStorageTableKeyValueService) SetKey(ctx context.Context, req *kvst ) } - return &kvstorepb.KvStoreSetResponse{}, nil + return &kvstorepb.KvStoreSetKeyResponse{}, nil } // Delete a key/value pair from the Azure Storage table -func (s *AzureStorageTableKeyValueService) DeleteKey(ctx context.Context, req *kvstorepb.KvStoreDeleteRequest) (*kvstorepb.KvStoreDeleteResponse, error) { +func (s *AzureStorageTableKeyValueService) DeleteKey(ctx context.Context, req *kvstorepb.KvStoreDeleteKeyRequest) (*kvstorepb.KvStoreDeleteKeyResponse, error) { newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.DeleteKey") client, err := s.clientFactory(req.Ref.Store) if err != nil { @@ -227,7 +227,7 @@ func (s *AzureStorageTableKeyValueService) DeleteKey(ctx context.Context, req *k switch respErr.StatusCode { case http.StatusNotFound: // not found isn't an error for delete - return &kvstorepb.KvStoreDeleteResponse{}, nil + return &kvstorepb.KvStoreDeleteKeyResponse{}, nil case http.StatusForbidden: // Handle forbidden error return nil, newErr( @@ -245,11 +245,11 @@ func (s *AzureStorageTableKeyValueService) DeleteKey(ctx context.Context, req *k ) } - return &kvstorepb.KvStoreDeleteResponse{}, nil + return &kvstorepb.KvStoreDeleteKeyResponse{}, nil } // Return all keys in the Azure Storage table for a key/value store -func (s *AzureStorageTableKeyValueService) Keys(req *kvstorepb.KvStoreKeysRequest, stream kvstorepb.KvStore_KeysServer) error { +func (s *AzureStorageTableKeyValueService) GetKeys(req *kvstorepb.KvStoreGetKeysRequest, stream kvstorepb.KvStore_GetKeysServer) error { newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.Keys") storeName := req.GetStore().GetName() @@ -312,7 +312,7 @@ func (s *AzureStorageTableKeyValueService) Keys(req *kvstorepb.KvStoreKeysReques ) } - if err := stream.Send(&kvstorepb.KvStoreKeysResponse{ + if err := stream.Send(&kvstorepb.KvStoreGetKeysResponse{ Key: entity.RowKey, }); err != nil { return newErr( diff --git a/cloud/gcp/runtime/keyvalue/firestore.go b/cloud/gcp/runtime/keyvalue/firestore.go index fd390e36a..917f4d502 100644 --- a/cloud/gcp/runtime/keyvalue/firestore.go +++ b/cloud/gcp/runtime/keyvalue/firestore.go @@ -40,7 +40,7 @@ type FirestoreDocService struct { var _ v1.KvStoreServer = &FirestoreDocService{} -func (s *FirestoreDocService) GetKey(ctx context.Context, req *v1.KvStoreGetRequest) (*v1.KvStoreGetResponse, error) { +func (s *FirestoreDocService) GetKey(ctx context.Context, req *v1.KvStoreGetKeyRequest) (*v1.KvStoreGetKeyResponse, error) { newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.GetKey") if err := keyvalue.ValidateValueRef(req.Ref); err != nil { @@ -86,7 +86,7 @@ func (s *FirestoreDocService) GetKey(ctx context.Context, req *v1.KvStoreGetRequ ) } - return &v1.KvStoreGetResponse{ + return &v1.KvStoreGetKeyResponse{ Value: &v1.Value{ Ref: req.Ref, Content: documentContent, @@ -94,7 +94,7 @@ func (s *FirestoreDocService) GetKey(ctx context.Context, req *v1.KvStoreGetRequ }, nil } -func (s *FirestoreDocService) SetKey(ctx context.Context, req *v1.KvStoreSetRequest) (*v1.KvStoreSetResponse, error) { +func (s *FirestoreDocService) SetKey(ctx context.Context, req *v1.KvStoreSetKeyRequest) (*v1.KvStoreSetKeyResponse, error) { newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.SetKey") if err := keyvalue.ValidateValueRef(req.Ref); err != nil { @@ -131,10 +131,10 @@ func (s *FirestoreDocService) SetKey(ctx context.Context, req *v1.KvStoreSetRequ ) } - return &v1.KvStoreSetResponse{}, nil + return &v1.KvStoreSetKeyResponse{}, nil } -func (s *FirestoreDocService) DeleteKey(ctx context.Context, req *v1.KvStoreDeleteRequest) (*v1.KvStoreDeleteResponse, error) { +func (s *FirestoreDocService) DeleteKey(ctx context.Context, req *v1.KvStoreDeleteKeyRequest) (*v1.KvStoreDeleteKeyResponse, error) { newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.DeleteKey") if err := keyvalue.ValidateValueRef(req.Ref); err != nil { @@ -164,10 +164,10 @@ func (s *FirestoreDocService) DeleteKey(ctx context.Context, req *v1.KvStoreDele ) } - return &v1.KvStoreDeleteResponse{}, nil + return &v1.KvStoreDeleteKeyResponse{}, nil } -func (s *FirestoreDocService) Keys(req *v1.KvStoreKeysRequest, stream v1.KvStore_KeysServer) error { +func (s *FirestoreDocService) GetKeys(req *v1.KvStoreGetKeysRequest, stream v1.KvStore_GetKeysServer) error { newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.Keys") storeName := req.GetStore().GetName() @@ -202,7 +202,7 @@ func (s *FirestoreDocService) Keys(req *v1.KvStoreKeysRequest, stream v1.KvStore continue } - if err := stream.Send(&v1.KvStoreKeysResponse{ + if err := stream.Send(&v1.KvStoreGetKeysResponse{ Key: doc.ID, }); err != nil { return newErr( diff --git a/core/pkg/decorators/keyvalue_compat.go b/core/pkg/decorators/keyvalue_compat.go index 49fb34a26..ac4e32872 100644 --- a/core/pkg/decorators/keyvalue_compat.go +++ b/core/pkg/decorators/keyvalue_compat.go @@ -33,7 +33,7 @@ var _ keyvaluepb.KeyValueServer = (*KvStoreCompat)(nil) func (k *KvStoreCompat) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequest) (*keyvaluepb.KeyValueGetResponse, error) { logger.Warnf("Your language SDK is using a version of the KeyValue service that is out of date, update your nitric language SDK") - resp, err := k.GetKey(ctx, &kvstorepb.KvStoreGetRequest{ + resp, err := k.GetKey(ctx, &kvstorepb.KvStoreGetKeyRequest{ Ref: &kvstorepb.ValueRef{ Key: req.Ref.Key, Store: req.Ref.Store, @@ -58,7 +58,7 @@ func (k *KvStoreCompat) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequ func (k *KvStoreCompat) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequest) (*keyvaluepb.KeyValueSetResponse, error) { logger.Warnf("Your language SDK is using a version of the KeyValue service that is out of date, update your nitric language SDK") - _, err := k.SetKey(ctx, &kvstorepb.KvStoreSetRequest{ + _, err := k.SetKey(ctx, &kvstorepb.KvStoreSetKeyRequest{ Ref: &kvstorepb.ValueRef{ Key: req.Ref.Key, Store: req.Ref.Store, @@ -75,7 +75,7 @@ func (k *KvStoreCompat) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequ func (k *KvStoreCompat) Delete(ctx context.Context, req *keyvaluepb.KeyValueDeleteRequest) (*keyvaluepb.KeyValueDeleteResponse, error) { logger.Warnf("Your language SDK is using a version of the KeyValue service that is out of date, update your nitric language SDK") - _, err := k.DeleteKey(ctx, &kvstorepb.KvStoreDeleteRequest{ + _, err := k.DeleteKey(ctx, &kvstorepb.KvStoreDeleteKeyRequest{ Ref: &kvstorepb.ValueRef{ Key: req.Ref.Key, Store: req.Ref.Store, diff --git a/core/pkg/proto/kvstore/v1/kvstore.pb.go b/core/pkg/proto/kvstore/v1/kvstore.pb.go index 86e1f27bc..a0967a3d0 100644 --- a/core/pkg/proto/kvstore/v1/kvstore.pb.go +++ b/core/pkg/proto/kvstore/v1/kvstore.pb.go @@ -186,7 +186,7 @@ func (x *Value) GetContent() *structpb.Struct { return nil } -type KvStoreGetRequest struct { +type KvStoreGetKeyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -195,8 +195,8 @@ type KvStoreGetRequest struct { Ref *ValueRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` } -func (x *KvStoreGetRequest) Reset() { - *x = KvStoreGetRequest{} +func (x *KvStoreGetKeyRequest) Reset() { + *x = KvStoreGetKeyRequest{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -204,13 +204,13 @@ func (x *KvStoreGetRequest) Reset() { } } -func (x *KvStoreGetRequest) String() string { +func (x *KvStoreGetKeyRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreGetRequest) ProtoMessage() {} +func (*KvStoreGetKeyRequest) ProtoMessage() {} -func (x *KvStoreGetRequest) ProtoReflect() protoreflect.Message { +func (x *KvStoreGetKeyRequest) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -222,19 +222,19 @@ func (x *KvStoreGetRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreGetRequest.ProtoReflect.Descriptor instead. -func (*KvStoreGetRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreGetKeyRequest.ProtoReflect.Descriptor instead. +func (*KvStoreGetKeyRequest) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{3} } -func (x *KvStoreGetRequest) GetRef() *ValueRef { +func (x *KvStoreGetKeyRequest) GetRef() *ValueRef { if x != nil { return x.Ref } return nil } -type KvStoreGetResponse struct { +type KvStoreGetKeyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -243,8 +243,8 @@ type KvStoreGetResponse struct { Value *Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } -func (x *KvStoreGetResponse) Reset() { - *x = KvStoreGetResponse{} +func (x *KvStoreGetKeyResponse) Reset() { + *x = KvStoreGetKeyResponse{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -252,13 +252,13 @@ func (x *KvStoreGetResponse) Reset() { } } -func (x *KvStoreGetResponse) String() string { +func (x *KvStoreGetKeyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreGetResponse) ProtoMessage() {} +func (*KvStoreGetKeyResponse) ProtoMessage() {} -func (x *KvStoreGetResponse) ProtoReflect() protoreflect.Message { +func (x *KvStoreGetKeyResponse) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -270,19 +270,19 @@ func (x *KvStoreGetResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreGetResponse.ProtoReflect.Descriptor instead. -func (*KvStoreGetResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreGetKeyResponse.ProtoReflect.Descriptor instead. +func (*KvStoreGetKeyResponse) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{4} } -func (x *KvStoreGetResponse) GetValue() *Value { +func (x *KvStoreGetKeyResponse) GetValue() *Value { if x != nil { return x.Value } return nil } -type KvStoreSetRequest struct { +type KvStoreSetKeyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -293,8 +293,8 @@ type KvStoreSetRequest struct { Content *structpb.Struct `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` } -func (x *KvStoreSetRequest) Reset() { - *x = KvStoreSetRequest{} +func (x *KvStoreSetKeyRequest) Reset() { + *x = KvStoreSetKeyRequest{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -302,13 +302,13 @@ func (x *KvStoreSetRequest) Reset() { } } -func (x *KvStoreSetRequest) String() string { +func (x *KvStoreSetKeyRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreSetRequest) ProtoMessage() {} +func (*KvStoreSetKeyRequest) ProtoMessage() {} -func (x *KvStoreSetRequest) ProtoReflect() protoreflect.Message { +func (x *KvStoreSetKeyRequest) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -320,33 +320,33 @@ func (x *KvStoreSetRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreSetRequest.ProtoReflect.Descriptor instead. -func (*KvStoreSetRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreSetKeyRequest.ProtoReflect.Descriptor instead. +func (*KvStoreSetKeyRequest) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{5} } -func (x *KvStoreSetRequest) GetRef() *ValueRef { +func (x *KvStoreSetKeyRequest) GetRef() *ValueRef { if x != nil { return x.Ref } return nil } -func (x *KvStoreSetRequest) GetContent() *structpb.Struct { +func (x *KvStoreSetKeyRequest) GetContent() *structpb.Struct { if x != nil { return x.Content } return nil } -type KvStoreSetResponse struct { +type KvStoreSetKeyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *KvStoreSetResponse) Reset() { - *x = KvStoreSetResponse{} +func (x *KvStoreSetKeyResponse) Reset() { + *x = KvStoreSetKeyResponse{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -354,13 +354,13 @@ func (x *KvStoreSetResponse) Reset() { } } -func (x *KvStoreSetResponse) String() string { +func (x *KvStoreSetKeyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreSetResponse) ProtoMessage() {} +func (*KvStoreSetKeyResponse) ProtoMessage() {} -func (x *KvStoreSetResponse) ProtoReflect() protoreflect.Message { +func (x *KvStoreSetKeyResponse) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -372,12 +372,12 @@ func (x *KvStoreSetResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreSetResponse.ProtoReflect.Descriptor instead. -func (*KvStoreSetResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreSetKeyResponse.ProtoReflect.Descriptor instead. +func (*KvStoreSetKeyResponse) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{6} } -type KvStoreDeleteRequest struct { +type KvStoreDeleteKeyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -386,8 +386,8 @@ type KvStoreDeleteRequest struct { Ref *ValueRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` } -func (x *KvStoreDeleteRequest) Reset() { - *x = KvStoreDeleteRequest{} +func (x *KvStoreDeleteKeyRequest) Reset() { + *x = KvStoreDeleteKeyRequest{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -395,13 +395,13 @@ func (x *KvStoreDeleteRequest) Reset() { } } -func (x *KvStoreDeleteRequest) String() string { +func (x *KvStoreDeleteKeyRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreDeleteRequest) ProtoMessage() {} +func (*KvStoreDeleteKeyRequest) ProtoMessage() {} -func (x *KvStoreDeleteRequest) ProtoReflect() protoreflect.Message { +func (x *KvStoreDeleteKeyRequest) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -413,26 +413,26 @@ func (x *KvStoreDeleteRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreDeleteRequest.ProtoReflect.Descriptor instead. -func (*KvStoreDeleteRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreDeleteKeyRequest.ProtoReflect.Descriptor instead. +func (*KvStoreDeleteKeyRequest) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{7} } -func (x *KvStoreDeleteRequest) GetRef() *ValueRef { +func (x *KvStoreDeleteKeyRequest) GetRef() *ValueRef { if x != nil { return x.Ref } return nil } -type KvStoreDeleteResponse struct { +type KvStoreDeleteKeyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *KvStoreDeleteResponse) Reset() { - *x = KvStoreDeleteResponse{} +func (x *KvStoreDeleteKeyResponse) Reset() { + *x = KvStoreDeleteKeyResponse{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -440,13 +440,13 @@ func (x *KvStoreDeleteResponse) Reset() { } } -func (x *KvStoreDeleteResponse) String() string { +func (x *KvStoreDeleteKeyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreDeleteResponse) ProtoMessage() {} +func (*KvStoreDeleteKeyResponse) ProtoMessage() {} -func (x *KvStoreDeleteResponse) ProtoReflect() protoreflect.Message { +func (x *KvStoreDeleteKeyResponse) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -458,12 +458,12 @@ func (x *KvStoreDeleteResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreDeleteResponse.ProtoReflect.Descriptor instead. -func (*KvStoreDeleteResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreDeleteKeyResponse.ProtoReflect.Descriptor instead. +func (*KvStoreDeleteKeyResponse) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{8} } -type KvStoreKeysRequest struct { +type KvStoreGetKeysRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -474,8 +474,8 @@ type KvStoreKeysRequest struct { Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` } -func (x *KvStoreKeysRequest) Reset() { - *x = KvStoreKeysRequest{} +func (x *KvStoreGetKeysRequest) Reset() { + *x = KvStoreGetKeysRequest{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -483,13 +483,13 @@ func (x *KvStoreKeysRequest) Reset() { } } -func (x *KvStoreKeysRequest) String() string { +func (x *KvStoreGetKeysRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreKeysRequest) ProtoMessage() {} +func (*KvStoreGetKeysRequest) ProtoMessage() {} -func (x *KvStoreKeysRequest) ProtoReflect() protoreflect.Message { +func (x *KvStoreGetKeysRequest) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -501,26 +501,26 @@ func (x *KvStoreKeysRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreKeysRequest.ProtoReflect.Descriptor instead. -func (*KvStoreKeysRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreGetKeysRequest.ProtoReflect.Descriptor instead. +func (*KvStoreGetKeysRequest) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{9} } -func (x *KvStoreKeysRequest) GetStore() *Store { +func (x *KvStoreGetKeysRequest) GetStore() *Store { if x != nil { return x.Store } return nil } -func (x *KvStoreKeysRequest) GetPrefix() string { +func (x *KvStoreGetKeysRequest) GetPrefix() string { if x != nil { return x.Prefix } return "" } -type KvStoreKeysResponse struct { +type KvStoreGetKeysResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -529,8 +529,8 @@ type KvStoreKeysResponse struct { Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } -func (x *KvStoreKeysResponse) Reset() { - *x = KvStoreKeysResponse{} +func (x *KvStoreGetKeysResponse) Reset() { + *x = KvStoreGetKeysResponse{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -538,13 +538,13 @@ func (x *KvStoreKeysResponse) Reset() { } } -func (x *KvStoreKeysResponse) String() string { +func (x *KvStoreGetKeysResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreKeysResponse) ProtoMessage() {} +func (*KvStoreGetKeysResponse) ProtoMessage() {} -func (x *KvStoreKeysResponse) ProtoReflect() protoreflect.Message { +func (x *KvStoreGetKeysResponse) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -556,12 +556,12 @@ func (x *KvStoreKeysResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreKeysResponse.ProtoReflect.Descriptor instead. -func (*KvStoreKeysResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreGetKeysResponse.ProtoReflect.Descriptor instead. +func (*KvStoreGetKeysResponse) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{10} } -func (x *KvStoreKeysResponse) GetKey() string { +func (x *KvStoreGetKeysResponse) GetKey() string { if x != nil { return x.Key } @@ -589,77 +589,80 @@ var file_nitric_proto_kvstore_v1_kvstore_proto_rawDesc = []byte{ 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x22, 0x48, 0x0a, 0x11, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x4a, 0x0a, 0x12, 0x4b, 0x76, - 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, - 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7b, 0x0a, 0x11, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, - 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, - 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, - 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x14, 0x4b, 0x76, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, - 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x17, 0x0a, 0x15, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x62, 0x0a, 0x12, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x22, 0x27, 0x0a, 0x13, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, - 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x32, 0xa0, 0x03, 0x0a, - 0x07, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4b, - 0x65, 0x79, 0x12, 0x2a, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x53, - 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, + 0x22, 0x4b, 0x0a, 0x14, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x4b, 0x65, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, - 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, - 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x2e, 0x6e, 0x69, - 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x69, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x4d, 0x0a, + 0x15, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7e, 0x0a, 0x14, + 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x17, 0x0a, 0x15, + 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x17, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, + 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x1a, 0x0a, 0x18, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x65, 0x0a, 0x15, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x4b, + 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x69, 0x74, 0x72, + 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x2a, 0x0a, 0x16, 0x4b, 0x76, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x32, 0xbb, 0x03, 0x0a, 0x07, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x12, 0x67, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x04, 0x4b, 0x65, - 0x79, 0x73, 0x12, 0x2b, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x4b, + 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x69, 0x74, 0x72, + 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x4b, 0x65, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x06, 0x53, 0x65, 0x74, + 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, + 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x70, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, + 0x30, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, + 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, + 0x2e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, + 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, - 0x9d, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, - 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x63, 0x68, - 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x6b, 0x67, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, - 0x31, 0x3b, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x17, 0x4e, 0x69, - 0x74, 0x72, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0xca, 0x02, 0x17, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x5c, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x5c, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x42, 0x9d, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x42, 0x07, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x65, 0x63, 0x68, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0xaa, 0x02, + 0x17, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x76, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0xca, 0x02, 0x17, 0x4e, 0x69, 0x74, 0x72, 0x69, + 0x63, 0x5c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5c, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x5c, + 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -676,36 +679,36 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP() []byte { var file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_nitric_proto_kvstore_v1_kvstore_proto_goTypes = []interface{}{ - (*Store)(nil), // 0: nitric.proto.kvstore.v1.Store - (*ValueRef)(nil), // 1: nitric.proto.kvstore.v1.ValueRef - (*Value)(nil), // 2: nitric.proto.kvstore.v1.Value - (*KvStoreGetRequest)(nil), // 3: nitric.proto.kvstore.v1.KvStoreGetRequest - (*KvStoreGetResponse)(nil), // 4: nitric.proto.kvstore.v1.KvStoreGetResponse - (*KvStoreSetRequest)(nil), // 5: nitric.proto.kvstore.v1.KvStoreSetRequest - (*KvStoreSetResponse)(nil), // 6: nitric.proto.kvstore.v1.KvStoreSetResponse - (*KvStoreDeleteRequest)(nil), // 7: nitric.proto.kvstore.v1.KvStoreDeleteRequest - (*KvStoreDeleteResponse)(nil), // 8: nitric.proto.kvstore.v1.KvStoreDeleteResponse - (*KvStoreKeysRequest)(nil), // 9: nitric.proto.kvstore.v1.KvStoreKeysRequest - (*KvStoreKeysResponse)(nil), // 10: nitric.proto.kvstore.v1.KvStoreKeysResponse - (*structpb.Struct)(nil), // 11: google.protobuf.Struct + (*Store)(nil), // 0: nitric.proto.kvstore.v1.Store + (*ValueRef)(nil), // 1: nitric.proto.kvstore.v1.ValueRef + (*Value)(nil), // 2: nitric.proto.kvstore.v1.Value + (*KvStoreGetKeyRequest)(nil), // 3: nitric.proto.kvstore.v1.KvStoreGetKeyRequest + (*KvStoreGetKeyResponse)(nil), // 4: nitric.proto.kvstore.v1.KvStoreGetKeyResponse + (*KvStoreSetKeyRequest)(nil), // 5: nitric.proto.kvstore.v1.KvStoreSetKeyRequest + (*KvStoreSetKeyResponse)(nil), // 6: nitric.proto.kvstore.v1.KvStoreSetKeyResponse + (*KvStoreDeleteKeyRequest)(nil), // 7: nitric.proto.kvstore.v1.KvStoreDeleteKeyRequest + (*KvStoreDeleteKeyResponse)(nil), // 8: nitric.proto.kvstore.v1.KvStoreDeleteKeyResponse + (*KvStoreGetKeysRequest)(nil), // 9: nitric.proto.kvstore.v1.KvStoreGetKeysRequest + (*KvStoreGetKeysResponse)(nil), // 10: nitric.proto.kvstore.v1.KvStoreGetKeysResponse + (*structpb.Struct)(nil), // 11: google.protobuf.Struct } var file_nitric_proto_kvstore_v1_kvstore_proto_depIdxs = []int32{ 1, // 0: nitric.proto.kvstore.v1.Value.ref:type_name -> nitric.proto.kvstore.v1.ValueRef 11, // 1: nitric.proto.kvstore.v1.Value.content:type_name -> google.protobuf.Struct - 1, // 2: nitric.proto.kvstore.v1.KvStoreGetRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef - 2, // 3: nitric.proto.kvstore.v1.KvStoreGetResponse.value:type_name -> nitric.proto.kvstore.v1.Value - 1, // 4: nitric.proto.kvstore.v1.KvStoreSetRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef - 11, // 5: nitric.proto.kvstore.v1.KvStoreSetRequest.content:type_name -> google.protobuf.Struct - 1, // 6: nitric.proto.kvstore.v1.KvStoreDeleteRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef - 0, // 7: nitric.proto.kvstore.v1.KvStoreKeysRequest.store:type_name -> nitric.proto.kvstore.v1.Store - 3, // 8: nitric.proto.kvstore.v1.KvStore.GetKey:input_type -> nitric.proto.kvstore.v1.KvStoreGetRequest - 5, // 9: nitric.proto.kvstore.v1.KvStore.SetKey:input_type -> nitric.proto.kvstore.v1.KvStoreSetRequest - 7, // 10: nitric.proto.kvstore.v1.KvStore.DeleteKey:input_type -> nitric.proto.kvstore.v1.KvStoreDeleteRequest - 9, // 11: nitric.proto.kvstore.v1.KvStore.Keys:input_type -> nitric.proto.kvstore.v1.KvStoreKeysRequest - 4, // 12: nitric.proto.kvstore.v1.KvStore.GetKey:output_type -> nitric.proto.kvstore.v1.KvStoreGetResponse - 6, // 13: nitric.proto.kvstore.v1.KvStore.SetKey:output_type -> nitric.proto.kvstore.v1.KvStoreSetResponse - 8, // 14: nitric.proto.kvstore.v1.KvStore.DeleteKey:output_type -> nitric.proto.kvstore.v1.KvStoreDeleteResponse - 10, // 15: nitric.proto.kvstore.v1.KvStore.Keys:output_type -> nitric.proto.kvstore.v1.KvStoreKeysResponse + 1, // 2: nitric.proto.kvstore.v1.KvStoreGetKeyRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef + 2, // 3: nitric.proto.kvstore.v1.KvStoreGetKeyResponse.value:type_name -> nitric.proto.kvstore.v1.Value + 1, // 4: nitric.proto.kvstore.v1.KvStoreSetKeyRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef + 11, // 5: nitric.proto.kvstore.v1.KvStoreSetKeyRequest.content:type_name -> google.protobuf.Struct + 1, // 6: nitric.proto.kvstore.v1.KvStoreDeleteKeyRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef + 0, // 7: nitric.proto.kvstore.v1.KvStoreGetKeysRequest.store:type_name -> nitric.proto.kvstore.v1.Store + 3, // 8: nitric.proto.kvstore.v1.KvStore.GetKey:input_type -> nitric.proto.kvstore.v1.KvStoreGetKeyRequest + 5, // 9: nitric.proto.kvstore.v1.KvStore.SetKey:input_type -> nitric.proto.kvstore.v1.KvStoreSetKeyRequest + 7, // 10: nitric.proto.kvstore.v1.KvStore.DeleteKey:input_type -> nitric.proto.kvstore.v1.KvStoreDeleteKeyRequest + 9, // 11: nitric.proto.kvstore.v1.KvStore.GetKeys:input_type -> nitric.proto.kvstore.v1.KvStoreGetKeysRequest + 4, // 12: nitric.proto.kvstore.v1.KvStore.GetKey:output_type -> nitric.proto.kvstore.v1.KvStoreGetKeyResponse + 6, // 13: nitric.proto.kvstore.v1.KvStore.SetKey:output_type -> nitric.proto.kvstore.v1.KvStoreSetKeyResponse + 8, // 14: nitric.proto.kvstore.v1.KvStore.DeleteKey:output_type -> nitric.proto.kvstore.v1.KvStoreDeleteKeyResponse + 10, // 15: nitric.proto.kvstore.v1.KvStore.GetKeys:output_type -> nitric.proto.kvstore.v1.KvStoreGetKeysResponse 12, // [12:16] is the sub-list for method output_type 8, // [8:12] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name @@ -756,7 +759,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreGetRequest); i { + switch v := v.(*KvStoreGetKeyRequest); i { case 0: return &v.state case 1: @@ -768,7 +771,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreGetResponse); i { + switch v := v.(*KvStoreGetKeyResponse); i { case 0: return &v.state case 1: @@ -780,7 +783,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreSetRequest); i { + switch v := v.(*KvStoreSetKeyRequest); i { case 0: return &v.state case 1: @@ -792,7 +795,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreSetResponse); i { + switch v := v.(*KvStoreSetKeyResponse); i { case 0: return &v.state case 1: @@ -804,7 +807,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreDeleteRequest); i { + switch v := v.(*KvStoreDeleteKeyRequest); i { case 0: return &v.state case 1: @@ -816,7 +819,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreDeleteResponse); i { + switch v := v.(*KvStoreDeleteKeyResponse); i { case 0: return &v.state case 1: @@ -828,7 +831,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreKeysRequest); i { + switch v := v.(*KvStoreGetKeysRequest); i { case 0: return &v.state case 1: @@ -840,7 +843,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreKeysResponse); i { + switch v := v.(*KvStoreGetKeysResponse); i { case 0: return &v.state case 1: diff --git a/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go b/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go index f3f95535b..fb293ee09 100644 --- a/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go +++ b/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go @@ -23,13 +23,13 @@ const _ = grpc.SupportPackageIsVersion7 // 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 KvStoreClient interface { // Get an existing value - GetKey(ctx context.Context, in *KvStoreGetRequest, opts ...grpc.CallOption) (*KvStoreGetResponse, error) + GetKey(ctx context.Context, in *KvStoreGetKeyRequest, opts ...grpc.CallOption) (*KvStoreGetKeyResponse, error) // Create a new or overwrite an existing value - SetKey(ctx context.Context, in *KvStoreSetRequest, opts ...grpc.CallOption) (*KvStoreSetResponse, error) + SetKey(ctx context.Context, in *KvStoreSetKeyRequest, opts ...grpc.CallOption) (*KvStoreSetKeyResponse, error) // Delete a key and its value - DeleteKey(ctx context.Context, in *KvStoreDeleteRequest, opts ...grpc.CallOption) (*KvStoreDeleteResponse, error) + DeleteKey(ctx context.Context, in *KvStoreDeleteKeyRequest, opts ...grpc.CallOption) (*KvStoreDeleteKeyResponse, error) // Iterate over all keys in a store - Keys(ctx context.Context, in *KvStoreKeysRequest, opts ...grpc.CallOption) (KvStore_KeysClient, error) + GetKeys(ctx context.Context, in *KvStoreGetKeysRequest, opts ...grpc.CallOption) (KvStore_GetKeysClient, error) } type kvStoreClient struct { @@ -40,8 +40,8 @@ func NewKvStoreClient(cc grpc.ClientConnInterface) KvStoreClient { return &kvStoreClient{cc} } -func (c *kvStoreClient) GetKey(ctx context.Context, in *KvStoreGetRequest, opts ...grpc.CallOption) (*KvStoreGetResponse, error) { - out := new(KvStoreGetResponse) +func (c *kvStoreClient) GetKey(ctx context.Context, in *KvStoreGetKeyRequest, opts ...grpc.CallOption) (*KvStoreGetKeyResponse, error) { + out := new(KvStoreGetKeyResponse) err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/GetKey", in, out, opts...) if err != nil { return nil, err @@ -49,8 +49,8 @@ func (c *kvStoreClient) GetKey(ctx context.Context, in *KvStoreGetRequest, opts return out, nil } -func (c *kvStoreClient) SetKey(ctx context.Context, in *KvStoreSetRequest, opts ...grpc.CallOption) (*KvStoreSetResponse, error) { - out := new(KvStoreSetResponse) +func (c *kvStoreClient) SetKey(ctx context.Context, in *KvStoreSetKeyRequest, opts ...grpc.CallOption) (*KvStoreSetKeyResponse, error) { + out := new(KvStoreSetKeyResponse) err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/SetKey", in, out, opts...) if err != nil { return nil, err @@ -58,8 +58,8 @@ func (c *kvStoreClient) SetKey(ctx context.Context, in *KvStoreSetRequest, opts return out, nil } -func (c *kvStoreClient) DeleteKey(ctx context.Context, in *KvStoreDeleteRequest, opts ...grpc.CallOption) (*KvStoreDeleteResponse, error) { - out := new(KvStoreDeleteResponse) +func (c *kvStoreClient) DeleteKey(ctx context.Context, in *KvStoreDeleteKeyRequest, opts ...grpc.CallOption) (*KvStoreDeleteKeyResponse, error) { + out := new(KvStoreDeleteKeyResponse) err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/DeleteKey", in, out, opts...) if err != nil { return nil, err @@ -67,12 +67,12 @@ func (c *kvStoreClient) DeleteKey(ctx context.Context, in *KvStoreDeleteRequest, return out, nil } -func (c *kvStoreClient) Keys(ctx context.Context, in *KvStoreKeysRequest, opts ...grpc.CallOption) (KvStore_KeysClient, error) { - stream, err := c.cc.NewStream(ctx, &KvStore_ServiceDesc.Streams[0], "/nitric.proto.kvstore.v1.KvStore/Keys", opts...) +func (c *kvStoreClient) GetKeys(ctx context.Context, in *KvStoreGetKeysRequest, opts ...grpc.CallOption) (KvStore_GetKeysClient, error) { + stream, err := c.cc.NewStream(ctx, &KvStore_ServiceDesc.Streams[0], "/nitric.proto.kvstore.v1.KvStore/GetKeys", opts...) if err != nil { return nil, err } - x := &kvStoreKeysClient{stream} + x := &kvStoreGetKeysClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -82,17 +82,17 @@ func (c *kvStoreClient) Keys(ctx context.Context, in *KvStoreKeysRequest, opts . return x, nil } -type KvStore_KeysClient interface { - Recv() (*KvStoreKeysResponse, error) +type KvStore_GetKeysClient interface { + Recv() (*KvStoreGetKeysResponse, error) grpc.ClientStream } -type kvStoreKeysClient struct { +type kvStoreGetKeysClient struct { grpc.ClientStream } -func (x *kvStoreKeysClient) Recv() (*KvStoreKeysResponse, error) { - m := new(KvStoreKeysResponse) +func (x *kvStoreGetKeysClient) Recv() (*KvStoreGetKeysResponse, error) { + m := new(KvStoreGetKeysResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -104,30 +104,30 @@ func (x *kvStoreKeysClient) Recv() (*KvStoreKeysResponse, error) { // for forward compatibility type KvStoreServer interface { // Get an existing value - GetKey(context.Context, *KvStoreGetRequest) (*KvStoreGetResponse, error) + GetKey(context.Context, *KvStoreGetKeyRequest) (*KvStoreGetKeyResponse, error) // Create a new or overwrite an existing value - SetKey(context.Context, *KvStoreSetRequest) (*KvStoreSetResponse, error) + SetKey(context.Context, *KvStoreSetKeyRequest) (*KvStoreSetKeyResponse, error) // Delete a key and its value - DeleteKey(context.Context, *KvStoreDeleteRequest) (*KvStoreDeleteResponse, error) + DeleteKey(context.Context, *KvStoreDeleteKeyRequest) (*KvStoreDeleteKeyResponse, error) // Iterate over all keys in a store - Keys(*KvStoreKeysRequest, KvStore_KeysServer) error + GetKeys(*KvStoreGetKeysRequest, KvStore_GetKeysServer) error } // UnimplementedKvStoreServer should be embedded to have forward compatible implementations. type UnimplementedKvStoreServer struct { } -func (UnimplementedKvStoreServer) GetKey(context.Context, *KvStoreGetRequest) (*KvStoreGetResponse, error) { +func (UnimplementedKvStoreServer) GetKey(context.Context, *KvStoreGetKeyRequest) (*KvStoreGetKeyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetKey not implemented") } -func (UnimplementedKvStoreServer) SetKey(context.Context, *KvStoreSetRequest) (*KvStoreSetResponse, error) { +func (UnimplementedKvStoreServer) SetKey(context.Context, *KvStoreSetKeyRequest) (*KvStoreSetKeyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetKey not implemented") } -func (UnimplementedKvStoreServer) DeleteKey(context.Context, *KvStoreDeleteRequest) (*KvStoreDeleteResponse, error) { +func (UnimplementedKvStoreServer) DeleteKey(context.Context, *KvStoreDeleteKeyRequest) (*KvStoreDeleteKeyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteKey not implemented") } -func (UnimplementedKvStoreServer) Keys(*KvStoreKeysRequest, KvStore_KeysServer) error { - return status.Errorf(codes.Unimplemented, "method Keys not implemented") +func (UnimplementedKvStoreServer) GetKeys(*KvStoreGetKeysRequest, KvStore_GetKeysServer) error { + return status.Errorf(codes.Unimplemented, "method GetKeys not implemented") } // UnsafeKvStoreServer may be embedded to opt out of forward compatibility for this service. @@ -142,7 +142,7 @@ func RegisterKvStoreServer(s grpc.ServiceRegistrar, srv KvStoreServer) { } func _KvStore_GetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(KvStoreGetRequest) + in := new(KvStoreGetKeyRequest) if err := dec(in); err != nil { return nil, err } @@ -154,13 +154,13 @@ func _KvStore_GetKey_Handler(srv interface{}, ctx context.Context, dec func(inte FullMethod: "/nitric.proto.kvstore.v1.KvStore/GetKey", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(KvStoreServer).GetKey(ctx, req.(*KvStoreGetRequest)) + return srv.(KvStoreServer).GetKey(ctx, req.(*KvStoreGetKeyRequest)) } return interceptor(ctx, in, info, handler) } func _KvStore_SetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(KvStoreSetRequest) + in := new(KvStoreSetKeyRequest) if err := dec(in); err != nil { return nil, err } @@ -172,13 +172,13 @@ func _KvStore_SetKey_Handler(srv interface{}, ctx context.Context, dec func(inte FullMethod: "/nitric.proto.kvstore.v1.KvStore/SetKey", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(KvStoreServer).SetKey(ctx, req.(*KvStoreSetRequest)) + return srv.(KvStoreServer).SetKey(ctx, req.(*KvStoreSetKeyRequest)) } return interceptor(ctx, in, info, handler) } func _KvStore_DeleteKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(KvStoreDeleteRequest) + in := new(KvStoreDeleteKeyRequest) if err := dec(in); err != nil { return nil, err } @@ -190,29 +190,29 @@ func _KvStore_DeleteKey_Handler(srv interface{}, ctx context.Context, dec func(i FullMethod: "/nitric.proto.kvstore.v1.KvStore/DeleteKey", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(KvStoreServer).DeleteKey(ctx, req.(*KvStoreDeleteRequest)) + return srv.(KvStoreServer).DeleteKey(ctx, req.(*KvStoreDeleteKeyRequest)) } return interceptor(ctx, in, info, handler) } -func _KvStore_Keys_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(KvStoreKeysRequest) +func _KvStore_GetKeys_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(KvStoreGetKeysRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(KvStoreServer).Keys(m, &kvStoreKeysServer{stream}) + return srv.(KvStoreServer).GetKeys(m, &kvStoreGetKeysServer{stream}) } -type KvStore_KeysServer interface { - Send(*KvStoreKeysResponse) error +type KvStore_GetKeysServer interface { + Send(*KvStoreGetKeysResponse) error grpc.ServerStream } -type kvStoreKeysServer struct { +type kvStoreGetKeysServer struct { grpc.ServerStream } -func (x *kvStoreKeysServer) Send(m *KvStoreKeysResponse) error { +func (x *kvStoreGetKeysServer) Send(m *KvStoreGetKeysResponse) error { return x.ServerStream.SendMsg(m) } @@ -238,8 +238,8 @@ var KvStore_ServiceDesc = grpc.ServiceDesc{ }, Streams: []grpc.StreamDesc{ { - StreamName: "Keys", - Handler: _KvStore_Keys_Handler, + StreamName: "GetKeys", + Handler: _KvStore_GetKeys_Handler, ServerStreams: true, }, }, diff --git a/nitric/proto/kvstore/v1/kvstore.proto b/nitric/proto/kvstore/v1/kvstore.proto index 0c45fd895..f03a2cd1d 100644 --- a/nitric/proto/kvstore/v1/kvstore.proto +++ b/nitric/proto/kvstore/v1/kvstore.proto @@ -15,16 +15,16 @@ option csharp_namespace = "Nitric.Proto.KvStore.v1"; // Service for storage and retrieval of simple JSON keyValue service KvStore { // Get an existing value - rpc GetKey (KvStoreGetRequest) returns (KvStoreGetResponse); + rpc GetKey (KvStoreGetKeyRequest) returns (KvStoreGetKeyResponse); // Create a new or overwrite an existing value - rpc SetKey (KvStoreSetRequest) returns (KvStoreSetResponse); + rpc SetKey (KvStoreSetKeyRequest) returns (KvStoreSetKeyResponse); // Delete a key and its value - rpc DeleteKey (KvStoreDeleteRequest) returns (KvStoreDeleteResponse); + rpc DeleteKey (KvStoreDeleteKeyRequest) returns (KvStoreDeleteKeyResponse); // Iterate over all keys in a store - rpc Keys (KvStoreKeysRequest) returns (stream KvStoreKeysResponse); + rpc GetKeys (KvStoreGetKeysRequest) returns (stream KvStoreGetKeysResponse); } // Provides a Key/Value Store @@ -51,35 +51,35 @@ message Value { google.protobuf.Struct content = 2; } -message KvStoreGetRequest { +message KvStoreGetKeyRequest { // ValueRef of the key/value pair to get, which includes the store and key ValueRef ref = 1; } -message KvStoreGetResponse { +message KvStoreGetKeyResponse { // The retrieved value Value value = 1; } -message KvStoreSetRequest { +message KvStoreSetKeyRequest { // ValueRef of the key/value pair to set, which includes the store and key ValueRef ref = 1 ; // The value content to store (JSON object) google.protobuf.Struct content = 3; } -message KvStoreSetResponse { +message KvStoreSetKeyResponse { } -message KvStoreDeleteRequest { +message KvStoreDeleteKeyRequest { // ValueRef of the key/value pair to delete, which includes the store and key ValueRef ref = 1; } -message KvStoreDeleteResponse { +message KvStoreDeleteKeyResponse { } -message KvStoreKeysRequest { +message KvStoreGetKeysRequest { // The store to iterate over Store store = 1; @@ -87,7 +87,7 @@ message KvStoreKeysRequest { string prefix = 2; } -message KvStoreKeysResponse { +message KvStoreGetKeysResponse { // The key of the key/value pair string key = 1; } From f9dc746a28768f9143785c575ee076c534200695 Mon Sep 17 00:00:00 2001 From: Jye Cusch Date: Thu, 29 Feb 2024 11:29:43 +1100 Subject: [PATCH 21/24] update message and method names --- cloud/aws/runtime/keyvalue/dynamodb.go | 12 +- cloud/azure/runtime/keyvalue/keyvalue.go | 12 +- cloud/gcp/runtime/keyvalue/firestore.go | 12 +- core/pkg/decorators/keyvalue_compat.go | 4 +- core/pkg/proto/kvstore/v1/kvstore.pb.go | 302 ++++++++++--------- core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go | 98 +++--- nitric/proto/kvstore/v1/kvstore.proto | 19 +- 7 files changed, 230 insertions(+), 229 deletions(-) diff --git a/cloud/aws/runtime/keyvalue/dynamodb.go b/cloud/aws/runtime/keyvalue/dynamodb.go index bedd4d3da..9ca977863 100644 --- a/cloud/aws/runtime/keyvalue/dynamodb.go +++ b/cloud/aws/runtime/keyvalue/dynamodb.go @@ -64,7 +64,7 @@ func isDynamoAccessDeniedErr(err error) bool { } // Get a document from the DynamoDB table -func (s *DynamoKeyValueService) GetKey(ctx context.Context, req *kvstorepb.KvStoreGetKeyRequest) (*kvstorepb.KvStoreGetKeyResponse, error) { +func (s *DynamoKeyValueService) GetValue(ctx context.Context, req *kvstorepb.KvStoreGetValueRequest) (*kvstorepb.KvStoreGetValueResponse, error) { newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Get") err := document.ValidateValueRef(req.Ref) @@ -143,7 +143,7 @@ func (s *DynamoKeyValueService) GetKey(ctx context.Context, req *kvstorepb.KvSto ) } - return &kvstorepb.KvStoreGetKeyResponse{ + return &kvstorepb.KvStoreGetValueResponse{ Value: &kvstorepb.Value{ Ref: req.Ref, Content: documentContent, @@ -152,7 +152,7 @@ func (s *DynamoKeyValueService) GetKey(ctx context.Context, req *kvstorepb.KvSto } // Set a document in the DynamoDB table -func (s *DynamoKeyValueService) SetKey(ctx context.Context, req *kvstorepb.KvStoreSetKeyRequest) (*kvstorepb.KvStoreSetKeyResponse, error) { +func (s *DynamoKeyValueService) SetValue(ctx context.Context, req *kvstorepb.KvStoreSetValueRequest) (*kvstorepb.KvStoreSetValueResponse, error) { newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Set") if err := document.ValidateValueRef(req.Ref); err != nil { @@ -213,7 +213,7 @@ func (s *DynamoKeyValueService) SetKey(ctx context.Context, req *kvstorepb.KvSto ) } - return &kvstorepb.KvStoreSetKeyResponse{}, nil + return &kvstorepb.KvStoreSetValueResponse{}, nil } // Delete a document from the DynamoDB table @@ -272,7 +272,7 @@ func (s *DynamoKeyValueService) DeleteKey(ctx context.Context, req *kvstorepb.Kv return &kvstorepb.KvStoreDeleteKeyResponse{}, nil } -func (s *DynamoKeyValueService) GetKeys(req *kvstorepb.KvStoreGetKeysRequest, stream kvstorepb.KvStore_GetKeysServer) error { +func (s *DynamoKeyValueService) ScanKeys(req *kvstorepb.KvStoreScanKeysRequest, stream kvstorepb.KvStore_ScanKeysServer) error { newErr := grpc_errors.ErrorsWithScope("DynamoDocService.Keys") if req.Store.GetName() == "" { @@ -342,7 +342,7 @@ func (s *DynamoKeyValueService) GetKeys(req *kvstorepb.KvStoreGetKeysRequest, st ) } - if err := stream.Send(&kvstorepb.KvStoreGetKeysResponse{ + if err := stream.Send(&kvstorepb.KvStoreScanKeysResponse{ Key: itemMap[AttribPk].(string), }); err != nil { return newErr( diff --git a/cloud/azure/runtime/keyvalue/keyvalue.go b/cloud/azure/runtime/keyvalue/keyvalue.go index cd6c6fab6..5077c372a 100644 --- a/cloud/azure/runtime/keyvalue/keyvalue.go +++ b/cloud/azure/runtime/keyvalue/keyvalue.go @@ -49,7 +49,7 @@ type AztableEntity struct { } // Get a value from the Azure Storage table -func (s *AzureStorageTableKeyValueService) GetKey(ctx context.Context, req *kvstorepb.KvStoreGetKeyRequest) (*kvstorepb.KvStoreGetKeyResponse, error) { +func (s *AzureStorageTableKeyValueService) GetValue(ctx context.Context, req *kvstorepb.KvStoreGetValueRequest) (*kvstorepb.KvStoreGetValueResponse, error) { newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.GetKey") client, err := s.clientFactory(req.Ref.Store) if err != nil { @@ -118,7 +118,7 @@ func (s *AzureStorageTableKeyValueService) GetKey(ctx context.Context, req *kvst ) } - return &kvstorepb.KvStoreGetKeyResponse{ + return &kvstorepb.KvStoreGetValueResponse{ Value: &kvstorepb.Value{ Ref: req.Ref, Content: &structContent, @@ -127,7 +127,7 @@ func (s *AzureStorageTableKeyValueService) GetKey(ctx context.Context, req *kvst } // Set a value in the Azure Storage table -func (s *AzureStorageTableKeyValueService) SetKey(ctx context.Context, req *kvstorepb.KvStoreSetKeyRequest) (*kvstorepb.KvStoreSetKeyResponse, error) { +func (s *AzureStorageTableKeyValueService) SetValue(ctx context.Context, req *kvstorepb.KvStoreSetValueRequest) (*kvstorepb.KvStoreSetValueResponse, error) { newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.SetKeys") client, err := s.clientFactory(req.Ref.Store) if err != nil { @@ -197,7 +197,7 @@ func (s *AzureStorageTableKeyValueService) SetKey(ctx context.Context, req *kvst ) } - return &kvstorepb.KvStoreSetKeyResponse{}, nil + return &kvstorepb.KvStoreSetValueResponse{}, nil } // Delete a key/value pair from the Azure Storage table @@ -249,7 +249,7 @@ func (s *AzureStorageTableKeyValueService) DeleteKey(ctx context.Context, req *k } // Return all keys in the Azure Storage table for a key/value store -func (s *AzureStorageTableKeyValueService) GetKeys(req *kvstorepb.KvStoreGetKeysRequest, stream kvstorepb.KvStore_GetKeysServer) error { +func (s *AzureStorageTableKeyValueService) ScanKeys(req *kvstorepb.KvStoreScanKeysRequest, stream kvstorepb.KvStore_ScanKeysServer) error { newErr := grpc_errors.ErrorsWithScope("AzureStorageTableKeyValueService.Keys") storeName := req.GetStore().GetName() @@ -312,7 +312,7 @@ func (s *AzureStorageTableKeyValueService) GetKeys(req *kvstorepb.KvStoreGetKeys ) } - if err := stream.Send(&kvstorepb.KvStoreGetKeysResponse{ + if err := stream.Send(&kvstorepb.KvStoreScanKeysResponse{ Key: entity.RowKey, }); err != nil { return newErr( diff --git a/cloud/gcp/runtime/keyvalue/firestore.go b/cloud/gcp/runtime/keyvalue/firestore.go index 917f4d502..2973ea3e7 100644 --- a/cloud/gcp/runtime/keyvalue/firestore.go +++ b/cloud/gcp/runtime/keyvalue/firestore.go @@ -40,7 +40,7 @@ type FirestoreDocService struct { var _ v1.KvStoreServer = &FirestoreDocService{} -func (s *FirestoreDocService) GetKey(ctx context.Context, req *v1.KvStoreGetKeyRequest) (*v1.KvStoreGetKeyResponse, error) { +func (s *FirestoreDocService) GetValue(ctx context.Context, req *v1.KvStoreGetValueRequest) (*v1.KvStoreGetValueResponse, error) { newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.GetKey") if err := keyvalue.ValidateValueRef(req.Ref); err != nil { @@ -86,7 +86,7 @@ func (s *FirestoreDocService) GetKey(ctx context.Context, req *v1.KvStoreGetKeyR ) } - return &v1.KvStoreGetKeyResponse{ + return &v1.KvStoreGetValueResponse{ Value: &v1.Value{ Ref: req.Ref, Content: documentContent, @@ -94,7 +94,7 @@ func (s *FirestoreDocService) GetKey(ctx context.Context, req *v1.KvStoreGetKeyR }, nil } -func (s *FirestoreDocService) SetKey(ctx context.Context, req *v1.KvStoreSetKeyRequest) (*v1.KvStoreSetKeyResponse, error) { +func (s *FirestoreDocService) SetValue(ctx context.Context, req *v1.KvStoreSetValueRequest) (*v1.KvStoreSetValueResponse, error) { newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.SetKey") if err := keyvalue.ValidateValueRef(req.Ref); err != nil { @@ -131,7 +131,7 @@ func (s *FirestoreDocService) SetKey(ctx context.Context, req *v1.KvStoreSetKeyR ) } - return &v1.KvStoreSetKeyResponse{}, nil + return &v1.KvStoreSetValueResponse{}, nil } func (s *FirestoreDocService) DeleteKey(ctx context.Context, req *v1.KvStoreDeleteKeyRequest) (*v1.KvStoreDeleteKeyResponse, error) { @@ -167,7 +167,7 @@ func (s *FirestoreDocService) DeleteKey(ctx context.Context, req *v1.KvStoreDele return &v1.KvStoreDeleteKeyResponse{}, nil } -func (s *FirestoreDocService) GetKeys(req *v1.KvStoreGetKeysRequest, stream v1.KvStore_GetKeysServer) error { +func (s *FirestoreDocService) ScanKeys(req *v1.KvStoreScanKeysRequest, stream v1.KvStore_ScanKeysServer) error { newErr := grpc_errors.ErrorsWithScope("FirestoreDocService.Keys") storeName := req.GetStore().GetName() @@ -202,7 +202,7 @@ func (s *FirestoreDocService) GetKeys(req *v1.KvStoreGetKeysRequest, stream v1.K continue } - if err := stream.Send(&v1.KvStoreGetKeysResponse{ + if err := stream.Send(&v1.KvStoreScanKeysResponse{ Key: doc.ID, }); err != nil { return newErr( diff --git a/core/pkg/decorators/keyvalue_compat.go b/core/pkg/decorators/keyvalue_compat.go index ac4e32872..af1007b92 100644 --- a/core/pkg/decorators/keyvalue_compat.go +++ b/core/pkg/decorators/keyvalue_compat.go @@ -33,7 +33,7 @@ var _ keyvaluepb.KeyValueServer = (*KvStoreCompat)(nil) func (k *KvStoreCompat) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequest) (*keyvaluepb.KeyValueGetResponse, error) { logger.Warnf("Your language SDK is using a version of the KeyValue service that is out of date, update your nitric language SDK") - resp, err := k.GetKey(ctx, &kvstorepb.KvStoreGetKeyRequest{ + resp, err := k.GetValue(ctx, &kvstorepb.KvStoreGetValueRequest{ Ref: &kvstorepb.ValueRef{ Key: req.Ref.Key, Store: req.Ref.Store, @@ -58,7 +58,7 @@ func (k *KvStoreCompat) Get(ctx context.Context, req *keyvaluepb.KeyValueGetRequ func (k *KvStoreCompat) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequest) (*keyvaluepb.KeyValueSetResponse, error) { logger.Warnf("Your language SDK is using a version of the KeyValue service that is out of date, update your nitric language SDK") - _, err := k.SetKey(ctx, &kvstorepb.KvStoreSetKeyRequest{ + _, err := k.SetValue(ctx, &kvstorepb.KvStoreSetValueRequest{ Ref: &kvstorepb.ValueRef{ Key: req.Ref.Key, Store: req.Ref.Store, diff --git a/core/pkg/proto/kvstore/v1/kvstore.pb.go b/core/pkg/proto/kvstore/v1/kvstore.pb.go index a0967a3d0..36fa51f26 100644 --- a/core/pkg/proto/kvstore/v1/kvstore.pb.go +++ b/core/pkg/proto/kvstore/v1/kvstore.pb.go @@ -186,7 +186,7 @@ func (x *Value) GetContent() *structpb.Struct { return nil } -type KvStoreGetKeyRequest struct { +type KvStoreGetValueRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -195,8 +195,8 @@ type KvStoreGetKeyRequest struct { Ref *ValueRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` } -func (x *KvStoreGetKeyRequest) Reset() { - *x = KvStoreGetKeyRequest{} +func (x *KvStoreGetValueRequest) Reset() { + *x = KvStoreGetValueRequest{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -204,13 +204,13 @@ func (x *KvStoreGetKeyRequest) Reset() { } } -func (x *KvStoreGetKeyRequest) String() string { +func (x *KvStoreGetValueRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreGetKeyRequest) ProtoMessage() {} +func (*KvStoreGetValueRequest) ProtoMessage() {} -func (x *KvStoreGetKeyRequest) ProtoReflect() protoreflect.Message { +func (x *KvStoreGetValueRequest) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -222,19 +222,19 @@ func (x *KvStoreGetKeyRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreGetKeyRequest.ProtoReflect.Descriptor instead. -func (*KvStoreGetKeyRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreGetValueRequest.ProtoReflect.Descriptor instead. +func (*KvStoreGetValueRequest) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{3} } -func (x *KvStoreGetKeyRequest) GetRef() *ValueRef { +func (x *KvStoreGetValueRequest) GetRef() *ValueRef { if x != nil { return x.Ref } return nil } -type KvStoreGetKeyResponse struct { +type KvStoreGetValueResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -243,8 +243,8 @@ type KvStoreGetKeyResponse struct { Value *Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } -func (x *KvStoreGetKeyResponse) Reset() { - *x = KvStoreGetKeyResponse{} +func (x *KvStoreGetValueResponse) Reset() { + *x = KvStoreGetValueResponse{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -252,13 +252,13 @@ func (x *KvStoreGetKeyResponse) Reset() { } } -func (x *KvStoreGetKeyResponse) String() string { +func (x *KvStoreGetValueResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreGetKeyResponse) ProtoMessage() {} +func (*KvStoreGetValueResponse) ProtoMessage() {} -func (x *KvStoreGetKeyResponse) ProtoReflect() protoreflect.Message { +func (x *KvStoreGetValueResponse) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -270,19 +270,19 @@ func (x *KvStoreGetKeyResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreGetKeyResponse.ProtoReflect.Descriptor instead. -func (*KvStoreGetKeyResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreGetValueResponse.ProtoReflect.Descriptor instead. +func (*KvStoreGetValueResponse) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{4} } -func (x *KvStoreGetKeyResponse) GetValue() *Value { +func (x *KvStoreGetValueResponse) GetValue() *Value { if x != nil { return x.Value } return nil } -type KvStoreSetKeyRequest struct { +type KvStoreSetValueRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -293,8 +293,8 @@ type KvStoreSetKeyRequest struct { Content *structpb.Struct `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` } -func (x *KvStoreSetKeyRequest) Reset() { - *x = KvStoreSetKeyRequest{} +func (x *KvStoreSetValueRequest) Reset() { + *x = KvStoreSetValueRequest{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -302,13 +302,13 @@ func (x *KvStoreSetKeyRequest) Reset() { } } -func (x *KvStoreSetKeyRequest) String() string { +func (x *KvStoreSetValueRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreSetKeyRequest) ProtoMessage() {} +func (*KvStoreSetValueRequest) ProtoMessage() {} -func (x *KvStoreSetKeyRequest) ProtoReflect() protoreflect.Message { +func (x *KvStoreSetValueRequest) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -320,33 +320,33 @@ func (x *KvStoreSetKeyRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreSetKeyRequest.ProtoReflect.Descriptor instead. -func (*KvStoreSetKeyRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreSetValueRequest.ProtoReflect.Descriptor instead. +func (*KvStoreSetValueRequest) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{5} } -func (x *KvStoreSetKeyRequest) GetRef() *ValueRef { +func (x *KvStoreSetValueRequest) GetRef() *ValueRef { if x != nil { return x.Ref } return nil } -func (x *KvStoreSetKeyRequest) GetContent() *structpb.Struct { +func (x *KvStoreSetValueRequest) GetContent() *structpb.Struct { if x != nil { return x.Content } return nil } -type KvStoreSetKeyResponse struct { +type KvStoreSetValueResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *KvStoreSetKeyResponse) Reset() { - *x = KvStoreSetKeyResponse{} +func (x *KvStoreSetValueResponse) Reset() { + *x = KvStoreSetValueResponse{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -354,13 +354,13 @@ func (x *KvStoreSetKeyResponse) Reset() { } } -func (x *KvStoreSetKeyResponse) String() string { +func (x *KvStoreSetValueResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreSetKeyResponse) ProtoMessage() {} +func (*KvStoreSetValueResponse) ProtoMessage() {} -func (x *KvStoreSetKeyResponse) ProtoReflect() protoreflect.Message { +func (x *KvStoreSetValueResponse) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -372,8 +372,8 @@ func (x *KvStoreSetKeyResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreSetKeyResponse.ProtoReflect.Descriptor instead. -func (*KvStoreSetKeyResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreSetValueResponse.ProtoReflect.Descriptor instead. +func (*KvStoreSetValueResponse) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{6} } @@ -463,7 +463,7 @@ func (*KvStoreDeleteKeyResponse) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{8} } -type KvStoreGetKeysRequest struct { +type KvStoreScanKeysRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -474,8 +474,8 @@ type KvStoreGetKeysRequest struct { Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` } -func (x *KvStoreGetKeysRequest) Reset() { - *x = KvStoreGetKeysRequest{} +func (x *KvStoreScanKeysRequest) Reset() { + *x = KvStoreScanKeysRequest{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -483,13 +483,13 @@ func (x *KvStoreGetKeysRequest) Reset() { } } -func (x *KvStoreGetKeysRequest) String() string { +func (x *KvStoreScanKeysRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreGetKeysRequest) ProtoMessage() {} +func (*KvStoreScanKeysRequest) ProtoMessage() {} -func (x *KvStoreGetKeysRequest) ProtoReflect() protoreflect.Message { +func (x *KvStoreScanKeysRequest) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -501,26 +501,26 @@ func (x *KvStoreGetKeysRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreGetKeysRequest.ProtoReflect.Descriptor instead. -func (*KvStoreGetKeysRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreScanKeysRequest.ProtoReflect.Descriptor instead. +func (*KvStoreScanKeysRequest) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{9} } -func (x *KvStoreGetKeysRequest) GetStore() *Store { +func (x *KvStoreScanKeysRequest) GetStore() *Store { if x != nil { return x.Store } return nil } -func (x *KvStoreGetKeysRequest) GetPrefix() string { +func (x *KvStoreScanKeysRequest) GetPrefix() string { if x != nil { return x.Prefix } return "" } -type KvStoreGetKeysResponse struct { +type KvStoreScanKeysResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -529,8 +529,8 @@ type KvStoreGetKeysResponse struct { Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } -func (x *KvStoreGetKeysResponse) Reset() { - *x = KvStoreGetKeysResponse{} +func (x *KvStoreScanKeysResponse) Reset() { + *x = KvStoreScanKeysResponse{} if protoimpl.UnsafeEnabled { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -538,13 +538,13 @@ func (x *KvStoreGetKeysResponse) Reset() { } } -func (x *KvStoreGetKeysResponse) String() string { +func (x *KvStoreScanKeysResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KvStoreGetKeysResponse) ProtoMessage() {} +func (*KvStoreScanKeysResponse) ProtoMessage() {} -func (x *KvStoreGetKeysResponse) ProtoReflect() protoreflect.Message { +func (x *KvStoreScanKeysResponse) ProtoReflect() protoreflect.Message { mi := &file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -556,12 +556,12 @@ func (x *KvStoreGetKeysResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KvStoreGetKeysResponse.ProtoReflect.Descriptor instead. -func (*KvStoreGetKeysResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use KvStoreScanKeysResponse.ProtoReflect.Descriptor instead. +func (*KvStoreScanKeysResponse) Descriptor() ([]byte, []int) { return file_nitric_proto_kvstore_v1_kvstore_proto_rawDescGZIP(), []int{10} } -func (x *KvStoreGetKeysResponse) GetKey() string { +func (x *KvStoreScanKeysResponse) GetKey() string { if x != nil { return x.Key } @@ -589,80 +589,82 @@ var file_nitric_proto_kvstore_v1_kvstore_proto_rawDesc = []byte{ 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x22, 0x4b, 0x0a, 0x14, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x4d, 0x0a, - 0x15, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7e, 0x0a, 0x14, - 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x17, 0x0a, 0x15, - 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x17, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, - 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x1a, 0x0a, 0x18, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x65, 0x0a, 0x15, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x4b, - 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x69, 0x74, 0x72, - 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x2a, 0x0a, 0x16, 0x4b, 0x76, 0x53, 0x74, - 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x32, 0xbb, 0x03, 0x0a, 0x07, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, - 0x12, 0x67, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x2e, 0x6e, 0x69, 0x74, - 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x69, 0x74, 0x72, + 0x22, 0x4d, 0x0a, 0x16, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, + 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, + 0x4f, 0x0a, 0x17, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x06, 0x53, 0x65, 0x74, - 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, - 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x70, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, - 0x30, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, - 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x31, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, - 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, - 0x2e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, - 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, - 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x42, 0x9d, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x80, 0x01, 0x0a, 0x16, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, + 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, + 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, + 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x22, 0x19, 0x0a, 0x17, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, + 0x0a, 0x17, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, + 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x1a, + 0x0a, 0x18, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, + 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, 0x16, 0x4b, 0x76, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x63, 0x61, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x22, 0x2b, 0x0a, 0x17, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x63, 0x61, + 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x32, + 0xca, 0x03, 0x0a, 0x07, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x6d, 0x0a, 0x08, 0x47, + 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, + 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x08, 0x53, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x09, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, + 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x08, 0x53, + 0x63, 0x61, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, - 0x31, 0x42, 0x07, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x74, - 0x65, 0x63, 0x68, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, - 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0xaa, 0x02, - 0x17, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x76, - 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0xca, 0x02, 0x17, 0x4e, 0x69, 0x74, 0x72, 0x69, - 0x63, 0x5c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5c, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x5c, - 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x63, 0x61, 0x6e, 0x4b, 0x65, 0x79, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, + 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x63, 0x61, 0x6e, 0x4b, 0x65, + 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x9d, 0x01, 0x0a, + 0x1a, 0x69, 0x6f, 0x2e, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x4b, 0x76, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x6e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x63, 0x68, 0x2f, 0x6e, 0x69, + 0x74, 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x6b, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6b, + 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x17, 0x4e, 0x69, 0x74, 0x72, 0x69, + 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0xca, 0x02, 0x17, 0x4e, 0x69, 0x74, 0x72, 0x69, 0x63, 0x5c, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x5c, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -682,33 +684,33 @@ var file_nitric_proto_kvstore_v1_kvstore_proto_goTypes = []interface{}{ (*Store)(nil), // 0: nitric.proto.kvstore.v1.Store (*ValueRef)(nil), // 1: nitric.proto.kvstore.v1.ValueRef (*Value)(nil), // 2: nitric.proto.kvstore.v1.Value - (*KvStoreGetKeyRequest)(nil), // 3: nitric.proto.kvstore.v1.KvStoreGetKeyRequest - (*KvStoreGetKeyResponse)(nil), // 4: nitric.proto.kvstore.v1.KvStoreGetKeyResponse - (*KvStoreSetKeyRequest)(nil), // 5: nitric.proto.kvstore.v1.KvStoreSetKeyRequest - (*KvStoreSetKeyResponse)(nil), // 6: nitric.proto.kvstore.v1.KvStoreSetKeyResponse + (*KvStoreGetValueRequest)(nil), // 3: nitric.proto.kvstore.v1.KvStoreGetValueRequest + (*KvStoreGetValueResponse)(nil), // 4: nitric.proto.kvstore.v1.KvStoreGetValueResponse + (*KvStoreSetValueRequest)(nil), // 5: nitric.proto.kvstore.v1.KvStoreSetValueRequest + (*KvStoreSetValueResponse)(nil), // 6: nitric.proto.kvstore.v1.KvStoreSetValueResponse (*KvStoreDeleteKeyRequest)(nil), // 7: nitric.proto.kvstore.v1.KvStoreDeleteKeyRequest (*KvStoreDeleteKeyResponse)(nil), // 8: nitric.proto.kvstore.v1.KvStoreDeleteKeyResponse - (*KvStoreGetKeysRequest)(nil), // 9: nitric.proto.kvstore.v1.KvStoreGetKeysRequest - (*KvStoreGetKeysResponse)(nil), // 10: nitric.proto.kvstore.v1.KvStoreGetKeysResponse + (*KvStoreScanKeysRequest)(nil), // 9: nitric.proto.kvstore.v1.KvStoreScanKeysRequest + (*KvStoreScanKeysResponse)(nil), // 10: nitric.proto.kvstore.v1.KvStoreScanKeysResponse (*structpb.Struct)(nil), // 11: google.protobuf.Struct } var file_nitric_proto_kvstore_v1_kvstore_proto_depIdxs = []int32{ 1, // 0: nitric.proto.kvstore.v1.Value.ref:type_name -> nitric.proto.kvstore.v1.ValueRef 11, // 1: nitric.proto.kvstore.v1.Value.content:type_name -> google.protobuf.Struct - 1, // 2: nitric.proto.kvstore.v1.KvStoreGetKeyRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef - 2, // 3: nitric.proto.kvstore.v1.KvStoreGetKeyResponse.value:type_name -> nitric.proto.kvstore.v1.Value - 1, // 4: nitric.proto.kvstore.v1.KvStoreSetKeyRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef - 11, // 5: nitric.proto.kvstore.v1.KvStoreSetKeyRequest.content:type_name -> google.protobuf.Struct + 1, // 2: nitric.proto.kvstore.v1.KvStoreGetValueRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef + 2, // 3: nitric.proto.kvstore.v1.KvStoreGetValueResponse.value:type_name -> nitric.proto.kvstore.v1.Value + 1, // 4: nitric.proto.kvstore.v1.KvStoreSetValueRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef + 11, // 5: nitric.proto.kvstore.v1.KvStoreSetValueRequest.content:type_name -> google.protobuf.Struct 1, // 6: nitric.proto.kvstore.v1.KvStoreDeleteKeyRequest.ref:type_name -> nitric.proto.kvstore.v1.ValueRef - 0, // 7: nitric.proto.kvstore.v1.KvStoreGetKeysRequest.store:type_name -> nitric.proto.kvstore.v1.Store - 3, // 8: nitric.proto.kvstore.v1.KvStore.GetKey:input_type -> nitric.proto.kvstore.v1.KvStoreGetKeyRequest - 5, // 9: nitric.proto.kvstore.v1.KvStore.SetKey:input_type -> nitric.proto.kvstore.v1.KvStoreSetKeyRequest + 0, // 7: nitric.proto.kvstore.v1.KvStoreScanKeysRequest.store:type_name -> nitric.proto.kvstore.v1.Store + 3, // 8: nitric.proto.kvstore.v1.KvStore.GetValue:input_type -> nitric.proto.kvstore.v1.KvStoreGetValueRequest + 5, // 9: nitric.proto.kvstore.v1.KvStore.SetValue:input_type -> nitric.proto.kvstore.v1.KvStoreSetValueRequest 7, // 10: nitric.proto.kvstore.v1.KvStore.DeleteKey:input_type -> nitric.proto.kvstore.v1.KvStoreDeleteKeyRequest - 9, // 11: nitric.proto.kvstore.v1.KvStore.GetKeys:input_type -> nitric.proto.kvstore.v1.KvStoreGetKeysRequest - 4, // 12: nitric.proto.kvstore.v1.KvStore.GetKey:output_type -> nitric.proto.kvstore.v1.KvStoreGetKeyResponse - 6, // 13: nitric.proto.kvstore.v1.KvStore.SetKey:output_type -> nitric.proto.kvstore.v1.KvStoreSetKeyResponse + 9, // 11: nitric.proto.kvstore.v1.KvStore.ScanKeys:input_type -> nitric.proto.kvstore.v1.KvStoreScanKeysRequest + 4, // 12: nitric.proto.kvstore.v1.KvStore.GetValue:output_type -> nitric.proto.kvstore.v1.KvStoreGetValueResponse + 6, // 13: nitric.proto.kvstore.v1.KvStore.SetValue:output_type -> nitric.proto.kvstore.v1.KvStoreSetValueResponse 8, // 14: nitric.proto.kvstore.v1.KvStore.DeleteKey:output_type -> nitric.proto.kvstore.v1.KvStoreDeleteKeyResponse - 10, // 15: nitric.proto.kvstore.v1.KvStore.GetKeys:output_type -> nitric.proto.kvstore.v1.KvStoreGetKeysResponse + 10, // 15: nitric.proto.kvstore.v1.KvStore.ScanKeys:output_type -> nitric.proto.kvstore.v1.KvStoreScanKeysResponse 12, // [12:16] is the sub-list for method output_type 8, // [8:12] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name @@ -759,7 +761,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreGetKeyRequest); i { + switch v := v.(*KvStoreGetValueRequest); i { case 0: return &v.state case 1: @@ -771,7 +773,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreGetKeyResponse); i { + switch v := v.(*KvStoreGetValueResponse); i { case 0: return &v.state case 1: @@ -783,7 +785,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreSetKeyRequest); i { + switch v := v.(*KvStoreSetValueRequest); i { case 0: return &v.state case 1: @@ -795,7 +797,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreSetKeyResponse); i { + switch v := v.(*KvStoreSetValueResponse); i { case 0: return &v.state case 1: @@ -831,7 +833,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreGetKeysRequest); i { + switch v := v.(*KvStoreScanKeysRequest); i { case 0: return &v.state case 1: @@ -843,7 +845,7 @@ func file_nitric_proto_kvstore_v1_kvstore_proto_init() { } } file_nitric_proto_kvstore_v1_kvstore_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KvStoreGetKeysResponse); i { + switch v := v.(*KvStoreScanKeysResponse); i { case 0: return &v.state case 1: diff --git a/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go b/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go index fb293ee09..d1194591f 100644 --- a/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go +++ b/core/pkg/proto/kvstore/v1/kvstore_grpc.pb.go @@ -23,13 +23,13 @@ const _ = grpc.SupportPackageIsVersion7 // 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 KvStoreClient interface { // Get an existing value - GetKey(ctx context.Context, in *KvStoreGetKeyRequest, opts ...grpc.CallOption) (*KvStoreGetKeyResponse, error) + GetValue(ctx context.Context, in *KvStoreGetValueRequest, opts ...grpc.CallOption) (*KvStoreGetValueResponse, error) // Create a new or overwrite an existing value - SetKey(ctx context.Context, in *KvStoreSetKeyRequest, opts ...grpc.CallOption) (*KvStoreSetKeyResponse, error) + SetValue(ctx context.Context, in *KvStoreSetValueRequest, opts ...grpc.CallOption) (*KvStoreSetValueResponse, error) // Delete a key and its value DeleteKey(ctx context.Context, in *KvStoreDeleteKeyRequest, opts ...grpc.CallOption) (*KvStoreDeleteKeyResponse, error) // Iterate over all keys in a store - GetKeys(ctx context.Context, in *KvStoreGetKeysRequest, opts ...grpc.CallOption) (KvStore_GetKeysClient, error) + ScanKeys(ctx context.Context, in *KvStoreScanKeysRequest, opts ...grpc.CallOption) (KvStore_ScanKeysClient, error) } type kvStoreClient struct { @@ -40,18 +40,18 @@ func NewKvStoreClient(cc grpc.ClientConnInterface) KvStoreClient { return &kvStoreClient{cc} } -func (c *kvStoreClient) GetKey(ctx context.Context, in *KvStoreGetKeyRequest, opts ...grpc.CallOption) (*KvStoreGetKeyResponse, error) { - out := new(KvStoreGetKeyResponse) - err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/GetKey", in, out, opts...) +func (c *kvStoreClient) GetValue(ctx context.Context, in *KvStoreGetValueRequest, opts ...grpc.CallOption) (*KvStoreGetValueResponse, error) { + out := new(KvStoreGetValueResponse) + err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/GetValue", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *kvStoreClient) SetKey(ctx context.Context, in *KvStoreSetKeyRequest, opts ...grpc.CallOption) (*KvStoreSetKeyResponse, error) { - out := new(KvStoreSetKeyResponse) - err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/SetKey", in, out, opts...) +func (c *kvStoreClient) SetValue(ctx context.Context, in *KvStoreSetValueRequest, opts ...grpc.CallOption) (*KvStoreSetValueResponse, error) { + out := new(KvStoreSetValueResponse) + err := c.cc.Invoke(ctx, "/nitric.proto.kvstore.v1.KvStore/SetValue", in, out, opts...) if err != nil { return nil, err } @@ -67,12 +67,12 @@ func (c *kvStoreClient) DeleteKey(ctx context.Context, in *KvStoreDeleteKeyReque return out, nil } -func (c *kvStoreClient) GetKeys(ctx context.Context, in *KvStoreGetKeysRequest, opts ...grpc.CallOption) (KvStore_GetKeysClient, error) { - stream, err := c.cc.NewStream(ctx, &KvStore_ServiceDesc.Streams[0], "/nitric.proto.kvstore.v1.KvStore/GetKeys", opts...) +func (c *kvStoreClient) ScanKeys(ctx context.Context, in *KvStoreScanKeysRequest, opts ...grpc.CallOption) (KvStore_ScanKeysClient, error) { + stream, err := c.cc.NewStream(ctx, &KvStore_ServiceDesc.Streams[0], "/nitric.proto.kvstore.v1.KvStore/ScanKeys", opts...) if err != nil { return nil, err } - x := &kvStoreGetKeysClient{stream} + x := &kvStoreScanKeysClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -82,17 +82,17 @@ func (c *kvStoreClient) GetKeys(ctx context.Context, in *KvStoreGetKeysRequest, return x, nil } -type KvStore_GetKeysClient interface { - Recv() (*KvStoreGetKeysResponse, error) +type KvStore_ScanKeysClient interface { + Recv() (*KvStoreScanKeysResponse, error) grpc.ClientStream } -type kvStoreGetKeysClient struct { +type kvStoreScanKeysClient struct { grpc.ClientStream } -func (x *kvStoreGetKeysClient) Recv() (*KvStoreGetKeysResponse, error) { - m := new(KvStoreGetKeysResponse) +func (x *kvStoreScanKeysClient) Recv() (*KvStoreScanKeysResponse, error) { + m := new(KvStoreScanKeysResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -104,30 +104,30 @@ func (x *kvStoreGetKeysClient) Recv() (*KvStoreGetKeysResponse, error) { // for forward compatibility type KvStoreServer interface { // Get an existing value - GetKey(context.Context, *KvStoreGetKeyRequest) (*KvStoreGetKeyResponse, error) + GetValue(context.Context, *KvStoreGetValueRequest) (*KvStoreGetValueResponse, error) // Create a new or overwrite an existing value - SetKey(context.Context, *KvStoreSetKeyRequest) (*KvStoreSetKeyResponse, error) + SetValue(context.Context, *KvStoreSetValueRequest) (*KvStoreSetValueResponse, error) // Delete a key and its value DeleteKey(context.Context, *KvStoreDeleteKeyRequest) (*KvStoreDeleteKeyResponse, error) // Iterate over all keys in a store - GetKeys(*KvStoreGetKeysRequest, KvStore_GetKeysServer) error + ScanKeys(*KvStoreScanKeysRequest, KvStore_ScanKeysServer) error } // UnimplementedKvStoreServer should be embedded to have forward compatible implementations. type UnimplementedKvStoreServer struct { } -func (UnimplementedKvStoreServer) GetKey(context.Context, *KvStoreGetKeyRequest) (*KvStoreGetKeyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetKey not implemented") +func (UnimplementedKvStoreServer) GetValue(context.Context, *KvStoreGetValueRequest) (*KvStoreGetValueResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetValue not implemented") } -func (UnimplementedKvStoreServer) SetKey(context.Context, *KvStoreSetKeyRequest) (*KvStoreSetKeyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetKey not implemented") +func (UnimplementedKvStoreServer) SetValue(context.Context, *KvStoreSetValueRequest) (*KvStoreSetValueResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetValue not implemented") } func (UnimplementedKvStoreServer) DeleteKey(context.Context, *KvStoreDeleteKeyRequest) (*KvStoreDeleteKeyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteKey not implemented") } -func (UnimplementedKvStoreServer) GetKeys(*KvStoreGetKeysRequest, KvStore_GetKeysServer) error { - return status.Errorf(codes.Unimplemented, "method GetKeys not implemented") +func (UnimplementedKvStoreServer) ScanKeys(*KvStoreScanKeysRequest, KvStore_ScanKeysServer) error { + return status.Errorf(codes.Unimplemented, "method ScanKeys not implemented") } // UnsafeKvStoreServer may be embedded to opt out of forward compatibility for this service. @@ -141,38 +141,38 @@ func RegisterKvStoreServer(s grpc.ServiceRegistrar, srv KvStoreServer) { s.RegisterService(&KvStore_ServiceDesc, srv) } -func _KvStore_GetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(KvStoreGetKeyRequest) +func _KvStore_GetValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(KvStoreGetValueRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(KvStoreServer).GetKey(ctx, in) + return srv.(KvStoreServer).GetValue(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nitric.proto.kvstore.v1.KvStore/GetKey", + FullMethod: "/nitric.proto.kvstore.v1.KvStore/GetValue", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(KvStoreServer).GetKey(ctx, req.(*KvStoreGetKeyRequest)) + return srv.(KvStoreServer).GetValue(ctx, req.(*KvStoreGetValueRequest)) } return interceptor(ctx, in, info, handler) } -func _KvStore_SetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(KvStoreSetKeyRequest) +func _KvStore_SetValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(KvStoreSetValueRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(KvStoreServer).SetKey(ctx, in) + return srv.(KvStoreServer).SetValue(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nitric.proto.kvstore.v1.KvStore/SetKey", + FullMethod: "/nitric.proto.kvstore.v1.KvStore/SetValue", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(KvStoreServer).SetKey(ctx, req.(*KvStoreSetKeyRequest)) + return srv.(KvStoreServer).SetValue(ctx, req.(*KvStoreSetValueRequest)) } return interceptor(ctx, in, info, handler) } @@ -195,24 +195,24 @@ func _KvStore_DeleteKey_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } -func _KvStore_GetKeys_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(KvStoreGetKeysRequest) +func _KvStore_ScanKeys_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(KvStoreScanKeysRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(KvStoreServer).GetKeys(m, &kvStoreGetKeysServer{stream}) + return srv.(KvStoreServer).ScanKeys(m, &kvStoreScanKeysServer{stream}) } -type KvStore_GetKeysServer interface { - Send(*KvStoreGetKeysResponse) error +type KvStore_ScanKeysServer interface { + Send(*KvStoreScanKeysResponse) error grpc.ServerStream } -type kvStoreGetKeysServer struct { +type kvStoreScanKeysServer struct { grpc.ServerStream } -func (x *kvStoreGetKeysServer) Send(m *KvStoreGetKeysResponse) error { +func (x *kvStoreScanKeysServer) Send(m *KvStoreScanKeysResponse) error { return x.ServerStream.SendMsg(m) } @@ -224,12 +224,12 @@ var KvStore_ServiceDesc = grpc.ServiceDesc{ HandlerType: (*KvStoreServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "GetKey", - Handler: _KvStore_GetKey_Handler, + MethodName: "GetValue", + Handler: _KvStore_GetValue_Handler, }, { - MethodName: "SetKey", - Handler: _KvStore_SetKey_Handler, + MethodName: "SetValue", + Handler: _KvStore_SetValue_Handler, }, { MethodName: "DeleteKey", @@ -238,8 +238,8 @@ var KvStore_ServiceDesc = grpc.ServiceDesc{ }, Streams: []grpc.StreamDesc{ { - StreamName: "GetKeys", - Handler: _KvStore_GetKeys_Handler, + StreamName: "ScanKeys", + Handler: _KvStore_ScanKeys_Handler, ServerStreams: true, }, }, diff --git a/nitric/proto/kvstore/v1/kvstore.proto b/nitric/proto/kvstore/v1/kvstore.proto index f03a2cd1d..46e860d19 100644 --- a/nitric/proto/kvstore/v1/kvstore.proto +++ b/nitric/proto/kvstore/v1/kvstore.proto @@ -15,16 +15,16 @@ option csharp_namespace = "Nitric.Proto.KvStore.v1"; // Service for storage and retrieval of simple JSON keyValue service KvStore { // Get an existing value - rpc GetKey (KvStoreGetKeyRequest) returns (KvStoreGetKeyResponse); + rpc GetValue (KvStoreGetValueRequest) returns (KvStoreGetValueResponse); // Create a new or overwrite an existing value - rpc SetKey (KvStoreSetKeyRequest) returns (KvStoreSetKeyResponse); + rpc SetValue (KvStoreSetValueRequest) returns (KvStoreSetValueResponse); // Delete a key and its value rpc DeleteKey (KvStoreDeleteKeyRequest) returns (KvStoreDeleteKeyResponse); // Iterate over all keys in a store - rpc GetKeys (KvStoreGetKeysRequest) returns (stream KvStoreGetKeysResponse); + rpc ScanKeys (KvStoreScanKeysRequest) returns (stream KvStoreScanKeysResponse); } // Provides a Key/Value Store @@ -51,25 +51,24 @@ message Value { google.protobuf.Struct content = 2; } -message KvStoreGetKeyRequest { +message KvStoreGetValueRequest { // ValueRef of the key/value pair to get, which includes the store and key ValueRef ref = 1; } -message KvStoreGetKeyResponse { +message KvStoreGetValueResponse { // The retrieved value Value value = 1; } -message KvStoreSetKeyRequest { +message KvStoreSetValueRequest { // ValueRef of the key/value pair to set, which includes the store and key ValueRef ref = 1 ; // The value content to store (JSON object) google.protobuf.Struct content = 3; } -message KvStoreSetKeyResponse { -} +message KvStoreSetValueResponse {} message KvStoreDeleteKeyRequest { // ValueRef of the key/value pair to delete, which includes the store and key @@ -79,7 +78,7 @@ message KvStoreDeleteKeyRequest { message KvStoreDeleteKeyResponse { } -message KvStoreGetKeysRequest { +message KvStoreScanKeysRequest { // The store to iterate over Store store = 1; @@ -87,7 +86,7 @@ message KvStoreGetKeysRequest { string prefix = 2; } -message KvStoreGetKeysResponse { +message KvStoreScanKeysResponse { // The key of the key/value pair string key = 1; } From 871ebaf69cc340e194f4e1fe785d0261b8221cc0 Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Thu, 29 Feb 2024 12:21:27 +1100 Subject: [PATCH 22/24] format contracts --- nitric/proto/kvstore/v1/kvstore.proto | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nitric/proto/kvstore/v1/kvstore.proto b/nitric/proto/kvstore/v1/kvstore.proto index 46e860d19..6171ebd12 100644 --- a/nitric/proto/kvstore/v1/kvstore.proto +++ b/nitric/proto/kvstore/v1/kvstore.proto @@ -68,7 +68,8 @@ message KvStoreSetValueRequest { google.protobuf.Struct content = 3; } -message KvStoreSetValueResponse {} +message KvStoreSetValueResponse { +} message KvStoreDeleteKeyRequest { // ValueRef of the key/value pair to delete, which includes the store and key From 5b0fafd07b9638b60249a7c10557bf8218e67810 Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Thu, 29 Feb 2024 12:57:49 +1100 Subject: [PATCH 23/24] add TODO and old keyvalue server registration. --- core/pkg/membrane/membrane.go | 1 + 1 file changed, 1 insertion(+) diff --git a/core/pkg/membrane/membrane.go b/core/pkg/membrane/membrane.go index 5793b5c9d..8447d8805 100644 --- a/core/pkg/membrane/membrane.go +++ b/core/pkg/membrane/membrane.go @@ -197,6 +197,7 @@ func (s *Membrane) Start(startOpts ...MembraneStartOptions) error { keyvalueServerWithCompat := decorators.KeyValueServerWithCompat(s.options.KeyValuePlugin) kvstorepb.RegisterKvStoreServer(s.grpcServer, keyvalueServerWithCompat) + // TODO: Deprecated, remove in future release keyvaluepb.RegisterKeyValueServer(s.grpcServer, keyvalueServerWithCompat) topicspb.RegisterTopicsServer(s.grpcServer, s.options.TopicsPlugin) storagepb.RegisterStorageServer(s.grpcServer, s.options.StoragePlugin) From da1e896a625a481fe59c9b33bddbc9338bbf035b Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Thu, 29 Feb 2024 14:40:45 +1100 Subject: [PATCH 24/24] fix missing content in compat wrapper. --- core/pkg/decorators/keyvalue_compat.go | 1 + 1 file changed, 1 insertion(+) diff --git a/core/pkg/decorators/keyvalue_compat.go b/core/pkg/decorators/keyvalue_compat.go index af1007b92..6336d79dc 100644 --- a/core/pkg/decorators/keyvalue_compat.go +++ b/core/pkg/decorators/keyvalue_compat.go @@ -63,6 +63,7 @@ func (k *KvStoreCompat) Set(ctx context.Context, req *keyvaluepb.KeyValueSetRequ Key: req.Ref.Key, Store: req.Ref.Store, }, + Content: req.Content, }) if err != nil { return nil, err