diff --git a/api/v1/README.md b/api/v1/README.md index 20936476d10..5aca8707de0 100644 --- a/api/v1/README.md +++ b/api/v1/README.md @@ -78,8 +78,12 @@ - [DeleteTracingPolicyResponse](#tetragon-DeleteTracingPolicyResponse) - [DisableSensorRequest](#tetragon-DisableSensorRequest) - [DisableSensorResponse](#tetragon-DisableSensorResponse) + - [DisableTracingPolicyRequest](#tetragon-DisableTracingPolicyRequest) + - [DisableTracingPolicyResponse](#tetragon-DisableTracingPolicyResponse) - [EnableSensorRequest](#tetragon-EnableSensorRequest) - [EnableSensorResponse](#tetragon-EnableSensorResponse) + - [EnableTracingPolicyRequest](#tetragon-EnableTracingPolicyRequest) + - [EnableTracingPolicyResponse](#tetragon-EnableTracingPolicyResponse) - [GetStackTraceTreeRequest](#tetragon-GetStackTraceTreeRequest) - [GetStackTraceTreeResponse](#tetragon-GetStackTraceTreeResponse) - [GetVersionRequest](#tetragon-GetVersionRequest) @@ -1351,6 +1355,31 @@ Determins the behaviour of a field filter + + +### DisableTracingPolicyRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | + + + + + + + + +### DisableTracingPolicyResponse + + + + + + + ### EnableSensorRequest @@ -1376,6 +1405,31 @@ Determins the behaviour of a field filter + + +### EnableTracingPolicyRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | + + + + + + + + +### EnableTracingPolicyResponse + + + + + + + ### GetStackTraceTreeRequest @@ -1536,6 +1590,9 @@ Determins the behaviour of a field filter | namespace | [string](#string) | | namespace is the namespace of the policy (or empty of the policy is global) | | info | [string](#string) | | info is additional information about the policy | | sensors | [string](#string) | repeated | sensors loaded in the scope of this policy | +| enabled | [bool](#bool) | | indicating if the policy is enabled | +| filter_id | [uint64](#uint64) | | filter ID of the policy used for k8s filtering | +| error | [string](#string) | | potential error of the policy | @@ -1561,6 +1618,8 @@ Determins the behaviour of a field filter | DeleteTracingPolicy | [DeleteTracingPolicyRequest](#tetragon-DeleteTracingPolicyRequest) | [DeleteTracingPolicyResponse](#tetragon-DeleteTracingPolicyResponse) | | | RemoveSensor | [RemoveSensorRequest](#tetragon-RemoveSensorRequest) | [RemoveSensorResponse](#tetragon-RemoveSensorResponse) | | | ListTracingPolicies | [ListTracingPoliciesRequest](#tetragon-ListTracingPoliciesRequest) | [ListTracingPoliciesResponse](#tetragon-ListTracingPoliciesResponse) | | +| EnableTracingPolicy | [EnableTracingPolicyRequest](#tetragon-EnableTracingPolicyRequest) | [EnableTracingPolicyResponse](#tetragon-EnableTracingPolicyResponse) | | +| DisableTracingPolicy | [DisableTracingPolicyRequest](#tetragon-DisableTracingPolicyRequest) | [DisableTracingPolicyResponse](#tetragon-DisableTracingPolicyResponse) | | | ListSensors | [ListSensorsRequest](#tetragon-ListSensorsRequest) | [ListSensorsResponse](#tetragon-ListSensorsResponse) | | | EnableSensor | [EnableSensorRequest](#tetragon-EnableSensorRequest) | [EnableSensorResponse](#tetragon-EnableSensorResponse) | | | DisableSensor | [DisableSensorRequest](#tetragon-DisableSensorRequest) | [DisableSensorResponse](#tetragon-DisableSensorResponse) | | diff --git a/api/v1/tetragon/sensors.pb.go b/api/v1/tetragon/sensors.pb.go index ab5d6494a9a..aabcfc7bb73 100644 --- a/api/v1/tetragon/sensors.pb.go +++ b/api/v1/tetragon/sensors.pb.go @@ -227,6 +227,12 @@ type TracingPolicyStatus struct { Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"` // sensors loaded in the scope of this policy Sensors []string `protobuf:"bytes,5,rep,name=sensors,proto3" json:"sensors,omitempty"` + // indicating if the policy is enabled + Enabled bool `protobuf:"varint,6,opt,name=enabled,proto3" json:"enabled,omitempty"` + // filter ID of the policy used for k8s filtering + FilterId uint64 `protobuf:"varint,7,opt,name=filter_id,json=filterId,proto3" json:"filter_id,omitempty"` + // potential error of the policy + Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"` } func (x *TracingPolicyStatus) Reset() { @@ -296,6 +302,27 @@ func (x *TracingPolicyStatus) GetSensors() []string { return nil } +func (x *TracingPolicyStatus) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *TracingPolicyStatus) GetFilterId() uint64 { + if x != nil { + return x.FilterId + } + return 0 +} + +func (x *TracingPolicyStatus) GetError() string { + if x != nil { + return x.Error + } + return "" +} + type ListTracingPoliciesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -513,6 +540,176 @@ func (*DeleteTracingPolicyResponse) Descriptor() ([]byte, []int) { return file_tetragon_sensors_proto_rawDescGZIP(), []int{9} } +type EnableTracingPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *EnableTracingPolicyRequest) Reset() { + *x = EnableTracingPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnableTracingPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableTracingPolicyRequest) ProtoMessage() {} + +func (x *EnableTracingPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnableTracingPolicyRequest.ProtoReflect.Descriptor instead. +func (*EnableTracingPolicyRequest) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{10} +} + +func (x *EnableTracingPolicyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type EnableTracingPolicyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *EnableTracingPolicyResponse) Reset() { + *x = EnableTracingPolicyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnableTracingPolicyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableTracingPolicyResponse) ProtoMessage() {} + +func (x *EnableTracingPolicyResponse) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[11] + 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 EnableTracingPolicyResponse.ProtoReflect.Descriptor instead. +func (*EnableTracingPolicyResponse) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{11} +} + +type DisableTracingPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DisableTracingPolicyRequest) Reset() { + *x = DisableTracingPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableTracingPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableTracingPolicyRequest) ProtoMessage() {} + +func (x *DisableTracingPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[12] + 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 DisableTracingPolicyRequest.ProtoReflect.Descriptor instead. +func (*DisableTracingPolicyRequest) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{12} +} + +func (x *DisableTracingPolicyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type DisableTracingPolicyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DisableTracingPolicyResponse) Reset() { + *x = DisableTracingPolicyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableTracingPolicyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableTracingPolicyResponse) ProtoMessage() {} + +func (x *DisableTracingPolicyResponse) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[13] + 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 DisableTracingPolicyResponse.ProtoReflect.Descriptor instead. +func (*DisableTracingPolicyResponse) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{13} +} + type RemoveSensorRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -524,7 +721,7 @@ type RemoveSensorRequest struct { func (x *RemoveSensorRequest) Reset() { *x = RemoveSensorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[10] + mi := &file_tetragon_sensors_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -537,7 +734,7 @@ func (x *RemoveSensorRequest) String() string { func (*RemoveSensorRequest) ProtoMessage() {} func (x *RemoveSensorRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[10] + mi := &file_tetragon_sensors_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -550,7 +747,7 @@ func (x *RemoveSensorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveSensorRequest.ProtoReflect.Descriptor instead. func (*RemoveSensorRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{10} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{14} } func (x *RemoveSensorRequest) GetName() string { @@ -569,7 +766,7 @@ type RemoveSensorResponse struct { func (x *RemoveSensorResponse) Reset() { *x = RemoveSensorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[11] + mi := &file_tetragon_sensors_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -582,7 +779,7 @@ func (x *RemoveSensorResponse) String() string { func (*RemoveSensorResponse) ProtoMessage() {} func (x *RemoveSensorResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[11] + mi := &file_tetragon_sensors_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -595,7 +792,7 @@ func (x *RemoveSensorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveSensorResponse.ProtoReflect.Descriptor instead. func (*RemoveSensorResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{11} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{15} } type EnableSensorRequest struct { @@ -609,7 +806,7 @@ type EnableSensorRequest struct { func (x *EnableSensorRequest) Reset() { *x = EnableSensorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[12] + mi := &file_tetragon_sensors_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -622,7 +819,7 @@ func (x *EnableSensorRequest) String() string { func (*EnableSensorRequest) ProtoMessage() {} func (x *EnableSensorRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[12] + mi := &file_tetragon_sensors_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -635,7 +832,7 @@ func (x *EnableSensorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableSensorRequest.ProtoReflect.Descriptor instead. func (*EnableSensorRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{12} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{16} } func (x *EnableSensorRequest) GetName() string { @@ -654,7 +851,7 @@ type EnableSensorResponse struct { func (x *EnableSensorResponse) Reset() { *x = EnableSensorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[13] + mi := &file_tetragon_sensors_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -667,7 +864,7 @@ func (x *EnableSensorResponse) String() string { func (*EnableSensorResponse) ProtoMessage() {} func (x *EnableSensorResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[13] + mi := &file_tetragon_sensors_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -680,7 +877,7 @@ func (x *EnableSensorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableSensorResponse.ProtoReflect.Descriptor instead. func (*EnableSensorResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{13} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{17} } type DisableSensorRequest struct { @@ -694,7 +891,7 @@ type DisableSensorRequest struct { func (x *DisableSensorRequest) Reset() { *x = DisableSensorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[14] + mi := &file_tetragon_sensors_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -707,7 +904,7 @@ func (x *DisableSensorRequest) String() string { func (*DisableSensorRequest) ProtoMessage() {} func (x *DisableSensorRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[14] + mi := &file_tetragon_sensors_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -720,7 +917,7 @@ func (x *DisableSensorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableSensorRequest.ProtoReflect.Descriptor instead. func (*DisableSensorRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{14} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{18} } func (x *DisableSensorRequest) GetName() string { @@ -739,7 +936,7 @@ type DisableSensorResponse struct { func (x *DisableSensorResponse) Reset() { *x = DisableSensorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[15] + mi := &file_tetragon_sensors_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -752,7 +949,7 @@ func (x *DisableSensorResponse) String() string { func (*DisableSensorResponse) ProtoMessage() {} func (x *DisableSensorResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[15] + mi := &file_tetragon_sensors_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -765,7 +962,7 @@ func (x *DisableSensorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableSensorResponse.ProtoReflect.Descriptor instead. func (*DisableSensorResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{15} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{19} } type GetStackTraceTreeRequest struct { @@ -779,7 +976,7 @@ type GetStackTraceTreeRequest struct { func (x *GetStackTraceTreeRequest) Reset() { *x = GetStackTraceTreeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[16] + mi := &file_tetragon_sensors_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -792,7 +989,7 @@ func (x *GetStackTraceTreeRequest) String() string { func (*GetStackTraceTreeRequest) ProtoMessage() {} func (x *GetStackTraceTreeRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[16] + mi := &file_tetragon_sensors_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -805,7 +1002,7 @@ func (x *GetStackTraceTreeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStackTraceTreeRequest.ProtoReflect.Descriptor instead. func (*GetStackTraceTreeRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{16} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{20} } func (x *GetStackTraceTreeRequest) GetName() string { @@ -826,7 +1023,7 @@ type GetStackTraceTreeResponse struct { func (x *GetStackTraceTreeResponse) Reset() { *x = GetStackTraceTreeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[17] + mi := &file_tetragon_sensors_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -839,7 +1036,7 @@ func (x *GetStackTraceTreeResponse) String() string { func (*GetStackTraceTreeResponse) ProtoMessage() {} func (x *GetStackTraceTreeResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[17] + mi := &file_tetragon_sensors_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -852,7 +1049,7 @@ func (x *GetStackTraceTreeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStackTraceTreeResponse.ProtoReflect.Descriptor instead. func (*GetStackTraceTreeResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{17} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{21} } func (x *GetStackTraceTreeResponse) GetRoot() *StackTraceNode { @@ -871,7 +1068,7 @@ type GetVersionRequest struct { func (x *GetVersionRequest) Reset() { *x = GetVersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[18] + mi := &file_tetragon_sensors_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -884,7 +1081,7 @@ func (x *GetVersionRequest) String() string { func (*GetVersionRequest) ProtoMessage() {} func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[18] + mi := &file_tetragon_sensors_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -897,7 +1094,7 @@ func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionRequest.ProtoReflect.Descriptor instead. func (*GetVersionRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{18} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{22} } type GetVersionResponse struct { @@ -911,7 +1108,7 @@ type GetVersionResponse struct { func (x *GetVersionResponse) Reset() { *x = GetVersionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[19] + mi := &file_tetragon_sensors_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -924,7 +1121,7 @@ func (x *GetVersionResponse) String() string { func (*GetVersionResponse) ProtoMessage() {} func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[19] + mi := &file_tetragon_sensors_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -937,7 +1134,7 @@ func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionResponse.ProtoReflect.Descriptor instead. func (*GetVersionResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{19} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{23} } func (x *GetVersionResponse) GetVersion() string { @@ -970,7 +1167,7 @@ var file_tetragon_sensors_proto_rawDesc = []byte{ 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x22, 0x1c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x85, 0x01, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x65, 0x73, 0x74, 0x22, 0xd2, 0x01, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, @@ -978,82 +1175,110 @@ var file_tetragon_sensors_proto_rawDesc = []byte{ 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x22, 0x58, 0x0a, 0x1b, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, - 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x2d, 0x0a, 0x17, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x79, 0x61, 0x6d, 0x6c, 0x22, 0x1a, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, - 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x30, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x58, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x22, 0x2d, 0x0a, 0x17, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x79, 0x61, 0x6d, + 0x6c, 0x22, 0x1a, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x0a, + 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, + 0x0a, 0x1a, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x1d, 0x0a, 0x1b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x31, 0x0a, 0x1b, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, + 0x6d, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, + 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, + 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x16, 0x0a, 0x14, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, + 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, + 0x19, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, + 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2e, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x32, 0xe8, 0x09, + 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x65, 0x47, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, + 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, + 0x52, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x74, + 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, + 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x64, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, + 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, + 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, + 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, + 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x29, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, - 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x16, 0x0a, 0x14, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, - 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x0a, 0x18, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x19, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x72, 0x6f, 0x6f, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2e, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x32, 0x99, 0x08, 0x0a, - 0x13, 0x46, 0x69, 0x6e, 0x65, 0x47, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x6e, - 0x73, 0x6f, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x52, - 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x74, 0x65, - 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, - 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x64, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, - 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, - 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, - 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, - 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, - 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, - 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, + 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x74, 0x65, + 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, @@ -1099,66 +1324,74 @@ func file_tetragon_sensors_proto_rawDescGZIP() []byte { return file_tetragon_sensors_proto_rawDescData } -var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_tetragon_sensors_proto_goTypes = []interface{}{ - (*ListSensorsRequest)(nil), // 0: tetragon.ListSensorsRequest - (*SensorStatus)(nil), // 1: tetragon.SensorStatus - (*ListSensorsResponse)(nil), // 2: tetragon.ListSensorsResponse - (*ListTracingPoliciesRequest)(nil), // 3: tetragon.ListTracingPoliciesRequest - (*TracingPolicyStatus)(nil), // 4: tetragon.TracingPolicyStatus - (*ListTracingPoliciesResponse)(nil), // 5: tetragon.ListTracingPoliciesResponse - (*AddTracingPolicyRequest)(nil), // 6: tetragon.AddTracingPolicyRequest - (*AddTracingPolicyResponse)(nil), // 7: tetragon.AddTracingPolicyResponse - (*DeleteTracingPolicyRequest)(nil), // 8: tetragon.DeleteTracingPolicyRequest - (*DeleteTracingPolicyResponse)(nil), // 9: tetragon.DeleteTracingPolicyResponse - (*RemoveSensorRequest)(nil), // 10: tetragon.RemoveSensorRequest - (*RemoveSensorResponse)(nil), // 11: tetragon.RemoveSensorResponse - (*EnableSensorRequest)(nil), // 12: tetragon.EnableSensorRequest - (*EnableSensorResponse)(nil), // 13: tetragon.EnableSensorResponse - (*DisableSensorRequest)(nil), // 14: tetragon.DisableSensorRequest - (*DisableSensorResponse)(nil), // 15: tetragon.DisableSensorResponse - (*GetStackTraceTreeRequest)(nil), // 16: tetragon.GetStackTraceTreeRequest - (*GetStackTraceTreeResponse)(nil), // 17: tetragon.GetStackTraceTreeResponse - (*GetVersionRequest)(nil), // 18: tetragon.GetVersionRequest - (*GetVersionResponse)(nil), // 19: tetragon.GetVersionResponse - (*StackTraceNode)(nil), // 20: tetragon.StackTraceNode - (*GetEventsRequest)(nil), // 21: tetragon.GetEventsRequest - (*GetHealthStatusRequest)(nil), // 22: tetragon.GetHealthStatusRequest - (*RuntimeHookRequest)(nil), // 23: tetragon.RuntimeHookRequest - (*GetEventsResponse)(nil), // 24: tetragon.GetEventsResponse - (*GetHealthStatusResponse)(nil), // 25: tetragon.GetHealthStatusResponse - (*RuntimeHookResponse)(nil), // 26: tetragon.RuntimeHookResponse + (*ListSensorsRequest)(nil), // 0: tetragon.ListSensorsRequest + (*SensorStatus)(nil), // 1: tetragon.SensorStatus + (*ListSensorsResponse)(nil), // 2: tetragon.ListSensorsResponse + (*ListTracingPoliciesRequest)(nil), // 3: tetragon.ListTracingPoliciesRequest + (*TracingPolicyStatus)(nil), // 4: tetragon.TracingPolicyStatus + (*ListTracingPoliciesResponse)(nil), // 5: tetragon.ListTracingPoliciesResponse + (*AddTracingPolicyRequest)(nil), // 6: tetragon.AddTracingPolicyRequest + (*AddTracingPolicyResponse)(nil), // 7: tetragon.AddTracingPolicyResponse + (*DeleteTracingPolicyRequest)(nil), // 8: tetragon.DeleteTracingPolicyRequest + (*DeleteTracingPolicyResponse)(nil), // 9: tetragon.DeleteTracingPolicyResponse + (*EnableTracingPolicyRequest)(nil), // 10: tetragon.EnableTracingPolicyRequest + (*EnableTracingPolicyResponse)(nil), // 11: tetragon.EnableTracingPolicyResponse + (*DisableTracingPolicyRequest)(nil), // 12: tetragon.DisableTracingPolicyRequest + (*DisableTracingPolicyResponse)(nil), // 13: tetragon.DisableTracingPolicyResponse + (*RemoveSensorRequest)(nil), // 14: tetragon.RemoveSensorRequest + (*RemoveSensorResponse)(nil), // 15: tetragon.RemoveSensorResponse + (*EnableSensorRequest)(nil), // 16: tetragon.EnableSensorRequest + (*EnableSensorResponse)(nil), // 17: tetragon.EnableSensorResponse + (*DisableSensorRequest)(nil), // 18: tetragon.DisableSensorRequest + (*DisableSensorResponse)(nil), // 19: tetragon.DisableSensorResponse + (*GetStackTraceTreeRequest)(nil), // 20: tetragon.GetStackTraceTreeRequest + (*GetStackTraceTreeResponse)(nil), // 21: tetragon.GetStackTraceTreeResponse + (*GetVersionRequest)(nil), // 22: tetragon.GetVersionRequest + (*GetVersionResponse)(nil), // 23: tetragon.GetVersionResponse + (*StackTraceNode)(nil), // 24: tetragon.StackTraceNode + (*GetEventsRequest)(nil), // 25: tetragon.GetEventsRequest + (*GetHealthStatusRequest)(nil), // 26: tetragon.GetHealthStatusRequest + (*RuntimeHookRequest)(nil), // 27: tetragon.RuntimeHookRequest + (*GetEventsResponse)(nil), // 28: tetragon.GetEventsResponse + (*GetHealthStatusResponse)(nil), // 29: tetragon.GetHealthStatusResponse + (*RuntimeHookResponse)(nil), // 30: tetragon.RuntimeHookResponse } var file_tetragon_sensors_proto_depIdxs = []int32{ 1, // 0: tetragon.ListSensorsResponse.sensors:type_name -> tetragon.SensorStatus 4, // 1: tetragon.ListTracingPoliciesResponse.policies:type_name -> tetragon.TracingPolicyStatus - 20, // 2: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode - 21, // 3: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest - 22, // 4: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest + 24, // 2: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode + 25, // 3: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest + 26, // 4: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest 6, // 5: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest 8, // 6: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest - 10, // 7: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest + 14, // 7: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest 3, // 8: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest - 0, // 9: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest - 12, // 10: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest - 14, // 11: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest - 16, // 12: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest - 18, // 13: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest - 23, // 14: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest - 24, // 15: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse - 25, // 16: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse - 7, // 17: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse - 9, // 18: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse - 11, // 19: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse - 5, // 20: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse - 2, // 21: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse - 13, // 22: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse - 15, // 23: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse - 17, // 24: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse - 19, // 25: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse - 26, // 26: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse - 15, // [15:27] is the sub-list for method output_type - 3, // [3:15] is the sub-list for method input_type + 10, // 9: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest + 12, // 10: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest + 0, // 11: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest + 16, // 12: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest + 18, // 13: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest + 20, // 14: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest + 22, // 15: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest + 27, // 16: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest + 28, // 17: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse + 29, // 18: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse + 7, // 19: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse + 9, // 20: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse + 15, // 21: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse + 5, // 22: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse + 11, // 23: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse + 13, // 24: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse + 2, // 25: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse + 17, // 26: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse + 19, // 27: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse + 21, // 28: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse + 23, // 29: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse + 30, // 30: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse + 17, // [17:31] is the sub-list for method output_type + 3, // [3:17] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name @@ -1294,7 +1527,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveSensorRequest); i { + switch v := v.(*EnableTracingPolicyRequest); i { case 0: return &v.state case 1: @@ -1306,7 +1539,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveSensorResponse); i { + switch v := v.(*EnableTracingPolicyResponse); i { case 0: return &v.state case 1: @@ -1318,7 +1551,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableSensorRequest); i { + switch v := v.(*DisableTracingPolicyRequest); i { case 0: return &v.state case 1: @@ -1330,7 +1563,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableSensorResponse); i { + switch v := v.(*DisableTracingPolicyResponse); i { case 0: return &v.state case 1: @@ -1342,7 +1575,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableSensorRequest); i { + switch v := v.(*RemoveSensorRequest); i { case 0: return &v.state case 1: @@ -1354,7 +1587,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableSensorResponse); i { + switch v := v.(*RemoveSensorResponse); i { case 0: return &v.state case 1: @@ -1366,7 +1599,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStackTraceTreeRequest); i { + switch v := v.(*EnableSensorRequest); i { case 0: return &v.state case 1: @@ -1378,7 +1611,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStackTraceTreeResponse); i { + switch v := v.(*EnableSensorResponse); i { case 0: return &v.state case 1: @@ -1390,7 +1623,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersionRequest); i { + switch v := v.(*DisableSensorRequest); i { case 0: return &v.state case 1: @@ -1402,6 +1635,54 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableSensorResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStackTraceTreeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStackTraceTreeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionResponse); i { case 0: return &v.state @@ -1420,7 +1701,7 @@ func file_tetragon_sensors_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tetragon_sensors_proto_rawDesc, NumEnums: 0, - NumMessages: 20, + NumMessages: 24, NumExtensions: 0, NumServices: 1, }, diff --git a/api/v1/tetragon/sensors.pb.json.go b/api/v1/tetragon/sensors.pb.json.go index c9150471ab7..59292ec3623 100644 --- a/api/v1/tetragon/sensors.pb.json.go +++ b/api/v1/tetragon/sensors.pb.json.go @@ -167,6 +167,70 @@ func (msg *DeleteTracingPolicyResponse) UnmarshalJSON(b []byte) error { }.Unmarshal(b, msg) } +// MarshalJSON implements json.Marshaler +func (msg *EnableTracingPolicyRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *EnableTracingPolicyRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *EnableTracingPolicyResponse) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *EnableTracingPolicyResponse) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *DisableTracingPolicyRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DisableTracingPolicyRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *DisableTracingPolicyResponse) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DisableTracingPolicyResponse) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + // MarshalJSON implements json.Marshaler func (msg *RemoveSensorRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ diff --git a/api/v1/tetragon/sensors.proto b/api/v1/tetragon/sensors.proto index 8ae0b8be342..232b22a023b 100644 --- a/api/v1/tetragon/sensors.proto +++ b/api/v1/tetragon/sensors.proto @@ -40,7 +40,12 @@ message TracingPolicyStatus { string info = 4; // sensors loaded in the scope of this policy repeated string sensors = 5; - + // indicating if the policy is enabled + bool enabled = 6; + // filter ID of the policy used for k8s filtering + uint64 filter_id = 7; + // potential error of the policy + string error = 8; } message ListTracingPoliciesResponse { @@ -57,6 +62,16 @@ message DeleteTracingPolicyRequest { } message DeleteTracingPolicyResponse {} +message EnableTracingPolicyRequest { + string name = 1; +} +message EnableTracingPolicyResponse {} + +message DisableTracingPolicyRequest { + string name = 1; +} +message DisableTracingPolicyResponse {} + message RemoveSensorRequest { string name = 1; } @@ -96,6 +111,8 @@ service FineGuidanceSensors { rpc DeleteTracingPolicy(DeleteTracingPolicyRequest) returns (DeleteTracingPolicyResponse) {} rpc RemoveSensor(RemoveSensorRequest) returns (RemoveSensorResponse) {} rpc ListTracingPolicies(ListTracingPoliciesRequest) returns (ListTracingPoliciesResponse) {} + rpc EnableTracingPolicy(EnableTracingPolicyRequest) returns (EnableTracingPolicyResponse) {} + rpc DisableTracingPolicy(DisableTracingPolicyRequest) returns (DisableTracingPolicyResponse) {} rpc ListSensors(ListSensorsRequest) returns (ListSensorsResponse) {} rpc EnableSensor(EnableSensorRequest) returns (EnableSensorResponse) {} diff --git a/api/v1/tetragon/sensors_grpc.pb.go b/api/v1/tetragon/sensors_grpc.pb.go index 8de5aa95c0f..f8d188500c2 100644 --- a/api/v1/tetragon/sensors_grpc.pb.go +++ b/api/v1/tetragon/sensors_grpc.pb.go @@ -22,18 +22,20 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - FineGuidanceSensors_GetEvents_FullMethodName = "/tetragon.FineGuidanceSensors/GetEvents" - FineGuidanceSensors_GetHealth_FullMethodName = "/tetragon.FineGuidanceSensors/GetHealth" - FineGuidanceSensors_AddTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/AddTracingPolicy" - FineGuidanceSensors_DeleteTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/DeleteTracingPolicy" - FineGuidanceSensors_RemoveSensor_FullMethodName = "/tetragon.FineGuidanceSensors/RemoveSensor" - FineGuidanceSensors_ListTracingPolicies_FullMethodName = "/tetragon.FineGuidanceSensors/ListTracingPolicies" - FineGuidanceSensors_ListSensors_FullMethodName = "/tetragon.FineGuidanceSensors/ListSensors" - FineGuidanceSensors_EnableSensor_FullMethodName = "/tetragon.FineGuidanceSensors/EnableSensor" - FineGuidanceSensors_DisableSensor_FullMethodName = "/tetragon.FineGuidanceSensors/DisableSensor" - FineGuidanceSensors_GetStackTraceTree_FullMethodName = "/tetragon.FineGuidanceSensors/GetStackTraceTree" - FineGuidanceSensors_GetVersion_FullMethodName = "/tetragon.FineGuidanceSensors/GetVersion" - FineGuidanceSensors_RuntimeHook_FullMethodName = "/tetragon.FineGuidanceSensors/RuntimeHook" + FineGuidanceSensors_GetEvents_FullMethodName = "/tetragon.FineGuidanceSensors/GetEvents" + FineGuidanceSensors_GetHealth_FullMethodName = "/tetragon.FineGuidanceSensors/GetHealth" + FineGuidanceSensors_AddTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/AddTracingPolicy" + FineGuidanceSensors_DeleteTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/DeleteTracingPolicy" + FineGuidanceSensors_RemoveSensor_FullMethodName = "/tetragon.FineGuidanceSensors/RemoveSensor" + FineGuidanceSensors_ListTracingPolicies_FullMethodName = "/tetragon.FineGuidanceSensors/ListTracingPolicies" + FineGuidanceSensors_EnableTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/EnableTracingPolicy" + FineGuidanceSensors_DisableTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/DisableTracingPolicy" + FineGuidanceSensors_ListSensors_FullMethodName = "/tetragon.FineGuidanceSensors/ListSensors" + FineGuidanceSensors_EnableSensor_FullMethodName = "/tetragon.FineGuidanceSensors/EnableSensor" + FineGuidanceSensors_DisableSensor_FullMethodName = "/tetragon.FineGuidanceSensors/DisableSensor" + FineGuidanceSensors_GetStackTraceTree_FullMethodName = "/tetragon.FineGuidanceSensors/GetStackTraceTree" + FineGuidanceSensors_GetVersion_FullMethodName = "/tetragon.FineGuidanceSensors/GetVersion" + FineGuidanceSensors_RuntimeHook_FullMethodName = "/tetragon.FineGuidanceSensors/RuntimeHook" ) // FineGuidanceSensorsClient is the client API for FineGuidanceSensors service. @@ -46,6 +48,8 @@ type FineGuidanceSensorsClient interface { DeleteTracingPolicy(ctx context.Context, in *DeleteTracingPolicyRequest, opts ...grpc.CallOption) (*DeleteTracingPolicyResponse, error) RemoveSensor(ctx context.Context, in *RemoveSensorRequest, opts ...grpc.CallOption) (*RemoveSensorResponse, error) ListTracingPolicies(ctx context.Context, in *ListTracingPoliciesRequest, opts ...grpc.CallOption) (*ListTracingPoliciesResponse, error) + EnableTracingPolicy(ctx context.Context, in *EnableTracingPolicyRequest, opts ...grpc.CallOption) (*EnableTracingPolicyResponse, error) + DisableTracingPolicy(ctx context.Context, in *DisableTracingPolicyRequest, opts ...grpc.CallOption) (*DisableTracingPolicyResponse, error) ListSensors(ctx context.Context, in *ListSensorsRequest, opts ...grpc.CallOption) (*ListSensorsResponse, error) EnableSensor(ctx context.Context, in *EnableSensorRequest, opts ...grpc.CallOption) (*EnableSensorResponse, error) DisableSensor(ctx context.Context, in *DisableSensorRequest, opts ...grpc.CallOption) (*DisableSensorResponse, error) @@ -139,6 +143,24 @@ func (c *fineGuidanceSensorsClient) ListTracingPolicies(ctx context.Context, in return out, nil } +func (c *fineGuidanceSensorsClient) EnableTracingPolicy(ctx context.Context, in *EnableTracingPolicyRequest, opts ...grpc.CallOption) (*EnableTracingPolicyResponse, error) { + out := new(EnableTracingPolicyResponse) + err := c.cc.Invoke(ctx, FineGuidanceSensors_EnableTracingPolicy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *fineGuidanceSensorsClient) DisableTracingPolicy(ctx context.Context, in *DisableTracingPolicyRequest, opts ...grpc.CallOption) (*DisableTracingPolicyResponse, error) { + out := new(DisableTracingPolicyResponse) + err := c.cc.Invoke(ctx, FineGuidanceSensors_DisableTracingPolicy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *fineGuidanceSensorsClient) ListSensors(ctx context.Context, in *ListSensorsRequest, opts ...grpc.CallOption) (*ListSensorsResponse, error) { out := new(ListSensorsResponse) err := c.cc.Invoke(ctx, FineGuidanceSensors_ListSensors_FullMethodName, in, out, opts...) @@ -203,6 +225,8 @@ type FineGuidanceSensorsServer interface { DeleteTracingPolicy(context.Context, *DeleteTracingPolicyRequest) (*DeleteTracingPolicyResponse, error) RemoveSensor(context.Context, *RemoveSensorRequest) (*RemoveSensorResponse, error) ListTracingPolicies(context.Context, *ListTracingPoliciesRequest) (*ListTracingPoliciesResponse, error) + EnableTracingPolicy(context.Context, *EnableTracingPolicyRequest) (*EnableTracingPolicyResponse, error) + DisableTracingPolicy(context.Context, *DisableTracingPolicyRequest) (*DisableTracingPolicyResponse, error) ListSensors(context.Context, *ListSensorsRequest) (*ListSensorsResponse, error) EnableSensor(context.Context, *EnableSensorRequest) (*EnableSensorResponse, error) DisableSensor(context.Context, *DisableSensorRequest) (*DisableSensorResponse, error) @@ -233,6 +257,12 @@ func (UnimplementedFineGuidanceSensorsServer) RemoveSensor(context.Context, *Rem func (UnimplementedFineGuidanceSensorsServer) ListTracingPolicies(context.Context, *ListTracingPoliciesRequest) (*ListTracingPoliciesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListTracingPolicies not implemented") } +func (UnimplementedFineGuidanceSensorsServer) EnableTracingPolicy(context.Context, *EnableTracingPolicyRequest) (*EnableTracingPolicyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EnableTracingPolicy not implemented") +} +func (UnimplementedFineGuidanceSensorsServer) DisableTracingPolicy(context.Context, *DisableTracingPolicyRequest) (*DisableTracingPolicyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableTracingPolicy not implemented") +} func (UnimplementedFineGuidanceSensorsServer) ListSensors(context.Context, *ListSensorsRequest) (*ListSensorsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListSensors not implemented") } @@ -374,6 +404,42 @@ func _FineGuidanceSensors_ListTracingPolicies_Handler(srv interface{}, ctx conte return interceptor(ctx, in, info, handler) } +func _FineGuidanceSensors_EnableTracingPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnableTracingPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FineGuidanceSensorsServer).EnableTracingPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: FineGuidanceSensors_EnableTracingPolicy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FineGuidanceSensorsServer).EnableTracingPolicy(ctx, req.(*EnableTracingPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FineGuidanceSensors_DisableTracingPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableTracingPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FineGuidanceSensorsServer).DisableTracingPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: FineGuidanceSensors_DisableTracingPolicy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FineGuidanceSensorsServer).DisableTracingPolicy(ctx, req.(*DisableTracingPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _FineGuidanceSensors_ListSensors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListSensorsRequest) if err := dec(in); err != nil { @@ -509,6 +575,14 @@ var FineGuidanceSensors_ServiceDesc = grpc.ServiceDesc{ MethodName: "ListTracingPolicies", Handler: _FineGuidanceSensors_ListTracingPolicies_Handler, }, + { + MethodName: "EnableTracingPolicy", + Handler: _FineGuidanceSensors_EnableTracingPolicy_Handler, + }, + { + MethodName: "DisableTracingPolicy", + Handler: _FineGuidanceSensors_DisableTracingPolicy_Handler, + }, { MethodName: "ListSensors", Handler: _FineGuidanceSensors_ListSensors_Handler, diff --git a/cmd/tetra/common/client.go b/cmd/tetra/common/client.go index c201c119f0c..3472f919ab8 100644 --- a/cmd/tetra/common/client.go +++ b/cmd/tetra/common/client.go @@ -115,3 +115,48 @@ func CliRunErr(fn func(ctx context.Context, cli tetragon.FineGuidanceSensorsClie func CliRun(fn func(ctx context.Context, cli tetragon.FineGuidanceSensorsClient)) { CliRunErr(fn, func(_ error) {}) } + +type ConnectedClient struct { + Client tetragon.FineGuidanceSensorsClient + Ctx context.Context + conn *grpc.ClientConn + cancel context.CancelFunc +} + +// Close cleanup resources, it closes the connection and cancel the context +func (c ConnectedClient) Close() { + c.conn.Close() + c.cancel() +} + +// NewConnectedClient return a connected client to a tetragon server, caller +// must call Close() on the client. On failure to connect, this function calls +// Fatal() thus stopping execution. +func NewConnectedClient() ConnectedClient { + c := ConnectedClient{} + c.Ctx, c.cancel = signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM) + + var serverAddr string + var err error + + backoff := time.Second + attempts := 0 + for { + c.conn, serverAddr, err = connect(c.Ctx) + if err != nil { + if attempts < viper.GetInt(KeyRetries) { + // Exponential backoff + attempts++ + logger.GetLogger().WithField("server-address", serverAddr).WithField("attempts", attempts).WithError(err).Error("Connection attempt failed, retrying...") + time.Sleep(backoff) + backoff *= 2 + continue + } + logger.GetLogger().WithField("server-address", serverAddr).WithField("attempts", attempts).WithError(err).Fatal("Failed to connect to server") + } + break + } + + c.Client = tetragon.NewFineGuidanceSensorsClient(c.conn) + return c +} diff --git a/cmd/tetra/getevents/io_reader_client.go b/cmd/tetra/getevents/io_reader_client.go index 2e910479f53..c4943432457 100644 --- a/cmd/tetra/getevents/io_reader_client.go +++ b/cmd/tetra/getevents/io_reader_client.go @@ -63,6 +63,14 @@ func (i *ioReaderClient) DeleteTracingPolicy(_ context.Context, _ *tetragon.Dele panic("stub") } +func (i *ioReaderClient) EnableTracingPolicy(_ context.Context, _ *tetragon.EnableTracingPolicyRequest, _ ...grpc.CallOption) (*tetragon.EnableTracingPolicyResponse, error) { + panic("stub") +} + +func (i *ioReaderClient) DisableTracingPolicy(_ context.Context, _ *tetragon.DisableTracingPolicyRequest, _ ...grpc.CallOption) (*tetragon.DisableTracingPolicyResponse, error) { + panic("stub") +} + func (i *ioReaderClient) ListTracingPolicies(_ context.Context, _ *tetragon.ListTracingPoliciesRequest, _ ...grpc.CallOption) (*tetragon.ListTracingPoliciesResponse, error) { panic("stub") } diff --git a/cmd/tetra/main.go b/cmd/tetra/main.go index 6afe6bdd33f..90044933ac7 100644 --- a/cmd/tetra/main.go +++ b/cmd/tetra/main.go @@ -25,8 +25,9 @@ func main() { func New() *cobra.Command { rootCmd = &cobra.Command{ - Use: "tetra", - Short: "Tetragon CLI", + Use: "tetra", + Short: "Tetragon CLI", + SilenceUsage: true, Run: func(cmd *cobra.Command, args []string) { cmd.Help() }, @@ -36,6 +37,8 @@ func New() *cobra.Command { } }, } + // by default, it fallbacks to stderr + rootCmd.SetOut(os.Stdout) addCommands(rootCmd) flags := rootCmd.PersistentFlags() diff --git a/cmd/tetra/sensors/sensors.go b/cmd/tetra/sensors/sensors.go index ffd8a35cd2b..64cdb767d40 100644 --- a/cmd/tetra/sensors/sensors.go +++ b/cmd/tetra/sensors/sensors.go @@ -12,10 +12,13 @@ import ( "github.com/spf13/cobra" ) +// Let's deprecated and remove this sensor interface and use the tracing policy +// gRPCs. Those are accessible trough the tracingpolicy command. func New() *cobra.Command { sensorsCmd := &cobra.Command{ - Use: "sensors", - Short: "Manage sensors", + Use: "sensors", + Short: "Manage sensors", + Deprecated: "please use the tracingpolicy command instead.", } sensorsListCmd := &cobra.Command{ diff --git a/cmd/tetra/tracingpolicy/tracingpolicy.go b/cmd/tetra/tracingpolicy/tracingpolicy.go index d6cb0dd4d22..2a25ca02929 100644 --- a/cmd/tetra/tracingpolicy/tracingpolicy.go +++ b/cmd/tetra/tracingpolicy/tracingpolicy.go @@ -4,7 +4,6 @@ package tracingpolicy import ( - "context" "fmt" "os" "strings" @@ -12,24 +11,38 @@ import ( "github.com/cilium/tetragon/api/v1/tetragon" "github.com/cilium/tetragon/cmd/tetra/common" "github.com/cilium/tetragon/cmd/tetra/tracingpolicy/generate" - "github.com/cilium/tetragon/pkg/logger" "github.com/spf13/cobra" ) func New() *cobra.Command { tpCmd := &cobra.Command{ - Use: "tracingpolicy", - Short: "Manage tracing policies", + Use: "tracingpolicy", + Aliases: []string{"tp"}, + Short: "Manage tracing policies", } tpAddCmd := &cobra.Command{ Use: "add ", Short: "add a new sensor based on a tracing policy", Args: cobra.ExactArgs(1), - Run: func(cmd *cobra.Command, args []string) { - common.CliRun(func(ctx context.Context, cli tetragon.FineGuidanceSensorsClient) { - addTracingPolicy(ctx, cli, args[0]) + RunE: func(cmd *cobra.Command, args []string) error { + c := common.NewConnectedClient() + defer c.Close() + + yamlb, err := os.ReadFile(args[0]) + if err != nil { + return fmt.Errorf("failed to read yaml file %s: %w", args[0], err) + } + + _, err = c.Client.AddTracingPolicy(c.Ctx, &tetragon.AddTracingPolicyRequest{ + Yaml: string(yamlb), }) + if err != nil { + return fmt.Errorf("failed to add tracing policy: %w", err) + } + cmd.Printf("tracing policy %q added\n", args[0]) + + return nil }, } @@ -37,10 +50,63 @@ func New() *cobra.Command { Use: "delete ", Short: "delete a tracing policy", Args: cobra.ExactArgs(1), - Run: func(cmd *cobra.Command, args []string) { - common.CliRun(func(ctx context.Context, cli tetragon.FineGuidanceSensorsClient) { - deleteTracingPolicy(ctx, cli, args[0]) + RunE: func(cmd *cobra.Command, args []string) error { + c := common.NewConnectedClient() + defer c.Close() + + _, err := c.Client.DeleteTracingPolicy(c.Ctx, &tetragon.DeleteTracingPolicyRequest{ + Name: args[0], + }) + if err != nil { + return fmt.Errorf("failed to delete tracing policy: %w", err) + } + cmd.Printf("tracing policy %q deleted\n", args[0]) + + return nil + }, + } + + tpEnableCmd := &cobra.Command{ + Use: "enable ", + Short: "enable a tracing policy", + Long: "Enable a disabled tracing policy. Use disable to re-disable the tracing policy.", + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) error { + c := common.NewConnectedClient() + defer c.Close() + + _, err := c.Client.EnableTracingPolicy(c.Ctx, &tetragon.EnableTracingPolicyRequest{ + Name: args[0], + }) + if err != nil { + return fmt.Errorf("failed to enable tracing policy: %w", err) + } + cmd.Printf("tracing policy %q enabled\n", args[0]) + + return nil + }, + } + + tpDisableCmd := &cobra.Command{ + Use: "disable ", + Short: "disable a tracing policy", + Long: "Disable an enabled tracing policy. Use enable to re-enable the tracing policy.", + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) error { + c := common.NewConnectedClient() + defer c.Close() + + _, err := c.Client.DisableTracingPolicy(c.Ctx, &tetragon.DisableTracingPolicyRequest{ + Name: args[0], }) + + if err != nil { + return fmt.Errorf("failed to disable tracing policy: %w", err) + } + + cmd.Printf("tracing policy %q disabled\n", args[0]) + + return nil }, } @@ -55,72 +121,76 @@ func New() *cobra.Command { } return nil }, - Run: func(cmd *cobra.Command, args []string) { - common.CliRun(func(ctx context.Context, cli tetragon.FineGuidanceSensorsClient) { - listTracingPolicies(ctx, cli, tpListOutputFlag) - }) - }, - } - tpListFlags := tpListCmd.Flags() - tpListFlags.StringVarP(&tpListOutputFlag, common.KeyOutput, "o", "text", "Output format. text or json") - - tpCmd.AddCommand(tpAddCmd, tpDelCmd, tpListCmd, generate.New()) - return tpCmd -} - -func addTracingPolicy(ctx context.Context, client tetragon.FineGuidanceSensorsClient, yamlFname string) { - yamlb, err := os.ReadFile(yamlFname) - if err != nil { - fmt.Printf("failed to read yaml file %s: %s\n", yamlFname, err) - return - } - - _, err = client.AddTracingPolicy(ctx, &tetragon.AddTracingPolicyRequest{ - Yaml: string(yamlb), - }) - if err != nil { - fmt.Printf("failed to add tracing policy: %s\n", err) - } -} + RunE: func(cmd *cobra.Command, args []string) error { + c := common.NewConnectedClient() + defer c.Close() -func deleteTracingPolicy(ctx context.Context, client tetragon.FineGuidanceSensorsClient, name string) { - _, err := client.DeleteTracingPolicy(ctx, &tetragon.DeleteTracingPolicyRequest{ - Name: name, - }) - if err != nil { - fmt.Printf("failed to delete tracing policy: %s\n", err) - } -} + res, err := c.Client.ListTracingPolicies(c.Ctx, &tetragon.ListTracingPoliciesRequest{}) + if err != nil || res == nil { + return fmt.Errorf("failed to list tracing policies: %w", err) + } -func listTracingPoliciesText(res *tetragon.ListTracingPoliciesResponse) { - for _, pol := range res.Policies { - namespace := pol.Namespace - if namespace == "" { - namespace = "(global)" - } + if tpListOutputFlag == "json" { + b, err := res.MarshalJSON() + if err != nil { + return fmt.Errorf("failed to generate json: %w", err) + } + cmd.Println(string(b)) + } else { + for _, pol := range res.Policies { + namespace := pol.Namespace + if namespace == "" { + namespace = "(global)" + } + + sensors := strings.Join(pol.Sensors, ",") + + // From v0.11 and before, enabled, filterID and error were + // bundled in a string. To have a retro-compatible tetra + // command, we scan the string. If the scan fails, it means + // something else might be in Info and we print it. + // + // we can drop the following block (and comment) when we + // feel tetra should support only version after v0.11 + if pol.Info != "" { + var parsedEnabled bool + var parsedFilterID uint64 + var parsedError string + var parsedName string + str := strings.NewReader(pol.Info) + _, err := fmt.Fscanf(str, "%253s enabled:%t filterID:%d error:%512s", &parsedName, &parsedEnabled, &parsedFilterID, &parsedError) + if err == nil { + pol.Enabled = parsedEnabled + pol.FilterId = parsedFilterID + pol.Error = parsedError + pol.Info = "" + } + } + + cmd.Printf("[%d] %s enabled:%t filterID:%d namespace:%s sensors:%s\n", pol.Id, pol.Name, pol.Enabled, pol.FilterId, namespace, sensors) + if pol.Info != "" { + cmd.Printf("\tinfo: %s\n", pol.Info) + } + if pol.Error != "" && pol.Error != "" { + cmd.Printf("\terror: %s\n", pol.Error) + } + } + } - sensors := strings.Join(pol.Sensors, ",") - fmt.Printf("%d %s (%s) %s %s\n", pol.Id, pol.Name, pol.Info, namespace, sensors) + return nil + }, } -} + tpListFlags := tpListCmd.Flags() + tpListFlags.StringVarP(&tpListOutputFlag, common.KeyOutput, "o", "text", "Output format. text or json") -func listTracingPolicies( - ctx context.Context, - client tetragon.FineGuidanceSensorsClient, - output string) { + tpCmd.AddCommand( + tpAddCmd, + tpDelCmd, + tpEnableCmd, + tpDisableCmd, + tpListCmd, + generate.New(), + ) - res, err := client.ListTracingPolicies(ctx, &tetragon.ListTracingPoliciesRequest{}) - if err != nil || res == nil { - logger.GetLogger().WithError(err).Fatal("failed to list tracing policies") - } - - if output == "json" { - b, err := res.MarshalJSON() - if err != nil { - logger.GetLogger().WithError(err).Fatal("failed to generate json") - } - fmt.Println(string(b)) - } else { - listTracingPoliciesText(res) - } + return tpCmd } diff --git a/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go b/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go index ab5d6494a9a..aabcfc7bb73 100644 --- a/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go +++ b/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go @@ -227,6 +227,12 @@ type TracingPolicyStatus struct { Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"` // sensors loaded in the scope of this policy Sensors []string `protobuf:"bytes,5,rep,name=sensors,proto3" json:"sensors,omitempty"` + // indicating if the policy is enabled + Enabled bool `protobuf:"varint,6,opt,name=enabled,proto3" json:"enabled,omitempty"` + // filter ID of the policy used for k8s filtering + FilterId uint64 `protobuf:"varint,7,opt,name=filter_id,json=filterId,proto3" json:"filter_id,omitempty"` + // potential error of the policy + Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"` } func (x *TracingPolicyStatus) Reset() { @@ -296,6 +302,27 @@ func (x *TracingPolicyStatus) GetSensors() []string { return nil } +func (x *TracingPolicyStatus) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *TracingPolicyStatus) GetFilterId() uint64 { + if x != nil { + return x.FilterId + } + return 0 +} + +func (x *TracingPolicyStatus) GetError() string { + if x != nil { + return x.Error + } + return "" +} + type ListTracingPoliciesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -513,6 +540,176 @@ func (*DeleteTracingPolicyResponse) Descriptor() ([]byte, []int) { return file_tetragon_sensors_proto_rawDescGZIP(), []int{9} } +type EnableTracingPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *EnableTracingPolicyRequest) Reset() { + *x = EnableTracingPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnableTracingPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableTracingPolicyRequest) ProtoMessage() {} + +func (x *EnableTracingPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnableTracingPolicyRequest.ProtoReflect.Descriptor instead. +func (*EnableTracingPolicyRequest) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{10} +} + +func (x *EnableTracingPolicyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type EnableTracingPolicyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *EnableTracingPolicyResponse) Reset() { + *x = EnableTracingPolicyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnableTracingPolicyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableTracingPolicyResponse) ProtoMessage() {} + +func (x *EnableTracingPolicyResponse) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[11] + 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 EnableTracingPolicyResponse.ProtoReflect.Descriptor instead. +func (*EnableTracingPolicyResponse) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{11} +} + +type DisableTracingPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DisableTracingPolicyRequest) Reset() { + *x = DisableTracingPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableTracingPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableTracingPolicyRequest) ProtoMessage() {} + +func (x *DisableTracingPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[12] + 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 DisableTracingPolicyRequest.ProtoReflect.Descriptor instead. +func (*DisableTracingPolicyRequest) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{12} +} + +func (x *DisableTracingPolicyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type DisableTracingPolicyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DisableTracingPolicyResponse) Reset() { + *x = DisableTracingPolicyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableTracingPolicyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableTracingPolicyResponse) ProtoMessage() {} + +func (x *DisableTracingPolicyResponse) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[13] + 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 DisableTracingPolicyResponse.ProtoReflect.Descriptor instead. +func (*DisableTracingPolicyResponse) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{13} +} + type RemoveSensorRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -524,7 +721,7 @@ type RemoveSensorRequest struct { func (x *RemoveSensorRequest) Reset() { *x = RemoveSensorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[10] + mi := &file_tetragon_sensors_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -537,7 +734,7 @@ func (x *RemoveSensorRequest) String() string { func (*RemoveSensorRequest) ProtoMessage() {} func (x *RemoveSensorRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[10] + mi := &file_tetragon_sensors_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -550,7 +747,7 @@ func (x *RemoveSensorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveSensorRequest.ProtoReflect.Descriptor instead. func (*RemoveSensorRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{10} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{14} } func (x *RemoveSensorRequest) GetName() string { @@ -569,7 +766,7 @@ type RemoveSensorResponse struct { func (x *RemoveSensorResponse) Reset() { *x = RemoveSensorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[11] + mi := &file_tetragon_sensors_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -582,7 +779,7 @@ func (x *RemoveSensorResponse) String() string { func (*RemoveSensorResponse) ProtoMessage() {} func (x *RemoveSensorResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[11] + mi := &file_tetragon_sensors_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -595,7 +792,7 @@ func (x *RemoveSensorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveSensorResponse.ProtoReflect.Descriptor instead. func (*RemoveSensorResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{11} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{15} } type EnableSensorRequest struct { @@ -609,7 +806,7 @@ type EnableSensorRequest struct { func (x *EnableSensorRequest) Reset() { *x = EnableSensorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[12] + mi := &file_tetragon_sensors_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -622,7 +819,7 @@ func (x *EnableSensorRequest) String() string { func (*EnableSensorRequest) ProtoMessage() {} func (x *EnableSensorRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[12] + mi := &file_tetragon_sensors_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -635,7 +832,7 @@ func (x *EnableSensorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableSensorRequest.ProtoReflect.Descriptor instead. func (*EnableSensorRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{12} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{16} } func (x *EnableSensorRequest) GetName() string { @@ -654,7 +851,7 @@ type EnableSensorResponse struct { func (x *EnableSensorResponse) Reset() { *x = EnableSensorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[13] + mi := &file_tetragon_sensors_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -667,7 +864,7 @@ func (x *EnableSensorResponse) String() string { func (*EnableSensorResponse) ProtoMessage() {} func (x *EnableSensorResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[13] + mi := &file_tetragon_sensors_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -680,7 +877,7 @@ func (x *EnableSensorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableSensorResponse.ProtoReflect.Descriptor instead. func (*EnableSensorResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{13} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{17} } type DisableSensorRequest struct { @@ -694,7 +891,7 @@ type DisableSensorRequest struct { func (x *DisableSensorRequest) Reset() { *x = DisableSensorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[14] + mi := &file_tetragon_sensors_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -707,7 +904,7 @@ func (x *DisableSensorRequest) String() string { func (*DisableSensorRequest) ProtoMessage() {} func (x *DisableSensorRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[14] + mi := &file_tetragon_sensors_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -720,7 +917,7 @@ func (x *DisableSensorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableSensorRequest.ProtoReflect.Descriptor instead. func (*DisableSensorRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{14} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{18} } func (x *DisableSensorRequest) GetName() string { @@ -739,7 +936,7 @@ type DisableSensorResponse struct { func (x *DisableSensorResponse) Reset() { *x = DisableSensorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[15] + mi := &file_tetragon_sensors_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -752,7 +949,7 @@ func (x *DisableSensorResponse) String() string { func (*DisableSensorResponse) ProtoMessage() {} func (x *DisableSensorResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[15] + mi := &file_tetragon_sensors_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -765,7 +962,7 @@ func (x *DisableSensorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableSensorResponse.ProtoReflect.Descriptor instead. func (*DisableSensorResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{15} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{19} } type GetStackTraceTreeRequest struct { @@ -779,7 +976,7 @@ type GetStackTraceTreeRequest struct { func (x *GetStackTraceTreeRequest) Reset() { *x = GetStackTraceTreeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[16] + mi := &file_tetragon_sensors_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -792,7 +989,7 @@ func (x *GetStackTraceTreeRequest) String() string { func (*GetStackTraceTreeRequest) ProtoMessage() {} func (x *GetStackTraceTreeRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[16] + mi := &file_tetragon_sensors_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -805,7 +1002,7 @@ func (x *GetStackTraceTreeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStackTraceTreeRequest.ProtoReflect.Descriptor instead. func (*GetStackTraceTreeRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{16} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{20} } func (x *GetStackTraceTreeRequest) GetName() string { @@ -826,7 +1023,7 @@ type GetStackTraceTreeResponse struct { func (x *GetStackTraceTreeResponse) Reset() { *x = GetStackTraceTreeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[17] + mi := &file_tetragon_sensors_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -839,7 +1036,7 @@ func (x *GetStackTraceTreeResponse) String() string { func (*GetStackTraceTreeResponse) ProtoMessage() {} func (x *GetStackTraceTreeResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[17] + mi := &file_tetragon_sensors_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -852,7 +1049,7 @@ func (x *GetStackTraceTreeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStackTraceTreeResponse.ProtoReflect.Descriptor instead. func (*GetStackTraceTreeResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{17} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{21} } func (x *GetStackTraceTreeResponse) GetRoot() *StackTraceNode { @@ -871,7 +1068,7 @@ type GetVersionRequest struct { func (x *GetVersionRequest) Reset() { *x = GetVersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[18] + mi := &file_tetragon_sensors_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -884,7 +1081,7 @@ func (x *GetVersionRequest) String() string { func (*GetVersionRequest) ProtoMessage() {} func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[18] + mi := &file_tetragon_sensors_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -897,7 +1094,7 @@ func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionRequest.ProtoReflect.Descriptor instead. func (*GetVersionRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{18} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{22} } type GetVersionResponse struct { @@ -911,7 +1108,7 @@ type GetVersionResponse struct { func (x *GetVersionResponse) Reset() { *x = GetVersionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[19] + mi := &file_tetragon_sensors_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -924,7 +1121,7 @@ func (x *GetVersionResponse) String() string { func (*GetVersionResponse) ProtoMessage() {} func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[19] + mi := &file_tetragon_sensors_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -937,7 +1134,7 @@ func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionResponse.ProtoReflect.Descriptor instead. func (*GetVersionResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{19} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{23} } func (x *GetVersionResponse) GetVersion() string { @@ -970,7 +1167,7 @@ var file_tetragon_sensors_proto_rawDesc = []byte{ 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x22, 0x1c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x85, 0x01, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x65, 0x73, 0x74, 0x22, 0xd2, 0x01, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, @@ -978,82 +1175,110 @@ var file_tetragon_sensors_proto_rawDesc = []byte{ 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x22, 0x58, 0x0a, 0x1b, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, - 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x2d, 0x0a, 0x17, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x79, 0x61, 0x6d, 0x6c, 0x22, 0x1a, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, - 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x30, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x58, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x22, 0x2d, 0x0a, 0x17, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x79, 0x61, 0x6d, + 0x6c, 0x22, 0x1a, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x0a, + 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, + 0x0a, 0x1a, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x1d, 0x0a, 0x1b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x31, 0x0a, 0x1b, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, + 0x6d, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, + 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, + 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x16, 0x0a, 0x14, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, + 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, + 0x19, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, + 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2e, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x32, 0xe8, 0x09, + 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x65, 0x47, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, + 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, + 0x52, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x74, + 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, + 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x64, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, + 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, + 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, + 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, + 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x29, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, - 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x16, 0x0a, 0x14, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, - 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x0a, 0x18, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x19, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x72, 0x6f, 0x6f, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2e, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x32, 0x99, 0x08, 0x0a, - 0x13, 0x46, 0x69, 0x6e, 0x65, 0x47, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x6e, - 0x73, 0x6f, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x52, - 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x74, 0x65, - 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, - 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x64, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, - 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, - 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, - 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, - 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, - 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, - 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, + 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x74, 0x65, + 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, @@ -1099,66 +1324,74 @@ func file_tetragon_sensors_proto_rawDescGZIP() []byte { return file_tetragon_sensors_proto_rawDescData } -var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_tetragon_sensors_proto_goTypes = []interface{}{ - (*ListSensorsRequest)(nil), // 0: tetragon.ListSensorsRequest - (*SensorStatus)(nil), // 1: tetragon.SensorStatus - (*ListSensorsResponse)(nil), // 2: tetragon.ListSensorsResponse - (*ListTracingPoliciesRequest)(nil), // 3: tetragon.ListTracingPoliciesRequest - (*TracingPolicyStatus)(nil), // 4: tetragon.TracingPolicyStatus - (*ListTracingPoliciesResponse)(nil), // 5: tetragon.ListTracingPoliciesResponse - (*AddTracingPolicyRequest)(nil), // 6: tetragon.AddTracingPolicyRequest - (*AddTracingPolicyResponse)(nil), // 7: tetragon.AddTracingPolicyResponse - (*DeleteTracingPolicyRequest)(nil), // 8: tetragon.DeleteTracingPolicyRequest - (*DeleteTracingPolicyResponse)(nil), // 9: tetragon.DeleteTracingPolicyResponse - (*RemoveSensorRequest)(nil), // 10: tetragon.RemoveSensorRequest - (*RemoveSensorResponse)(nil), // 11: tetragon.RemoveSensorResponse - (*EnableSensorRequest)(nil), // 12: tetragon.EnableSensorRequest - (*EnableSensorResponse)(nil), // 13: tetragon.EnableSensorResponse - (*DisableSensorRequest)(nil), // 14: tetragon.DisableSensorRequest - (*DisableSensorResponse)(nil), // 15: tetragon.DisableSensorResponse - (*GetStackTraceTreeRequest)(nil), // 16: tetragon.GetStackTraceTreeRequest - (*GetStackTraceTreeResponse)(nil), // 17: tetragon.GetStackTraceTreeResponse - (*GetVersionRequest)(nil), // 18: tetragon.GetVersionRequest - (*GetVersionResponse)(nil), // 19: tetragon.GetVersionResponse - (*StackTraceNode)(nil), // 20: tetragon.StackTraceNode - (*GetEventsRequest)(nil), // 21: tetragon.GetEventsRequest - (*GetHealthStatusRequest)(nil), // 22: tetragon.GetHealthStatusRequest - (*RuntimeHookRequest)(nil), // 23: tetragon.RuntimeHookRequest - (*GetEventsResponse)(nil), // 24: tetragon.GetEventsResponse - (*GetHealthStatusResponse)(nil), // 25: tetragon.GetHealthStatusResponse - (*RuntimeHookResponse)(nil), // 26: tetragon.RuntimeHookResponse + (*ListSensorsRequest)(nil), // 0: tetragon.ListSensorsRequest + (*SensorStatus)(nil), // 1: tetragon.SensorStatus + (*ListSensorsResponse)(nil), // 2: tetragon.ListSensorsResponse + (*ListTracingPoliciesRequest)(nil), // 3: tetragon.ListTracingPoliciesRequest + (*TracingPolicyStatus)(nil), // 4: tetragon.TracingPolicyStatus + (*ListTracingPoliciesResponse)(nil), // 5: tetragon.ListTracingPoliciesResponse + (*AddTracingPolicyRequest)(nil), // 6: tetragon.AddTracingPolicyRequest + (*AddTracingPolicyResponse)(nil), // 7: tetragon.AddTracingPolicyResponse + (*DeleteTracingPolicyRequest)(nil), // 8: tetragon.DeleteTracingPolicyRequest + (*DeleteTracingPolicyResponse)(nil), // 9: tetragon.DeleteTracingPolicyResponse + (*EnableTracingPolicyRequest)(nil), // 10: tetragon.EnableTracingPolicyRequest + (*EnableTracingPolicyResponse)(nil), // 11: tetragon.EnableTracingPolicyResponse + (*DisableTracingPolicyRequest)(nil), // 12: tetragon.DisableTracingPolicyRequest + (*DisableTracingPolicyResponse)(nil), // 13: tetragon.DisableTracingPolicyResponse + (*RemoveSensorRequest)(nil), // 14: tetragon.RemoveSensorRequest + (*RemoveSensorResponse)(nil), // 15: tetragon.RemoveSensorResponse + (*EnableSensorRequest)(nil), // 16: tetragon.EnableSensorRequest + (*EnableSensorResponse)(nil), // 17: tetragon.EnableSensorResponse + (*DisableSensorRequest)(nil), // 18: tetragon.DisableSensorRequest + (*DisableSensorResponse)(nil), // 19: tetragon.DisableSensorResponse + (*GetStackTraceTreeRequest)(nil), // 20: tetragon.GetStackTraceTreeRequest + (*GetStackTraceTreeResponse)(nil), // 21: tetragon.GetStackTraceTreeResponse + (*GetVersionRequest)(nil), // 22: tetragon.GetVersionRequest + (*GetVersionResponse)(nil), // 23: tetragon.GetVersionResponse + (*StackTraceNode)(nil), // 24: tetragon.StackTraceNode + (*GetEventsRequest)(nil), // 25: tetragon.GetEventsRequest + (*GetHealthStatusRequest)(nil), // 26: tetragon.GetHealthStatusRequest + (*RuntimeHookRequest)(nil), // 27: tetragon.RuntimeHookRequest + (*GetEventsResponse)(nil), // 28: tetragon.GetEventsResponse + (*GetHealthStatusResponse)(nil), // 29: tetragon.GetHealthStatusResponse + (*RuntimeHookResponse)(nil), // 30: tetragon.RuntimeHookResponse } var file_tetragon_sensors_proto_depIdxs = []int32{ 1, // 0: tetragon.ListSensorsResponse.sensors:type_name -> tetragon.SensorStatus 4, // 1: tetragon.ListTracingPoliciesResponse.policies:type_name -> tetragon.TracingPolicyStatus - 20, // 2: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode - 21, // 3: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest - 22, // 4: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest + 24, // 2: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode + 25, // 3: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest + 26, // 4: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest 6, // 5: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest 8, // 6: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest - 10, // 7: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest + 14, // 7: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest 3, // 8: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest - 0, // 9: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest - 12, // 10: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest - 14, // 11: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest - 16, // 12: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest - 18, // 13: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest - 23, // 14: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest - 24, // 15: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse - 25, // 16: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse - 7, // 17: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse - 9, // 18: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse - 11, // 19: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse - 5, // 20: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse - 2, // 21: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse - 13, // 22: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse - 15, // 23: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse - 17, // 24: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse - 19, // 25: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse - 26, // 26: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse - 15, // [15:27] is the sub-list for method output_type - 3, // [3:15] is the sub-list for method input_type + 10, // 9: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest + 12, // 10: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest + 0, // 11: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest + 16, // 12: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest + 18, // 13: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest + 20, // 14: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest + 22, // 15: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest + 27, // 16: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest + 28, // 17: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse + 29, // 18: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse + 7, // 19: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse + 9, // 20: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse + 15, // 21: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse + 5, // 22: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse + 11, // 23: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse + 13, // 24: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse + 2, // 25: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse + 17, // 26: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse + 19, // 27: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse + 21, // 28: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse + 23, // 29: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse + 30, // 30: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse + 17, // [17:31] is the sub-list for method output_type + 3, // [3:17] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name @@ -1294,7 +1527,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveSensorRequest); i { + switch v := v.(*EnableTracingPolicyRequest); i { case 0: return &v.state case 1: @@ -1306,7 +1539,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveSensorResponse); i { + switch v := v.(*EnableTracingPolicyResponse); i { case 0: return &v.state case 1: @@ -1318,7 +1551,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableSensorRequest); i { + switch v := v.(*DisableTracingPolicyRequest); i { case 0: return &v.state case 1: @@ -1330,7 +1563,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableSensorResponse); i { + switch v := v.(*DisableTracingPolicyResponse); i { case 0: return &v.state case 1: @@ -1342,7 +1575,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableSensorRequest); i { + switch v := v.(*RemoveSensorRequest); i { case 0: return &v.state case 1: @@ -1354,7 +1587,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableSensorResponse); i { + switch v := v.(*RemoveSensorResponse); i { case 0: return &v.state case 1: @@ -1366,7 +1599,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStackTraceTreeRequest); i { + switch v := v.(*EnableSensorRequest); i { case 0: return &v.state case 1: @@ -1378,7 +1611,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStackTraceTreeResponse); i { + switch v := v.(*EnableSensorResponse); i { case 0: return &v.state case 1: @@ -1390,7 +1623,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersionRequest); i { + switch v := v.(*DisableSensorRequest); i { case 0: return &v.state case 1: @@ -1402,6 +1635,54 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableSensorResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStackTraceTreeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStackTraceTreeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionResponse); i { case 0: return &v.state @@ -1420,7 +1701,7 @@ func file_tetragon_sensors_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tetragon_sensors_proto_rawDesc, NumEnums: 0, - NumMessages: 20, + NumMessages: 24, NumExtensions: 0, NumServices: 1, }, diff --git a/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go b/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go index c9150471ab7..59292ec3623 100644 --- a/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go +++ b/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go @@ -167,6 +167,70 @@ func (msg *DeleteTracingPolicyResponse) UnmarshalJSON(b []byte) error { }.Unmarshal(b, msg) } +// MarshalJSON implements json.Marshaler +func (msg *EnableTracingPolicyRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *EnableTracingPolicyRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *EnableTracingPolicyResponse) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *EnableTracingPolicyResponse) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *DisableTracingPolicyRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DisableTracingPolicyRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *DisableTracingPolicyResponse) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DisableTracingPolicyResponse) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + // MarshalJSON implements json.Marshaler func (msg *RemoveSensorRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ diff --git a/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto b/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto index 8ae0b8be342..232b22a023b 100644 --- a/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto +++ b/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto @@ -40,7 +40,12 @@ message TracingPolicyStatus { string info = 4; // sensors loaded in the scope of this policy repeated string sensors = 5; - + // indicating if the policy is enabled + bool enabled = 6; + // filter ID of the policy used for k8s filtering + uint64 filter_id = 7; + // potential error of the policy + string error = 8; } message ListTracingPoliciesResponse { @@ -57,6 +62,16 @@ message DeleteTracingPolicyRequest { } message DeleteTracingPolicyResponse {} +message EnableTracingPolicyRequest { + string name = 1; +} +message EnableTracingPolicyResponse {} + +message DisableTracingPolicyRequest { + string name = 1; +} +message DisableTracingPolicyResponse {} + message RemoveSensorRequest { string name = 1; } @@ -96,6 +111,8 @@ service FineGuidanceSensors { rpc DeleteTracingPolicy(DeleteTracingPolicyRequest) returns (DeleteTracingPolicyResponse) {} rpc RemoveSensor(RemoveSensorRequest) returns (RemoveSensorResponse) {} rpc ListTracingPolicies(ListTracingPoliciesRequest) returns (ListTracingPoliciesResponse) {} + rpc EnableTracingPolicy(EnableTracingPolicyRequest) returns (EnableTracingPolicyResponse) {} + rpc DisableTracingPolicy(DisableTracingPolicyRequest) returns (DisableTracingPolicyResponse) {} rpc ListSensors(ListSensorsRequest) returns (ListSensorsResponse) {} rpc EnableSensor(EnableSensorRequest) returns (EnableSensorResponse) {} diff --git a/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors_grpc.pb.go b/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors_grpc.pb.go index 8de5aa95c0f..f8d188500c2 100644 --- a/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors_grpc.pb.go +++ b/contrib/rthooks/tetragon-oci-hook/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors_grpc.pb.go @@ -22,18 +22,20 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - FineGuidanceSensors_GetEvents_FullMethodName = "/tetragon.FineGuidanceSensors/GetEvents" - FineGuidanceSensors_GetHealth_FullMethodName = "/tetragon.FineGuidanceSensors/GetHealth" - FineGuidanceSensors_AddTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/AddTracingPolicy" - FineGuidanceSensors_DeleteTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/DeleteTracingPolicy" - FineGuidanceSensors_RemoveSensor_FullMethodName = "/tetragon.FineGuidanceSensors/RemoveSensor" - FineGuidanceSensors_ListTracingPolicies_FullMethodName = "/tetragon.FineGuidanceSensors/ListTracingPolicies" - FineGuidanceSensors_ListSensors_FullMethodName = "/tetragon.FineGuidanceSensors/ListSensors" - FineGuidanceSensors_EnableSensor_FullMethodName = "/tetragon.FineGuidanceSensors/EnableSensor" - FineGuidanceSensors_DisableSensor_FullMethodName = "/tetragon.FineGuidanceSensors/DisableSensor" - FineGuidanceSensors_GetStackTraceTree_FullMethodName = "/tetragon.FineGuidanceSensors/GetStackTraceTree" - FineGuidanceSensors_GetVersion_FullMethodName = "/tetragon.FineGuidanceSensors/GetVersion" - FineGuidanceSensors_RuntimeHook_FullMethodName = "/tetragon.FineGuidanceSensors/RuntimeHook" + FineGuidanceSensors_GetEvents_FullMethodName = "/tetragon.FineGuidanceSensors/GetEvents" + FineGuidanceSensors_GetHealth_FullMethodName = "/tetragon.FineGuidanceSensors/GetHealth" + FineGuidanceSensors_AddTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/AddTracingPolicy" + FineGuidanceSensors_DeleteTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/DeleteTracingPolicy" + FineGuidanceSensors_RemoveSensor_FullMethodName = "/tetragon.FineGuidanceSensors/RemoveSensor" + FineGuidanceSensors_ListTracingPolicies_FullMethodName = "/tetragon.FineGuidanceSensors/ListTracingPolicies" + FineGuidanceSensors_EnableTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/EnableTracingPolicy" + FineGuidanceSensors_DisableTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/DisableTracingPolicy" + FineGuidanceSensors_ListSensors_FullMethodName = "/tetragon.FineGuidanceSensors/ListSensors" + FineGuidanceSensors_EnableSensor_FullMethodName = "/tetragon.FineGuidanceSensors/EnableSensor" + FineGuidanceSensors_DisableSensor_FullMethodName = "/tetragon.FineGuidanceSensors/DisableSensor" + FineGuidanceSensors_GetStackTraceTree_FullMethodName = "/tetragon.FineGuidanceSensors/GetStackTraceTree" + FineGuidanceSensors_GetVersion_FullMethodName = "/tetragon.FineGuidanceSensors/GetVersion" + FineGuidanceSensors_RuntimeHook_FullMethodName = "/tetragon.FineGuidanceSensors/RuntimeHook" ) // FineGuidanceSensorsClient is the client API for FineGuidanceSensors service. @@ -46,6 +48,8 @@ type FineGuidanceSensorsClient interface { DeleteTracingPolicy(ctx context.Context, in *DeleteTracingPolicyRequest, opts ...grpc.CallOption) (*DeleteTracingPolicyResponse, error) RemoveSensor(ctx context.Context, in *RemoveSensorRequest, opts ...grpc.CallOption) (*RemoveSensorResponse, error) ListTracingPolicies(ctx context.Context, in *ListTracingPoliciesRequest, opts ...grpc.CallOption) (*ListTracingPoliciesResponse, error) + EnableTracingPolicy(ctx context.Context, in *EnableTracingPolicyRequest, opts ...grpc.CallOption) (*EnableTracingPolicyResponse, error) + DisableTracingPolicy(ctx context.Context, in *DisableTracingPolicyRequest, opts ...grpc.CallOption) (*DisableTracingPolicyResponse, error) ListSensors(ctx context.Context, in *ListSensorsRequest, opts ...grpc.CallOption) (*ListSensorsResponse, error) EnableSensor(ctx context.Context, in *EnableSensorRequest, opts ...grpc.CallOption) (*EnableSensorResponse, error) DisableSensor(ctx context.Context, in *DisableSensorRequest, opts ...grpc.CallOption) (*DisableSensorResponse, error) @@ -139,6 +143,24 @@ func (c *fineGuidanceSensorsClient) ListTracingPolicies(ctx context.Context, in return out, nil } +func (c *fineGuidanceSensorsClient) EnableTracingPolicy(ctx context.Context, in *EnableTracingPolicyRequest, opts ...grpc.CallOption) (*EnableTracingPolicyResponse, error) { + out := new(EnableTracingPolicyResponse) + err := c.cc.Invoke(ctx, FineGuidanceSensors_EnableTracingPolicy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *fineGuidanceSensorsClient) DisableTracingPolicy(ctx context.Context, in *DisableTracingPolicyRequest, opts ...grpc.CallOption) (*DisableTracingPolicyResponse, error) { + out := new(DisableTracingPolicyResponse) + err := c.cc.Invoke(ctx, FineGuidanceSensors_DisableTracingPolicy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *fineGuidanceSensorsClient) ListSensors(ctx context.Context, in *ListSensorsRequest, opts ...grpc.CallOption) (*ListSensorsResponse, error) { out := new(ListSensorsResponse) err := c.cc.Invoke(ctx, FineGuidanceSensors_ListSensors_FullMethodName, in, out, opts...) @@ -203,6 +225,8 @@ type FineGuidanceSensorsServer interface { DeleteTracingPolicy(context.Context, *DeleteTracingPolicyRequest) (*DeleteTracingPolicyResponse, error) RemoveSensor(context.Context, *RemoveSensorRequest) (*RemoveSensorResponse, error) ListTracingPolicies(context.Context, *ListTracingPoliciesRequest) (*ListTracingPoliciesResponse, error) + EnableTracingPolicy(context.Context, *EnableTracingPolicyRequest) (*EnableTracingPolicyResponse, error) + DisableTracingPolicy(context.Context, *DisableTracingPolicyRequest) (*DisableTracingPolicyResponse, error) ListSensors(context.Context, *ListSensorsRequest) (*ListSensorsResponse, error) EnableSensor(context.Context, *EnableSensorRequest) (*EnableSensorResponse, error) DisableSensor(context.Context, *DisableSensorRequest) (*DisableSensorResponse, error) @@ -233,6 +257,12 @@ func (UnimplementedFineGuidanceSensorsServer) RemoveSensor(context.Context, *Rem func (UnimplementedFineGuidanceSensorsServer) ListTracingPolicies(context.Context, *ListTracingPoliciesRequest) (*ListTracingPoliciesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListTracingPolicies not implemented") } +func (UnimplementedFineGuidanceSensorsServer) EnableTracingPolicy(context.Context, *EnableTracingPolicyRequest) (*EnableTracingPolicyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EnableTracingPolicy not implemented") +} +func (UnimplementedFineGuidanceSensorsServer) DisableTracingPolicy(context.Context, *DisableTracingPolicyRequest) (*DisableTracingPolicyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableTracingPolicy not implemented") +} func (UnimplementedFineGuidanceSensorsServer) ListSensors(context.Context, *ListSensorsRequest) (*ListSensorsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListSensors not implemented") } @@ -374,6 +404,42 @@ func _FineGuidanceSensors_ListTracingPolicies_Handler(srv interface{}, ctx conte return interceptor(ctx, in, info, handler) } +func _FineGuidanceSensors_EnableTracingPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnableTracingPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FineGuidanceSensorsServer).EnableTracingPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: FineGuidanceSensors_EnableTracingPolicy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FineGuidanceSensorsServer).EnableTracingPolicy(ctx, req.(*EnableTracingPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FineGuidanceSensors_DisableTracingPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableTracingPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FineGuidanceSensorsServer).DisableTracingPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: FineGuidanceSensors_DisableTracingPolicy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FineGuidanceSensorsServer).DisableTracingPolicy(ctx, req.(*DisableTracingPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _FineGuidanceSensors_ListSensors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListSensorsRequest) if err := dec(in); err != nil { @@ -509,6 +575,14 @@ var FineGuidanceSensors_ServiceDesc = grpc.ServiceDesc{ MethodName: "ListTracingPolicies", Handler: _FineGuidanceSensors_ListTracingPolicies_Handler, }, + { + MethodName: "EnableTracingPolicy", + Handler: _FineGuidanceSensors_EnableTracingPolicy_Handler, + }, + { + MethodName: "DisableTracingPolicy", + Handler: _FineGuidanceSensors_DisableTracingPolicy_Handler, + }, { MethodName: "ListSensors", Handler: _FineGuidanceSensors_ListSensors_Handler, diff --git a/docs/content/en/docs/reference/grpc-api.md b/docs/content/en/docs/reference/grpc-api.md index b12831b48c2..07d0cfe8a79 100644 --- a/docs/content/en/docs/reference/grpc-api.md +++ b/docs/content/en/docs/reference/grpc-api.md @@ -810,6 +810,18 @@ Determins the behaviour of a field filter ### DisableSensorResponse + + +### DisableTracingPolicyRequest + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | + + + +### DisableTracingPolicyResponse + ### EnableSensorRequest @@ -822,6 +834,18 @@ Determins the behaviour of a field filter ### EnableSensorResponse + + +### EnableTracingPolicyRequest + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | + + + +### EnableTracingPolicyResponse + ### GetStackTraceTreeRequest @@ -907,6 +931,9 @@ Determins the behaviour of a field filter | namespace | [string](#string) | | namespace is the namespace of the policy (or empty of the policy is global) | | info | [string](#string) | | info is additional information about the policy | | sensors | [string](#string) | repeated | sensors loaded in the scope of this policy | +| enabled | [bool](#bool) | | indicating if the policy is enabled | +| filter_id | [uint64](#uint64) | | filter ID of the policy used for k8s filtering | +| error | [string](#string) | | potential error of the policy | @@ -920,6 +947,8 @@ Determins the behaviour of a field filter | DeleteTracingPolicy | [DeleteTracingPolicyRequest](#tetragon-DeleteTracingPolicyRequest) | [DeleteTracingPolicyResponse](#tetragon-DeleteTracingPolicyResponse) | | | RemoveSensor | [RemoveSensorRequest](#tetragon-RemoveSensorRequest) | [RemoveSensorResponse](#tetragon-RemoveSensorResponse) | | | ListTracingPolicies | [ListTracingPoliciesRequest](#tetragon-ListTracingPoliciesRequest) | [ListTracingPoliciesResponse](#tetragon-ListTracingPoliciesResponse) | | +| EnableTracingPolicy | [EnableTracingPolicyRequest](#tetragon-EnableTracingPolicyRequest) | [EnableTracingPolicyResponse](#tetragon-EnableTracingPolicyResponse) | | +| DisableTracingPolicy | [DisableTracingPolicyRequest](#tetragon-DisableTracingPolicyRequest) | [DisableTracingPolicyResponse](#tetragon-DisableTracingPolicyResponse) | | | ListSensors | [ListSensorsRequest](#tetragon-ListSensorsRequest) | [ListSensorsResponse](#tetragon-ListSensorsResponse) | | | EnableSensor | [EnableSensorRequest](#tetragon-EnableSensorRequest) | [EnableSensorResponse](#tetragon-EnableSensorResponse) | | | DisableSensor | [DisableSensorRequest](#tetragon-DisableSensorRequest) | [DisableSensorResponse](#tetragon-DisableSensorResponse) | | diff --git a/pkg/sensors/collection.go b/pkg/sensors/collection.go index 5937d996a94..14856a3120e 100644 --- a/pkg/sensors/collection.go +++ b/pkg/sensors/collection.go @@ -21,6 +21,8 @@ type collection struct { tracingpolicyID uint64 // if this is not zero, then the policy is filtered policyfilterID uint64 + // indicates if the collection is enabled or disabled + enabled bool } func (c *collection) info() string { @@ -80,3 +82,10 @@ func (c *collection) unload() error { } return nil } + +// destroy will attempt to destroy all the sensors in a collection +func (c *collection) destroy() { + for _, s := range c.sensors { + s.Destroy() + } +} diff --git a/pkg/sensors/exec/cgroups_test.go b/pkg/sensors/exec/cgroups_test.go index 36aed46d4c4..a6ff36df7ee 100644 --- a/pkg/sensors/exec/cgroups_test.go +++ b/pkg/sensors/exec/cgroups_test.go @@ -70,11 +70,6 @@ const ( ) var ( - loadedSensors = []*sensors.Sensor{ - testsensor.GetTestSensor(), - testsensor.GetCgroupSensor(), - } - defaultKubeCgroupHierarchy = []cgroupHierarchy{ {"tetragon-tests-39d631b6f0fbc4e261c7a0ee636cf434-defaultKubeCgroupHierarchy-system.slice", true, false, false, false, 0, 0, "", "", nil}, {"kubelet.slice", true, false, false, false, 0, 0, "", "", nil}, @@ -95,6 +90,13 @@ var ( } ) +func getLoadedSensors() []*sensors.Sensor { + return []*sensors.Sensor{ + testsensor.GetTestSensor(), + testsensor.GetCgroupSensor(), + } +} + func getTrackingLevel(cgroupHierarchy []cgroupHierarchy) uint32 { level := 0 for i, cgroup := range cgroupHierarchy { @@ -649,7 +651,7 @@ func TestCgroupNoEvents(t *testing.T) { testManager := setupObserver(ctx, t) - testManager.AddAndEnableSensors(ctx, t, loadedSensors) + testManager.AddAndEnableSensors(ctx, t, getLoadedSensors()) // Set Cgroup Tracking level to Zero means no tracking and no // cgroup events, all bpf cgroups related programs have no effect @@ -701,9 +703,9 @@ func TestCgroupEventMkdirRmdir(t *testing.T) { testManager := setupObserver(ctx, t) - testManager.AddAndEnableSensors(ctx, t, loadedSensors) + testManager.AddAndEnableSensors(ctx, t, getLoadedSensors()) t.Cleanup(func() { - testManager.DisableSensors(ctx, t, loadedSensors) + testManager.DisableSensors(ctx, t, getLoadedSensors()) }) // Set Tracking level to 3 so we receive notifcations about @@ -880,9 +882,9 @@ func testCgroupv2HierarchyInUnified(ctx context.Context, t *testing.T, func testCgroupv2K8sHierarchy(ctx context.Context, t *testing.T, mode cgroups.CgroupModeCode, withExec bool) { testManager := setupObserver(ctx, t) - testManager.AddAndEnableSensors(ctx, t, loadedSensors) + testManager.AddAndEnableSensors(ctx, t, getLoadedSensors()) t.Cleanup(func() { - testManager.DisableSensors(ctx, t, loadedSensors) + testManager.DisableSensors(ctx, t, getLoadedSensors()) }) _, err := testutils.GetTgRuntimeConf() @@ -1094,7 +1096,7 @@ func testCgroupv1K8sHierarchyInHybrid(t *testing.T, withExec bool, selectedContr testManager := setupObserver(ctx, t) - testManager.AddAndEnableSensors(ctx, t, loadedSensors) + testManager.AddAndEnableSensors(ctx, t, getLoadedSensors()) // Probe full environment detection _, err := testutils.GetTgRuntimeConf() diff --git a/pkg/sensors/handler.go b/pkg/sensors/handler.go index 4aa6b001558..60690423d8e 100644 --- a/pkg/sensors/handler.go +++ b/pkg/sensors/handler.go @@ -123,6 +123,7 @@ func (h *handler) addTracingPolicy(op *tracingPolicyAdd) error { if err := col.load(h.bpfDir, h.mapDir); err != nil { return err } + col.enabled = true // NB: in some cases it might make sense to keep the policy registered if there was an // error. For now, however, we only keep it if it was successfully loaded @@ -135,20 +136,17 @@ func (h *handler) deleteTracingPolicy(op *tracingPolicyDelete) error { if !exists { return fmt.Errorf("tracing policy %s does not exist", op.name) } - err := col.unload() - if err != nil { - col.err = fmt.Errorf("failed to unload tracing policy: %w", err) - return err - } + defer delete(h.collections, op.name) + + col.destroy() filterID := policyfilter.PolicyID(col.policyfilterID) - err = h.pfState.DelPolicy(filterID) + err := h.pfState.DelPolicy(filterID) if err != nil { col.err = fmt.Errorf("failed to remove from policyfilter: %w", err) return err } - delete(h.collections, op.name) return nil } @@ -160,9 +158,11 @@ func (h *handler) listTracingPolicies(op *tracingPolicyList) error { } pol := tetragon.TracingPolicyStatus{ - Id: col.tracingpolicyID, - Name: name, - Info: fmt.Sprintf("%s filterID:%d error:%v", col.tracingpolicy.TpInfo(), col.policyfilterID, col.err), + Id: col.tracingpolicyID, + Name: name, + Enabled: col.enabled, + FilterId: col.policyfilterID, + Error: fmt.Sprint(col.err), } pol.Namespace = "" @@ -181,6 +181,46 @@ func (h *handler) listTracingPolicies(op *tracingPolicyList) error { return nil } +func (h *handler) disableTracingPolicy(op *tracingPolicyDisable) error { + col, exists := h.collections[op.name] + if !exists { + return fmt.Errorf("tracing policy %s does not exist", op.name) + } + + if !col.enabled { + return fmt.Errorf("tracing policy %s is already disabled", op.name) + } + + err := col.unload() + if err != nil { + col.err = fmt.Errorf("failed to unload tracing policy: %w", err) + return err + } + + col.enabled = false + h.collections[op.name] = col + return nil +} + +func (h *handler) enableTracingPolicy(op *tracingPolicyEnable) error { + col, exists := h.collections[op.name] + if !exists { + return fmt.Errorf("tracing policy %s does not exist", op.name) + } + + if col.enabled { + return fmt.Errorf("tracing policy %s is already enabled", op.name) + } + + if err := col.load(h.bpfDir, h.mapDir); err != nil { + return err + } + + col.enabled = true + h.collections[op.name] = col + return nil +} + func (h *handler) addSensor(op *sensorAdd) error { if _, exists := h.collections[op.name]; exists { return fmt.Errorf("sensor %s already exists", op.name) @@ -215,9 +255,10 @@ func (h *handler) removeSensor(op *sensorRemove) error { if !exists { return fmt.Errorf("sensor %s does not exist", op.name) } - err := col.unload() + + col.destroy() delete(h.collections, op.name) - return err + return nil } func (h *handler) enableSensor(op *sensorEnable) error { diff --git a/pkg/sensors/load.go b/pkg/sensors/load.go index 650caa6ea0d..24a5265dc0e 100644 --- a/pkg/sensors/load.go +++ b/pkg/sensors/load.go @@ -69,6 +69,10 @@ func (s *Sensor) Load(bpfDir, mapDir string) error { return nil } + if s.Destroyed { + return fmt.Errorf("sensor %s has been previously destroyed, please recreate it before loading", s.Name) + } + // Add the loaded programs and maps to All* so they can be unloaded on shutdown. AllPrograms = append(AllPrograms, s.Progs...) AllMaps = append(AllMaps, s.Maps...) @@ -149,6 +153,25 @@ func (s *Sensor) Unload() error { return nil } +// Destroy will unload the hook and call DestroyHook, this hook is usually used +// to clean up resources that were created during creation of the sensor. +func (s *Sensor) Destroy() { + err := s.Unload() + if err != nil { + // do not return on error but just log since Unload can only error on + // sensor being already not loaded + logger.GetLogger().WithError(err).WithField("sensor", s.Name).Warn("Unload failed during destroy") + } + + if s.DestroyHook != nil { + err = s.DestroyHook() + if err != nil { + logger.GetLogger().WithError(err).WithField("sensor", s.Name).Warn("Destroy hook failed") + } + } + s.Destroyed = true +} + func (s *Sensor) findProgram(p *program.Program) error { logger.GetLogger().WithField("file", p.Name).Debug("Checking for bpf file") if _, err := os.Stat(p.Name); err == nil { diff --git a/pkg/sensors/manager.go b/pkg/sensors/manager.go index 22d12364e78..64e9e4122a3 100644 --- a/pkg/sensors/manager.go +++ b/pkg/sensors/manager.go @@ -77,6 +77,10 @@ func startSensorManager( err = handler.deleteTracingPolicy(op) case *tracingPolicyList: err = handler.listTracingPolicies(op) + case *tracingPolicyEnable: + err = handler.enableTracingPolicy(op) + case *tracingPolicyDisable: + err = handler.disableTracingPolicy(op) case *sensorAdd: err = handler.addSensor(op) case *sensorRemove: @@ -208,6 +212,34 @@ func (h *Manager) DeleteTracingPolicy(ctx context.Context, name string) error { return err } +func (h *Manager) EnableTracingPolicy(ctx context.Context, name string) error { + retc := make(chan error) + op := &tracingPolicyEnable{ + ctx: ctx, + name: name, + retChan: retc, + } + + h.sensorCtl <- op + err := <-retc + + return err +} + +func (h *Manager) DisableTracingPolicy(ctx context.Context, name string) error { + retc := make(chan error) + op := &tracingPolicyDisable{ + ctx: ctx, + name: name, + retChan: retc, + } + + h.sensorCtl <- op + err := <-retc + + return err +} + // ListTracingPolicies returns a list of the active tracing policies func (h *Manager) ListTracingPolicies(ctx context.Context) (*tetragon.ListTracingPoliciesResponse, error) { retc := make(chan error) @@ -321,6 +353,18 @@ type tracingPolicyList struct { retChan chan error } +type tracingPolicyDisable struct { + ctx context.Context + name string + retChan chan error +} + +type tracingPolicyEnable struct { + ctx context.Context + name string + retChan chan error +} + // sensorOp is an interface for the sensor operations. // Not strictly needed but allows for better type checking. type sensorOp interface { @@ -374,14 +418,16 @@ type LoadArg struct{} type UnloadArg = LoadArg // trivial sensorOpDone implementations for commands -func (s *tracingPolicyAdd) sensorOpDone(e error) { s.retChan <- e } -func (s *tracingPolicyDelete) sensorOpDone(e error) { s.retChan <- e } -func (s *tracingPolicyList) sensorOpDone(e error) { s.retChan <- e } -func (s *sensorAdd) sensorOpDone(e error) { s.retChan <- e } -func (s *sensorRemove) sensorOpDone(e error) { s.retChan <- e } -func (s *sensorEnable) sensorOpDone(e error) { s.retChan <- e } -func (s *sensorDisable) sensorOpDone(e error) { s.retChan <- e } -func (s *sensorList) sensorOpDone(e error) { s.retChan <- e } -func (s *sensorCtlStop) sensorOpDone(e error) { s.retChan <- e } +func (s *tracingPolicyAdd) sensorOpDone(e error) { s.retChan <- e } +func (s *tracingPolicyDelete) sensorOpDone(e error) { s.retChan <- e } +func (s *tracingPolicyList) sensorOpDone(e error) { s.retChan <- e } +func (s *tracingPolicyEnable) sensorOpDone(e error) { s.retChan <- e } +func (s *tracingPolicyDisable) sensorOpDone(e error) { s.retChan <- e } +func (s *sensorAdd) sensorOpDone(e error) { s.retChan <- e } +func (s *sensorRemove) sensorOpDone(e error) { s.retChan <- e } +func (s *sensorEnable) sensorOpDone(e error) { s.retChan <- e } +func (s *sensorDisable) sensorOpDone(e error) { s.retChan <- e } +func (s *sensorList) sensorOpDone(e error) { s.retChan <- e } +func (s *sensorCtlStop) sensorOpDone(e error) { s.retChan <- e } type sensorCtlHandle = chan<- sensorOp diff --git a/pkg/sensors/sensors.go b/pkg/sensors/sensors.go index d7424dbf44d..3a797a63c8a 100644 --- a/pkg/sensors/sensors.go +++ b/pkg/sensors/sensors.go @@ -41,19 +41,25 @@ type Sensor struct { Maps []*program.Map // Loaded indicates whether the sensor has been Loaded. Loaded bool + // Destroyed indicates whether the sensor had been destroyed. + Destroyed bool // PreUnloadHook can optionally contain a pointer to a function to be // called during sensor unloading, prior to the programs and maps being // unloaded. - PreUnloadHook SensorUnloadHook + PreUnloadHook SensorHook // PostUnloadHook can optionally contain a pointer to a function to be // called during sensor unloading, after the programs and maps being // unloaded. - PostUnloadHook SensorUnloadHook + PostUnloadHook SensorHook + // DestroyHook can optionally contain a pointer to a function to be called + // when removing the sensor, sensor cannot be loaded again after this hook + // being triggered and must be recreated. + DestroyHook SensorHook } -// SensorUnloadHook is the function signature for an optional function -// that can be called during sensor unloading. -type SensorUnloadHook func() error +// SensorHook is the function signature for an optional function +// that can be called during sensor unloading and removing. +type SensorHook func() error func SensorCombine(name string, sensors ...*Sensor) *Sensor { progs := []*program.Program{} diff --git a/pkg/sensors/tracing/generickprobe.go b/pkg/sensors/tracing/generickprobe.go index 0861d6f807b..0a105fbdb62 100644 --- a/pkg/sensors/tracing/generickprobe.go +++ b/pkg/sensors/tracing/generickprobe.go @@ -555,7 +555,7 @@ func createGenericKprobeSensor( PostUnloadHook: func() error { var errs error for _, idx := range addedKprobeIndices { - entry, err := genericKprobeTable.RemoveEntry(idtable.EntryID{ID: idx}) + entry, err := genericKprobeTable.GetEntry(idtable.EntryID{ID: idx}) if err != nil { errs = errors.Join(errs, err) } @@ -563,24 +563,35 @@ func createGenericKprobeSensor( // close the eventual reference to the stack trace map gk, ok := entry.(*genericKprobe) if !ok { - errs = errors.Join(errs, fmt.Errorf("entry removed from genericKprobeTable with invalid type: %T (%v)", entry, entry)) + errs = errors.Join(errs, fmt.Errorf("entry from genericKprobeTable with invalid type: %T (%v)", entry, entry)) } else { if gk.stackTraceMapRef != nil { err = gk.stackTraceMapRef.Close() if err != nil { errs = errors.Join(errs, fmt.Errorf("failed to close map: %v", gk.stackTraceMapRef)) } + gk.stackTraceMapRef = nil } } } return errs }, + DestroyHook: func() error { + var errs error + for _, idx := range addedKprobeIndices { + _, err := genericKprobeTable.RemoveEntry(idtable.EntryID{ID: idx}) + if err != nil { + errs = errors.Join(errs, err) + } + } + return errs + }, }, nil } // addKprobe will, amongst other things, create a generic kprobe entry and add // it to the genericKprobeTable. The caller should make sure that this entry is -// properly removed on kprobe unload. +// properly removed on kprobe removal. func addKprobe(funcName string, f *v1alpha1.KProbeSpec, in *addKprobeIn, selMaps *selectors.KernelSelectorMaps) (out *addKprobeOut, err error) { var argSigPrinters []argPrinters var argReturnPrinters []argPrinters diff --git a/pkg/sensors/tracing/generickprobe_test.go b/pkg/sensors/tracing/generickprobe_test.go index 23dfa609899..9955ef04d83 100644 --- a/pkg/sensors/tracing/generickprobe_test.go +++ b/pkg/sensors/tracing/generickprobe_test.go @@ -5,10 +5,18 @@ package tracing import ( "bytes" + "context" "testing" + "time" + "github.com/cilium/tetragon/pkg/bpf" "github.com/cilium/tetragon/pkg/idtable" "github.com/cilium/tetragon/pkg/k8s/apis/cilium.io/v1alpha1" + "github.com/cilium/tetragon/pkg/sensors" + "github.com/cilium/tetragon/pkg/sensors/base" + tus "github.com/cilium/tetragon/pkg/testutils/sensors" + "github.com/stretchr/testify/assert" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) func Fuzz_parseString(f *testing.F) { @@ -54,15 +62,15 @@ func Test_parseString(t *testing.T) { }) } -func Test_SensorPostUnloadHook(t *testing.T) { +func Test_SensorDestroyHook(t *testing.T) { if genericKprobeTable.Len() != 0 { t.Errorf("genericKprobeTable expected initial length: 0, got: %d", genericKprobeTable.Len()) } - // we use createGenericKprobeSensor because it's where the PostUnloadHook is + // we use createGenericKprobeSensor because it's where the DestroyHook is // created. It would be technically more correct if it was added just after // insertion in the table in AddKprobe, but this is done by the caller to - // have just PostUnloadHook that regroups all the potential multiple kprobes + // have just DestroyHook that regroups all the potential multiple kprobes // contained in one sensor. sensor, err := createGenericKprobeSensor("test_sensor", []v1alpha1.KProbeSpec{ { @@ -91,12 +99,9 @@ func Test_SensorPostUnloadHook(t *testing.T) { // never loaded sensor.Loaded = true - // Unload should call the PostUnloadHook that was set in + // Destroy should call the DestroyHook that was set in // createGenericKprobeSensor and do the cleanup - err = sensor.Unload() - if err != nil { - t.Errorf("sensor.Unload err expected: nil, got: %s", err) - } + sensor.Destroy() // Table implem detail: the entry still technically exists in the table but // is invalid, thus is not taken into account in the length @@ -104,3 +109,64 @@ func Test_SensorPostUnloadHook(t *testing.T) { t.Errorf("genericKprobeTable expected length after cleanup: 0, got: %d", genericKprobeTable.Len()) } } + +// Test_Kprobe_DisableEnablePolicy tests that disabling and enabling a tracing +// policy containing a kprobe works. This is following a regression: +// https://github.com/cilium/tetragon/issues/1489 +func Test_Kprobe_DisableEnablePolicy(t *testing.T) { + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + + tus.LoadSensor(t, base.GetInitialSensor()) + path := bpf.MapPrefixPath() + mgr, err := sensors.StartSensorManager(path, path, nil) + assert.NoError(t, err) + t.Cleanup(func() { + if err := mgr.StopSensorManager(ctx); err != nil { + panic("failed to stop sensor manager") + } + }) + + const policyName = "test" + policy := v1alpha1.TracingPolicy{ + ObjectMeta: v1.ObjectMeta{ + Name: policyName, + }, + Spec: v1alpha1.TracingPolicySpec{ + KProbes: []v1alpha1.KProbeSpec{ + { + Call: "tcp_connect", + Syscall: false, + }, + }, + }, + } + + t.Run("sensor", func(t *testing.T) { + err = mgr.AddTracingPolicy(ctx, &policy) + assert.NoError(t, err) + t.Cleanup(func() { + err = mgr.DeleteTracingPolicy(ctx, policyName) + assert.NoError(t, err) + }) + + err = mgr.DisableSensor(ctx, policyName) + assert.NoError(t, err) + err = mgr.EnableSensor(ctx, policyName) + assert.NoError(t, err) + }) + + t.Run("tracing-policy", func(t *testing.T) { + err = mgr.AddTracingPolicy(ctx, &policy) + assert.NoError(t, err) + t.Cleanup(func() { + err = mgr.DeleteTracingPolicy(ctx, policyName) + assert.NoError(t, err) + }) + + err = mgr.DisableTracingPolicy(ctx, policyName) + assert.NoError(t, err) + err = mgr.EnableTracingPolicy(ctx, policyName) + assert.NoError(t, err) + }) +} diff --git a/pkg/server/fake_observer.go b/pkg/server/fake_observer.go index e441261470b..2cdbb3c488e 100644 --- a/pkg/server/fake_observer.go +++ b/pkg/server/fake_observer.go @@ -38,6 +38,14 @@ func (f *FakeObserver) DeleteTracingPolicy(ctx context.Context, sensorName strin return nil } +func (f *FakeObserver) EnableTracingPolicy(ctx context.Context, sensorName string) error { + return nil +} + +func (f *FakeObserver) DisableTracingPolicy(ctx context.Context, sensorName string) error { + return nil +} + func (f *FakeObserver) RemoveSensor(ctx context.Context, sensorName string) error { return nil } diff --git a/pkg/server/server.go b/pkg/server/server.go index cf4618aab97..40cab9fc488 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -43,6 +43,10 @@ type observer interface { DeleteTracingPolicy(ctx context.Context, name string) error // ListTracingPolicies lists active traing policies ListTracingPolicies(ctx context.Context) (*tetragon.ListTracingPoliciesResponse, error) + DisableTracingPolicy(ctx context.Context, name string) error + EnableTracingPolicy(ctx context.Context, name string) error + // ListTracingPolicies lists active traing policies + // ListTracingPolicies lists active traing policies EnableSensor(ctx context.Context, name string) error DisableSensor(ctx context.Context, name string) error @@ -270,6 +274,34 @@ func (s *Server) DeleteTracingPolicy(ctx context.Context, req *tetragon.DeleteTr return &tetragon.DeleteTracingPolicyResponse{}, nil } +func (s *Server) EnableTracingPolicy(ctx context.Context, req *tetragon.EnableTracingPolicyRequest) (*tetragon.EnableTracingPolicyResponse, error) { + logger.GetLogger().WithFields(logrus.Fields{ + "name": req.GetName(), + }).Debug("Received a EnableTracingPolicy request") + + if err := s.observer.EnableTracingPolicy(ctx, req.GetName()); err != nil { + logger.GetLogger().WithFields(logrus.Fields{ + "name": req.GetName(), + }).WithError(err).Warn("Server EnableTracingPolicy request failed") + return nil, err + } + return &tetragon.EnableTracingPolicyResponse{}, nil +} + +func (s *Server) DisableTracingPolicy(ctx context.Context, req *tetragon.DisableTracingPolicyRequest) (*tetragon.DisableTracingPolicyResponse, error) { + logger.GetLogger().WithFields(logrus.Fields{ + "name": req.GetName(), + }).Debug("Received a DisableTracingPolicy request") + + if err := s.observer.DisableTracingPolicy(ctx, req.GetName()); err != nil { + logger.GetLogger().WithFields(logrus.Fields{ + "name": req.GetName(), + }).WithError(err).Warn("Server DisableTracingPolicy request failed") + return nil, err + } + return &tetragon.DisableTracingPolicyResponse{}, nil +} + func (s *Server) ListTracingPolicies(ctx context.Context, req *tetragon.ListTracingPoliciesRequest) (*tetragon.ListTracingPoliciesResponse, error) { logger.GetLogger().WithField("request", req).Debug("Received a ListTracingPolicies request") ret, err := s.observer.ListTracingPolicies(ctx) diff --git a/pkg/testutils/sensors/testrun.go b/pkg/testutils/sensors/testrun.go index 32e4f3c4e43..d23b9ac5e01 100644 --- a/pkg/testutils/sensors/testrun.go +++ b/pkg/testutils/sensors/testrun.go @@ -111,6 +111,10 @@ func TestSensorsRun(m *testing.M, sensorName string) int { bpf.CheckOrMountDebugFS() bpf.ConfigureResourceLimits() + if config.TetragonLib != "" { + option.Config.HubbleLib = config.TetragonLib + } + bpf.SetMapPrefix(testMapDir) defer func() { log := logger.GetLogger() diff --git a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go index ab5d6494a9a..aabcfc7bb73 100644 --- a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go +++ b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go @@ -227,6 +227,12 @@ type TracingPolicyStatus struct { Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"` // sensors loaded in the scope of this policy Sensors []string `protobuf:"bytes,5,rep,name=sensors,proto3" json:"sensors,omitempty"` + // indicating if the policy is enabled + Enabled bool `protobuf:"varint,6,opt,name=enabled,proto3" json:"enabled,omitempty"` + // filter ID of the policy used for k8s filtering + FilterId uint64 `protobuf:"varint,7,opt,name=filter_id,json=filterId,proto3" json:"filter_id,omitempty"` + // potential error of the policy + Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"` } func (x *TracingPolicyStatus) Reset() { @@ -296,6 +302,27 @@ func (x *TracingPolicyStatus) GetSensors() []string { return nil } +func (x *TracingPolicyStatus) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *TracingPolicyStatus) GetFilterId() uint64 { + if x != nil { + return x.FilterId + } + return 0 +} + +func (x *TracingPolicyStatus) GetError() string { + if x != nil { + return x.Error + } + return "" +} + type ListTracingPoliciesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -513,6 +540,176 @@ func (*DeleteTracingPolicyResponse) Descriptor() ([]byte, []int) { return file_tetragon_sensors_proto_rawDescGZIP(), []int{9} } +type EnableTracingPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *EnableTracingPolicyRequest) Reset() { + *x = EnableTracingPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnableTracingPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableTracingPolicyRequest) ProtoMessage() {} + +func (x *EnableTracingPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnableTracingPolicyRequest.ProtoReflect.Descriptor instead. +func (*EnableTracingPolicyRequest) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{10} +} + +func (x *EnableTracingPolicyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type EnableTracingPolicyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *EnableTracingPolicyResponse) Reset() { + *x = EnableTracingPolicyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnableTracingPolicyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableTracingPolicyResponse) ProtoMessage() {} + +func (x *EnableTracingPolicyResponse) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[11] + 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 EnableTracingPolicyResponse.ProtoReflect.Descriptor instead. +func (*EnableTracingPolicyResponse) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{11} +} + +type DisableTracingPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DisableTracingPolicyRequest) Reset() { + *x = DisableTracingPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableTracingPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableTracingPolicyRequest) ProtoMessage() {} + +func (x *DisableTracingPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[12] + 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 DisableTracingPolicyRequest.ProtoReflect.Descriptor instead. +func (*DisableTracingPolicyRequest) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{12} +} + +func (x *DisableTracingPolicyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type DisableTracingPolicyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DisableTracingPolicyResponse) Reset() { + *x = DisableTracingPolicyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableTracingPolicyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableTracingPolicyResponse) ProtoMessage() {} + +func (x *DisableTracingPolicyResponse) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[13] + 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 DisableTracingPolicyResponse.ProtoReflect.Descriptor instead. +func (*DisableTracingPolicyResponse) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{13} +} + type RemoveSensorRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -524,7 +721,7 @@ type RemoveSensorRequest struct { func (x *RemoveSensorRequest) Reset() { *x = RemoveSensorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[10] + mi := &file_tetragon_sensors_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -537,7 +734,7 @@ func (x *RemoveSensorRequest) String() string { func (*RemoveSensorRequest) ProtoMessage() {} func (x *RemoveSensorRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[10] + mi := &file_tetragon_sensors_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -550,7 +747,7 @@ func (x *RemoveSensorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveSensorRequest.ProtoReflect.Descriptor instead. func (*RemoveSensorRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{10} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{14} } func (x *RemoveSensorRequest) GetName() string { @@ -569,7 +766,7 @@ type RemoveSensorResponse struct { func (x *RemoveSensorResponse) Reset() { *x = RemoveSensorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[11] + mi := &file_tetragon_sensors_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -582,7 +779,7 @@ func (x *RemoveSensorResponse) String() string { func (*RemoveSensorResponse) ProtoMessage() {} func (x *RemoveSensorResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[11] + mi := &file_tetragon_sensors_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -595,7 +792,7 @@ func (x *RemoveSensorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveSensorResponse.ProtoReflect.Descriptor instead. func (*RemoveSensorResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{11} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{15} } type EnableSensorRequest struct { @@ -609,7 +806,7 @@ type EnableSensorRequest struct { func (x *EnableSensorRequest) Reset() { *x = EnableSensorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[12] + mi := &file_tetragon_sensors_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -622,7 +819,7 @@ func (x *EnableSensorRequest) String() string { func (*EnableSensorRequest) ProtoMessage() {} func (x *EnableSensorRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[12] + mi := &file_tetragon_sensors_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -635,7 +832,7 @@ func (x *EnableSensorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableSensorRequest.ProtoReflect.Descriptor instead. func (*EnableSensorRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{12} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{16} } func (x *EnableSensorRequest) GetName() string { @@ -654,7 +851,7 @@ type EnableSensorResponse struct { func (x *EnableSensorResponse) Reset() { *x = EnableSensorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[13] + mi := &file_tetragon_sensors_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -667,7 +864,7 @@ func (x *EnableSensorResponse) String() string { func (*EnableSensorResponse) ProtoMessage() {} func (x *EnableSensorResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[13] + mi := &file_tetragon_sensors_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -680,7 +877,7 @@ func (x *EnableSensorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableSensorResponse.ProtoReflect.Descriptor instead. func (*EnableSensorResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{13} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{17} } type DisableSensorRequest struct { @@ -694,7 +891,7 @@ type DisableSensorRequest struct { func (x *DisableSensorRequest) Reset() { *x = DisableSensorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[14] + mi := &file_tetragon_sensors_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -707,7 +904,7 @@ func (x *DisableSensorRequest) String() string { func (*DisableSensorRequest) ProtoMessage() {} func (x *DisableSensorRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[14] + mi := &file_tetragon_sensors_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -720,7 +917,7 @@ func (x *DisableSensorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableSensorRequest.ProtoReflect.Descriptor instead. func (*DisableSensorRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{14} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{18} } func (x *DisableSensorRequest) GetName() string { @@ -739,7 +936,7 @@ type DisableSensorResponse struct { func (x *DisableSensorResponse) Reset() { *x = DisableSensorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[15] + mi := &file_tetragon_sensors_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -752,7 +949,7 @@ func (x *DisableSensorResponse) String() string { func (*DisableSensorResponse) ProtoMessage() {} func (x *DisableSensorResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[15] + mi := &file_tetragon_sensors_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -765,7 +962,7 @@ func (x *DisableSensorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableSensorResponse.ProtoReflect.Descriptor instead. func (*DisableSensorResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{15} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{19} } type GetStackTraceTreeRequest struct { @@ -779,7 +976,7 @@ type GetStackTraceTreeRequest struct { func (x *GetStackTraceTreeRequest) Reset() { *x = GetStackTraceTreeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[16] + mi := &file_tetragon_sensors_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -792,7 +989,7 @@ func (x *GetStackTraceTreeRequest) String() string { func (*GetStackTraceTreeRequest) ProtoMessage() {} func (x *GetStackTraceTreeRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[16] + mi := &file_tetragon_sensors_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -805,7 +1002,7 @@ func (x *GetStackTraceTreeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStackTraceTreeRequest.ProtoReflect.Descriptor instead. func (*GetStackTraceTreeRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{16} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{20} } func (x *GetStackTraceTreeRequest) GetName() string { @@ -826,7 +1023,7 @@ type GetStackTraceTreeResponse struct { func (x *GetStackTraceTreeResponse) Reset() { *x = GetStackTraceTreeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[17] + mi := &file_tetragon_sensors_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -839,7 +1036,7 @@ func (x *GetStackTraceTreeResponse) String() string { func (*GetStackTraceTreeResponse) ProtoMessage() {} func (x *GetStackTraceTreeResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[17] + mi := &file_tetragon_sensors_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -852,7 +1049,7 @@ func (x *GetStackTraceTreeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStackTraceTreeResponse.ProtoReflect.Descriptor instead. func (*GetStackTraceTreeResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{17} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{21} } func (x *GetStackTraceTreeResponse) GetRoot() *StackTraceNode { @@ -871,7 +1068,7 @@ type GetVersionRequest struct { func (x *GetVersionRequest) Reset() { *x = GetVersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[18] + mi := &file_tetragon_sensors_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -884,7 +1081,7 @@ func (x *GetVersionRequest) String() string { func (*GetVersionRequest) ProtoMessage() {} func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[18] + mi := &file_tetragon_sensors_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -897,7 +1094,7 @@ func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionRequest.ProtoReflect.Descriptor instead. func (*GetVersionRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{18} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{22} } type GetVersionResponse struct { @@ -911,7 +1108,7 @@ type GetVersionResponse struct { func (x *GetVersionResponse) Reset() { *x = GetVersionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[19] + mi := &file_tetragon_sensors_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -924,7 +1121,7 @@ func (x *GetVersionResponse) String() string { func (*GetVersionResponse) ProtoMessage() {} func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[19] + mi := &file_tetragon_sensors_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -937,7 +1134,7 @@ func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionResponse.ProtoReflect.Descriptor instead. func (*GetVersionResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{19} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{23} } func (x *GetVersionResponse) GetVersion() string { @@ -970,7 +1167,7 @@ var file_tetragon_sensors_proto_rawDesc = []byte{ 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x22, 0x1c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x85, 0x01, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x65, 0x73, 0x74, 0x22, 0xd2, 0x01, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, @@ -978,82 +1175,110 @@ var file_tetragon_sensors_proto_rawDesc = []byte{ 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x22, 0x58, 0x0a, 0x1b, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, - 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x2d, 0x0a, 0x17, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x79, 0x61, 0x6d, 0x6c, 0x22, 0x1a, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, - 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x30, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x58, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x22, 0x2d, 0x0a, 0x17, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x79, 0x61, 0x6d, + 0x6c, 0x22, 0x1a, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x0a, + 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, + 0x0a, 0x1a, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x1d, 0x0a, 0x1b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x31, 0x0a, 0x1b, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, + 0x6d, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, + 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, + 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x16, 0x0a, 0x14, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, + 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, + 0x19, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, + 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2e, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x32, 0xe8, 0x09, + 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x65, 0x47, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, + 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, + 0x52, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x74, + 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, + 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x64, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, + 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, + 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, + 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, + 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x29, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, - 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x16, 0x0a, 0x14, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, - 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x0a, 0x18, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x19, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x72, 0x6f, 0x6f, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2e, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x32, 0x99, 0x08, 0x0a, - 0x13, 0x46, 0x69, 0x6e, 0x65, 0x47, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x6e, - 0x73, 0x6f, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x52, - 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x74, 0x65, - 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, - 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x64, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, - 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, - 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, - 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, - 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, - 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, - 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, + 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x74, 0x65, + 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, @@ -1099,66 +1324,74 @@ func file_tetragon_sensors_proto_rawDescGZIP() []byte { return file_tetragon_sensors_proto_rawDescData } -var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_tetragon_sensors_proto_goTypes = []interface{}{ - (*ListSensorsRequest)(nil), // 0: tetragon.ListSensorsRequest - (*SensorStatus)(nil), // 1: tetragon.SensorStatus - (*ListSensorsResponse)(nil), // 2: tetragon.ListSensorsResponse - (*ListTracingPoliciesRequest)(nil), // 3: tetragon.ListTracingPoliciesRequest - (*TracingPolicyStatus)(nil), // 4: tetragon.TracingPolicyStatus - (*ListTracingPoliciesResponse)(nil), // 5: tetragon.ListTracingPoliciesResponse - (*AddTracingPolicyRequest)(nil), // 6: tetragon.AddTracingPolicyRequest - (*AddTracingPolicyResponse)(nil), // 7: tetragon.AddTracingPolicyResponse - (*DeleteTracingPolicyRequest)(nil), // 8: tetragon.DeleteTracingPolicyRequest - (*DeleteTracingPolicyResponse)(nil), // 9: tetragon.DeleteTracingPolicyResponse - (*RemoveSensorRequest)(nil), // 10: tetragon.RemoveSensorRequest - (*RemoveSensorResponse)(nil), // 11: tetragon.RemoveSensorResponse - (*EnableSensorRequest)(nil), // 12: tetragon.EnableSensorRequest - (*EnableSensorResponse)(nil), // 13: tetragon.EnableSensorResponse - (*DisableSensorRequest)(nil), // 14: tetragon.DisableSensorRequest - (*DisableSensorResponse)(nil), // 15: tetragon.DisableSensorResponse - (*GetStackTraceTreeRequest)(nil), // 16: tetragon.GetStackTraceTreeRequest - (*GetStackTraceTreeResponse)(nil), // 17: tetragon.GetStackTraceTreeResponse - (*GetVersionRequest)(nil), // 18: tetragon.GetVersionRequest - (*GetVersionResponse)(nil), // 19: tetragon.GetVersionResponse - (*StackTraceNode)(nil), // 20: tetragon.StackTraceNode - (*GetEventsRequest)(nil), // 21: tetragon.GetEventsRequest - (*GetHealthStatusRequest)(nil), // 22: tetragon.GetHealthStatusRequest - (*RuntimeHookRequest)(nil), // 23: tetragon.RuntimeHookRequest - (*GetEventsResponse)(nil), // 24: tetragon.GetEventsResponse - (*GetHealthStatusResponse)(nil), // 25: tetragon.GetHealthStatusResponse - (*RuntimeHookResponse)(nil), // 26: tetragon.RuntimeHookResponse + (*ListSensorsRequest)(nil), // 0: tetragon.ListSensorsRequest + (*SensorStatus)(nil), // 1: tetragon.SensorStatus + (*ListSensorsResponse)(nil), // 2: tetragon.ListSensorsResponse + (*ListTracingPoliciesRequest)(nil), // 3: tetragon.ListTracingPoliciesRequest + (*TracingPolicyStatus)(nil), // 4: tetragon.TracingPolicyStatus + (*ListTracingPoliciesResponse)(nil), // 5: tetragon.ListTracingPoliciesResponse + (*AddTracingPolicyRequest)(nil), // 6: tetragon.AddTracingPolicyRequest + (*AddTracingPolicyResponse)(nil), // 7: tetragon.AddTracingPolicyResponse + (*DeleteTracingPolicyRequest)(nil), // 8: tetragon.DeleteTracingPolicyRequest + (*DeleteTracingPolicyResponse)(nil), // 9: tetragon.DeleteTracingPolicyResponse + (*EnableTracingPolicyRequest)(nil), // 10: tetragon.EnableTracingPolicyRequest + (*EnableTracingPolicyResponse)(nil), // 11: tetragon.EnableTracingPolicyResponse + (*DisableTracingPolicyRequest)(nil), // 12: tetragon.DisableTracingPolicyRequest + (*DisableTracingPolicyResponse)(nil), // 13: tetragon.DisableTracingPolicyResponse + (*RemoveSensorRequest)(nil), // 14: tetragon.RemoveSensorRequest + (*RemoveSensorResponse)(nil), // 15: tetragon.RemoveSensorResponse + (*EnableSensorRequest)(nil), // 16: tetragon.EnableSensorRequest + (*EnableSensorResponse)(nil), // 17: tetragon.EnableSensorResponse + (*DisableSensorRequest)(nil), // 18: tetragon.DisableSensorRequest + (*DisableSensorResponse)(nil), // 19: tetragon.DisableSensorResponse + (*GetStackTraceTreeRequest)(nil), // 20: tetragon.GetStackTraceTreeRequest + (*GetStackTraceTreeResponse)(nil), // 21: tetragon.GetStackTraceTreeResponse + (*GetVersionRequest)(nil), // 22: tetragon.GetVersionRequest + (*GetVersionResponse)(nil), // 23: tetragon.GetVersionResponse + (*StackTraceNode)(nil), // 24: tetragon.StackTraceNode + (*GetEventsRequest)(nil), // 25: tetragon.GetEventsRequest + (*GetHealthStatusRequest)(nil), // 26: tetragon.GetHealthStatusRequest + (*RuntimeHookRequest)(nil), // 27: tetragon.RuntimeHookRequest + (*GetEventsResponse)(nil), // 28: tetragon.GetEventsResponse + (*GetHealthStatusResponse)(nil), // 29: tetragon.GetHealthStatusResponse + (*RuntimeHookResponse)(nil), // 30: tetragon.RuntimeHookResponse } var file_tetragon_sensors_proto_depIdxs = []int32{ 1, // 0: tetragon.ListSensorsResponse.sensors:type_name -> tetragon.SensorStatus 4, // 1: tetragon.ListTracingPoliciesResponse.policies:type_name -> tetragon.TracingPolicyStatus - 20, // 2: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode - 21, // 3: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest - 22, // 4: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest + 24, // 2: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode + 25, // 3: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest + 26, // 4: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest 6, // 5: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest 8, // 6: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest - 10, // 7: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest + 14, // 7: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest 3, // 8: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest - 0, // 9: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest - 12, // 10: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest - 14, // 11: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest - 16, // 12: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest - 18, // 13: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest - 23, // 14: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest - 24, // 15: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse - 25, // 16: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse - 7, // 17: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse - 9, // 18: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse - 11, // 19: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse - 5, // 20: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse - 2, // 21: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse - 13, // 22: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse - 15, // 23: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse - 17, // 24: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse - 19, // 25: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse - 26, // 26: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse - 15, // [15:27] is the sub-list for method output_type - 3, // [3:15] is the sub-list for method input_type + 10, // 9: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest + 12, // 10: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest + 0, // 11: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest + 16, // 12: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest + 18, // 13: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest + 20, // 14: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest + 22, // 15: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest + 27, // 16: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest + 28, // 17: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse + 29, // 18: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse + 7, // 19: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse + 9, // 20: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse + 15, // 21: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse + 5, // 22: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse + 11, // 23: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse + 13, // 24: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse + 2, // 25: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse + 17, // 26: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse + 19, // 27: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse + 21, // 28: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse + 23, // 29: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse + 30, // 30: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse + 17, // [17:31] is the sub-list for method output_type + 3, // [3:17] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name @@ -1294,7 +1527,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveSensorRequest); i { + switch v := v.(*EnableTracingPolicyRequest); i { case 0: return &v.state case 1: @@ -1306,7 +1539,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveSensorResponse); i { + switch v := v.(*EnableTracingPolicyResponse); i { case 0: return &v.state case 1: @@ -1318,7 +1551,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableSensorRequest); i { + switch v := v.(*DisableTracingPolicyRequest); i { case 0: return &v.state case 1: @@ -1330,7 +1563,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableSensorResponse); i { + switch v := v.(*DisableTracingPolicyResponse); i { case 0: return &v.state case 1: @@ -1342,7 +1575,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableSensorRequest); i { + switch v := v.(*RemoveSensorRequest); i { case 0: return &v.state case 1: @@ -1354,7 +1587,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableSensorResponse); i { + switch v := v.(*RemoveSensorResponse); i { case 0: return &v.state case 1: @@ -1366,7 +1599,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStackTraceTreeRequest); i { + switch v := v.(*EnableSensorRequest); i { case 0: return &v.state case 1: @@ -1378,7 +1611,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStackTraceTreeResponse); i { + switch v := v.(*EnableSensorResponse); i { case 0: return &v.state case 1: @@ -1390,7 +1623,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersionRequest); i { + switch v := v.(*DisableSensorRequest); i { case 0: return &v.state case 1: @@ -1402,6 +1635,54 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableSensorResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStackTraceTreeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStackTraceTreeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionResponse); i { case 0: return &v.state @@ -1420,7 +1701,7 @@ func file_tetragon_sensors_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tetragon_sensors_proto_rawDesc, NumEnums: 0, - NumMessages: 20, + NumMessages: 24, NumExtensions: 0, NumServices: 1, }, diff --git a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go index c9150471ab7..59292ec3623 100644 --- a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go +++ b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go @@ -167,6 +167,70 @@ func (msg *DeleteTracingPolicyResponse) UnmarshalJSON(b []byte) error { }.Unmarshal(b, msg) } +// MarshalJSON implements json.Marshaler +func (msg *EnableTracingPolicyRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *EnableTracingPolicyRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *EnableTracingPolicyResponse) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *EnableTracingPolicyResponse) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *DisableTracingPolicyRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DisableTracingPolicyRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *DisableTracingPolicyResponse) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DisableTracingPolicyResponse) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + // MarshalJSON implements json.Marshaler func (msg *RemoveSensorRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ diff --git a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto index 8ae0b8be342..232b22a023b 100644 --- a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto +++ b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto @@ -40,7 +40,12 @@ message TracingPolicyStatus { string info = 4; // sensors loaded in the scope of this policy repeated string sensors = 5; - + // indicating if the policy is enabled + bool enabled = 6; + // filter ID of the policy used for k8s filtering + uint64 filter_id = 7; + // potential error of the policy + string error = 8; } message ListTracingPoliciesResponse { @@ -57,6 +62,16 @@ message DeleteTracingPolicyRequest { } message DeleteTracingPolicyResponse {} +message EnableTracingPolicyRequest { + string name = 1; +} +message EnableTracingPolicyResponse {} + +message DisableTracingPolicyRequest { + string name = 1; +} +message DisableTracingPolicyResponse {} + message RemoveSensorRequest { string name = 1; } @@ -96,6 +111,8 @@ service FineGuidanceSensors { rpc DeleteTracingPolicy(DeleteTracingPolicyRequest) returns (DeleteTracingPolicyResponse) {} rpc RemoveSensor(RemoveSensorRequest) returns (RemoveSensorResponse) {} rpc ListTracingPolicies(ListTracingPoliciesRequest) returns (ListTracingPoliciesResponse) {} + rpc EnableTracingPolicy(EnableTracingPolicyRequest) returns (EnableTracingPolicyResponse) {} + rpc DisableTracingPolicy(DisableTracingPolicyRequest) returns (DisableTracingPolicyResponse) {} rpc ListSensors(ListSensorsRequest) returns (ListSensorsResponse) {} rpc EnableSensor(EnableSensorRequest) returns (EnableSensorResponse) {} diff --git a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors_grpc.pb.go b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors_grpc.pb.go index 8de5aa95c0f..f8d188500c2 100644 --- a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors_grpc.pb.go +++ b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors_grpc.pb.go @@ -22,18 +22,20 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - FineGuidanceSensors_GetEvents_FullMethodName = "/tetragon.FineGuidanceSensors/GetEvents" - FineGuidanceSensors_GetHealth_FullMethodName = "/tetragon.FineGuidanceSensors/GetHealth" - FineGuidanceSensors_AddTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/AddTracingPolicy" - FineGuidanceSensors_DeleteTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/DeleteTracingPolicy" - FineGuidanceSensors_RemoveSensor_FullMethodName = "/tetragon.FineGuidanceSensors/RemoveSensor" - FineGuidanceSensors_ListTracingPolicies_FullMethodName = "/tetragon.FineGuidanceSensors/ListTracingPolicies" - FineGuidanceSensors_ListSensors_FullMethodName = "/tetragon.FineGuidanceSensors/ListSensors" - FineGuidanceSensors_EnableSensor_FullMethodName = "/tetragon.FineGuidanceSensors/EnableSensor" - FineGuidanceSensors_DisableSensor_FullMethodName = "/tetragon.FineGuidanceSensors/DisableSensor" - FineGuidanceSensors_GetStackTraceTree_FullMethodName = "/tetragon.FineGuidanceSensors/GetStackTraceTree" - FineGuidanceSensors_GetVersion_FullMethodName = "/tetragon.FineGuidanceSensors/GetVersion" - FineGuidanceSensors_RuntimeHook_FullMethodName = "/tetragon.FineGuidanceSensors/RuntimeHook" + FineGuidanceSensors_GetEvents_FullMethodName = "/tetragon.FineGuidanceSensors/GetEvents" + FineGuidanceSensors_GetHealth_FullMethodName = "/tetragon.FineGuidanceSensors/GetHealth" + FineGuidanceSensors_AddTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/AddTracingPolicy" + FineGuidanceSensors_DeleteTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/DeleteTracingPolicy" + FineGuidanceSensors_RemoveSensor_FullMethodName = "/tetragon.FineGuidanceSensors/RemoveSensor" + FineGuidanceSensors_ListTracingPolicies_FullMethodName = "/tetragon.FineGuidanceSensors/ListTracingPolicies" + FineGuidanceSensors_EnableTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/EnableTracingPolicy" + FineGuidanceSensors_DisableTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/DisableTracingPolicy" + FineGuidanceSensors_ListSensors_FullMethodName = "/tetragon.FineGuidanceSensors/ListSensors" + FineGuidanceSensors_EnableSensor_FullMethodName = "/tetragon.FineGuidanceSensors/EnableSensor" + FineGuidanceSensors_DisableSensor_FullMethodName = "/tetragon.FineGuidanceSensors/DisableSensor" + FineGuidanceSensors_GetStackTraceTree_FullMethodName = "/tetragon.FineGuidanceSensors/GetStackTraceTree" + FineGuidanceSensors_GetVersion_FullMethodName = "/tetragon.FineGuidanceSensors/GetVersion" + FineGuidanceSensors_RuntimeHook_FullMethodName = "/tetragon.FineGuidanceSensors/RuntimeHook" ) // FineGuidanceSensorsClient is the client API for FineGuidanceSensors service. @@ -46,6 +48,8 @@ type FineGuidanceSensorsClient interface { DeleteTracingPolicy(ctx context.Context, in *DeleteTracingPolicyRequest, opts ...grpc.CallOption) (*DeleteTracingPolicyResponse, error) RemoveSensor(ctx context.Context, in *RemoveSensorRequest, opts ...grpc.CallOption) (*RemoveSensorResponse, error) ListTracingPolicies(ctx context.Context, in *ListTracingPoliciesRequest, opts ...grpc.CallOption) (*ListTracingPoliciesResponse, error) + EnableTracingPolicy(ctx context.Context, in *EnableTracingPolicyRequest, opts ...grpc.CallOption) (*EnableTracingPolicyResponse, error) + DisableTracingPolicy(ctx context.Context, in *DisableTracingPolicyRequest, opts ...grpc.CallOption) (*DisableTracingPolicyResponse, error) ListSensors(ctx context.Context, in *ListSensorsRequest, opts ...grpc.CallOption) (*ListSensorsResponse, error) EnableSensor(ctx context.Context, in *EnableSensorRequest, opts ...grpc.CallOption) (*EnableSensorResponse, error) DisableSensor(ctx context.Context, in *DisableSensorRequest, opts ...grpc.CallOption) (*DisableSensorResponse, error) @@ -139,6 +143,24 @@ func (c *fineGuidanceSensorsClient) ListTracingPolicies(ctx context.Context, in return out, nil } +func (c *fineGuidanceSensorsClient) EnableTracingPolicy(ctx context.Context, in *EnableTracingPolicyRequest, opts ...grpc.CallOption) (*EnableTracingPolicyResponse, error) { + out := new(EnableTracingPolicyResponse) + err := c.cc.Invoke(ctx, FineGuidanceSensors_EnableTracingPolicy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *fineGuidanceSensorsClient) DisableTracingPolicy(ctx context.Context, in *DisableTracingPolicyRequest, opts ...grpc.CallOption) (*DisableTracingPolicyResponse, error) { + out := new(DisableTracingPolicyResponse) + err := c.cc.Invoke(ctx, FineGuidanceSensors_DisableTracingPolicy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *fineGuidanceSensorsClient) ListSensors(ctx context.Context, in *ListSensorsRequest, opts ...grpc.CallOption) (*ListSensorsResponse, error) { out := new(ListSensorsResponse) err := c.cc.Invoke(ctx, FineGuidanceSensors_ListSensors_FullMethodName, in, out, opts...) @@ -203,6 +225,8 @@ type FineGuidanceSensorsServer interface { DeleteTracingPolicy(context.Context, *DeleteTracingPolicyRequest) (*DeleteTracingPolicyResponse, error) RemoveSensor(context.Context, *RemoveSensorRequest) (*RemoveSensorResponse, error) ListTracingPolicies(context.Context, *ListTracingPoliciesRequest) (*ListTracingPoliciesResponse, error) + EnableTracingPolicy(context.Context, *EnableTracingPolicyRequest) (*EnableTracingPolicyResponse, error) + DisableTracingPolicy(context.Context, *DisableTracingPolicyRequest) (*DisableTracingPolicyResponse, error) ListSensors(context.Context, *ListSensorsRequest) (*ListSensorsResponse, error) EnableSensor(context.Context, *EnableSensorRequest) (*EnableSensorResponse, error) DisableSensor(context.Context, *DisableSensorRequest) (*DisableSensorResponse, error) @@ -233,6 +257,12 @@ func (UnimplementedFineGuidanceSensorsServer) RemoveSensor(context.Context, *Rem func (UnimplementedFineGuidanceSensorsServer) ListTracingPolicies(context.Context, *ListTracingPoliciesRequest) (*ListTracingPoliciesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListTracingPolicies not implemented") } +func (UnimplementedFineGuidanceSensorsServer) EnableTracingPolicy(context.Context, *EnableTracingPolicyRequest) (*EnableTracingPolicyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EnableTracingPolicy not implemented") +} +func (UnimplementedFineGuidanceSensorsServer) DisableTracingPolicy(context.Context, *DisableTracingPolicyRequest) (*DisableTracingPolicyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableTracingPolicy not implemented") +} func (UnimplementedFineGuidanceSensorsServer) ListSensors(context.Context, *ListSensorsRequest) (*ListSensorsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListSensors not implemented") } @@ -374,6 +404,42 @@ func _FineGuidanceSensors_ListTracingPolicies_Handler(srv interface{}, ctx conte return interceptor(ctx, in, info, handler) } +func _FineGuidanceSensors_EnableTracingPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnableTracingPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FineGuidanceSensorsServer).EnableTracingPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: FineGuidanceSensors_EnableTracingPolicy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FineGuidanceSensorsServer).EnableTracingPolicy(ctx, req.(*EnableTracingPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FineGuidanceSensors_DisableTracingPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableTracingPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FineGuidanceSensorsServer).DisableTracingPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: FineGuidanceSensors_DisableTracingPolicy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FineGuidanceSensorsServer).DisableTracingPolicy(ctx, req.(*DisableTracingPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _FineGuidanceSensors_ListSensors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListSensorsRequest) if err := dec(in); err != nil { @@ -509,6 +575,14 @@ var FineGuidanceSensors_ServiceDesc = grpc.ServiceDesc{ MethodName: "ListTracingPolicies", Handler: _FineGuidanceSensors_ListTracingPolicies_Handler, }, + { + MethodName: "EnableTracingPolicy", + Handler: _FineGuidanceSensors_EnableTracingPolicy_Handler, + }, + { + MethodName: "DisableTracingPolicy", + Handler: _FineGuidanceSensors_DisableTracingPolicy_Handler, + }, { MethodName: "ListSensors", Handler: _FineGuidanceSensors_ListSensors_Handler,