gc
diff --git a/api/mesh/v1alpha1/dataplane.pb.go b/api/mesh/v1alpha1/dataplane.pb.go
index ac772cc..65febd5 100644
--- a/api/mesh/v1alpha1/dataplane.pb.go
+++ b/api/mesh/v1alpha1/dataplane.pb.go
@@ -809,7 +809,7 @@
0x70, 0x68, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
- 0x91, 0x11, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x49, 0x0a,
+ 0x86, 0x11, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x49, 0x0a,
0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x29, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e,
@@ -938,19 +938,18 @@
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a,
- 0x81, 0x01, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x13, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c,
- 0x61, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xaa, 0x8c, 0x89, 0xa6, 0x01,
- 0x0b, 0x12, 0x09, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0xaa, 0x8c, 0x89, 0xa6,
- 0x01, 0x06, 0x22, 0x04, 0x6d, 0x65, 0x73, 0x68, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x04, 0x52, 0x02,
- 0x10, 0x01, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x04, 0x52, 0x02, 0x08, 0x01, 0xaa, 0x8c, 0x89, 0xa6,
- 0x01, 0x0d, 0x3a, 0x0b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0xaa,
- 0x8c, 0x89, 0xa6, 0x01, 0x0e, 0x3a, 0x0c, 0x12, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61,
- 0x6e, 0x65, 0x73, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x58, 0x01, 0xaa, 0x8c, 0x89, 0xa6, 0x01,
- 0x02, 0x68, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
- 0x6d, 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2d, 0x6b,
- 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65,
- 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x33,
+ 0x77, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x13, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61,
+ 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x0b,
+ 0x12, 0x09, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0xaa, 0x8c, 0x89, 0xa6, 0x01,
+ 0x06, 0x22, 0x04, 0x6d, 0x65, 0x73, 0x68, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x04, 0x52, 0x02, 0x08,
+ 0x01, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x0d, 0x3a, 0x0b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x70,
+ 0x6c, 0x61, 0x6e, 0x65, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x0e, 0x3a, 0x0c, 0x12, 0x0a, 0x64, 0x61,
+ 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x58, 0x01,
+ 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x68, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68,
+ 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x64, 0x75,
+ 0x62, 0x62, 0x6f, 0x2d, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x2f, 0x61,
+ 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/api/mesh/v1alpha1/dataplane.proto b/api/mesh/v1alpha1/dataplane.proto
index 382ec20..04a4a0d 100644
--- a/api/mesh/v1alpha1/dataplane.proto
+++ b/api/mesh/v1alpha1/dataplane.proto
@@ -16,7 +16,6 @@
option (dubbo.mesh.resource).name = "DataplaneResource";
option (dubbo.mesh.resource).type = "Dataplane";
option (dubbo.mesh.resource).package = "mesh";
- option (dubbo.mesh.resource).dds.send_to_zone = true;
option (dubbo.mesh.resource).dds.send_to_global = true;
option (dubbo.mesh.resource).ws.name = "dataplane";
option (dubbo.mesh.resource).ws.plural = "dataplanes";
diff --git a/api/mesh/v1alpha1/mapping.pb.go b/api/mesh/v1alpha1/mapping.pb.go
index 93a5bf2..cd06b1b 100644
--- a/api/mesh/v1alpha1/mapping.pb.go
+++ b/api/mesh/v1alpha1/mapping.pb.go
@@ -36,6 +36,7 @@
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
ApplicationName string `protobuf:"bytes,2,opt,name=applicationName,proto3" json:"applicationName,omitempty"`
InterfaceNames []string `protobuf:"bytes,3,rep,name=interfaceNames,proto3" json:"interfaceNames,omitempty"`
+ PodName string `protobuf:"bytes,4,opt,name=podName,proto3" json:"podName,omitempty"`
}
func (x *MappingRegisterRequest) Reset() {
@@ -91,6 +92,13 @@
return nil
}
+func (x *MappingRegisterRequest) GetPodName() string {
+ if x != nil {
+ return x.PodName
+ }
+ return ""
+}
+
type MappingRegisterResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -342,7 +350,7 @@
0x68, 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x13, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31,
0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x16, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68,
- 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88,
+ 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2,
0x01, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d,
0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61,
@@ -351,61 +359,63 @@
0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d,
0x65, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61,
0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72,
- 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x4d, 0x0a, 0x17, 0x4d, 0x61, 0x70,
- 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18,
- 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x6e, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x70,
- 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c,
- 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e,
- 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e,
- 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72,
- 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x13, 0x4d, 0x61, 0x70,
- 0x70, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69,
- 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69,
- 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73,
- 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x69,
- 0x6e, 0x67, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xea, 0x01, 0x0a,
- 0x07, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x24, 0x0a, 0x0d,
- 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
+ 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x64,
+ 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x64, 0x4e,
+ 0x61, 0x6d, 0x65, 0x22, 0x4d, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65,
+ 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
+ 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x22, 0x6e, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e,
+ 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d,
+ 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61,
- 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x70,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x3a, 0x79,
- 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x11, 0x0a, 0x0f, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52,
- 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x09, 0x12, 0x07, 0x4d,
- 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x06, 0x22, 0x04, 0x6d, 0x65,
- 0x73, 0x68, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x04, 0x52, 0x02, 0x08, 0x01, 0xaa, 0x8c, 0x89, 0xa6,
- 0x01, 0x04, 0x52, 0x02, 0x10, 0x01, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x0b, 0x3a, 0x09, 0x0a, 0x07,
- 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x0c, 0x3a, 0x0a, 0x12,
- 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x58,
- 0x01, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x68, 0x01, 0x32, 0xef, 0x01, 0x0a, 0x19, 0x53, 0x65,
- 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6c, 0x0a, 0x0f, 0x4d, 0x61, 0x70, 0x70, 0x69,
- 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x64, 0x75, 0x62,
- 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
- 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e,
- 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x61,
- 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0b, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
- 0x53, 0x79, 0x6e, 0x63, 0x12, 0x27, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73,
+ 0x6d, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x79,
+ 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f,
+ 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65,
+ 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x08,
+ 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x6d, 0x61,
+ 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x70, 0x70, 0x69,
+ 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66,
+ 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69,
+ 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10,
+ 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73,
+ 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x3a, 0x79, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x11,
+ 0x0a, 0x0f, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x09, 0x12, 0x07, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
+ 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x06, 0x22, 0x04, 0x6d, 0x65, 0x73, 0x68, 0xaa, 0x8c, 0x89, 0xa6,
+ 0x01, 0x04, 0x52, 0x02, 0x08, 0x01, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x04, 0x52, 0x02, 0x10, 0x01,
+ 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x0b, 0x3a, 0x09, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e,
+ 0x67, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x0c, 0x3a, 0x0a, 0x12, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69,
+ 0x6e, 0x67, 0x73, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x58, 0x01, 0xaa, 0x8c, 0x89, 0xa6, 0x01,
+ 0x02, 0x68, 0x01, 0x32, 0xef, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e,
+ 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x12, 0x6c, 0x0a, 0x0f, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69,
+ 0x73, 0x74, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73,
0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x69,
- 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e,
- 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
- 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67,
- 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65,
- 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2d, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65,
- 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
- 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x2c, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76,
+ 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52,
+ 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x64, 0x0a, 0x0b, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x27,
+ 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e,
+ 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x61,
+ 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f,
+ 0x2d, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+ 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/api/mesh/v1alpha1/mapping.proto b/api/mesh/v1alpha1/mapping.proto
index 8faf3c6..ae61673 100644
--- a/api/mesh/v1alpha1/mapping.proto
+++ b/api/mesh/v1alpha1/mapping.proto
@@ -27,6 +27,7 @@
string namespace = 1;
string applicationName = 2;
repeated string interfaceNames = 3;
+ string podName = 4;
}
message MappingRegisterResponse {
diff --git a/api/mesh/v1alpha1/metadata.pb.go b/api/mesh/v1alpha1/metadata.pb.go
index 838b0fb..755a69e 100644
--- a/api/mesh/v1alpha1/metadata.pb.go
+++ b/api/mesh/v1alpha1/metadata.pb.go
@@ -487,7 +487,7 @@
0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d,
0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x6d,
- 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x22, 0xf3, 0x02, 0x0a, 0x08, 0x4d, 0x65, 0x74,
+ 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x22, 0xe9, 0x02, 0x0a, 0x08, 0x4d, 0x65, 0x74,
0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x70,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x70, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72,
@@ -503,51 +503,50 @@
0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e,
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a,
- 0x7d, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x12, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74,
+ 0x73, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x12, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74,
0x61, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x0a, 0x12,
0x08, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x06, 0x22,
0x04, 0x6d, 0x65, 0x73, 0x68, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x04, 0x52, 0x02, 0x08, 0x01, 0xaa,
- 0x8c, 0x89, 0xa6, 0x01, 0x04, 0x52, 0x02, 0x10, 0x01, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x0c, 0x3a,
- 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xaa, 0x8c, 0x89, 0xa6, 0x01,
- 0x02, 0x58, 0x01, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x0d, 0x3a, 0x0b, 0x12, 0x09, 0x6d, 0x65, 0x74,
- 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x68, 0x01, 0x22, 0x96,
- 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
- 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
- 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12,
- 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x6f,
- 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
- 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d,
- 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72,
- 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x39, 0x0a, 0x0b,
- 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, 0x14, 0x0a,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0xeb, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61,
- 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6f, 0x0a, 0x10, 0x4d,
- 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12,
- 0x2c, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61,
- 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65,
- 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e,
- 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
- 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x67, 0x69,
- 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0c,
- 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x28, 0x2e, 0x64,
+ 0x8c, 0x89, 0xa6, 0x01, 0x0c, 0x3a, 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
+ 0x61, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x58, 0x01, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x0d, 0x3a,
+ 0x0b, 0x12, 0x09, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0xaa, 0x8c, 0x89, 0xa6,
+ 0x01, 0x02, 0x68, 0x01, 0x22, 0x96, 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75,
+ 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x18,
+ 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x06,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64,
+ 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61,
+ 0x6d, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 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, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0xeb, 0x01,
+ 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x12, 0x6f, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x67,
+ 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65,
+ 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68,
+ 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x79,
+ 0x6e, 0x63, 0x12, 0x28, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e,
+ 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
+ 0x61, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x64,
0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x79, 0x6e, 0x63, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d,
- 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74,
- 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
- 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f,
- 0x2d, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f,
- 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67,
+ 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65,
+ 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2d, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65,
+ 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
+ 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/api/mesh/v1alpha1/metadata.proto b/api/mesh/v1alpha1/metadata.proto
index 0688317..7629d5d 100644
--- a/api/mesh/v1alpha1/metadata.proto
+++ b/api/mesh/v1alpha1/metadata.proto
@@ -43,7 +43,6 @@
option (dubbo.mesh.resource).type = "MetaData";
option (dubbo.mesh.resource).package = "mesh";
option (dubbo.mesh.resource).dds.send_to_global = true;
- option (dubbo.mesh.resource).dds.send_to_zone = true;
option (dubbo.mesh.resource).ws.name = "metadata";
option (dubbo.mesh.resource).scope_namespace = true;
option (dubbo.mesh.resource).ws.plural = "metadatas";
diff --git a/app/dubboctl/cmd/proxy_test.go b/app/dubboctl/cmd/proxy_test.go
index a5d7eb1..c6eb9f4 100644
--- a/app/dubboctl/cmd/proxy_test.go
+++ b/app/dubboctl/cmd/proxy_test.go
@@ -123,7 +123,6 @@
// we expect Envoy process to get killed by now
return err != nil
}, "5s", "100ms").Should(BeTrue())
-
},
Entry("can be launched with env vars", func() testCase {
return testCase{
@@ -240,7 +239,6 @@
}
}),
)
-
})
func verifyComponentProcess(processDescription, pidfile string, cmdlinefile string, argsVerifier func(expectedArgs []string)) int64 {
diff --git a/pkg/config/app/dubbo-cp/config.go b/pkg/config/app/dubbo-cp/config.go
index fdc3b9b..80c3a4d 100644
--- a/pkg/config/app/dubbo-cp/config.go
+++ b/pkg/config/app/dubbo-cp/config.go
@@ -37,7 +37,6 @@
dp_server "github.com/apache/dubbo-kubernetes/pkg/config/dp-server"
"github.com/apache/dubbo-kubernetes/pkg/config/dubbo"
"github.com/apache/dubbo-kubernetes/pkg/config/eventbus"
- "github.com/apache/dubbo-kubernetes/pkg/config/intercp"
"github.com/apache/dubbo-kubernetes/pkg/config/multizone"
"github.com/apache/dubbo-kubernetes/pkg/config/plugins/runtime"
config_types "github.com/apache/dubbo-kubernetes/pkg/config/types"
@@ -106,8 +105,6 @@
DpServer *dp_server.DpServerConfig `json:"dpServer"`
// EventBus is a configuration of the event bus which is local to one instance of CP.
EventBus eventbus.Config `json:"eventBus"`
- // Intercommunication CP configuration
- InterCp intercp.InterCpConfig `json:"interCp"`
// SNP configuration
DubboConfig dubbo.DubboConfig `json:"dubbo_config"`
Bufman bufman.Bufman `json:"bufman"`
@@ -172,7 +169,6 @@
Diagnostics: diagnostics.DefaultDiagnosticsConfig(),
DpServer: dp_server.DefaultDpServerConfig(),
Admin: admin.DefaultAdminConfig(),
- InterCp: intercp.DefaultInterCpConfig(),
DubboConfig: dubbo.DefaultServiceNameMappingConfig(),
EventBus: eventbus.Default(),
DDSEventBasedWatchdog: DefaultEventBasedWatchdog(),
diff --git a/pkg/config/intercp/config.go b/pkg/config/intercp/config.go
deleted file mode 100644
index 5d556de..0000000
--- a/pkg/config/intercp/config.go
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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 intercp
-
-import (
- "time"
-)
-
-import (
- "github.com/asaskevich/govalidator"
-
- "github.com/pkg/errors"
-
- "go.uber.org/multierr"
-)
-
-import (
- config_types "github.com/apache/dubbo-kubernetes/pkg/config/types"
-)
-
-func DefaultInterCpConfig() InterCpConfig {
- return InterCpConfig{
- Catalog: CatalogConfig{
- InstanceAddress: "", // autoconfigured
- HeartbeatInterval: config_types.Duration{Duration: 5 * time.Second},
- WriterInterval: config_types.Duration{Duration: 15 * time.Second},
- },
- Server: InterCpServerConfig{
- Port: 5683,
- TlsMinVersion: "TLSv1_2",
- TlsCipherSuites: []string{},
- },
- }
-}
-
-type InterCpConfig struct {
- // Catalog configuration. Catalog keeps a record of all live CP instances in the zone.
- Catalog CatalogConfig `json:"catalog"`
- // Intercommunication CP server configuration
- Server InterCpServerConfig `json:"server"`
-}
-
-func (i *InterCpConfig) Validate() error {
- if err := i.Server.Validate(); err != nil {
- return errors.Wrap(err, ".Server validation failed")
- }
- if err := i.Catalog.Validate(); err != nil {
- return errors.Wrap(err, ".Catalog validation failed")
- }
- return nil
-}
-
-type CatalogConfig struct {
- // InstanceAddress indicates an address on which other control planes can communicate with this CP
- // If empty then it's autoconfigured by taking the first IP of the nonloopback network interface.
- InstanceAddress string `json:"instanceAddress" envconfig:"dubbo_inter_cp_catalog_instance_address"`
- // Interval on which CP will send heartbeat to a leader.
- HeartbeatInterval config_types.Duration `json:"heartbeatInterval" envconfig:"dubbo_inter_cp_catalog_heartbeat_interval"`
- // Interval on which CP will write all instances to a catalog.
- WriterInterval config_types.Duration `json:"writerInterval" envconfig:"dubbo_inter_cp_catalog_writer_interval"`
-}
-
-func (i *CatalogConfig) Validate() error {
- if i.InstanceAddress != "" && !govalidator.IsDNSName(i.InstanceAddress) && !govalidator.IsIP(i.InstanceAddress) {
- return errors.New(".InstanceAddress has to be valid IP or DNS address")
- }
- return nil
-}
-
-type InterCpServerConfig struct {
- // Port on which Intercommunication CP server will listen
- Port uint16 `json:"port" envconfig:"dubbo_inter_cp_server_port"`
- // TlsMinVersion defines the minimum TLS version to be used
- TlsMinVersion string `json:"tlsMinVersion" envconfig:"dubbo_inter_cp_server_tls_min_version"`
- // TlsMaxVersion defines the maximum TLS version to be used
- TlsMaxVersion string `json:"tlsMaxVersion" envconfig:"dubbo_inter_cp_server_tls_max_version"`
- // TlsCipherSuites defines the list of ciphers to use
- TlsCipherSuites []string `json:"tlsCipherSuites" envconfig:"dubbo_inter_cp_server_tls_cipher_suites"`
-}
-
-func (i *InterCpServerConfig) Validate() error {
- var errs error
- if i.Port == 0 {
- errs = multierr.Append(errs, errors.New(".Port cannot be zero"))
- }
- if _, err := config_types.TLSVersion(i.TlsMinVersion); err != nil {
- errs = multierr.Append(errs, errors.New(".TlsMinVersion "+err.Error()))
- }
- if _, err := config_types.TLSVersion(i.TlsMaxVersion); err != nil {
- errs = multierr.Append(errs, errors.New(".TlsMaxVersion "+err.Error()))
- }
- if _, err := config_types.TLSCiphers(i.TlsCipherSuites); err != nil {
- errs = multierr.Append(errs, errors.New(".TlsCipherSuites "+err.Error()))
- }
- return errs
-}
diff --git a/pkg/core/registry/mapping.go b/pkg/core/registry/mapping.go
index 3b251b1..8510d70 100644
--- a/pkg/core/registry/mapping.go
+++ b/pkg/core/registry/mapping.go
@@ -18,6 +18,11 @@
package registry
import (
+ "dubbo.apache.org/dubbo-go/v3/common"
+ "github.com/apache/dubbo-kubernetes/pkg/core/resources/apis/mesh"
+ core_model "github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
+ "github.com/apache/dubbo-kubernetes/pkg/events"
+ "github.com/apache/dubbo-kubernetes/pkg/util/rmkey"
"sync"
)
@@ -32,15 +37,24 @@
oldServiceNames *gxset.HashSet
listener registry.NotifyListener
interfaceKey string
+ systemNamespace string
mux sync.Mutex
delSDRegistry registry.ServiceDiscovery
+ eventWriter events.Emitter
}
-func NewMappingListener(oldServiceNames *gxset.HashSet, listener registry.NotifyListener) *ServiceMappingChangedListenerImpl {
+func NewMappingListener(
+ oldServiceNames *gxset.HashSet,
+ listener registry.NotifyListener,
+ writer events.Emitter,
+ systemNamespace string,
+) *ServiceMappingChangedListenerImpl {
return &ServiceMappingChangedListenerImpl{
listener: listener,
oldServiceNames: oldServiceNames,
+ eventWriter: writer,
+ systemNamespace: systemNamespace,
}
}
@@ -59,6 +73,18 @@
return nil
}
+ interfaceName, _, _ := common.ParseServiceKey(sm.GetServiceKey())
+ if lstn.eventWriter != nil {
+ go func() {
+ lstn.eventWriter.Send(events.ResourceChangedEvent{
+ Operation: events.Delete,
+ Type: mesh.DataplaneType,
+ Key: core_model.ResourceKey{
+ Name: rmkey.GenerateMappingResourceKey(interfaceName, ""),
+ },
+ })
+ }()
+ }
err := lstn.updateListener(lstn.interfaceKey, newServiceNames)
if err != nil {
return err
diff --git a/pkg/core/registry/registry.go b/pkg/core/registry/registry.go
index 297ab83..1719924 100644
--- a/pkg/core/registry/registry.go
+++ b/pkg/core/registry/registry.go
@@ -63,6 +63,7 @@
cache *sync.Map,
discovery dubboRegistry.ServiceDiscovery,
out events.Emitter,
+ systemNamespace string,
) error {
queryParams := url.Values{
consts.InterfaceKey: {consts.AnyValue},
@@ -113,7 +114,7 @@
logger.Error("Failed to get mapping")
}
for interfaceKey, oldApps := range mappings {
- mappingListener := NewMappingListener(oldApps, listener)
+ mappingListener := NewMappingListener(oldApps, listener, out, systemNamespace)
apps, _ := metadataReport.GetServiceAppMapping(interfaceKey, "mapping", mappingListener)
delSDListener := NewDubboSDNotifyListener(apps)
for appTmp := range apps.Items {
diff --git a/pkg/core/resources/apis/mesh/zz_generated.resources.go b/pkg/core/resources/apis/mesh/zz_generated.resources.go
index d7b8765..dcdbc1e 100644
--- a/pkg/core/resources/apis/mesh/zz_generated.resources.go
+++ b/pkg/core/resources/apis/mesh/zz_generated.resources.go
@@ -217,7 +217,7 @@
ReadOnly: false,
AdminOnly: false,
Scope: model.ScopeMesh,
- DDSFlags: model.ZoneToGlobalFlag | model.GlobalToAllButOriginalZoneFlag,
+ DDSFlags: model.ZoneToGlobalFlag,
WsPath: "dataplanes",
DubboctlArg: "dataplane",
DubboctlListArg: "dataplanes",
@@ -870,7 +870,7 @@
ReadOnly: false,
AdminOnly: false,
Scope: model.ScopeMesh,
- DDSFlags: model.ZoneToGlobalFlag | model.GlobalToAllButOriginalZoneFlag,
+ DDSFlags: model.ZoneToGlobalFlag,
WsPath: "metadatas",
DubboctlArg: "metadata",
DubboctlListArg: "metadatas",
diff --git a/pkg/dp-server/server/server.go b/pkg/dp-server/server/server.go
index ad269c0..d0d0d50 100644
--- a/pkg/dp-server/server/server.go
+++ b/pkg/dp-server/server/server.go
@@ -19,8 +19,6 @@
import (
"fmt"
- "github.com/apache/dubbo-kubernetes/pkg/core/logger"
- "google.golang.org/grpc/reflection"
"net"
"net/http"
"time"
@@ -29,11 +27,13 @@
import (
"google.golang.org/grpc"
"google.golang.org/grpc/keepalive"
+ "google.golang.org/grpc/reflection"
)
import (
dp_server "github.com/apache/dubbo-kubernetes/pkg/config/dp-server"
"github.com/apache/dubbo-kubernetes/pkg/core"
+ "github.com/apache/dubbo-kubernetes/pkg/core/logger"
"github.com/apache/dubbo-kubernetes/pkg/core/runtime/component"
)
diff --git a/pkg/dubbo/components.go b/pkg/dubbo/components.go
index 7d39d16..debe4d7 100644
--- a/pkg/dubbo/components.go
+++ b/pkg/dubbo/components.go
@@ -22,6 +22,10 @@
)
import (
+ "github.com/pkg/errors"
+)
+
+import (
mesh_proto "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"
core_env "github.com/apache/dubbo-kubernetes/pkg/config/core"
"github.com/apache/dubbo-kubernetes/pkg/core"
@@ -31,6 +35,7 @@
dubbo_metadata "github.com/apache/dubbo-kubernetes/pkg/dubbo/metadata"
"github.com/apache/dubbo-kubernetes/pkg/dubbo/pusher"
dubbo_mapping "github.com/apache/dubbo-kubernetes/pkg/dubbo/servicemapping"
+ k8s_extensions "github.com/apache/dubbo-kubernetes/pkg/plugins/extensions/k8s"
)
var log = core.Log.WithName("dubbo")
@@ -41,6 +46,16 @@
}
cfg := rt.Config().DubboConfig
+ mgr, ok := k8s_extensions.FromManagerContext(rt.Extensions())
+ if !ok {
+ return errors.Errorf("k8s controller runtime Manager hasn't been configured")
+ }
+
+ converter, ok := k8s_extensions.FromResourceConverterContext(rt.Extensions())
+ if !ok {
+ return errors.Errorf("k8s resource converter hasn't been configured")
+ }
+
dubboPusher := pusher.NewPusher(rt.ResourceManager(), rt.EventBus(), func() *time.Ticker {
// todo: should configured by config in the future
return time.NewTicker(time.Minute * 10)
@@ -54,9 +69,12 @@
rt.AppContext(),
cfg,
dubboPusher,
+ mgr,
+ converter,
rt.ResourceManager(),
rt.Transactions(),
rt.Config().Multizone.Zone.Name,
+ rt.Config().Store.Kubernetes.SystemNamespace,
)
mesh_proto.RegisterServiceNameMappingServiceServer(rt.DpServer().GrpcServer(), serviceMapping)
@@ -65,9 +83,12 @@
rt.AppContext(),
cfg,
dubboPusher,
+ mgr,
+ converter,
rt.ResourceManager(),
rt.Transactions(),
rt.Config().Multizone.Zone.Name,
+ rt.Config().Store.Kubernetes.SystemNamespace,
)
mesh_proto.RegisterMetadataServiceServer(rt.DpServer().GrpcServer(), metadata)
return rt.Add(dubboPusher, serviceMapping, metadata)
diff --git a/pkg/dubbo/metadata/resource_meta.go b/pkg/dubbo/metadata/resource_meta.go
new file mode 100644
index 0000000..31bb344
--- /dev/null
+++ b/pkg/dubbo/metadata/resource_meta.go
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 metadata
+
+import (
+ "time"
+)
+
+import (
+ core_model "github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
+)
+
+type resourceMetaObject struct {
+ Name string
+ Version string
+ Mesh string
+ CreationTime time.Time
+ ModificationTime time.Time
+ Labels map[string]string
+}
+
+var _ core_model.ResourceMeta = &resourceMetaObject{}
+
+func (r *resourceMetaObject) GetName() string {
+ return r.Name
+}
+
+func (r *resourceMetaObject) GetNameExtensions() core_model.ResourceNameExtensions {
+ return core_model.ResourceNameExtensionsUnsupported
+}
+
+func (r *resourceMetaObject) GetVersion() string {
+ return r.Version
+}
+
+func (r *resourceMetaObject) GetMesh() string {
+ return r.Mesh
+}
+
+func (r *resourceMetaObject) GetCreationTime() time.Time {
+ return r.CreationTime
+}
+
+func (r *resourceMetaObject) GetModificationTime() time.Time {
+ return r.ModificationTime
+}
+
+func (r *resourceMetaObject) GetLabels() map[string]string {
+ return r.Labels
+}
diff --git a/pkg/dubbo/metadata/server.go b/pkg/dubbo/metadata/server.go
index 60a8b4f..2234ee8 100644
--- a/pkg/dubbo/metadata/server.go
+++ b/pkg/dubbo/metadata/server.go
@@ -32,6 +32,13 @@
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
+
+ kube_core "k8s.io/api/core/v1"
+
+ kube_types "k8s.io/apimachinery/pkg/types"
+
+ kube_ctrl "sigs.k8s.io/controller-runtime"
+ kube_controllerutil "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
)
import (
@@ -44,6 +51,7 @@
core_store "github.com/apache/dubbo-kubernetes/pkg/core/resources/store"
"github.com/apache/dubbo-kubernetes/pkg/dubbo/client"
"github.com/apache/dubbo-kubernetes/pkg/dubbo/pusher"
+ k8s_common "github.com/apache/dubbo-kubernetes/pkg/plugins/common/k8s"
"github.com/apache/dubbo-kubernetes/pkg/util/rmkey"
)
@@ -54,12 +62,15 @@
type MetadataServer struct {
mesh_proto.MetadataServiceServer
- localZone string
- config dubbo.DubboConfig
- queue chan *RegisterRequest
- pusher pusher.Pusher
+ localZone string
+ config dubbo.DubboConfig
+ queue chan *RegisterRequest
+ pusher pusher.Pusher
+ converter k8s_common.Converter
+ SystemNamespace string
ctx context.Context
+ manager kube_ctrl.Manager
resourceManager manager.ResourceManager
transactions core_store.Transactions
}
@@ -79,18 +90,24 @@
ctx context.Context,
config dubbo.DubboConfig,
pusher pusher.Pusher,
+ manager kube_ctrl.Manager,
+ converter k8s_common.Converter,
resourceManager manager.ResourceManager,
transactions core_store.Transactions,
localZone string,
+ systemNamespace string,
) *MetadataServer {
return &MetadataServer{
config: config,
pusher: pusher,
queue: make(chan *RegisterRequest, queueSize),
ctx: ctx,
- resourceManager: resourceManager,
+ manager: manager,
transactions: transactions,
+ resourceManager: resourceManager,
+ converter: converter,
localZone: localZone,
+ SystemNamespace: systemNamespace,
}
}
@@ -336,44 +353,42 @@
func (m *MetadataServer) tryRegister(key core_model.ResourceReq, newMetadata *mesh_proto.MetaData) error {
err := core_store.InTx(m.ctx, m.transactions, func(ctx context.Context) error {
- // get Metadata Resource first,
- // if Metadata is not found, create it,
- // else update it.
- metadata := core_mesh.NewMetaDataResource()
- err := m.resourceManager.Get(m.ctx, metadata, core_store.GetBy(core_model.ResourceKey{
- Mesh: key.Mesh,
- Name: key.Name,
- }))
- if err != nil && !core_store.IsResourceNotFound(err) {
- log.Error(err, "get Metadata Resource")
+ // 先获取到对应Name和Namespace的Pod
+ kubeClient := m.manager.GetClient()
+ pod := &kube_core.Pod{}
+ if err := kubeClient.Get(ctx, kube_types.NamespacedName{
+ Name: key.PodName,
+ Namespace: key.Namespace,
+ }, pod); err != nil {
+ return errors.Wrap(err, "unable to get Namespace for Pod")
+ }
+ newMetadata.Zone = m.localZone
+ metaDataResource := core_mesh.NewMetaDataResource()
+ metaDataResource.SetMeta(&resourceMetaObject{
+ Name: rmkey.GenerateMetadataResourceKey(metaDataResource.Spec.App, metaDataResource.Spec.Revision, m.SystemNamespace),
+ Mesh: core_model.DefaultMesh,
+ })
+ err := metaDataResource.SetSpec(newMetadata)
+ if err != nil {
+ return err
+ }
+ medataObject, err := m.converter.ToKubernetesObject(metaDataResource)
+ if err != nil {
return err
}
- if core_store.IsResourceNotFound(err) {
- // create if not found
- metadata.Spec = newMetadata
- metadata.Spec.Zone = m.localZone
- err = m.resourceManager.Create(m.ctx, metadata, core_store.CreateBy(core_model.ResourceKey{
- Mesh: key.Mesh,
- Name: key.Name,
- }), core_store.CreatedAt(time.Now()))
- if err != nil {
- log.Error(err, "create Metadata Resource failed")
- return err
+ operationResult, err := kube_controllerutil.CreateOrUpdate(ctx, kubeClient, medataObject, func() error {
+ if err := kube_controllerutil.SetControllerReference(pod, medataObject, m.manager.GetScheme()); err != nil {
+ return errors.Wrap(err, "unable to set Metadata's controller reference to Pod")
+ }
+ return nil
+ })
+ if err != nil {
+ if !errors.Is(err, context.Canceled) {
+ log.Error(err, "unable to create/update Metadata", "operationResult", operationResult)
}
- log.Info("create Metadata Resource success", "key", key, "metadata", newMetadata)
- } else {
- // if found, update it
- metadata.Spec = newMetadata
-
- err = m.resourceManager.Update(m.ctx, metadata, core_store.ModifiedAt(time.Now()))
- if err != nil {
- log.Error(err, "update Metadata Resource failed")
- return err
- }
-
- log.Info("update Metadata Resource success", "key", key, "metadata", newMetadata)
+ return err
}
// 更新dataplane资源
@@ -390,8 +405,8 @@
dataplane.Spec.Extensions = make(map[string]string)
}
// 拿到dataplane, 添加extensions, 设置revision
- dataplane.Spec.Extensions[mesh_proto.Revision] = metadata.Spec.Revision
- dataplane.Spec.Extensions[mesh_proto.Application] = metadata.Spec.App
+ dataplane.Spec.Extensions[mesh_proto.Revision] = metaDataResource.Spec.Revision
+ dataplane.Spec.Extensions[mesh_proto.Application] = metaDataResource.Spec.App
// 更新dataplane
err = m.resourceManager.Update(m.ctx, dataplane)
diff --git a/pkg/dubbo/servicemapping/resource_meta.go b/pkg/dubbo/servicemapping/resource_meta.go
new file mode 100644
index 0000000..e0ecb2a
--- /dev/null
+++ b/pkg/dubbo/servicemapping/resource_meta.go
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 servicemapping
+
+import (
+ "time"
+)
+
+import (
+ core_model "github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
+)
+
+type resourceMetaObject struct {
+ Name string
+ Version string
+ Mesh string
+ CreationTime time.Time
+ ModificationTime time.Time
+ Labels map[string]string
+}
+
+var _ core_model.ResourceMeta = &resourceMetaObject{}
+
+func (r *resourceMetaObject) GetName() string {
+ return r.Name
+}
+
+func (r *resourceMetaObject) GetNameExtensions() core_model.ResourceNameExtensions {
+ return core_model.ResourceNameExtensionsUnsupported
+}
+
+func (r *resourceMetaObject) GetVersion() string {
+ return r.Version
+}
+
+func (r *resourceMetaObject) GetMesh() string {
+ return r.Mesh
+}
+
+func (r *resourceMetaObject) GetCreationTime() time.Time {
+ return r.CreationTime
+}
+
+func (r *resourceMetaObject) GetModificationTime() time.Time {
+ return r.ModificationTime
+}
+
+func (r *resourceMetaObject) GetLabels() map[string]string {
+ return r.Labels
+}
diff --git a/pkg/dubbo/servicemapping/server.go b/pkg/dubbo/servicemapping/server.go
index 22aa31f..f97d2e8 100644
--- a/pkg/dubbo/servicemapping/server.go
+++ b/pkg/dubbo/servicemapping/server.go
@@ -19,7 +19,9 @@
import (
"context"
+ "github.com/apache/dubbo-kubernetes/pkg/util/rmkey"
"io"
+ kube_controllerutil "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"time"
)
@@ -31,6 +33,12 @@
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
+
+ kube_core "k8s.io/api/core/v1"
+
+ kube_types "k8s.io/apimachinery/pkg/types"
+
+ kube_ctrl "sigs.k8s.io/controller-runtime"
)
import (
@@ -44,7 +52,7 @@
"github.com/apache/dubbo-kubernetes/pkg/core/runtime/component"
"github.com/apache/dubbo-kubernetes/pkg/dubbo/client"
"github.com/apache/dubbo-kubernetes/pkg/dubbo/pusher"
- "github.com/apache/dubbo-kubernetes/pkg/util/rmkey"
+ k8s_common "github.com/apache/dubbo-kubernetes/pkg/plugins/common/k8s"
)
var log = core.Log.WithName("dubbo").WithName("server").WithName("service-name-mapping")
@@ -56,14 +64,17 @@
type SnpServer struct {
mesh_proto.ServiceNameMappingServiceServer
- localZone string
- config dubbo.DubboConfig
- queue chan *RegisterRequest
- pusher pusher.Pusher
+ localZone string
+ config dubbo.DubboConfig
+ queue chan *RegisterRequest
+ pusher pusher.Pusher
+ converter k8s_common.Converter
+ resourceManager manager.ResourceManager
ctx context.Context
- resourceManager manager.ResourceManager
+ manager kube_ctrl.Manager
transactions core_store.Transactions
+ systemNamespace string
}
func (s *SnpServer) Start(stop <-chan struct{}) error {
@@ -81,9 +92,12 @@
ctx context.Context,
config dubbo.DubboConfig,
pusher pusher.Pusher,
+ manager kube_ctrl.Manager,
+ converter k8s_common.Converter,
resourceManager manager.ResourceManager,
transactions core_store.Transactions,
localZone string,
+ systemNamespace string,
) *SnpServer {
return &SnpServer{
localZone: localZone,
@@ -92,7 +106,10 @@
queue: make(chan *RegisterRequest, queueSize),
ctx: ctx,
resourceManager: resourceManager,
+ manager: manager,
+ converter: converter,
transactions: transactions,
+ systemNamespace: systemNamespace,
}
}
@@ -316,7 +333,7 @@
appNames = append(appNames, app)
}
for i := 0; i < 3; i++ {
- if err := s.tryRegister(key.Mesh, key.Name, key.Namespace, appNames); err != nil {
+ if err := s.tryRegister(key, appNames); err != nil {
log.Error(err, "register failed", "key", key)
} else {
break
@@ -325,11 +342,21 @@
}
}
-func (s *SnpServer) tryRegister(mesh, interfaceName string, ns string, newApps []string) error {
+func (s *SnpServer) tryRegister(req core_model.ResourceReq, newApps []string) error {
err := core_store.InTx(s.ctx, s.transactions, func(ctx context.Context) error {
+ interfaceName := req.Name
+ // 先获取到对应Name和Namespace的Pod
+ kubeClient := s.manager.GetClient()
+ pod := &kube_core.Pod{}
+ if err := kubeClient.Get(ctx, kube_types.NamespacedName{
+ Name: req.PodName,
+ Namespace: req.Namespace,
+ }, pod); err != nil {
+ return errors.Wrap(err, "unable to get Namespace for Pod")
+ }
key := core_model.ResourceKey{
- Mesh: mesh,
- Name: rmkey.GenerateMappingResourceKey(interfaceName, ns),
+ Mesh: req.Mesh,
+ Name: rmkey.GenerateMappingResourceKey(interfaceName, req.Namespace),
}
// get Mapping Resource first,
@@ -341,56 +368,60 @@
log.Error(err, "get Mapping Resource")
return err
}
-
+ var previousAppNames map[string]struct{}
+ previousLen := len(mapping.Spec.ApplicationNames)
+ // createOrUpdate
if core_store.IsResourceNotFound(err) {
- // create if not found
- mapping.Spec = &mesh_proto.Mapping{
- Zone: s.localZone,
- InterfaceName: interfaceName,
- ApplicationNames: newApps,
- }
- err = s.resourceManager.Create(s.ctx, mapping, core_store.CreateBy(key), core_store.CreatedAt(time.Now()))
- if err != nil {
- log.Error(err, "create Mapping Resource failed")
- return err
- }
-
- log.Info("create Mapping Resource success", "key", key, "applicationNames", newApps)
- return nil
- } else {
- // if found, update it
- previousLen := len(mapping.Spec.ApplicationNames)
- previousAppNames := make(map[string]struct{}, previousLen)
for _, name := range mapping.Spec.ApplicationNames {
previousAppNames[name] = struct{}{}
}
- for _, newApp := range newApps {
- previousAppNames[newApp] = struct{}{}
- }
- if len(previousAppNames) == previousLen {
- log.Info("Mapping not need to register", "interfaceName", interfaceName, "applicationNames", newApps)
- return nil
- }
-
- mergedApps := make([]string, 0, len(previousAppNames))
- for name := range previousAppNames {
- mergedApps = append(mergedApps, name)
- }
- mapping.Spec = &mesh_proto.Mapping{
- Zone: s.localZone,
- InterfaceName: interfaceName,
- ApplicationNames: mergedApps,
- }
-
- err = s.resourceManager.Update(s.ctx, mapping, core_store.ModifiedAt(time.Now()))
- if err != nil {
- log.Error(err, "update Mapping Resource failed")
- return err
- }
-
- log.Info("update Mapping Resource success", "key", key, "applicationNames", newApps)
+ }
+ for _, newApp := range newApps {
+ previousAppNames[newApp] = struct{}{}
+ }
+ if len(previousAppNames) == previousLen {
+ log.Info("Mapping not need to register", "interfaceName", interfaceName, "applicationNames", newApps)
return nil
}
+
+ var mergeApps []string
+ for name := range previousAppNames {
+ mergeApps = append(mergeApps, name)
+ }
+
+ mappingResource := core_mesh.NewMappingResource()
+ mappingResource.SetMeta(&resourceMetaObject{
+ Name: rmkey.GenerateMappingResourceKey(interfaceName, s.systemNamespace),
+ Mesh: core_model.DefaultMesh,
+ })
+ err = mappingResource.SetSpec(mesh_proto.Mapping{
+ Zone: s.localZone,
+ InterfaceName: interfaceName,
+ ApplicationNames: mergeApps,
+ })
+ if err != nil {
+ return err
+ }
+ mappingObject, err := s.converter.ToKubernetesObject(mappingResource)
+ if err != nil {
+ return err
+ }
+
+ operationResult, err := kube_controllerutil.CreateOrUpdate(ctx, kubeClient, mappingObject, func() error {
+ if err := kube_controllerutil.SetControllerReference(pod, mappingObject, s.manager.GetScheme()); err != nil {
+ return errors.Wrap(err, "unable to set Metadata's controller reference to Pod")
+ }
+ return nil
+ })
+ if err != nil {
+ if !errors.Is(err, context.Canceled) {
+ log.Error(err, "unable to create/update Metadata", "operationResult", operationResult)
+ }
+
+ return err
+ }
+
+ return nil
})
if err != nil {
log.Error(err, "transactions failed")
diff --git a/pkg/plugins/runtime/universal/plugin.go b/pkg/plugins/runtime/universal/plugin.go
index 4faf05e..4cc05ff 100644
--- a/pkg/plugins/runtime/universal/plugin.go
+++ b/pkg/plugins/runtime/universal/plugin.go
@@ -45,6 +45,7 @@
rt.DataplaneCache(),
rt.ServiceDiscovery(),
rt.EventBus(),
+ rt.Config().Store.Kubernetes.SystemNamespace,
); err != nil {
logger.Errorf("Failed to subscribe to registry, error msg is %s.", err.Error())
return err
diff --git a/pkg/xds/server/components.go b/pkg/xds/server/components.go
index 166e632..87926f5 100644
--- a/pkg/xds/server/components.go
+++ b/pkg/xds/server/components.go
@@ -18,7 +18,6 @@
package server
import (
- util_xds "github.com/apache/dubbo-kubernetes/pkg/util/xds"
"github.com/pkg/errors"
)
@@ -27,6 +26,7 @@
core_model "github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
"github.com/apache/dubbo-kubernetes/pkg/core/resources/registry"
core_runtime "github.com/apache/dubbo-kubernetes/pkg/core/runtime"
+ util_xds "github.com/apache/dubbo-kubernetes/pkg/util/xds"
"github.com/apache/dubbo-kubernetes/pkg/xds/cache/cla"
xds_context "github.com/apache/dubbo-kubernetes/pkg/xds/context"
v3 "github.com/apache/dubbo-kubernetes/pkg/xds/server/v3"