From a820e9af26053e74837171e86ff2dc61a2bea891 Mon Sep 17 00:00:00 2001 From: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com> Date: Thu, 4 Jan 2024 12:42:32 -0600 Subject: [PATCH] Add listeners to meshgateway spec (#20082) add listeners to meshgateway --- .../pbmesh/v2beta1/mesh_gateway.pb.binary.go | 10 ++ .../pbmesh/v2beta1/mesh_gateway.pb.go | 150 ++++++++++++++---- .../pbmesh/v2beta1/mesh_gateway.proto | 7 + .../v2beta1/mesh_gateway_deepcopy.gen.go | 21 +++ .../pbmesh/v2beta1/mesh_gateway_json.gen.go | 11 ++ 5 files changed, 167 insertions(+), 32 deletions(-) diff --git a/proto-public/pbmesh/v2beta1/mesh_gateway.pb.binary.go b/proto-public/pbmesh/v2beta1/mesh_gateway.pb.binary.go index 7cd36afdb3..c97d446f07 100644 --- a/proto-public/pbmesh/v2beta1/mesh_gateway.pb.binary.go +++ b/proto-public/pbmesh/v2beta1/mesh_gateway.pb.binary.go @@ -16,3 +16,13 @@ func (msg *MeshGateway) MarshalBinary() ([]byte, error) { func (msg *MeshGateway) UnmarshalBinary(b []byte) error { return proto.Unmarshal(b, msg) } + +// MarshalBinary implements encoding.BinaryMarshaler +func (msg *MeshGatewayListener) MarshalBinary() ([]byte, error) { + return proto.Marshal(msg) +} + +// UnmarshalBinary implements encoding.BinaryUnmarshaler +func (msg *MeshGatewayListener) UnmarshalBinary(b []byte) error { + return proto.Unmarshal(b, msg) +} diff --git a/proto-public/pbmesh/v2beta1/mesh_gateway.pb.go b/proto-public/pbmesh/v2beta1/mesh_gateway.pb.go index e61af2d2de..4580861212 100644 --- a/proto-public/pbmesh/v2beta1/mesh_gateway.pb.go +++ b/proto-public/pbmesh/v2beta1/mesh_gateway.pb.go @@ -30,7 +30,8 @@ type MeshGateway struct { unknownFields protoimpl.UnknownFields // GatewayClassName is the name of the GatewayClass used by the MeshGateway - GatewayClassName string `protobuf:"bytes,1,opt,name=gateway_class_name,json=gatewayClassName,proto3" json:"gateway_class_name,omitempty"` + GatewayClassName string `protobuf:"bytes,1,opt,name=gateway_class_name,json=gatewayClassName,proto3" json:"gateway_class_name,omitempty"` + Listeners []*MeshGatewayListener `protobuf:"bytes,2,rep,name=listeners,proto3" json:"listeners,omitempty"` } func (x *MeshGateway) Reset() { @@ -72,6 +73,68 @@ func (x *MeshGateway) GetGatewayClassName() string { return "" } +func (x *MeshGateway) GetListeners() []*MeshGatewayListener { + if x != nil { + return x.Listeners + } + return nil +} + +type MeshGatewayListener struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *MeshGatewayListener) Reset() { + *x = MeshGatewayListener{} + if protoimpl.UnsafeEnabled { + mi := &file_pbmesh_v2beta1_mesh_gateway_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MeshGatewayListener) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MeshGatewayListener) ProtoMessage() {} + +func (x *MeshGatewayListener) ProtoReflect() protoreflect.Message { + mi := &file_pbmesh_v2beta1_mesh_gateway_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 MeshGatewayListener.ProtoReflect.Descriptor instead. +func (*MeshGatewayListener) Descriptor() ([]byte, []int) { + return file_pbmesh_v2beta1_mesh_gateway_proto_rawDescGZIP(), []int{1} +} + +func (x *MeshGatewayListener) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MeshGatewayListener) GetPort() uint32 { + if x != nil { + return x.Port + } + return 0 +} + var File_pbmesh_v2beta1_mesh_gateway_proto protoreflect.FileDescriptor var file_pbmesh_v2beta1_mesh_gateway_proto_rawDesc = []byte{ @@ -81,29 +144,38 @@ var file_pbmesh_v2beta1_mesh_gateway_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x70, 0x62, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0x43, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x68, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, - 0x2c, 0x0a, 0x12, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x67, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x06, 0xa2, - 0x93, 0x04, 0x02, 0x08, 0x02, 0x42, 0x91, 0x02, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x10, 0x4d, 0x65, 0x73, - 0x68, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2f, 0x70, 0x62, 0x6d, 0x65, 0x73, 0x68, - 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x6d, 0x65, 0x73, 0x68, 0x76, 0x32, 0x62, - 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x48, 0x43, 0x4d, 0xaa, 0x02, 0x1d, 0x48, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x4d, 0x65, - 0x73, 0x68, 0x2e, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1d, 0x48, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x5c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x5c, 0x4d, 0x65, - 0x73, 0x68, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x29, 0x48, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x5c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x5c, 0x4d, 0x65, - 0x73, 0x68, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x20, 0x48, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x68, - 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x22, 0x95, 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x68, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x12, 0x2c, 0x0a, 0x12, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x67, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x50, + 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, + 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, + 0x3a, 0x06, 0xa2, 0x93, 0x04, 0x02, 0x08, 0x02, 0x22, 0x3d, 0x0a, 0x13, 0x4d, 0x65, 0x73, 0x68, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x91, 0x02, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, + 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x10, 0x4d, + 0x65, 0x73, 0x68, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2f, 0x70, 0x62, 0x6d, 0x65, + 0x73, 0x68, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x6d, 0x65, 0x73, 0x68, 0x76, + 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x48, 0x43, 0x4d, 0xaa, 0x02, 0x1d, 0x48, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, + 0x4d, 0x65, 0x73, 0x68, 0x2e, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1d, 0x48, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x5c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x5c, + 0x4d, 0x65, 0x73, 0x68, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x29, 0x48, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x5c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x5c, + 0x4d, 0x65, 0x73, 0x68, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x20, 0x48, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x3a, 0x3a, 0x4d, 0x65, + 0x73, 0x68, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -118,16 +190,18 @@ func file_pbmesh_v2beta1_mesh_gateway_proto_rawDescGZIP() []byte { return file_pbmesh_v2beta1_mesh_gateway_proto_rawDescData } -var file_pbmesh_v2beta1_mesh_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pbmesh_v2beta1_mesh_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_pbmesh_v2beta1_mesh_gateway_proto_goTypes = []interface{}{ - (*MeshGateway)(nil), // 0: hashicorp.consul.mesh.v2beta1.MeshGateway + (*MeshGateway)(nil), // 0: hashicorp.consul.mesh.v2beta1.MeshGateway + (*MeshGatewayListener)(nil), // 1: hashicorp.consul.mesh.v2beta1.MeshGatewayListener } var file_pbmesh_v2beta1_mesh_gateway_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name + 1, // 0: hashicorp.consul.mesh.v2beta1.MeshGateway.listeners:type_name -> hashicorp.consul.mesh.v2beta1.MeshGatewayListener + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] 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 } func init() { file_pbmesh_v2beta1_mesh_gateway_proto_init() } @@ -148,6 +222,18 @@ func file_pbmesh_v2beta1_mesh_gateway_proto_init() { return nil } } + file_pbmesh_v2beta1_mesh_gateway_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MeshGatewayListener); 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{ @@ -155,7 +241,7 @@ func file_pbmesh_v2beta1_mesh_gateway_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pbmesh_v2beta1_mesh_gateway_proto_rawDesc, NumEnums: 0, - NumMessages: 1, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/proto-public/pbmesh/v2beta1/mesh_gateway.proto b/proto-public/pbmesh/v2beta1/mesh_gateway.proto index 09ed191354..de863d80b0 100644 --- a/proto-public/pbmesh/v2beta1/mesh_gateway.proto +++ b/proto-public/pbmesh/v2beta1/mesh_gateway.proto @@ -12,4 +12,11 @@ message MeshGateway { // GatewayClassName is the name of the GatewayClass used by the MeshGateway string gateway_class_name = 1; + + repeated MeshGatewayListener listeners = 2; +} + +message MeshGatewayListener { + string name = 1; + uint32 port = 2; } diff --git a/proto-public/pbmesh/v2beta1/mesh_gateway_deepcopy.gen.go b/proto-public/pbmesh/v2beta1/mesh_gateway_deepcopy.gen.go index b14ad33a81..2c42485217 100644 --- a/proto-public/pbmesh/v2beta1/mesh_gateway_deepcopy.gen.go +++ b/proto-public/pbmesh/v2beta1/mesh_gateway_deepcopy.gen.go @@ -25,3 +25,24 @@ func (in *MeshGateway) DeepCopy() *MeshGateway { func (in *MeshGateway) DeepCopyInterface() interface{} { return in.DeepCopy() } + +// DeepCopyInto supports using MeshGatewayListener within kubernetes types, where deepcopy-gen is used. +func (in *MeshGatewayListener) DeepCopyInto(out *MeshGatewayListener) { + proto.Reset(out) + proto.Merge(out, proto.Clone(in)) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshGatewayListener. Required by controller-gen. +func (in *MeshGatewayListener) DeepCopy() *MeshGatewayListener { + if in == nil { + return nil + } + out := new(MeshGatewayListener) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new MeshGatewayListener. Required by controller-gen. +func (in *MeshGatewayListener) DeepCopyInterface() interface{} { + return in.DeepCopy() +} diff --git a/proto-public/pbmesh/v2beta1/mesh_gateway_json.gen.go b/proto-public/pbmesh/v2beta1/mesh_gateway_json.gen.go index 548da69f08..27c9222ae4 100644 --- a/proto-public/pbmesh/v2beta1/mesh_gateway_json.gen.go +++ b/proto-public/pbmesh/v2beta1/mesh_gateway_json.gen.go @@ -16,6 +16,17 @@ func (this *MeshGateway) UnmarshalJSON(b []byte) error { return MeshGatewayUnmarshaler.Unmarshal(b, this) } +// MarshalJSON is a custom marshaler for MeshGatewayListener +func (this *MeshGatewayListener) MarshalJSON() ([]byte, error) { + str, err := MeshGatewayMarshaler.Marshal(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for MeshGatewayListener +func (this *MeshGatewayListener) UnmarshalJSON(b []byte) error { + return MeshGatewayUnmarshaler.Unmarshal(b, this) +} + var ( MeshGatewayMarshaler = &protojson.MarshalOptions{} MeshGatewayUnmarshaler = &protojson.UnmarshalOptions{DiscardUnknown: false}