This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch refactor-with-go
in repository https://gitbox.apache.org/repos/asf/dubbo-admin.git
The following commit(s) were added to refs/heads/refactor-with-go by this push:
new 65abcaf Introduce observe service
65abcaf is described below
commit 65abcafef25d8e4848343ffd3dc006665742c400
Author: Albumen Kevin <[email protected]>
AuthorDate: Thu Mar 2 19:44:32 2023 +0800
Introduce observe service
---
ca/pkg/v1alpha1/ca.pb.go | 413 +++++++++++++++++++++++++++++++++++++-----
ca/pkg/v1alpha1/ca.proto | 29 +++
ca/pkg/v1alpha1/ca_grpc.pb.go | 118 ++++++++++++
3 files changed, 515 insertions(+), 45 deletions(-)
diff --git a/ca/pkg/v1alpha1/ca.pb.go b/ca/pkg/v1alpha1/ca.pb.go
index 84abc1a..59c8a07 100644
--- a/ca/pkg/v1alpha1/ca.pb.go
+++ b/ca/pkg/v1alpha1/ca.pb.go
@@ -25,6 +25,7 @@ package v1alpha1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ anypb "google.golang.org/protobuf/types/known/anypb"
structpb "google.golang.org/protobuf/types/known/structpb"
reflect "reflect"
sync "sync"
@@ -179,6 +180,242 @@ func (x *DubboCertificateResponse) GetMessage() string {
return ""
}
+type ObserveRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Nonce string `protobuf:"bytes,1,opt,name=nonce,proto3"
json:"nonce,omitempty"`
+ Type string `protobuf:"bytes,2,opt,name=type,proto3"
json:"type,omitempty"`
+}
+
+func (x *ObserveRequest) Reset() {
+ *x = ObserveRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_v1alpha1_ca_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ObserveRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ObserveRequest) ProtoMessage() {}
+
+func (x *ObserveRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_v1alpha1_ca_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 ObserveRequest.ProtoReflect.Descriptor instead.
+func (*ObserveRequest) Descriptor() ([]byte, []int) {
+ return file_v1alpha1_ca_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *ObserveRequest) GetNonce() string {
+ if x != nil {
+ return x.Nonce
+ }
+ return ""
+}
+
+func (x *ObserveRequest) GetType() string {
+ if x != nil {
+ return x.Type
+ }
+ return ""
+}
+
+type ObserveResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Version string `protobuf:"bytes,1,opt,name=version,proto3"
json:"version,omitempty"`
+ Nonce string `protobuf:"bytes,2,opt,name=nonce,proto3"
json:"nonce,omitempty"`
+ Type string `protobuf:"bytes,3,opt,name=type,proto3"
json:"type,omitempty"`
+ Data *anypb.Any `protobuf:"bytes,4,opt,name=data,proto3"
json:"data,omitempty"`
+}
+
+func (x *ObserveResponse) Reset() {
+ *x = ObserveResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_v1alpha1_ca_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ObserveResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ObserveResponse) ProtoMessage() {}
+
+func (x *ObserveResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_v1alpha1_ca_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 ObserveResponse.ProtoReflect.Descriptor instead.
+func (*ObserveResponse) Descriptor() ([]byte, []int) {
+ return file_v1alpha1_ca_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *ObserveResponse) GetVersion() string {
+ if x != nil {
+ return x.Version
+ }
+ return ""
+}
+
+func (x *ObserveResponse) GetNonce() string {
+ if x != nil {
+ return x.Nonce
+ }
+ return ""
+}
+
+func (x *ObserveResponse) GetType() string {
+ if x != nil {
+ return x.Type
+ }
+ return ""
+}
+
+func (x *ObserveResponse) GetData() *anypb.Any {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+type AuthorizationRule struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Version string `protobuf:"bytes,1,opt,name=version,proto3"
json:"version,omitempty"`
+ Rule string `protobuf:"bytes,2,opt,name=rule,proto3"
json:"rule,omitempty"`
+}
+
+func (x *AuthorizationRule) Reset() {
+ *x = AuthorizationRule{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_v1alpha1_ca_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AuthorizationRule) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AuthorizationRule) ProtoMessage() {}
+
+func (x *AuthorizationRule) ProtoReflect() protoreflect.Message {
+ mi := &file_v1alpha1_ca_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 AuthorizationRule.ProtoReflect.Descriptor instead.
+func (*AuthorizationRule) Descriptor() ([]byte, []int) {
+ return file_v1alpha1_ca_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *AuthorizationRule) GetVersion() string {
+ if x != nil {
+ return x.Version
+ }
+ return ""
+}
+
+func (x *AuthorizationRule) GetRule() string {
+ if x != nil {
+ return x.Rule
+ }
+ return ""
+}
+
+type AuthenticationRule struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Version string `protobuf:"bytes,1,opt,name=version,proto3"
json:"version,omitempty"`
+ Rule string `protobuf:"bytes,2,opt,name=rule,proto3"
json:"rule,omitempty"`
+}
+
+func (x *AuthenticationRule) Reset() {
+ *x = AuthenticationRule{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_v1alpha1_ca_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AuthenticationRule) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AuthenticationRule) ProtoMessage() {}
+
+func (x *AuthenticationRule) ProtoReflect() protoreflect.Message {
+ mi := &file_v1alpha1_ca_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 AuthenticationRule.ProtoReflect.Descriptor instead.
+func (*AuthenticationRule) Descriptor() ([]byte, []int) {
+ return file_v1alpha1_ca_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *AuthenticationRule) GetVersion() string {
+ if x != nil {
+ return x.Version
+ }
+ return ""
+}
+
+func (x *AuthenticationRule) GetRule() string {
+ if x != nil {
+ return x.Rule
+ }
+ return ""
+}
+
var File_v1alpha1_ca_proto protoreflect.FileDescriptor
var file_v1alpha1_ca_proto_rawDesc = []byte{
@@ -187,39 +424,69 @@ var file_v1alpha1_ca_proto_rawDesc = []byte{
0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76,
0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 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, 0x74, 0x0a, 0x17, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x43, 0x65,
0x72, 0x74, 0x69, 0x66,
- 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x10, 0x0a, 0x03,
- 0x63, 0x73, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63,
0x73, 0x72, 0x12, 0x12,
- 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x74, 0x79,
- 0x70, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
0x74, 0x61, 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, 0x08, 0x6d,
- 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xab, 0x01, 0x0a, 0x18,
0x44, 0x75, 0x62, 0x62,
- 0x6f, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63,
0x65, 0x73, 0x73, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65,
0x73, 0x73, 0x12, 0x19,
- 0x0a, 0x08, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x70, 0x65, 0x6d, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09,
- 0x52, 0x07, 0x63, 0x65, 0x72, 0x74, 0x50, 0x65, 0x6d, 0x12, 0x1f, 0x0a,
0x0b, 0x74, 0x72, 0x75,
- 0x73, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0a,
- 0x74, 0x72, 0x75, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x1f,
0x0a, 0x0b, 0x65, 0x78,
- 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20,
0x01, 0x28, 0x03, 0x52,
- 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x6d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x6d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0xa4, 0x01, 0x0a, 0x17, 0x44, 0x75,
0x62, 0x62, 0x6f, 0x43,
- 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x65,
0x72, 0x76, 0x69, 0x63,
- 0x65, 0x12, 0x88, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x43, 0x65, 0x72, 0x74,
- 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x37, 0x2e, 0x6f, 0x72,
0x67, 0x2e, 0x61, 0x70,
- 0x61, 0x63, 0x68, 0x65, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x61,
0x75, 0x74, 0x68, 0x2e,
- 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x62,
0x62, 0x6f, 0x43, 0x65,
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x38, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68,
0x65, 0x2e, 0x64, 0x75,
- 0x62, 0x62, 0x6f, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61,
- 0x31, 0x2e, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x43, 0x65, 0x72, 0x74, 0x69,
0x66, 0x69, 0x63, 0x61,
- 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
0x42, 0x2d, 0x50, 0x01,
- 0x5a, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x61, 0x70, 0x61,
- 0x63, 0x68, 0x65, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2d, 0x61, 0x64,
0x6d, 0x69, 0x6e, 0x2f,
- 0x63, 0x61, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62,
0x06, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x33,
+ 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0x74, 0x0a, 0x17,
+ 0x44, 0x75, 0x62, 0x62, 0x6f, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x63,
0x73, 0x72, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x73, 0x72, 0x12, 0x12, 0x0a,
0x04, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
0x65, 0x12, 0x33, 0x0a,
+ 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 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, 0x08, 0x6d, 0x65,
0x74, 0x61, 0x64, 0x61,
+ 0x74, 0x61, 0x22, 0xab, 0x01, 0x0a, 0x18, 0x44, 0x75, 0x62, 0x62, 0x6f,
0x43, 0x65, 0x72, 0x74,
+ 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12,
+ 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a,
0x08, 0x63, 0x65, 0x72,
+ 0x74, 0x5f, 0x70, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x63, 0x65, 0x72,
+ 0x74, 0x50, 0x65, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x72, 0x75, 0x73,
0x74, 0x5f, 0x63, 0x65,
+ 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x74,
0x72, 0x75, 0x73, 0x74,
+ 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70,
0x69, 0x72, 0x65, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
0x65, 0x78, 0x70, 0x69,
+ 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65,
0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65,
+ 0x22, 0x3a, 0x0a, 0x0e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52,
0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04,
0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
0x22, 0x7f, 0x0a, 0x0f,
+ 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12,
+ 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a,
0x05, 0x6e, 0x6f, 0x6e,
+ 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f,
0x6e, 0x63, 0x65, 0x12,
+ 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x74,
+ 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74,
0x61, 0x22, 0x41, 0x0a,
+ 0x11, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x75,
+ 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x12, 0x12, 0x0a, 0x04,
+ 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x72, 0x75, 0x6c, 0x65,
+ 0x22, 0x42, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e,
+ 0x12, 0x12, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04,
+ 0x72, 0x75, 0x6c, 0x65, 0x32, 0xa4, 0x01, 0x0a, 0x17, 0x44, 0x75, 0x62,
0x62, 0x6f, 0x43, 0x65,
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65,
+ 0x12, 0x88, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43,
0x65, 0x72, 0x74, 0x69,
+ 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x37, 0x2e, 0x6f, 0x72, 0x67,
0x2e, 0x61, 0x70, 0x61,
+ 0x63, 0x68, 0x65, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x61, 0x75,
0x74, 0x68, 0x2e, 0x76,
+ 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x62, 0x62,
0x6f, 0x43, 0x65, 0x72,
+ 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a,
+ 0x38, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65,
0x2e, 0x64, 0x75, 0x62,
+ 0x62, 0x6f, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x31,
+ 0x2e, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
0x69, 0x63, 0x61, 0x74,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32,
0x82, 0x01, 0x0a, 0x0e,
+ 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x12, 0x70,
+ 0x0a, 0x07, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x12, 0x2e, 0x2e,
0x6f, 0x72, 0x67, 0x2e,
+ 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f,
0x2e, 0x61, 0x75, 0x74,
+ 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f,
0x62, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e,
0x6f, 0x72, 0x67, 0x2e,
+ 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f,
0x2e, 0x61, 0x75, 0x74,
+ 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f,
0x62, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
0x28, 0x01, 0x30, 0x01,
+ 0x42, 0x2d, 0x50, 0x01, 0x5a, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
0x2e, 0x63, 0x6f, 0x6d,
+ 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x64, 0x75, 0x62, 0x62,
0x6f, 0x2d, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x31, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -234,21 +501,29 @@ func file_v1alpha1_ca_proto_rawDescGZIP() []byte {
return file_v1alpha1_ca_proto_rawDescData
}
-var file_v1alpha1_ca_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_v1alpha1_ca_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_v1alpha1_ca_proto_goTypes = []interface{}{
(*DubboCertificateRequest)(nil), // 0:
org.apache.dubbo.auth.v1alpha1.DubboCertificateRequest
(*DubboCertificateResponse)(nil), // 1:
org.apache.dubbo.auth.v1alpha1.DubboCertificateResponse
- (*structpb.Struct)(nil), // 2: google.protobuf.Struct
+ (*ObserveRequest)(nil), // 2:
org.apache.dubbo.auth.v1alpha1.ObserveRequest
+ (*ObserveResponse)(nil), // 3:
org.apache.dubbo.auth.v1alpha1.ObserveResponse
+ (*AuthorizationRule)(nil), // 4:
org.apache.dubbo.auth.v1alpha1.AuthorizationRule
+ (*AuthenticationRule)(nil), // 5:
org.apache.dubbo.auth.v1alpha1.AuthenticationRule
+ (*structpb.Struct)(nil), // 6: google.protobuf.Struct
+ (*anypb.Any)(nil), // 7: google.protobuf.Any
}
var file_v1alpha1_ca_proto_depIdxs = []int32{
- 2, // 0:
org.apache.dubbo.auth.v1alpha1.DubboCertificateRequest.metadata:type_name ->
google.protobuf.Struct
- 0, // 1:
org.apache.dubbo.auth.v1alpha1.DubboCertificateService.CreateCertificate:input_type
-> org.apache.dubbo.auth.v1alpha1.DubboCertificateRequest
- 1, // 2:
org.apache.dubbo.auth.v1alpha1.DubboCertificateService.CreateCertificate:output_type
-> org.apache.dubbo.auth.v1alpha1.DubboCertificateResponse
- 2, // [2:3] is the sub-list for method output_type
- 1, // [1:2] is the sub-list for method input_type
- 1, // [1:1] is the sub-list for extension type_name
- 1, // [1:1] is the sub-list for extension extendee
- 0, // [0:1] is the sub-list for field type_name
+ 6, // 0:
org.apache.dubbo.auth.v1alpha1.DubboCertificateRequest.metadata:type_name ->
google.protobuf.Struct
+ 7, // 1: org.apache.dubbo.auth.v1alpha1.ObserveResponse.data:type_name
-> google.protobuf.Any
+ 0, // 2:
org.apache.dubbo.auth.v1alpha1.DubboCertificateService.CreateCertificate:input_type
-> org.apache.dubbo.auth.v1alpha1.DubboCertificateRequest
+ 2, // 3:
org.apache.dubbo.auth.v1alpha1.ObserveService.Observe:input_type ->
org.apache.dubbo.auth.v1alpha1.ObserveRequest
+ 1, // 4:
org.apache.dubbo.auth.v1alpha1.DubboCertificateService.CreateCertificate:output_type
-> org.apache.dubbo.auth.v1alpha1.DubboCertificateResponse
+ 3, // 5:
org.apache.dubbo.auth.v1alpha1.ObserveService.Observe:output_type ->
org.apache.dubbo.auth.v1alpha1.ObserveResponse
+ 4, // [4:6] is the sub-list for method output_type
+ 2, // [2:4] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
}
func init() { file_v1alpha1_ca_proto_init() }
@@ -281,6 +556,54 @@ func file_v1alpha1_ca_proto_init() {
return nil
}
}
+ file_v1alpha1_ca_proto_msgTypes[2].Exporter = func(v
interface{}, i int) interface{} {
+ switch v := v.(*ObserveRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_v1alpha1_ca_proto_msgTypes[3].Exporter = func(v
interface{}, i int) interface{} {
+ switch v := v.(*ObserveResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_v1alpha1_ca_proto_msgTypes[4].Exporter = func(v
interface{}, i int) interface{} {
+ switch v := v.(*AuthorizationRule); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_v1alpha1_ca_proto_msgTypes[5].Exporter = func(v
interface{}, i int) interface{} {
+ switch v := v.(*AuthenticationRule); 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{
@@ -288,9 +611,9 @@ func file_v1alpha1_ca_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_v1alpha1_ca_proto_rawDesc,
NumEnums: 0,
- NumMessages: 2,
+ NumMessages: 6,
NumExtensions: 0,
- NumServices: 1,
+ NumServices: 2,
},
GoTypes: file_v1alpha1_ca_proto_goTypes,
DependencyIndexes: file_v1alpha1_ca_proto_depIdxs,
diff --git a/ca/pkg/v1alpha1/ca.proto b/ca/pkg/v1alpha1/ca.proto
index 60c5f58..3cdc623 100644
--- a/ca/pkg/v1alpha1/ca.proto
+++ b/ca/pkg/v1alpha1/ca.proto
@@ -18,6 +18,7 @@
syntax = "proto3";
import "google/protobuf/struct.proto";
+import "google/protobuf/any.proto";
package org.apache.dubbo.auth.v1alpha1;
@@ -45,3 +46,31 @@ service DubboCertificateService {
returns (DubboCertificateResponse) {
}
}
+
+message ObserveRequest {
+ string nonce = 1;
+ string type = 2;
+}
+
+message ObserveResponse {
+ string version = 1;
+ string nonce = 2;
+ string type = 3;
+ google.protobuf.Any data = 4;
+}
+
+message AuthorizationRule {
+ string version = 1;
+ string rule = 2;
+}
+
+message AuthenticationRule {
+ string version = 1;
+ string rule = 2;
+}
+
+service ObserveService {
+ rpc Observe(stream ObserveRequest)
+ returns (stream ObserveResponse) {
+ }
+}
diff --git a/ca/pkg/v1alpha1/ca_grpc.pb.go b/ca/pkg/v1alpha1/ca_grpc.pb.go
index aa14c4a..6cfe9d0 100644
--- a/ca/pkg/v1alpha1/ca_grpc.pb.go
+++ b/ca/pkg/v1alpha1/ca_grpc.pb.go
@@ -104,3 +104,121 @@ var DubboCertificateService_ServiceDesc =
grpc.ServiceDesc{
Streams: []grpc.StreamDesc{},
Metadata: "v1alpha1/ca.proto",
}
+
+// ObserveServiceClient is the client API for ObserveService 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 ObserveServiceClient interface {
+ Observe(ctx context.Context, opts ...grpc.CallOption)
(ObserveService_ObserveClient, error)
+}
+
+type observeServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewObserveServiceClient(cc grpc.ClientConnInterface) ObserveServiceClient
{
+ return &observeServiceClient{cc}
+}
+
+func (c *observeServiceClient) Observe(ctx context.Context, opts
...grpc.CallOption) (ObserveService_ObserveClient, error) {
+ stream, err := c.cc.NewStream(ctx,
&ObserveService_ServiceDesc.Streams[0],
"/org.apache.dubbo.auth.v1alpha1.ObserveService/Observe", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &observeServiceObserveClient{stream}
+ return x, nil
+}
+
+type ObserveService_ObserveClient interface {
+ Send(*ObserveRequest) error
+ Recv() (*ObserveResponse, error)
+ grpc.ClientStream
+}
+
+type observeServiceObserveClient struct {
+ grpc.ClientStream
+}
+
+func (x *observeServiceObserveClient) Send(m *ObserveRequest) error {
+ return x.ClientStream.SendMsg(m)
+}
+
+func (x *observeServiceObserveClient) Recv() (*ObserveResponse, error) {
+ m := new(ObserveResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// ObserveServiceServer is the server API for ObserveService service.
+// All implementations must embed UnimplementedObserveServiceServer
+// for forward compatibility
+type ObserveServiceServer interface {
+ Observe(ObserveService_ObserveServer) error
+ mustEmbedUnimplementedObserveServiceServer()
+}
+
+// UnimplementedObserveServiceServer must be embedded to have forward
compatible implementations.
+type UnimplementedObserveServiceServer struct {
+}
+
+func (UnimplementedObserveServiceServer) Observe(ObserveService_ObserveServer)
error {
+ return status.Errorf(codes.Unimplemented, "method Observe not
implemented")
+}
+func (UnimplementedObserveServiceServer)
mustEmbedUnimplementedObserveServiceServer() {}
+
+// UnsafeObserveServiceServer may be embedded to opt out of forward
compatibility for this service.
+// Use of this interface is not recommended, as added methods to
ObserveServiceServer will
+// result in compilation errors.
+type UnsafeObserveServiceServer interface {
+ mustEmbedUnimplementedObserveServiceServer()
+}
+
+func RegisterObserveServiceServer(s grpc.ServiceRegistrar, srv
ObserveServiceServer) {
+ s.RegisterService(&ObserveService_ServiceDesc, srv)
+}
+
+func _ObserveService_Observe_Handler(srv interface{}, stream
grpc.ServerStream) error {
+ return
srv.(ObserveServiceServer).Observe(&observeServiceObserveServer{stream})
+}
+
+type ObserveService_ObserveServer interface {
+ Send(*ObserveResponse) error
+ Recv() (*ObserveRequest, error)
+ grpc.ServerStream
+}
+
+type observeServiceObserveServer struct {
+ grpc.ServerStream
+}
+
+func (x *observeServiceObserveServer) Send(m *ObserveResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func (x *observeServiceObserveServer) Recv() (*ObserveRequest, error) {
+ m := new(ObserveRequest)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// ObserveService_ServiceDesc is the grpc.ServiceDesc for ObserveService
service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var ObserveService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "org.apache.dubbo.auth.v1alpha1.ObserveService",
+ HandlerType: (*ObserveServiceServer)(nil),
+ Methods: []grpc.MethodDesc{},
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "Observe",
+ Handler: _ObserveService_Observe_Handler,
+ ServerStreams: true,
+ ClientStreams: true,
+ },
+ },
+ Metadata: "v1alpha1/ca.proto",
+}