diff --git a/api/v1/README.md b/api/v1/README.md
index 7a363d9676f..fdf47b9b500 100644
--- a/api/v1/README.md
+++ b/api/v1/README.md
@@ -92,6 +92,8 @@
- [tetragon/sensors.proto](#tetragon_sensors-proto)
- [AddTracingPolicyRequest](#tetragon-AddTracingPolicyRequest)
- [AddTracingPolicyResponse](#tetragon-AddTracingPolicyResponse)
+ - [ConfigureTracingPolicyRequest](#tetragon-ConfigureTracingPolicyRequest)
+ - [ConfigureTracingPolicyResponse](#tetragon-ConfigureTracingPolicyResponse)
- [DeleteTracingPolicyRequest](#tetragon-DeleteTracingPolicyRequest)
- [DeleteTracingPolicyResponse](#tetragon-DeleteTracingPolicyResponse)
- [DisableSensorRequest](#tetragon-DisableSensorRequest)
@@ -125,6 +127,7 @@
- [ConfigFlag](#tetragon-ConfigFlag)
- [LogLevel](#tetragon-LogLevel)
+ - [TracingPolicyMode](#tetragon-TracingPolicyMode)
- [TracingPolicyState](#tetragon-TracingPolicyState)
- [FineGuidanceSensors](#tetragon-FineGuidanceSensors)
@@ -1726,6 +1729,34 @@ Determines the behavior of a field filter
+
+
+### ConfigureTracingPolicyRequest
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| name | [string](#string) | | |
+| namespace | [string](#string) | | |
+| enable | [bool](#bool) | optional | |
+| mode | [TracingPolicyMode](#tetragon-TracingPolicyMode) | optional | |
+
+
+
+
+
+
+
+
+### ConfigureTracingPolicyResponse
+
+
+
+
+
+
+
### DeleteTracingPolicyRequest
@@ -2149,6 +2180,7 @@ Determines the behavior of a field filter
| error | [string](#string) | | potential error of the policy |
| state | [TracingPolicyState](#tetragon-TracingPolicyState) | | current state of the tracing policy |
| kernel_memory_bytes | [uint64](#uint64) | | the amount of kernel memory in bytes used by policy's sensors non-shared BPF maps (memlock) |
+| mode | [TracingPolicyMode](#tetragon-TracingPolicyMode) | | current mode of the tracing policy |
@@ -2186,6 +2218,19 @@ For now, we only want to support debug-related config flags to be configurable.
+
+
+### TracingPolicyMode
+
+
+| Name | Number | Description |
+| ---- | ------ | ----------- |
+| TP_MODE_UNKNOWN | 0 | |
+| TP_MODE_ENFORCE | 1 | |
+| TP_MODE_MONITOR | 2 | |
+
+
+
### TracingPolicyState
@@ -2219,6 +2264,7 @@ For now, we only want to support debug-related config flags to be configurable.
| AddTracingPolicy | [AddTracingPolicyRequest](#tetragon-AddTracingPolicyRequest) | [AddTracingPolicyResponse](#tetragon-AddTracingPolicyResponse) | |
| DeleteTracingPolicy | [DeleteTracingPolicyRequest](#tetragon-DeleteTracingPolicyRequest) | [DeleteTracingPolicyResponse](#tetragon-DeleteTracingPolicyResponse) | |
| ListTracingPolicies | [ListTracingPoliciesRequest](#tetragon-ListTracingPoliciesRequest) | [ListTracingPoliciesResponse](#tetragon-ListTracingPoliciesResponse) | |
+| ConfigureTracingPolicy | [ConfigureTracingPolicyRequest](#tetragon-ConfigureTracingPolicyRequest) | [ConfigureTracingPolicyResponse](#tetragon-ConfigureTracingPolicyResponse) | ConfigureTracingPolicy can be used to configure a loaded tracing policy. It can be used to: - enable/disable it - change its mode (enforcement vs monitoring) If multiple changes are requested and an error is encountered, the resulting state might have partial updates applied. In other words, the configuring a tracing policy is not atomic. |
| EnableTracingPolicy | [EnableTracingPolicyRequest](#tetragon-EnableTracingPolicyRequest) | [EnableTracingPolicyResponse](#tetragon-EnableTracingPolicyResponse) | |
| DisableTracingPolicy | [DisableTracingPolicyRequest](#tetragon-DisableTracingPolicyRequest) | [DisableTracingPolicyResponse](#tetragon-DisableTracingPolicyResponse) | |
| ListSensors | [ListSensorsRequest](#tetragon-ListSensorsRequest) | [ListSensorsResponse](#tetragon-ListSensorsResponse) | |
diff --git a/api/v1/tetragon/sensors.pb.go b/api/v1/tetragon/sensors.pb.go
index b814832d19f..2471e85f262 100644
--- a/api/v1/tetragon/sensors.pb.go
+++ b/api/v1/tetragon/sensors.pb.go
@@ -92,6 +92,55 @@ func (TracingPolicyState) EnumDescriptor() ([]byte, []int) {
return file_tetragon_sensors_proto_rawDescGZIP(), []int{0}
}
+type TracingPolicyMode int32
+
+const (
+ TracingPolicyMode_TP_MODE_UNKNOWN TracingPolicyMode = 0
+ TracingPolicyMode_TP_MODE_ENFORCE TracingPolicyMode = 1
+ TracingPolicyMode_TP_MODE_MONITOR TracingPolicyMode = 2
+)
+
+// Enum value maps for TracingPolicyMode.
+var (
+ TracingPolicyMode_name = map[int32]string{
+ 0: "TP_MODE_UNKNOWN",
+ 1: "TP_MODE_ENFORCE",
+ 2: "TP_MODE_MONITOR",
+ }
+ TracingPolicyMode_value = map[string]int32{
+ "TP_MODE_UNKNOWN": 0,
+ "TP_MODE_ENFORCE": 1,
+ "TP_MODE_MONITOR": 2,
+ }
+)
+
+func (x TracingPolicyMode) Enum() *TracingPolicyMode {
+ p := new(TracingPolicyMode)
+ *p = x
+ return p
+}
+
+func (x TracingPolicyMode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (TracingPolicyMode) Descriptor() protoreflect.EnumDescriptor {
+ return file_tetragon_sensors_proto_enumTypes[1].Descriptor()
+}
+
+func (TracingPolicyMode) Type() protoreflect.EnumType {
+ return &file_tetragon_sensors_proto_enumTypes[1]
+}
+
+func (x TracingPolicyMode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use TracingPolicyMode.Descriptor instead.
+func (TracingPolicyMode) EnumDescriptor() ([]byte, []int) {
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{1}
+}
+
// For now, we only want to support debug-related config flags to be configurable.
type ConfigFlag int32
@@ -123,11 +172,11 @@ func (x ConfigFlag) String() string {
}
func (ConfigFlag) Descriptor() protoreflect.EnumDescriptor {
- return file_tetragon_sensors_proto_enumTypes[1].Descriptor()
+ return file_tetragon_sensors_proto_enumTypes[2].Descriptor()
}
func (ConfigFlag) Type() protoreflect.EnumType {
- return &file_tetragon_sensors_proto_enumTypes[1]
+ return &file_tetragon_sensors_proto_enumTypes[2]
}
func (x ConfigFlag) Number() protoreflect.EnumNumber {
@@ -136,7 +185,7 @@ func (x ConfigFlag) Number() protoreflect.EnumNumber {
// Deprecated: Use ConfigFlag.Descriptor instead.
func (ConfigFlag) EnumDescriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{1}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{2}
}
type LogLevel int32
@@ -184,11 +233,11 @@ func (x LogLevel) String() string {
}
func (LogLevel) Descriptor() protoreflect.EnumDescriptor {
- return file_tetragon_sensors_proto_enumTypes[2].Descriptor()
+ return file_tetragon_sensors_proto_enumTypes[3].Descriptor()
}
func (LogLevel) Type() protoreflect.EnumType {
- return &file_tetragon_sensors_proto_enumTypes[2]
+ return &file_tetragon_sensors_proto_enumTypes[3]
}
func (x LogLevel) Number() protoreflect.EnumNumber {
@@ -197,7 +246,7 @@ func (x LogLevel) Number() protoreflect.EnumNumber {
// Deprecated: Use LogLevel.Descriptor instead.
func (LogLevel) EnumDescriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{2}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{3}
}
type ListSensorsRequest struct {
@@ -403,8 +452,10 @@ type TracingPolicyStatus struct {
State TracingPolicyState `protobuf:"varint,9,opt,name=state,proto3,enum=tetragon.TracingPolicyState" json:"state,omitempty"`
// the amount of kernel memory in bytes used by policy's sensors non-shared BPF maps (memlock)
KernelMemoryBytes uint64 `protobuf:"varint,10,opt,name=kernel_memory_bytes,json=kernelMemoryBytes,proto3" json:"kernel_memory_bytes,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
+ // current mode of the tracing policy
+ Mode TracingPolicyMode `protobuf:"varint,11,opt,name=mode,proto3,enum=tetragon.TracingPolicyMode" json:"mode,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
}
func (x *TracingPolicyStatus) Reset() {
@@ -508,6 +559,13 @@ func (x *TracingPolicyStatus) GetKernelMemoryBytes() uint64 {
return 0
}
+func (x *TracingPolicyStatus) GetMode() TracingPolicyMode {
+ if x != nil {
+ return x.Mode
+ }
+ return TracingPolicyMode_TP_MODE_UNKNOWN
+}
+
type ListTracingPoliciesResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Policies []*TracingPolicyStatus `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"`
@@ -896,6 +954,110 @@ func (*DisableTracingPolicyResponse) Descriptor() ([]byte, []int) {
return file_tetragon_sensors_proto_rawDescGZIP(), []int{13}
}
+type ConfigureTracingPolicyRequest struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
+ Enable *bool `protobuf:"varint,3,opt,name=enable,proto3,oneof" json:"enable,omitempty"`
+ Mode *TracingPolicyMode `protobuf:"varint,4,opt,name=mode,proto3,enum=tetragon.TracingPolicyMode,oneof" json:"mode,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ConfigureTracingPolicyRequest) Reset() {
+ *x = ConfigureTracingPolicyRequest{}
+ mi := &file_tetragon_sensors_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ConfigureTracingPolicyRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConfigureTracingPolicyRequest) ProtoMessage() {}
+
+func (x *ConfigureTracingPolicyRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_tetragon_sensors_proto_msgTypes[14]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConfigureTracingPolicyRequest.ProtoReflect.Descriptor instead.
+func (*ConfigureTracingPolicyRequest) Descriptor() ([]byte, []int) {
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{14}
+}
+
+func (x *ConfigureTracingPolicyRequest) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *ConfigureTracingPolicyRequest) GetNamespace() string {
+ if x != nil {
+ return x.Namespace
+ }
+ return ""
+}
+
+func (x *ConfigureTracingPolicyRequest) GetEnable() bool {
+ if x != nil && x.Enable != nil {
+ return *x.Enable
+ }
+ return false
+}
+
+func (x *ConfigureTracingPolicyRequest) GetMode() TracingPolicyMode {
+ if x != nil && x.Mode != nil {
+ return *x.Mode
+ }
+ return TracingPolicyMode_TP_MODE_UNKNOWN
+}
+
+type ConfigureTracingPolicyResponse struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ConfigureTracingPolicyResponse) Reset() {
+ *x = ConfigureTracingPolicyResponse{}
+ mi := &file_tetragon_sensors_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ConfigureTracingPolicyResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConfigureTracingPolicyResponse) ProtoMessage() {}
+
+func (x *ConfigureTracingPolicyResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_tetragon_sensors_proto_msgTypes[15]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConfigureTracingPolicyResponse.ProtoReflect.Descriptor instead.
+func (*ConfigureTracingPolicyResponse) Descriptor() ([]byte, []int) {
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{15}
+}
+
type RemoveSensorRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
@@ -905,7 +1067,7 @@ type RemoveSensorRequest struct {
func (x *RemoveSensorRequest) Reset() {
*x = RemoveSensorRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[14]
+ mi := &file_tetragon_sensors_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -917,7 +1079,7 @@ func (x *RemoveSensorRequest) String() string {
func (*RemoveSensorRequest) ProtoMessage() {}
func (x *RemoveSensorRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[14]
+ mi := &file_tetragon_sensors_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -930,7 +1092,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{14}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{16}
}
func (x *RemoveSensorRequest) GetName() string {
@@ -948,7 +1110,7 @@ type RemoveSensorResponse struct {
func (x *RemoveSensorResponse) Reset() {
*x = RemoveSensorResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[15]
+ mi := &file_tetragon_sensors_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -960,7 +1122,7 @@ func (x *RemoveSensorResponse) String() string {
func (*RemoveSensorResponse) ProtoMessage() {}
func (x *RemoveSensorResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[15]
+ mi := &file_tetragon_sensors_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -973,7 +1135,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{15}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{17}
}
type EnableSensorRequest struct {
@@ -985,7 +1147,7 @@ type EnableSensorRequest struct {
func (x *EnableSensorRequest) Reset() {
*x = EnableSensorRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[16]
+ mi := &file_tetragon_sensors_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -997,7 +1159,7 @@ func (x *EnableSensorRequest) String() string {
func (*EnableSensorRequest) ProtoMessage() {}
func (x *EnableSensorRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[16]
+ mi := &file_tetragon_sensors_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1010,7 +1172,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{16}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{18}
}
func (x *EnableSensorRequest) GetName() string {
@@ -1028,7 +1190,7 @@ type EnableSensorResponse struct {
func (x *EnableSensorResponse) Reset() {
*x = EnableSensorResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[17]
+ mi := &file_tetragon_sensors_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1040,7 +1202,7 @@ func (x *EnableSensorResponse) String() string {
func (*EnableSensorResponse) ProtoMessage() {}
func (x *EnableSensorResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[17]
+ mi := &file_tetragon_sensors_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1053,7 +1215,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{17}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{19}
}
type DisableSensorRequest struct {
@@ -1065,7 +1227,7 @@ type DisableSensorRequest struct {
func (x *DisableSensorRequest) Reset() {
*x = DisableSensorRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[18]
+ mi := &file_tetragon_sensors_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1077,7 +1239,7 @@ func (x *DisableSensorRequest) String() string {
func (*DisableSensorRequest) ProtoMessage() {}
func (x *DisableSensorRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[18]
+ mi := &file_tetragon_sensors_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1090,7 +1252,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{18}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{20}
}
func (x *DisableSensorRequest) GetName() string {
@@ -1108,7 +1270,7 @@ type DisableSensorResponse struct {
func (x *DisableSensorResponse) Reset() {
*x = DisableSensorResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[19]
+ mi := &file_tetragon_sensors_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1120,7 +1282,7 @@ func (x *DisableSensorResponse) String() string {
func (*DisableSensorResponse) ProtoMessage() {}
func (x *DisableSensorResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[19]
+ mi := &file_tetragon_sensors_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1133,7 +1295,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{19}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{21}
}
type GetStackTraceTreeRequest struct {
@@ -1145,7 +1307,7 @@ type GetStackTraceTreeRequest struct {
func (x *GetStackTraceTreeRequest) Reset() {
*x = GetStackTraceTreeRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[20]
+ mi := &file_tetragon_sensors_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1157,7 +1319,7 @@ func (x *GetStackTraceTreeRequest) String() string {
func (*GetStackTraceTreeRequest) ProtoMessage() {}
func (x *GetStackTraceTreeRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[20]
+ mi := &file_tetragon_sensors_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1170,7 +1332,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{20}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{22}
}
func (x *GetStackTraceTreeRequest) GetName() string {
@@ -1189,7 +1351,7 @@ type GetStackTraceTreeResponse struct {
func (x *GetStackTraceTreeResponse) Reset() {
*x = GetStackTraceTreeResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[21]
+ mi := &file_tetragon_sensors_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1201,7 +1363,7 @@ func (x *GetStackTraceTreeResponse) String() string {
func (*GetStackTraceTreeResponse) ProtoMessage() {}
func (x *GetStackTraceTreeResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[21]
+ mi := &file_tetragon_sensors_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1214,7 +1376,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{21}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{23}
}
func (x *GetStackTraceTreeResponse) GetRoot() *StackTraceNode {
@@ -1232,7 +1394,7 @@ type GetVersionRequest struct {
func (x *GetVersionRequest) Reset() {
*x = GetVersionRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[22]
+ mi := &file_tetragon_sensors_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1244,7 +1406,7 @@ func (x *GetVersionRequest) String() string {
func (*GetVersionRequest) ProtoMessage() {}
func (x *GetVersionRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[22]
+ mi := &file_tetragon_sensors_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1257,7 +1419,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{22}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{24}
}
type GetVersionResponse struct {
@@ -1269,7 +1431,7 @@ type GetVersionResponse struct {
func (x *GetVersionResponse) Reset() {
*x = GetVersionResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[23]
+ mi := &file_tetragon_sensors_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1281,7 +1443,7 @@ func (x *GetVersionResponse) String() string {
func (*GetVersionResponse) ProtoMessage() {}
func (x *GetVersionResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[23]
+ mi := &file_tetragon_sensors_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1294,7 +1456,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{23}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{25}
}
func (x *GetVersionResponse) GetVersion() string {
@@ -1314,7 +1476,7 @@ type DumpProcessCacheReqArgs struct {
func (x *DumpProcessCacheReqArgs) Reset() {
*x = DumpProcessCacheReqArgs{}
- mi := &file_tetragon_sensors_proto_msgTypes[24]
+ mi := &file_tetragon_sensors_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1326,7 +1488,7 @@ func (x *DumpProcessCacheReqArgs) String() string {
func (*DumpProcessCacheReqArgs) ProtoMessage() {}
func (x *DumpProcessCacheReqArgs) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[24]
+ mi := &file_tetragon_sensors_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1339,7 +1501,7 @@ func (x *DumpProcessCacheReqArgs) ProtoReflect() protoreflect.Message {
// Deprecated: Use DumpProcessCacheReqArgs.ProtoReflect.Descriptor instead.
func (*DumpProcessCacheReqArgs) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{24}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{26}
}
func (x *DumpProcessCacheReqArgs) GetSkipZeroRefcnt() bool {
@@ -1376,7 +1538,7 @@ type ProcessInternal struct {
func (x *ProcessInternal) Reset() {
*x = ProcessInternal{}
- mi := &file_tetragon_sensors_proto_msgTypes[25]
+ mi := &file_tetragon_sensors_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1388,7 +1550,7 @@ func (x *ProcessInternal) String() string {
func (*ProcessInternal) ProtoMessage() {}
func (x *ProcessInternal) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[25]
+ mi := &file_tetragon_sensors_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1401,7 +1563,7 @@ func (x *ProcessInternal) ProtoReflect() protoreflect.Message {
// Deprecated: Use ProcessInternal.ProtoReflect.Descriptor instead.
func (*ProcessInternal) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{25}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{27}
}
func (x *ProcessInternal) GetProcess() *Process {
@@ -1441,7 +1603,7 @@ type DumpProcessCacheResArgs struct {
func (x *DumpProcessCacheResArgs) Reset() {
*x = DumpProcessCacheResArgs{}
- mi := &file_tetragon_sensors_proto_msgTypes[26]
+ mi := &file_tetragon_sensors_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1453,7 +1615,7 @@ func (x *DumpProcessCacheResArgs) String() string {
func (*DumpProcessCacheResArgs) ProtoMessage() {}
func (x *DumpProcessCacheResArgs) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[26]
+ mi := &file_tetragon_sensors_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1466,7 +1628,7 @@ func (x *DumpProcessCacheResArgs) ProtoReflect() protoreflect.Message {
// Deprecated: Use DumpProcessCacheResArgs.ProtoReflect.Descriptor instead.
func (*DumpProcessCacheResArgs) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{26}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{28}
}
func (x *DumpProcessCacheResArgs) GetProcesses() []*ProcessInternal {
@@ -1489,7 +1651,7 @@ type GetDebugRequest struct {
func (x *GetDebugRequest) Reset() {
*x = GetDebugRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[27]
+ mi := &file_tetragon_sensors_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1501,7 +1663,7 @@ func (x *GetDebugRequest) String() string {
func (*GetDebugRequest) ProtoMessage() {}
func (x *GetDebugRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[27]
+ mi := &file_tetragon_sensors_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1514,7 +1676,7 @@ func (x *GetDebugRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetDebugRequest.ProtoReflect.Descriptor instead.
func (*GetDebugRequest) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{27}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{29}
}
func (x *GetDebugRequest) GetFlag() ConfigFlag {
@@ -1564,7 +1726,7 @@ type GetDebugResponse struct {
func (x *GetDebugResponse) Reset() {
*x = GetDebugResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[28]
+ mi := &file_tetragon_sensors_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1576,7 +1738,7 @@ func (x *GetDebugResponse) String() string {
func (*GetDebugResponse) ProtoMessage() {}
func (x *GetDebugResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[28]
+ mi := &file_tetragon_sensors_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1589,7 +1751,7 @@ func (x *GetDebugResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetDebugResponse.ProtoReflect.Descriptor instead.
func (*GetDebugResponse) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{28}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{30}
}
func (x *GetDebugResponse) GetFlag() ConfigFlag {
@@ -1653,7 +1815,7 @@ type SetDebugRequest struct {
func (x *SetDebugRequest) Reset() {
*x = SetDebugRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[29]
+ mi := &file_tetragon_sensors_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1665,7 +1827,7 @@ func (x *SetDebugRequest) String() string {
func (*SetDebugRequest) ProtoMessage() {}
func (x *SetDebugRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[29]
+ mi := &file_tetragon_sensors_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1678,7 +1840,7 @@ func (x *SetDebugRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetDebugRequest.ProtoReflect.Descriptor instead.
func (*SetDebugRequest) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{29}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{31}
}
func (x *SetDebugRequest) GetFlag() ConfigFlag {
@@ -1727,7 +1889,7 @@ type SetDebugResponse struct {
func (x *SetDebugResponse) Reset() {
*x = SetDebugResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[30]
+ mi := &file_tetragon_sensors_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1739,7 +1901,7 @@ func (x *SetDebugResponse) String() string {
func (*SetDebugResponse) ProtoMessage() {}
func (x *SetDebugResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[30]
+ mi := &file_tetragon_sensors_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1752,7 +1914,7 @@ func (x *SetDebugResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetDebugResponse.ProtoReflect.Descriptor instead.
func (*SetDebugResponse) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{30}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{32}
}
func (x *SetDebugResponse) GetFlag() ConfigFlag {
@@ -1813,7 +1975,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, 0xba, 0x02, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50,
+ 0x65, 0x73, 0x74, 0x22, 0xeb, 0x02, 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,
@@ -1833,244 +1995,273 @@ var file_tetragon_sensors_proto_rawDesc = []byte{
0x12, 0x2e, 0x0a, 0x13, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6b,
0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x74, 0x65, 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,
+ 0x12, 0x2f, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b,
+ 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e,
+ 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64,
+ 0x65, 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,
- 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,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d,
+ 0x65, 0x73, 0x70, 0x61, 0x63, 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, 0x4e, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65,
- 0x73, 0x70, 0x61, 0x63, 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, 0x4e, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
- 0x70, 0x61, 0x63, 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, 0x4f, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54,
+ 0x73, 0x70, 0x61, 0x63, 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, 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, 0x22,
- 0x84, 0x01, 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43,
- 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73,
- 0x6b, 0x69, 0x70, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x52,
- 0x65, 0x66, 0x63, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65,
- 0x5f, 0x65, 0x78, 0x65, 0x63, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x63,
- 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x65, 0x78, 0x63,
- 0x6c, 0x75, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x76, 0x65, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x6f,
- 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x91, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x63, 0x65,
- 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x72,
- 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65,
- 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07,
- 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x34, 0x0a,
- 0x06, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x66,
- 0x63, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x5f, 0x6f, 0x70,
- 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
- 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
- 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x52, 0x09, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e,
- 0x52, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
- 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
- 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x17, 0x44, 0x75,
- 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65,
- 0x73, 0x41, 0x72, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61,
- 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72,
- 0x6e, 0x61, 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x7b,
- 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65,
+ 0x73, 0x70, 0x61, 0x63, 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, 0xb8, 0x01, 0x0a, 0x1d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x75, 0x72, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e,
+ 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
+ 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x6f, 0x64,
+ 0x65, 0x48, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
+ 0x22, 0x20, 0x0a, 0x1e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 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, 0x22, 0x84, 0x01,
+ 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63,
+ 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6b, 0x69,
+ 0x70, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x66,
+ 0x63, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x65,
+ 0x78, 0x65, 0x63, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x65, 0x78, 0x63, 0x6c, 0x75,
+ 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x76, 0x65, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x65, 0x73, 0x22, 0x91, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65, 0x74, 0x72,
+ 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07, 0x70, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x06, 0x72,
+ 0x65, 0x66, 0x63, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x66, 0x63, 0x6e,
+ 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x73, 0x18,
+ 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
+ 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
+ 0x2e, 0x52, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x09, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x52, 0x65,
+ 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70,
+ 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x41,
+ 0x72, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f,
+ 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
+ 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x7b, 0x0a, 0x0f,
+ 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e,
+ 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46,
+ 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x75, 0x6d,
+ 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61,
+ 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x04, 0x64, 0x75,
+ 0x6d, 0x70, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0xb2, 0x01, 0x0a, 0x10, 0x47, 0x65,
+ 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28,
+ 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c,
+ 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65,
+ 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61,
+ 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6e,
+ 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x64,
- 0x75, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x04,
- 0x64, 0x75, 0x6d, 0x70, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0xb2, 0x01, 0x0a, 0x10,
- 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14,
- 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65,
- 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52,
- 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
- 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x09,
- 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67,
- 0x22, 0x6e, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a,
- 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74,
- 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c,
- 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67,
- 0x22, 0x6f, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a,
- 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e,
- 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65,
- 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72,
- 0x67, 0x2a, 0xb2, 0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
- 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53,
- 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14,
- 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c,
- 0x45, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
- 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54,
- 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52,
- 0x4f, 0x52, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
- 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53,
- 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16,
- 0x0a, 0x12, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x41,
- 0x44, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x2a, 0x4b, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x46, 0x6c, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46,
- 0x4c, 0x41, 0x47, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x00, 0x12,
- 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44,
- 0x55, 0x4d, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x41, 0x43, 0x48,
- 0x45, 0x10, 0x01, 0x2a, 0x9b, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c,
- 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x50, 0x41,
- 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56,
- 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f,
- 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12,
- 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x41, 0x52,
- 0x4e, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c,
- 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c,
- 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f,
- 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10,
- 0x06, 0x32, 0xfe, 0x0a, 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, 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,
+ 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74,
+ 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00,
+ 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6f,
+ 0x0a, 0x10, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05,
+ 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65,
+ 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48,
+ 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x2a,
+ 0xb2, 0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
+ 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44,
+ 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44,
+ 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x50, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
+ 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45,
+ 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12,
+ 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49,
+ 0x4e, 0x47, 0x10, 0x06, 0x2a, 0x52, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x50, 0x5f,
+ 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13,
+ 0x0a, 0x0f, 0x54, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43,
+ 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d,
+ 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x10, 0x02, 0x2a, 0x4b, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47,
+ 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10,
+ 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47,
+ 0x5f, 0x44, 0x55, 0x4d, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x41,
+ 0x43, 0x48, 0x45, 0x10, 0x01, 0x2a, 0x9b, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f,
+ 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c,
+ 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f,
+ 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
+ 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57,
+ 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56,
+ 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47,
+ 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x13,
+ 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x43,
+ 0x45, 0x10, 0x06, 0x32, 0xf3, 0x0b, 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, 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,
+ 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, 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, 0x6d, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x54,
+ 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x27, 0x2e, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
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,
- 0x4f, 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, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73,
- 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01,
- 0x12, 0x52, 0x0a, 0x0c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72,
- 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62,
- 0x6c, 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, 0x45, 0x6e, 0x61, 0x62, 0x6c,
- 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x03, 0x88, 0x02, 0x01, 0x12, 0x55, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53,
- 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
- 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
- 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 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, 0x03, 0x88, 0x02, 0x01, 0x12,
- 0x5e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65,
- 0x54, 0x72, 0x65, 0x65, 0x12, 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
- 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65,
- 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61,
- 0x67, 0x6f, 0x6e, 0x2e, 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, 0x22, 0x00, 0x12,
- 0x49, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x2e,
- 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73,
- 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x74,
- 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x52, 0x75,
- 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
- 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x44,
- 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
- 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65,
- 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a,
- 0x08, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
- 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
- 0x2f, 0x63, 0x69, 0x6c, 0x69, 0x75, 0x6d, 0x2f, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
- 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
+ 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 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, 0x67, 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, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6a, 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, 0x03, 0x88, 0x02, 0x01, 0x12, 0x4f, 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, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c,
+ 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
+ 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 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, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x55, 0x0a, 0x0d, 0x44,
+ 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1e, 0x2e, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88,
+ 0x02, 0x01, 0x12, 0x52, 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, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61,
+ 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x12, 0x22, 0x2e, 0x74, 0x65,
+ 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54,
+ 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x23, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 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, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
+ 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74,
+ 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b,
+ 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74,
+ 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
+ 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d,
+ 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65,
+ 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f,
+ 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67,
+ 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44,
+ 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65,
+ 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74,
+ 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x69, 0x6c, 0x69, 0x75, 0x6d, 0x2f, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -2085,109 +2276,116 @@ func file_tetragon_sensors_proto_rawDescGZIP() []byte {
return file_tetragon_sensors_proto_rawDescData
}
-var file_tetragon_sensors_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
-var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
+var file_tetragon_sensors_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
+var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
var file_tetragon_sensors_proto_goTypes = []any{
- (TracingPolicyState)(0), // 0: tetragon.TracingPolicyState
- (ConfigFlag)(0), // 1: tetragon.ConfigFlag
- (LogLevel)(0), // 2: tetragon.LogLevel
- (*ListSensorsRequest)(nil), // 3: tetragon.ListSensorsRequest
- (*SensorStatus)(nil), // 4: tetragon.SensorStatus
- (*ListSensorsResponse)(nil), // 5: tetragon.ListSensorsResponse
- (*ListTracingPoliciesRequest)(nil), // 6: tetragon.ListTracingPoliciesRequest
- (*TracingPolicyStatus)(nil), // 7: tetragon.TracingPolicyStatus
- (*ListTracingPoliciesResponse)(nil), // 8: tetragon.ListTracingPoliciesResponse
- (*AddTracingPolicyRequest)(nil), // 9: tetragon.AddTracingPolicyRequest
- (*AddTracingPolicyResponse)(nil), // 10: tetragon.AddTracingPolicyResponse
- (*DeleteTracingPolicyRequest)(nil), // 11: tetragon.DeleteTracingPolicyRequest
- (*DeleteTracingPolicyResponse)(nil), // 12: tetragon.DeleteTracingPolicyResponse
- (*EnableTracingPolicyRequest)(nil), // 13: tetragon.EnableTracingPolicyRequest
- (*EnableTracingPolicyResponse)(nil), // 14: tetragon.EnableTracingPolicyResponse
- (*DisableTracingPolicyRequest)(nil), // 15: tetragon.DisableTracingPolicyRequest
- (*DisableTracingPolicyResponse)(nil), // 16: tetragon.DisableTracingPolicyResponse
- (*RemoveSensorRequest)(nil), // 17: tetragon.RemoveSensorRequest
- (*RemoveSensorResponse)(nil), // 18: tetragon.RemoveSensorResponse
- (*EnableSensorRequest)(nil), // 19: tetragon.EnableSensorRequest
- (*EnableSensorResponse)(nil), // 20: tetragon.EnableSensorResponse
- (*DisableSensorRequest)(nil), // 21: tetragon.DisableSensorRequest
- (*DisableSensorResponse)(nil), // 22: tetragon.DisableSensorResponse
- (*GetStackTraceTreeRequest)(nil), // 23: tetragon.GetStackTraceTreeRequest
- (*GetStackTraceTreeResponse)(nil), // 24: tetragon.GetStackTraceTreeResponse
- (*GetVersionRequest)(nil), // 25: tetragon.GetVersionRequest
- (*GetVersionResponse)(nil), // 26: tetragon.GetVersionResponse
- (*DumpProcessCacheReqArgs)(nil), // 27: tetragon.DumpProcessCacheReqArgs
- (*ProcessInternal)(nil), // 28: tetragon.ProcessInternal
- (*DumpProcessCacheResArgs)(nil), // 29: tetragon.DumpProcessCacheResArgs
- (*GetDebugRequest)(nil), // 30: tetragon.GetDebugRequest
- (*GetDebugResponse)(nil), // 31: tetragon.GetDebugResponse
- (*SetDebugRequest)(nil), // 32: tetragon.SetDebugRequest
- (*SetDebugResponse)(nil), // 33: tetragon.SetDebugResponse
- nil, // 34: tetragon.ProcessInternal.RefcntOpsEntry
- (*StackTraceNode)(nil), // 35: tetragon.StackTraceNode
- (*Process)(nil), // 36: tetragon.Process
- (*wrapperspb.UInt32Value)(nil), // 37: google.protobuf.UInt32Value
- (*GetEventsRequest)(nil), // 38: tetragon.GetEventsRequest
- (*GetHealthStatusRequest)(nil), // 39: tetragon.GetHealthStatusRequest
- (*RuntimeHookRequest)(nil), // 40: tetragon.RuntimeHookRequest
- (*GetEventsResponse)(nil), // 41: tetragon.GetEventsResponse
- (*GetHealthStatusResponse)(nil), // 42: tetragon.GetHealthStatusResponse
- (*RuntimeHookResponse)(nil), // 43: tetragon.RuntimeHookResponse
+ (TracingPolicyState)(0), // 0: tetragon.TracingPolicyState
+ (TracingPolicyMode)(0), // 1: tetragon.TracingPolicyMode
+ (ConfigFlag)(0), // 2: tetragon.ConfigFlag
+ (LogLevel)(0), // 3: tetragon.LogLevel
+ (*ListSensorsRequest)(nil), // 4: tetragon.ListSensorsRequest
+ (*SensorStatus)(nil), // 5: tetragon.SensorStatus
+ (*ListSensorsResponse)(nil), // 6: tetragon.ListSensorsResponse
+ (*ListTracingPoliciesRequest)(nil), // 7: tetragon.ListTracingPoliciesRequest
+ (*TracingPolicyStatus)(nil), // 8: tetragon.TracingPolicyStatus
+ (*ListTracingPoliciesResponse)(nil), // 9: tetragon.ListTracingPoliciesResponse
+ (*AddTracingPolicyRequest)(nil), // 10: tetragon.AddTracingPolicyRequest
+ (*AddTracingPolicyResponse)(nil), // 11: tetragon.AddTracingPolicyResponse
+ (*DeleteTracingPolicyRequest)(nil), // 12: tetragon.DeleteTracingPolicyRequest
+ (*DeleteTracingPolicyResponse)(nil), // 13: tetragon.DeleteTracingPolicyResponse
+ (*EnableTracingPolicyRequest)(nil), // 14: tetragon.EnableTracingPolicyRequest
+ (*EnableTracingPolicyResponse)(nil), // 15: tetragon.EnableTracingPolicyResponse
+ (*DisableTracingPolicyRequest)(nil), // 16: tetragon.DisableTracingPolicyRequest
+ (*DisableTracingPolicyResponse)(nil), // 17: tetragon.DisableTracingPolicyResponse
+ (*ConfigureTracingPolicyRequest)(nil), // 18: tetragon.ConfigureTracingPolicyRequest
+ (*ConfigureTracingPolicyResponse)(nil), // 19: tetragon.ConfigureTracingPolicyResponse
+ (*RemoveSensorRequest)(nil), // 20: tetragon.RemoveSensorRequest
+ (*RemoveSensorResponse)(nil), // 21: tetragon.RemoveSensorResponse
+ (*EnableSensorRequest)(nil), // 22: tetragon.EnableSensorRequest
+ (*EnableSensorResponse)(nil), // 23: tetragon.EnableSensorResponse
+ (*DisableSensorRequest)(nil), // 24: tetragon.DisableSensorRequest
+ (*DisableSensorResponse)(nil), // 25: tetragon.DisableSensorResponse
+ (*GetStackTraceTreeRequest)(nil), // 26: tetragon.GetStackTraceTreeRequest
+ (*GetStackTraceTreeResponse)(nil), // 27: tetragon.GetStackTraceTreeResponse
+ (*GetVersionRequest)(nil), // 28: tetragon.GetVersionRequest
+ (*GetVersionResponse)(nil), // 29: tetragon.GetVersionResponse
+ (*DumpProcessCacheReqArgs)(nil), // 30: tetragon.DumpProcessCacheReqArgs
+ (*ProcessInternal)(nil), // 31: tetragon.ProcessInternal
+ (*DumpProcessCacheResArgs)(nil), // 32: tetragon.DumpProcessCacheResArgs
+ (*GetDebugRequest)(nil), // 33: tetragon.GetDebugRequest
+ (*GetDebugResponse)(nil), // 34: tetragon.GetDebugResponse
+ (*SetDebugRequest)(nil), // 35: tetragon.SetDebugRequest
+ (*SetDebugResponse)(nil), // 36: tetragon.SetDebugResponse
+ nil, // 37: tetragon.ProcessInternal.RefcntOpsEntry
+ (*StackTraceNode)(nil), // 38: tetragon.StackTraceNode
+ (*Process)(nil), // 39: tetragon.Process
+ (*wrapperspb.UInt32Value)(nil), // 40: google.protobuf.UInt32Value
+ (*GetEventsRequest)(nil), // 41: tetragon.GetEventsRequest
+ (*GetHealthStatusRequest)(nil), // 42: tetragon.GetHealthStatusRequest
+ (*RuntimeHookRequest)(nil), // 43: tetragon.RuntimeHookRequest
+ (*GetEventsResponse)(nil), // 44: tetragon.GetEventsResponse
+ (*GetHealthStatusResponse)(nil), // 45: tetragon.GetHealthStatusResponse
+ (*RuntimeHookResponse)(nil), // 46: tetragon.RuntimeHookResponse
}
var file_tetragon_sensors_proto_depIdxs = []int32{
- 4, // 0: tetragon.ListSensorsResponse.sensors:type_name -> tetragon.SensorStatus
+ 5, // 0: tetragon.ListSensorsResponse.sensors:type_name -> tetragon.SensorStatus
0, // 1: tetragon.TracingPolicyStatus.state:type_name -> tetragon.TracingPolicyState
- 7, // 2: tetragon.ListTracingPoliciesResponse.policies:type_name -> tetragon.TracingPolicyStatus
- 35, // 3: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode
- 36, // 4: tetragon.ProcessInternal.process:type_name -> tetragon.Process
- 37, // 5: tetragon.ProcessInternal.refcnt:type_name -> google.protobuf.UInt32Value
- 34, // 6: tetragon.ProcessInternal.refcnt_ops:type_name -> tetragon.ProcessInternal.RefcntOpsEntry
- 28, // 7: tetragon.DumpProcessCacheResArgs.processes:type_name -> tetragon.ProcessInternal
- 1, // 8: tetragon.GetDebugRequest.flag:type_name -> tetragon.ConfigFlag
- 27, // 9: tetragon.GetDebugRequest.dump:type_name -> tetragon.DumpProcessCacheReqArgs
- 1, // 10: tetragon.GetDebugResponse.flag:type_name -> tetragon.ConfigFlag
- 2, // 11: tetragon.GetDebugResponse.level:type_name -> tetragon.LogLevel
- 29, // 12: tetragon.GetDebugResponse.processes:type_name -> tetragon.DumpProcessCacheResArgs
- 1, // 13: tetragon.SetDebugRequest.flag:type_name -> tetragon.ConfigFlag
- 2, // 14: tetragon.SetDebugRequest.level:type_name -> tetragon.LogLevel
- 1, // 15: tetragon.SetDebugResponse.flag:type_name -> tetragon.ConfigFlag
- 2, // 16: tetragon.SetDebugResponse.level:type_name -> tetragon.LogLevel
- 38, // 17: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest
- 39, // 18: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest
- 9, // 19: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest
- 11, // 20: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest
- 6, // 21: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest
- 13, // 22: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest
- 15, // 23: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest
- 3, // 24: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest
- 19, // 25: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest
- 21, // 26: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest
- 17, // 27: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest
- 23, // 28: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest
- 25, // 29: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest
- 40, // 30: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest
- 30, // 31: tetragon.FineGuidanceSensors.GetDebug:input_type -> tetragon.GetDebugRequest
- 32, // 32: tetragon.FineGuidanceSensors.SetDebug:input_type -> tetragon.SetDebugRequest
- 41, // 33: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse
- 42, // 34: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse
- 10, // 35: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse
- 12, // 36: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse
- 8, // 37: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse
- 14, // 38: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse
- 16, // 39: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse
- 5, // 40: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse
- 20, // 41: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse
- 22, // 42: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse
- 18, // 43: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse
- 24, // 44: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse
- 26, // 45: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse
- 43, // 46: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse
- 31, // 47: tetragon.FineGuidanceSensors.GetDebug:output_type -> tetragon.GetDebugResponse
- 33, // 48: tetragon.FineGuidanceSensors.SetDebug:output_type -> tetragon.SetDebugResponse
- 33, // [33:49] is the sub-list for method output_type
- 17, // [17:33] is the sub-list for method input_type
- 17, // [17:17] is the sub-list for extension type_name
- 17, // [17:17] is the sub-list for extension extendee
- 0, // [0:17] is the sub-list for field type_name
+ 1, // 2: tetragon.TracingPolicyStatus.mode:type_name -> tetragon.TracingPolicyMode
+ 8, // 3: tetragon.ListTracingPoliciesResponse.policies:type_name -> tetragon.TracingPolicyStatus
+ 1, // 4: tetragon.ConfigureTracingPolicyRequest.mode:type_name -> tetragon.TracingPolicyMode
+ 38, // 5: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode
+ 39, // 6: tetragon.ProcessInternal.process:type_name -> tetragon.Process
+ 40, // 7: tetragon.ProcessInternal.refcnt:type_name -> google.protobuf.UInt32Value
+ 37, // 8: tetragon.ProcessInternal.refcnt_ops:type_name -> tetragon.ProcessInternal.RefcntOpsEntry
+ 31, // 9: tetragon.DumpProcessCacheResArgs.processes:type_name -> tetragon.ProcessInternal
+ 2, // 10: tetragon.GetDebugRequest.flag:type_name -> tetragon.ConfigFlag
+ 30, // 11: tetragon.GetDebugRequest.dump:type_name -> tetragon.DumpProcessCacheReqArgs
+ 2, // 12: tetragon.GetDebugResponse.flag:type_name -> tetragon.ConfigFlag
+ 3, // 13: tetragon.GetDebugResponse.level:type_name -> tetragon.LogLevel
+ 32, // 14: tetragon.GetDebugResponse.processes:type_name -> tetragon.DumpProcessCacheResArgs
+ 2, // 15: tetragon.SetDebugRequest.flag:type_name -> tetragon.ConfigFlag
+ 3, // 16: tetragon.SetDebugRequest.level:type_name -> tetragon.LogLevel
+ 2, // 17: tetragon.SetDebugResponse.flag:type_name -> tetragon.ConfigFlag
+ 3, // 18: tetragon.SetDebugResponse.level:type_name -> tetragon.LogLevel
+ 41, // 19: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest
+ 42, // 20: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest
+ 10, // 21: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest
+ 12, // 22: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest
+ 7, // 23: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest
+ 18, // 24: tetragon.FineGuidanceSensors.ConfigureTracingPolicy:input_type -> tetragon.ConfigureTracingPolicyRequest
+ 14, // 25: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest
+ 16, // 26: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest
+ 4, // 27: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest
+ 22, // 28: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest
+ 24, // 29: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest
+ 20, // 30: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest
+ 26, // 31: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest
+ 28, // 32: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest
+ 43, // 33: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest
+ 33, // 34: tetragon.FineGuidanceSensors.GetDebug:input_type -> tetragon.GetDebugRequest
+ 35, // 35: tetragon.FineGuidanceSensors.SetDebug:input_type -> tetragon.SetDebugRequest
+ 44, // 36: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse
+ 45, // 37: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse
+ 11, // 38: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse
+ 13, // 39: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse
+ 9, // 40: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse
+ 19, // 41: tetragon.FineGuidanceSensors.ConfigureTracingPolicy:output_type -> tetragon.ConfigureTracingPolicyResponse
+ 15, // 42: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse
+ 17, // 43: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse
+ 6, // 44: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse
+ 23, // 45: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse
+ 25, // 46: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse
+ 21, // 47: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse
+ 27, // 48: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse
+ 29, // 49: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse
+ 46, // 50: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse
+ 34, // 51: tetragon.FineGuidanceSensors.GetDebug:output_type -> tetragon.GetDebugResponse
+ 36, // 52: tetragon.FineGuidanceSensors.SetDebug:output_type -> tetragon.SetDebugResponse
+ 36, // [36:53] is the sub-list for method output_type
+ 19, // [19:36] is the sub-list for method input_type
+ 19, // [19:19] is the sub-list for extension type_name
+ 19, // [19:19] is the sub-list for extension extendee
+ 0, // [0:19] is the sub-list for field type_name
}
func init() { file_tetragon_sensors_proto_init() }
@@ -2198,17 +2396,18 @@ func file_tetragon_sensors_proto_init() {
file_tetragon_events_proto_init()
file_tetragon_stack_proto_init()
file_tetragon_tetragon_proto_init()
- file_tetragon_sensors_proto_msgTypes[27].OneofWrappers = []any{
+ file_tetragon_sensors_proto_msgTypes[14].OneofWrappers = []any{}
+ file_tetragon_sensors_proto_msgTypes[29].OneofWrappers = []any{
(*GetDebugRequest_Dump)(nil),
}
- file_tetragon_sensors_proto_msgTypes[28].OneofWrappers = []any{
+ file_tetragon_sensors_proto_msgTypes[30].OneofWrappers = []any{
(*GetDebugResponse_Level)(nil),
(*GetDebugResponse_Processes)(nil),
}
- file_tetragon_sensors_proto_msgTypes[29].OneofWrappers = []any{
+ file_tetragon_sensors_proto_msgTypes[31].OneofWrappers = []any{
(*SetDebugRequest_Level)(nil),
}
- file_tetragon_sensors_proto_msgTypes[30].OneofWrappers = []any{
+ file_tetragon_sensors_proto_msgTypes[32].OneofWrappers = []any{
(*SetDebugResponse_Level)(nil),
}
type x struct{}
@@ -2216,8 +2415,8 @@ func file_tetragon_sensors_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_tetragon_sensors_proto_rawDesc,
- NumEnums: 3,
- NumMessages: 32,
+ NumEnums: 4,
+ NumMessages: 34,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/api/v1/tetragon/sensors.pb.json.go b/api/v1/tetragon/sensors.pb.json.go
index 13c3e29ca9e..b649a949140 100644
--- a/api/v1/tetragon/sensors.pb.json.go
+++ b/api/v1/tetragon/sensors.pb.json.go
@@ -178,6 +178,30 @@ func (msg *DisableTracingPolicyResponse) UnmarshalJSON(b []byte) error {
return protojson.UnmarshalOptions{}.Unmarshal(b, msg)
}
+// MarshalJSON implements json.Marshaler
+func (msg *ConfigureTracingPolicyRequest) MarshalJSON() ([]byte, error) {
+ return protojson.MarshalOptions{
+ UseProtoNames: true,
+ }.Marshal(msg)
+}
+
+// UnmarshalJSON implements json.Unmarshaler
+func (msg *ConfigureTracingPolicyRequest) UnmarshalJSON(b []byte) error {
+ return protojson.UnmarshalOptions{}.Unmarshal(b, msg)
+}
+
+// MarshalJSON implements json.Marshaler
+func (msg *ConfigureTracingPolicyResponse) MarshalJSON() ([]byte, error) {
+ return protojson.MarshalOptions{
+ UseProtoNames: true,
+ }.Marshal(msg)
+}
+
+// UnmarshalJSON implements json.Unmarshaler
+func (msg *ConfigureTracingPolicyResponse) UnmarshalJSON(b []byte) error {
+ return protojson.UnmarshalOptions{}.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 730bfb0adbe..ce99ce30314 100644
--- a/api/v1/tetragon/sensors.proto
+++ b/api/v1/tetragon/sensors.proto
@@ -49,6 +49,12 @@ enum TracingPolicyState {
TP_STATE_UNLOADING = 6;
}
+enum TracingPolicyMode {
+ TP_MODE_UNKNOWN = 0;
+ TP_MODE_ENFORCE = 1;
+ TP_MODE_MONITOR = 2;
+}
+
message TracingPolicyStatus {
// id is the id of the policy
uint64 id = 1;
@@ -70,6 +76,8 @@ message TracingPolicyStatus {
TracingPolicyState state = 9;
// the amount of kernel memory in bytes used by policy's sensors non-shared BPF maps (memlock)
uint64 kernel_memory_bytes = 10;
+ // current mode of the tracing policy
+ TracingPolicyMode mode = 11;
}
message ListTracingPoliciesResponse {
@@ -99,6 +107,16 @@ message DisableTracingPolicyRequest {
}
message DisableTracingPolicyResponse {}
+message ConfigureTracingPolicyRequest {
+ string name = 1;
+ string namespace = 2;
+
+ optional bool enable = 3;
+ optional TracingPolicyMode mode = 4;
+}
+
+message ConfigureTracingPolicyResponse {}
+
message RemoveSensorRequest {
string name = 1;
}
@@ -203,8 +221,22 @@ service FineGuidanceSensors {
rpc AddTracingPolicy(AddTracingPolicyRequest) returns (AddTracingPolicyResponse) {}
rpc DeleteTracingPolicy(DeleteTracingPolicyRequest) returns (DeleteTracingPolicyResponse) {}
rpc ListTracingPolicies(ListTracingPoliciesRequest) returns (ListTracingPoliciesResponse) {}
- rpc EnableTracingPolicy(EnableTracingPolicyRequest) returns (EnableTracingPolicyResponse) {}
- rpc DisableTracingPolicy(DisableTracingPolicyRequest) returns (DisableTracingPolicyResponse) {}
+ // ConfigureTracingPolicy can be used to configure a loaded tracing policy.
+ // It can be used to:
+ // - enable/disable it
+ // - change its mode (enforcement vs monitoring)
+ // If multiple changes are requested and an error is encountered, the resulting state might have
+ // partial updates applied. In other words, the configuring a tracing policy is not atomic.
+ rpc ConfigureTracingPolicy(ConfigureTracingPolicyRequest) returns (ConfigureTracingPolicyResponse) {}
+
+ rpc EnableTracingPolicy(EnableTracingPolicyRequest) returns (EnableTracingPolicyResponse) {
+ // use ConfigureTracingPolicy instead
+ option deprecated = true;
+ }
+ rpc DisableTracingPolicy(DisableTracingPolicyRequest) returns (DisableTracingPolicyResponse) {
+ // use ConfigureTracingPolicy instead
+ option deprecated = true;
+ }
rpc ListSensors(ListSensorsRequest) returns (ListSensorsResponse) {
option deprecated = true;
diff --git a/api/v1/tetragon/sensors_grpc.pb.go b/api/v1/tetragon/sensors_grpc.pb.go
index 613710e7002..d14fbe03a74 100644
--- a/api/v1/tetragon/sensors_grpc.pb.go
+++ b/api/v1/tetragon/sensors_grpc.pb.go
@@ -22,22 +22,23 @@ import (
const _ = grpc.SupportPackageIsVersion9
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_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_RemoveSensor_FullMethodName = "/tetragon.FineGuidanceSensors/RemoveSensor"
- FineGuidanceSensors_GetStackTraceTree_FullMethodName = "/tetragon.FineGuidanceSensors/GetStackTraceTree"
- FineGuidanceSensors_GetVersion_FullMethodName = "/tetragon.FineGuidanceSensors/GetVersion"
- FineGuidanceSensors_RuntimeHook_FullMethodName = "/tetragon.FineGuidanceSensors/RuntimeHook"
- FineGuidanceSensors_GetDebug_FullMethodName = "/tetragon.FineGuidanceSensors/GetDebug"
- FineGuidanceSensors_SetDebug_FullMethodName = "/tetragon.FineGuidanceSensors/SetDebug"
+ 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_ListTracingPolicies_FullMethodName = "/tetragon.FineGuidanceSensors/ListTracingPolicies"
+ FineGuidanceSensors_ConfigureTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/ConfigureTracingPolicy"
+ 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_RemoveSensor_FullMethodName = "/tetragon.FineGuidanceSensors/RemoveSensor"
+ FineGuidanceSensors_GetStackTraceTree_FullMethodName = "/tetragon.FineGuidanceSensors/GetStackTraceTree"
+ FineGuidanceSensors_GetVersion_FullMethodName = "/tetragon.FineGuidanceSensors/GetVersion"
+ FineGuidanceSensors_RuntimeHook_FullMethodName = "/tetragon.FineGuidanceSensors/RuntimeHook"
+ FineGuidanceSensors_GetDebug_FullMethodName = "/tetragon.FineGuidanceSensors/GetDebug"
+ FineGuidanceSensors_SetDebug_FullMethodName = "/tetragon.FineGuidanceSensors/SetDebug"
)
// FineGuidanceSensorsClient is the client API for FineGuidanceSensors service.
@@ -49,7 +50,17 @@ type FineGuidanceSensorsClient interface {
AddTracingPolicy(ctx context.Context, in *AddTracingPolicyRequest, opts ...grpc.CallOption) (*AddTracingPolicyResponse, error)
DeleteTracingPolicy(ctx context.Context, in *DeleteTracingPolicyRequest, opts ...grpc.CallOption) (*DeleteTracingPolicyResponse, error)
ListTracingPolicies(ctx context.Context, in *ListTracingPoliciesRequest, opts ...grpc.CallOption) (*ListTracingPoliciesResponse, error)
+ // ConfigureTracingPolicy can be used to configure a loaded tracing policy.
+ // It can be used to:
+ // - enable/disable it
+ // - change its mode (enforcement vs monitoring)
+ //
+ // If multiple changes are requested and an error is encountered, the resulting state might have
+ // partial updates applied. In other words, the configuring a tracing policy is not atomic.
+ ConfigureTracingPolicy(ctx context.Context, in *ConfigureTracingPolicyRequest, opts ...grpc.CallOption) (*ConfigureTracingPolicyResponse, error)
+ // Deprecated: Do not use.
EnableTracingPolicy(ctx context.Context, in *EnableTracingPolicyRequest, opts ...grpc.CallOption) (*EnableTracingPolicyResponse, error)
+ // Deprecated: Do not use.
DisableTracingPolicy(ctx context.Context, in *DisableTracingPolicyRequest, opts ...grpc.CallOption) (*DisableTracingPolicyResponse, error)
// Deprecated: Do not use.
ListSensors(ctx context.Context, in *ListSensorsRequest, opts ...grpc.CallOption) (*ListSensorsResponse, error)
@@ -133,6 +144,17 @@ func (c *fineGuidanceSensorsClient) ListTracingPolicies(ctx context.Context, in
return out, nil
}
+func (c *fineGuidanceSensorsClient) ConfigureTracingPolicy(ctx context.Context, in *ConfigureTracingPolicyRequest, opts ...grpc.CallOption) (*ConfigureTracingPolicyResponse, error) {
+ cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+ out := new(ConfigureTracingPolicyResponse)
+ err := c.cc.Invoke(ctx, FineGuidanceSensors_ConfigureTracingPolicy_FullMethodName, in, out, cOpts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// Deprecated: Do not use.
func (c *fineGuidanceSensorsClient) EnableTracingPolicy(ctx context.Context, in *EnableTracingPolicyRequest, opts ...grpc.CallOption) (*EnableTracingPolicyResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(EnableTracingPolicyResponse)
@@ -143,6 +165,7 @@ func (c *fineGuidanceSensorsClient) EnableTracingPolicy(ctx context.Context, in
return out, nil
}
+// Deprecated: Do not use.
func (c *fineGuidanceSensorsClient) DisableTracingPolicy(ctx context.Context, in *DisableTracingPolicyRequest, opts ...grpc.CallOption) (*DisableTracingPolicyResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(DisableTracingPolicyResponse)
@@ -256,7 +279,17 @@ type FineGuidanceSensorsServer interface {
AddTracingPolicy(context.Context, *AddTracingPolicyRequest) (*AddTracingPolicyResponse, error)
DeleteTracingPolicy(context.Context, *DeleteTracingPolicyRequest) (*DeleteTracingPolicyResponse, error)
ListTracingPolicies(context.Context, *ListTracingPoliciesRequest) (*ListTracingPoliciesResponse, error)
+ // ConfigureTracingPolicy can be used to configure a loaded tracing policy.
+ // It can be used to:
+ // - enable/disable it
+ // - change its mode (enforcement vs monitoring)
+ //
+ // If multiple changes are requested and an error is encountered, the resulting state might have
+ // partial updates applied. In other words, the configuring a tracing policy is not atomic.
+ ConfigureTracingPolicy(context.Context, *ConfigureTracingPolicyRequest) (*ConfigureTracingPolicyResponse, error)
+ // Deprecated: Do not use.
EnableTracingPolicy(context.Context, *EnableTracingPolicyRequest) (*EnableTracingPolicyResponse, error)
+ // Deprecated: Do not use.
DisableTracingPolicy(context.Context, *DisableTracingPolicyRequest) (*DisableTracingPolicyResponse, error)
// Deprecated: Do not use.
ListSensors(context.Context, *ListSensorsRequest) (*ListSensorsResponse, error)
@@ -296,6 +329,9 @@ func (UnimplementedFineGuidanceSensorsServer) DeleteTracingPolicy(context.Contex
func (UnimplementedFineGuidanceSensorsServer) ListTracingPolicies(context.Context, *ListTracingPoliciesRequest) (*ListTracingPoliciesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListTracingPolicies not implemented")
}
+func (UnimplementedFineGuidanceSensorsServer) ConfigureTracingPolicy(context.Context, *ConfigureTracingPolicyRequest) (*ConfigureTracingPolicyResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ConfigureTracingPolicy not implemented")
+}
func (UnimplementedFineGuidanceSensorsServer) EnableTracingPolicy(context.Context, *EnableTracingPolicyRequest) (*EnableTracingPolicyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method EnableTracingPolicy not implemented")
}
@@ -433,6 +469,24 @@ func _FineGuidanceSensors_ListTracingPolicies_Handler(srv interface{}, ctx conte
return interceptor(ctx, in, info, handler)
}
+func _FineGuidanceSensors_ConfigureTracingPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ConfigureTracingPolicyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(FineGuidanceSensorsServer).ConfigureTracingPolicy(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: FineGuidanceSensors_ConfigureTracingPolicy_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(FineGuidanceSensorsServer).ConfigureTracingPolicy(ctx, req.(*ConfigureTracingPolicyRequest))
+ }
+ 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 {
@@ -654,6 +708,10 @@ var FineGuidanceSensors_ServiceDesc = grpc.ServiceDesc{
MethodName: "ListTracingPolicies",
Handler: _FineGuidanceSensors_ListTracingPolicies_Handler,
},
+ {
+ MethodName: "ConfigureTracingPolicy",
+ Handler: _FineGuidanceSensors_ConfigureTracingPolicy_Handler,
+ },
{
MethodName: "EnableTracingPolicy",
Handler: _FineGuidanceSensors_EnableTracingPolicy_Handler,
diff --git a/bpf/lib/policy_conf.h b/bpf/lib/policy_conf.h
new file mode 100644
index 00000000000..5da06bb453b
--- /dev/null
+++ b/bpf/lib/policy_conf.h
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/* Copyright Authors of Tetragon */
+
+#ifndef BPF_POLICYCONF_H__
+#define BPF_POLICYCONF_H__
+
+// NB: values should match the ones defined in go (EnforceMode, MonitorMode)
+enum {
+ POLICY_MODE_ENFORCE = 0,
+ POLICY_MODE_MONITOR = 1,
+};
+
+struct policy_conf {
+ __u8 mode;
+} __attribute__((packed));
+
+struct {
+ __uint(type, BPF_MAP_TYPE_ARRAY);
+ __uint(max_entries, 1);
+ __type(key, __u32);
+ __type(value, struct policy_conf);
+} policy_conf SEC(".maps");
+
+#endif /* BPF_POLICYCONF_H__ */
diff --git a/bpf/process/generic_calls.h b/bpf/process/generic_calls.h
index c2dfafa24c8..afddd197cca 100644
--- a/bpf/process/generic_calls.h
+++ b/bpf/process/generic_calls.h
@@ -9,6 +9,7 @@
#include "policy_filter.h"
#include "types/basic.h"
#include "vmlinux.h"
+#include "policy_conf.h"
#define MAX_TOTAL 9000
@@ -283,7 +284,7 @@ do_override_action(__s32 error)
#endif
FUNC_LOCAL __u32
-do_action(void *ctx, __u32 i, struct selector_action *actions, bool *post)
+do_action(void *ctx, __u32 i, struct selector_action *actions, bool *post, bool monitor_mode)
{
int signal __maybe_unused = FGS_SIGKILL;
int action = actions->act[i];
@@ -354,11 +355,13 @@ do_action(void *ctx, __u32 i, struct selector_action *actions, bool *post)
case ACTION_SIGNAL:
signal = actions->act[++i];
case ACTION_SIGKILL:
- do_action_signal(signal);
+ if (!monitor_mode)
+ do_action_signal(signal);
break;
case ACTION_OVERRIDE:
error = actions->act[++i];
- do_override_action(error);
+ if (!monitor_mode)
+ do_override_action(error);
break;
case ACTION_GETURL:
case ACTION_DNSLOOKUP:
@@ -374,7 +377,8 @@ do_action(void *ctx, __u32 i, struct selector_action *actions, bool *post)
error = actions->act[++i];
signal = actions->act[++i];
argi = actions->act[++i];
- do_action_notify_enforcer(e, error, signal, argi);
+ if (!monitor_mode)
+ do_action_notify_enforcer(e, error, signal, argi);
break;
case ACTION_CLEANUP_ENFORCER_NOTIFICATION:
do_enforcer_cleanup();
@@ -401,7 +405,16 @@ FUNC_INLINE bool
do_actions(void *ctx, struct selector_action *actions)
{
bool post = true;
- __u32 l, i = 0;
+ __u32 l, i = 0, zero = 0;
+ struct policy_conf *pcnf;
+ bool monitor_mode = false;
+
+ /* check if policy is in monitor (non-enforcement) mode and, if it is, skip enforcement
+ * actions
+ */
+ pcnf = map_lookup_elem(&policy_conf, &zero);
+ if (pcnf && pcnf->mode == POLICY_MODE_MONITOR)
+ monitor_mode = true;
#ifndef __LARGE_BPF_PROG
#pragma unroll
@@ -409,7 +422,7 @@ do_actions(void *ctx, struct selector_action *actions)
for (l = 0; l < MAX_ACTIONS; l++) {
if (!has_action(actions, i))
break;
- i = do_action(ctx, i, actions, &post);
+ i = do_action(ctx, i, actions, &post, monitor_mode);
}
return post;
diff --git a/cmd/tetra/common/utils.go b/cmd/tetra/common/utils.go
index 0abf1a1a109..0657df3ae74 100644
--- a/cmd/tetra/common/utils.go
+++ b/cmd/tetra/common/utils.go
@@ -32,7 +32,7 @@ func HumanizeByteCount(b int) string {
func PrintTracingPolicies(output io.Writer, policies []*tetragon.TracingPolicyStatus, skipPolicy func(pol *tetragon.TracingPolicyStatus) bool) {
// tabwriter config imitates kubectl default output, i.e. 3 spaces padding
w := tabwriter.NewWriter(output, 0, 0, 3, ' ', 0)
- fmt.Fprintln(w, "ID\tNAME\tSTATE\tFILTERID\tNAMESPACE\tSENSORS\tKERNELMEMORY")
+ fmt.Fprintln(w, "ID\tNAME\tSTATE\tFILTERID\tNAMESPACE\tSENSORS\tKERNELMEMORY\tMODE")
for _, pol := range policies {
if skipPolicy != nil && skipPolicy(pol) {
@@ -70,7 +70,7 @@ func PrintTracingPolicies(output io.Writer, policies []*tetragon.TracingPolicySt
}
}
- fmt.Fprintf(w, "%d\t%s\t%s\t%d\t%s\t%s\t%s\t\n",
+ fmt.Fprintf(w, "%d\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t\n",
pol.Id,
pol.Name,
strings.TrimPrefix(strings.ToLower(pol.State.String()), "tp_state_"),
@@ -78,6 +78,7 @@ func PrintTracingPolicies(output io.Writer, policies []*tetragon.TracingPolicySt
namespace,
sensors,
HumanizeByteCount(int(pol.KernelMemoryBytes)),
+ strings.TrimPrefix(strings.ToLower(pol.Mode.String()), "tp_mode_"),
)
}
w.Flush()
diff --git a/cmd/tetra/getevents/io_reader_client.go b/cmd/tetra/getevents/io_reader_client.go
index f8aaeee06b7..821527b9e9b 100644
--- a/cmd/tetra/getevents/io_reader_client.go
+++ b/cmd/tetra/getevents/io_reader_client.go
@@ -140,3 +140,7 @@ func (i *ioReaderClient) GetDebug(_ context.Context, _ *tetragon.GetDebugRequest
func (i *ioReaderClient) SetDebug(_ context.Context, _ *tetragon.SetDebugRequest, _ ...grpc.CallOption) (*tetragon.SetDebugResponse, error) {
panic("stub")
}
+
+func (i *ioReaderClient) ConfigureTracingPolicy(_ context.Context, _ *tetragon.ConfigureTracingPolicyRequest, _ ...grpc.CallOption) (*tetragon.ConfigureTracingPolicyResponse, error) {
+ panic("stub")
+}
diff --git a/cmd/tetra/tracingpolicy/tracingpolicy.go b/cmd/tetra/tracingpolicy/tracingpolicy.go
index 2c7024a79c9..a6717bc4eb7 100644
--- a/cmd/tetra/tracingpolicy/tracingpolicy.go
+++ b/cmd/tetra/tracingpolicy/tracingpolicy.go
@@ -10,19 +10,64 @@ 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/tracingpolicy"
"github.com/spf13/cobra"
)
-func New() *cobra.Command {
- tpCmd := &cobra.Command{
- Use: "tracingpolicy",
- Aliases: []string{"tp"},
- Short: "Manage tracing policies",
+func tpConfigure(name, namespace string, enable *bool, mode *tetragon.TracingPolicyMode) error {
+ c, err := common.NewClientWithDefaultContextAndAddress()
+ if err != nil {
+ return fmt.Errorf("failed create gRPC client: %w", err)
+ }
+ defer c.Close()
+
+ _, err = c.Client.ConfigureTracingPolicy(c.Ctx, &tetragon.ConfigureTracingPolicyRequest{
+ Name: name,
+ Namespace: namespace,
+ Enable: enable,
+ Mode: mode,
+ })
+ return err
+}
+
+func tpModifyCmd() *cobra.Command {
+ var mode string
+ ret := &cobra.Command{
+ Use: "modify ",
+ Short: "modify a tracing policy yaml file",
+ Args: cobra.ExactArgs(1),
+ RunE: func(_ *cobra.Command, args []string) error {
+ c, err := common.NewClientWithDefaultContextAndAddress()
+ if err != nil {
+ return fmt.Errorf("failed create gRPC client: %w", err)
+ }
+ 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)
+ }
+
+ if mode != "" {
+ yamlb, err = tracingpolicy.PolicyYAMLSetMode(yamlb, mode)
+ if err != nil {
+ return fmt.Errorf("failed to apply mode %q to yaml file %s: %w", mode, args[0], err)
+ }
+ }
+ _, err = os.Stdout.Write(yamlb)
+ return err
+ },
}
+ flags := ret.Flags()
+ flags.StringVarP(&mode, "mode", "m", "", "Tracing policy mode (enforce|monitor)")
+ return ret
+}
- tpAddCmd := &cobra.Command{
+func tpAddCmd() *cobra.Command {
+ var mode string
+ ret := &cobra.Command{
Use: "add ",
- Short: "add a new sensor based on a tracing policy",
+ Short: "add a tracing policy",
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
c, err := common.NewClientWithDefaultContextAndAddress()
@@ -36,6 +81,13 @@ func New() *cobra.Command {
return fmt.Errorf("failed to read yaml file %s: %w", args[0], err)
}
+ if mode != "" {
+ yamlb, err = tracingpolicy.PolicyYAMLSetMode(yamlb, mode)
+ if err != nil {
+ return fmt.Errorf("failed to apply mode %q to yaml file %s: %w", mode, args[0], err)
+ }
+ }
+
_, err = c.Client.AddTracingPolicy(c.Ctx, &tetragon.AddTracingPolicyRequest{
Yaml: string(yamlb),
})
@@ -47,9 +99,14 @@ func New() *cobra.Command {
return nil
},
}
+ flags := ret.Flags()
+ flags.StringVarP(&mode, "mode", "m", "", "Tracing policy mode (enforce|monitor)")
+ return ret
+}
- var tpDelNamespaceFlag string
- tpDelCmd := &cobra.Command{
+func tpDelCmd() *cobra.Command {
+ var namespace string
+ ret := &cobra.Command{
Use: "delete ",
Short: "delete a tracing policy",
Args: cobra.ExactArgs(1),
@@ -62,7 +119,7 @@ func New() *cobra.Command {
_, err = c.Client.DeleteTracingPolicy(c.Ctx, &tetragon.DeleteTracingPolicyRequest{
Name: args[0],
- Namespace: tpDelNamespaceFlag,
+ Namespace: namespace,
})
if err != nil {
return fmt.Errorf("failed to delete tracing policy: %w", err)
@@ -72,70 +129,66 @@ func New() *cobra.Command {
return nil
},
}
+ flags := ret.Flags()
+ flags.StringVarP(&namespace, common.KeyNamespace, "n", "", "Namespace of the tracing policy.")
+ return ret
+}
- var tpEnableNamespaceFlag string
- tpEnableCmd := &cobra.Command{
+func tpEnableCmd() *cobra.Command {
+ var namespace string
+ ret := &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, err := common.NewClientWithDefaultContextAndAddress()
- if err != nil {
- return fmt.Errorf("failed create gRPC client: %w", err)
- }
- defer c.Close()
-
- _, err = c.Client.EnableTracingPolicy(c.Ctx, &tetragon.EnableTracingPolicyRequest{
- Name: args[0],
- Namespace: tpEnableNamespaceFlag,
- })
+ enable := true
+ err := tpConfigure(args[0], namespace, &enable, nil)
if err != nil {
return fmt.Errorf("failed to enable tracing policy: %w", err)
}
cmd.Printf("tracing policy %q enabled\n", args[0])
-
return nil
},
}
+ flags := ret.Flags()
+ flags.StringVarP(&namespace, common.KeyNamespace, "n", "", "Namespace of the tracing policy.")
+ return ret
+}
- var tpDisableNamespaceFlag string
- tpDisableCmd := &cobra.Command{
+func tpDisableCmd() *cobra.Command {
+ var namespace string
+ ret := &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, err := common.NewClientWithDefaultContextAndAddress()
- if err != nil {
- return fmt.Errorf("failed create gRPC client: %w", err)
- }
- defer c.Close()
-
- _, err = c.Client.DisableTracingPolicy(c.Ctx, &tetragon.DisableTracingPolicyRequest{
- Name: args[0],
- Namespace: tpDisableNamespaceFlag,
- })
-
+ enable := false
+ err := tpConfigure(args[0], namespace, &enable, nil)
if err != nil {
return fmt.Errorf("failed to disable tracing policy: %w", err)
}
-
cmd.Printf("tracing policy %q disabled\n", args[0])
-
return nil
},
}
- var tpListOutputFlag string
- tpListCmd := &cobra.Command{
+ flags := ret.Flags()
+ flags.StringVarP(&namespace, common.KeyNamespace, "n", "", "Namespace of the tracing policy.")
+ return ret
+}
+
+func tpListCmd() *cobra.Command {
+ var output string
+ ret := &cobra.Command{
Use: "list",
Short: "list loaded tracing policies",
Long: "List loaded tracing policies, use the JSON output format for full output.",
Args: cobra.ExactArgs(0),
PreRunE: func(_ *cobra.Command, _ []string) error {
- if tpListOutputFlag != "json" && tpListOutputFlag != "text" {
- return fmt.Errorf("invalid value for %q flag: %s", common.KeyOutput, tpListOutputFlag)
+ if output != "json" && output != "text" {
+ return fmt.Errorf("invalid value for %q flag: %s", common.KeyOutput, output)
}
return nil
},
@@ -151,7 +204,7 @@ func New() *cobra.Command {
return fmt.Errorf("failed to list tracing policies: %w", err)
}
- switch tpListOutputFlag {
+ switch output {
case "json":
b, err := res.MarshalJSON()
if err != nil {
@@ -165,21 +218,59 @@ func New() *cobra.Command {
return nil
},
}
- tpDelFlags := tpDelCmd.Flags()
- tpDelFlags.StringVarP(&tpDelNamespaceFlag, common.KeyNamespace, "n", "", "Namespace of the tracing policy.")
- tpEnableFlags := tpEnableCmd.Flags()
- tpEnableFlags.StringVarP(&tpEnableNamespaceFlag, common.KeyNamespace, "n", "", "Namespace of the tracing policy.")
- tpDisableFlags := tpDisableCmd.Flags()
- tpDisableFlags.StringVarP(&tpDisableNamespaceFlag, common.KeyNamespace, "n", "", "Namespace of the tracing policy.")
- tpListFlags := tpListCmd.Flags()
- tpListFlags.StringVarP(&tpListOutputFlag, common.KeyOutput, "o", "text", "Output format. text or json")
+ flags := ret.Flags()
+ flags.StringVarP(&output, common.KeyOutput, "o", "text", "Output format. text or json")
+ return ret
+}
+
+func tpSetModeCmd() *cobra.Command {
+ var namespace string
+ ret := &cobra.Command{
+ Use: "set-mode ",
+ Short: "set the mode of a tracing policy",
+ Long: "Set a tracing policy to monitor or enforce mode.",
+ Args: cobra.ExactArgs(2),
+ RunE: func(cmd *cobra.Command, args []string) error {
+
+ var mode tetragon.TracingPolicyMode
+ switch args[1] {
+ case "enforce":
+ mode = tetragon.TracingPolicyMode_TP_MODE_ENFORCE
+ case "monitor":
+ mode = tetragon.TracingPolicyMode_TP_MODE_MONITOR
+ default:
+ return fmt.Errorf("invalid mode %q", args[1])
+ }
+
+ err := tpConfigure(args[0], namespace, nil, &mode)
+ if err != nil {
+ return fmt.Errorf("failed set mode to %q tracing policy: %w", args[1], err)
+ }
+ cmd.Printf("tracing policy %q set to mode %q\n", args[0], args[1])
+ return nil
+ },
+ }
+
+ flags := ret.Flags()
+ flags.StringVarP(&namespace, common.KeyNamespace, "n", "", "Namespace of the tracing policy.")
+ return ret
+}
+
+func New() *cobra.Command {
+ tpCmd := &cobra.Command{
+ Use: "tracingpolicy",
+ Aliases: []string{"tp"},
+ Short: "Manage tracing policies",
+ }
tpCmd.AddCommand(
- tpAddCmd,
- tpDelCmd,
- tpEnableCmd,
- tpDisableCmd,
- tpListCmd,
+ tpModifyCmd(),
+ tpAddCmd(),
+ tpDelCmd(),
+ tpEnableCmd(),
+ tpDisableCmd(),
+ tpListCmd(),
+ tpSetModeCmd(),
generate.New(),
)
diff --git a/contrib/tester-progs/.gitignore b/contrib/tester-progs/.gitignore
index cf908508469..bd39b382140 100644
--- a/contrib/tester-progs/.gitignore
+++ b/contrib/tester-progs/.gitignore
@@ -25,3 +25,4 @@ direct-write-tester
user-stacktrace
pause
/test-helper
+/raisesigkill
diff --git a/contrib/tester-progs/Makefile b/contrib/tester-progs/Makefile
index 48f7a575ef2..d2ab683c87a 100644
--- a/contrib/tester-progs/Makefile
+++ b/contrib/tester-progs/Makefile
@@ -26,7 +26,8 @@ PROGS = sigkill-tester \
change-capabilities \
user-stacktrace \
test-helper \
- pause
+ pause \
+ raisesigkill
all: $(PROGS)
diff --git a/contrib/tester-progs/raisesigkill.c b/contrib/tester-progs/raisesigkill.c
new file mode 100644
index 00000000000..b563219292b
--- /dev/null
+++ b/contrib/tester-progs/raisesigkill.c
@@ -0,0 +1,6 @@
+#include
+
+int main(int argc, char **argv)
+{
+ raise(SIGKILL);
+}
diff --git a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go
index b814832d19f..2471e85f262 100644
--- a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go
+++ b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go
@@ -92,6 +92,55 @@ func (TracingPolicyState) EnumDescriptor() ([]byte, []int) {
return file_tetragon_sensors_proto_rawDescGZIP(), []int{0}
}
+type TracingPolicyMode int32
+
+const (
+ TracingPolicyMode_TP_MODE_UNKNOWN TracingPolicyMode = 0
+ TracingPolicyMode_TP_MODE_ENFORCE TracingPolicyMode = 1
+ TracingPolicyMode_TP_MODE_MONITOR TracingPolicyMode = 2
+)
+
+// Enum value maps for TracingPolicyMode.
+var (
+ TracingPolicyMode_name = map[int32]string{
+ 0: "TP_MODE_UNKNOWN",
+ 1: "TP_MODE_ENFORCE",
+ 2: "TP_MODE_MONITOR",
+ }
+ TracingPolicyMode_value = map[string]int32{
+ "TP_MODE_UNKNOWN": 0,
+ "TP_MODE_ENFORCE": 1,
+ "TP_MODE_MONITOR": 2,
+ }
+)
+
+func (x TracingPolicyMode) Enum() *TracingPolicyMode {
+ p := new(TracingPolicyMode)
+ *p = x
+ return p
+}
+
+func (x TracingPolicyMode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (TracingPolicyMode) Descriptor() protoreflect.EnumDescriptor {
+ return file_tetragon_sensors_proto_enumTypes[1].Descriptor()
+}
+
+func (TracingPolicyMode) Type() protoreflect.EnumType {
+ return &file_tetragon_sensors_proto_enumTypes[1]
+}
+
+func (x TracingPolicyMode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use TracingPolicyMode.Descriptor instead.
+func (TracingPolicyMode) EnumDescriptor() ([]byte, []int) {
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{1}
+}
+
// For now, we only want to support debug-related config flags to be configurable.
type ConfigFlag int32
@@ -123,11 +172,11 @@ func (x ConfigFlag) String() string {
}
func (ConfigFlag) Descriptor() protoreflect.EnumDescriptor {
- return file_tetragon_sensors_proto_enumTypes[1].Descriptor()
+ return file_tetragon_sensors_proto_enumTypes[2].Descriptor()
}
func (ConfigFlag) Type() protoreflect.EnumType {
- return &file_tetragon_sensors_proto_enumTypes[1]
+ return &file_tetragon_sensors_proto_enumTypes[2]
}
func (x ConfigFlag) Number() protoreflect.EnumNumber {
@@ -136,7 +185,7 @@ func (x ConfigFlag) Number() protoreflect.EnumNumber {
// Deprecated: Use ConfigFlag.Descriptor instead.
func (ConfigFlag) EnumDescriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{1}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{2}
}
type LogLevel int32
@@ -184,11 +233,11 @@ func (x LogLevel) String() string {
}
func (LogLevel) Descriptor() protoreflect.EnumDescriptor {
- return file_tetragon_sensors_proto_enumTypes[2].Descriptor()
+ return file_tetragon_sensors_proto_enumTypes[3].Descriptor()
}
func (LogLevel) Type() protoreflect.EnumType {
- return &file_tetragon_sensors_proto_enumTypes[2]
+ return &file_tetragon_sensors_proto_enumTypes[3]
}
func (x LogLevel) Number() protoreflect.EnumNumber {
@@ -197,7 +246,7 @@ func (x LogLevel) Number() protoreflect.EnumNumber {
// Deprecated: Use LogLevel.Descriptor instead.
func (LogLevel) EnumDescriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{2}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{3}
}
type ListSensorsRequest struct {
@@ -403,8 +452,10 @@ type TracingPolicyStatus struct {
State TracingPolicyState `protobuf:"varint,9,opt,name=state,proto3,enum=tetragon.TracingPolicyState" json:"state,omitempty"`
// the amount of kernel memory in bytes used by policy's sensors non-shared BPF maps (memlock)
KernelMemoryBytes uint64 `protobuf:"varint,10,opt,name=kernel_memory_bytes,json=kernelMemoryBytes,proto3" json:"kernel_memory_bytes,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
+ // current mode of the tracing policy
+ Mode TracingPolicyMode `protobuf:"varint,11,opt,name=mode,proto3,enum=tetragon.TracingPolicyMode" json:"mode,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
}
func (x *TracingPolicyStatus) Reset() {
@@ -508,6 +559,13 @@ func (x *TracingPolicyStatus) GetKernelMemoryBytes() uint64 {
return 0
}
+func (x *TracingPolicyStatus) GetMode() TracingPolicyMode {
+ if x != nil {
+ return x.Mode
+ }
+ return TracingPolicyMode_TP_MODE_UNKNOWN
+}
+
type ListTracingPoliciesResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Policies []*TracingPolicyStatus `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"`
@@ -896,6 +954,110 @@ func (*DisableTracingPolicyResponse) Descriptor() ([]byte, []int) {
return file_tetragon_sensors_proto_rawDescGZIP(), []int{13}
}
+type ConfigureTracingPolicyRequest struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
+ Enable *bool `protobuf:"varint,3,opt,name=enable,proto3,oneof" json:"enable,omitempty"`
+ Mode *TracingPolicyMode `protobuf:"varint,4,opt,name=mode,proto3,enum=tetragon.TracingPolicyMode,oneof" json:"mode,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ConfigureTracingPolicyRequest) Reset() {
+ *x = ConfigureTracingPolicyRequest{}
+ mi := &file_tetragon_sensors_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ConfigureTracingPolicyRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConfigureTracingPolicyRequest) ProtoMessage() {}
+
+func (x *ConfigureTracingPolicyRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_tetragon_sensors_proto_msgTypes[14]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConfigureTracingPolicyRequest.ProtoReflect.Descriptor instead.
+func (*ConfigureTracingPolicyRequest) Descriptor() ([]byte, []int) {
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{14}
+}
+
+func (x *ConfigureTracingPolicyRequest) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *ConfigureTracingPolicyRequest) GetNamespace() string {
+ if x != nil {
+ return x.Namespace
+ }
+ return ""
+}
+
+func (x *ConfigureTracingPolicyRequest) GetEnable() bool {
+ if x != nil && x.Enable != nil {
+ return *x.Enable
+ }
+ return false
+}
+
+func (x *ConfigureTracingPolicyRequest) GetMode() TracingPolicyMode {
+ if x != nil && x.Mode != nil {
+ return *x.Mode
+ }
+ return TracingPolicyMode_TP_MODE_UNKNOWN
+}
+
+type ConfigureTracingPolicyResponse struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ConfigureTracingPolicyResponse) Reset() {
+ *x = ConfigureTracingPolicyResponse{}
+ mi := &file_tetragon_sensors_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ConfigureTracingPolicyResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConfigureTracingPolicyResponse) ProtoMessage() {}
+
+func (x *ConfigureTracingPolicyResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_tetragon_sensors_proto_msgTypes[15]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConfigureTracingPolicyResponse.ProtoReflect.Descriptor instead.
+func (*ConfigureTracingPolicyResponse) Descriptor() ([]byte, []int) {
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{15}
+}
+
type RemoveSensorRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
@@ -905,7 +1067,7 @@ type RemoveSensorRequest struct {
func (x *RemoveSensorRequest) Reset() {
*x = RemoveSensorRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[14]
+ mi := &file_tetragon_sensors_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -917,7 +1079,7 @@ func (x *RemoveSensorRequest) String() string {
func (*RemoveSensorRequest) ProtoMessage() {}
func (x *RemoveSensorRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[14]
+ mi := &file_tetragon_sensors_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -930,7 +1092,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{14}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{16}
}
func (x *RemoveSensorRequest) GetName() string {
@@ -948,7 +1110,7 @@ type RemoveSensorResponse struct {
func (x *RemoveSensorResponse) Reset() {
*x = RemoveSensorResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[15]
+ mi := &file_tetragon_sensors_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -960,7 +1122,7 @@ func (x *RemoveSensorResponse) String() string {
func (*RemoveSensorResponse) ProtoMessage() {}
func (x *RemoveSensorResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[15]
+ mi := &file_tetragon_sensors_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -973,7 +1135,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{15}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{17}
}
type EnableSensorRequest struct {
@@ -985,7 +1147,7 @@ type EnableSensorRequest struct {
func (x *EnableSensorRequest) Reset() {
*x = EnableSensorRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[16]
+ mi := &file_tetragon_sensors_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -997,7 +1159,7 @@ func (x *EnableSensorRequest) String() string {
func (*EnableSensorRequest) ProtoMessage() {}
func (x *EnableSensorRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[16]
+ mi := &file_tetragon_sensors_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1010,7 +1172,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{16}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{18}
}
func (x *EnableSensorRequest) GetName() string {
@@ -1028,7 +1190,7 @@ type EnableSensorResponse struct {
func (x *EnableSensorResponse) Reset() {
*x = EnableSensorResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[17]
+ mi := &file_tetragon_sensors_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1040,7 +1202,7 @@ func (x *EnableSensorResponse) String() string {
func (*EnableSensorResponse) ProtoMessage() {}
func (x *EnableSensorResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[17]
+ mi := &file_tetragon_sensors_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1053,7 +1215,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{17}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{19}
}
type DisableSensorRequest struct {
@@ -1065,7 +1227,7 @@ type DisableSensorRequest struct {
func (x *DisableSensorRequest) Reset() {
*x = DisableSensorRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[18]
+ mi := &file_tetragon_sensors_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1077,7 +1239,7 @@ func (x *DisableSensorRequest) String() string {
func (*DisableSensorRequest) ProtoMessage() {}
func (x *DisableSensorRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[18]
+ mi := &file_tetragon_sensors_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1090,7 +1252,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{18}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{20}
}
func (x *DisableSensorRequest) GetName() string {
@@ -1108,7 +1270,7 @@ type DisableSensorResponse struct {
func (x *DisableSensorResponse) Reset() {
*x = DisableSensorResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[19]
+ mi := &file_tetragon_sensors_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1120,7 +1282,7 @@ func (x *DisableSensorResponse) String() string {
func (*DisableSensorResponse) ProtoMessage() {}
func (x *DisableSensorResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[19]
+ mi := &file_tetragon_sensors_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1133,7 +1295,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{19}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{21}
}
type GetStackTraceTreeRequest struct {
@@ -1145,7 +1307,7 @@ type GetStackTraceTreeRequest struct {
func (x *GetStackTraceTreeRequest) Reset() {
*x = GetStackTraceTreeRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[20]
+ mi := &file_tetragon_sensors_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1157,7 +1319,7 @@ func (x *GetStackTraceTreeRequest) String() string {
func (*GetStackTraceTreeRequest) ProtoMessage() {}
func (x *GetStackTraceTreeRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[20]
+ mi := &file_tetragon_sensors_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1170,7 +1332,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{20}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{22}
}
func (x *GetStackTraceTreeRequest) GetName() string {
@@ -1189,7 +1351,7 @@ type GetStackTraceTreeResponse struct {
func (x *GetStackTraceTreeResponse) Reset() {
*x = GetStackTraceTreeResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[21]
+ mi := &file_tetragon_sensors_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1201,7 +1363,7 @@ func (x *GetStackTraceTreeResponse) String() string {
func (*GetStackTraceTreeResponse) ProtoMessage() {}
func (x *GetStackTraceTreeResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[21]
+ mi := &file_tetragon_sensors_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1214,7 +1376,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{21}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{23}
}
func (x *GetStackTraceTreeResponse) GetRoot() *StackTraceNode {
@@ -1232,7 +1394,7 @@ type GetVersionRequest struct {
func (x *GetVersionRequest) Reset() {
*x = GetVersionRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[22]
+ mi := &file_tetragon_sensors_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1244,7 +1406,7 @@ func (x *GetVersionRequest) String() string {
func (*GetVersionRequest) ProtoMessage() {}
func (x *GetVersionRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[22]
+ mi := &file_tetragon_sensors_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1257,7 +1419,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{22}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{24}
}
type GetVersionResponse struct {
@@ -1269,7 +1431,7 @@ type GetVersionResponse struct {
func (x *GetVersionResponse) Reset() {
*x = GetVersionResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[23]
+ mi := &file_tetragon_sensors_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1281,7 +1443,7 @@ func (x *GetVersionResponse) String() string {
func (*GetVersionResponse) ProtoMessage() {}
func (x *GetVersionResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[23]
+ mi := &file_tetragon_sensors_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1294,7 +1456,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{23}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{25}
}
func (x *GetVersionResponse) GetVersion() string {
@@ -1314,7 +1476,7 @@ type DumpProcessCacheReqArgs struct {
func (x *DumpProcessCacheReqArgs) Reset() {
*x = DumpProcessCacheReqArgs{}
- mi := &file_tetragon_sensors_proto_msgTypes[24]
+ mi := &file_tetragon_sensors_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1326,7 +1488,7 @@ func (x *DumpProcessCacheReqArgs) String() string {
func (*DumpProcessCacheReqArgs) ProtoMessage() {}
func (x *DumpProcessCacheReqArgs) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[24]
+ mi := &file_tetragon_sensors_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1339,7 +1501,7 @@ func (x *DumpProcessCacheReqArgs) ProtoReflect() protoreflect.Message {
// Deprecated: Use DumpProcessCacheReqArgs.ProtoReflect.Descriptor instead.
func (*DumpProcessCacheReqArgs) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{24}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{26}
}
func (x *DumpProcessCacheReqArgs) GetSkipZeroRefcnt() bool {
@@ -1376,7 +1538,7 @@ type ProcessInternal struct {
func (x *ProcessInternal) Reset() {
*x = ProcessInternal{}
- mi := &file_tetragon_sensors_proto_msgTypes[25]
+ mi := &file_tetragon_sensors_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1388,7 +1550,7 @@ func (x *ProcessInternal) String() string {
func (*ProcessInternal) ProtoMessage() {}
func (x *ProcessInternal) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[25]
+ mi := &file_tetragon_sensors_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1401,7 +1563,7 @@ func (x *ProcessInternal) ProtoReflect() protoreflect.Message {
// Deprecated: Use ProcessInternal.ProtoReflect.Descriptor instead.
func (*ProcessInternal) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{25}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{27}
}
func (x *ProcessInternal) GetProcess() *Process {
@@ -1441,7 +1603,7 @@ type DumpProcessCacheResArgs struct {
func (x *DumpProcessCacheResArgs) Reset() {
*x = DumpProcessCacheResArgs{}
- mi := &file_tetragon_sensors_proto_msgTypes[26]
+ mi := &file_tetragon_sensors_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1453,7 +1615,7 @@ func (x *DumpProcessCacheResArgs) String() string {
func (*DumpProcessCacheResArgs) ProtoMessage() {}
func (x *DumpProcessCacheResArgs) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[26]
+ mi := &file_tetragon_sensors_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1466,7 +1628,7 @@ func (x *DumpProcessCacheResArgs) ProtoReflect() protoreflect.Message {
// Deprecated: Use DumpProcessCacheResArgs.ProtoReflect.Descriptor instead.
func (*DumpProcessCacheResArgs) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{26}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{28}
}
func (x *DumpProcessCacheResArgs) GetProcesses() []*ProcessInternal {
@@ -1489,7 +1651,7 @@ type GetDebugRequest struct {
func (x *GetDebugRequest) Reset() {
*x = GetDebugRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[27]
+ mi := &file_tetragon_sensors_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1501,7 +1663,7 @@ func (x *GetDebugRequest) String() string {
func (*GetDebugRequest) ProtoMessage() {}
func (x *GetDebugRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[27]
+ mi := &file_tetragon_sensors_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1514,7 +1676,7 @@ func (x *GetDebugRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetDebugRequest.ProtoReflect.Descriptor instead.
func (*GetDebugRequest) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{27}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{29}
}
func (x *GetDebugRequest) GetFlag() ConfigFlag {
@@ -1564,7 +1726,7 @@ type GetDebugResponse struct {
func (x *GetDebugResponse) Reset() {
*x = GetDebugResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[28]
+ mi := &file_tetragon_sensors_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1576,7 +1738,7 @@ func (x *GetDebugResponse) String() string {
func (*GetDebugResponse) ProtoMessage() {}
func (x *GetDebugResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[28]
+ mi := &file_tetragon_sensors_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1589,7 +1751,7 @@ func (x *GetDebugResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetDebugResponse.ProtoReflect.Descriptor instead.
func (*GetDebugResponse) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{28}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{30}
}
func (x *GetDebugResponse) GetFlag() ConfigFlag {
@@ -1653,7 +1815,7 @@ type SetDebugRequest struct {
func (x *SetDebugRequest) Reset() {
*x = SetDebugRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[29]
+ mi := &file_tetragon_sensors_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1665,7 +1827,7 @@ func (x *SetDebugRequest) String() string {
func (*SetDebugRequest) ProtoMessage() {}
func (x *SetDebugRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[29]
+ mi := &file_tetragon_sensors_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1678,7 +1840,7 @@ func (x *SetDebugRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetDebugRequest.ProtoReflect.Descriptor instead.
func (*SetDebugRequest) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{29}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{31}
}
func (x *SetDebugRequest) GetFlag() ConfigFlag {
@@ -1727,7 +1889,7 @@ type SetDebugResponse struct {
func (x *SetDebugResponse) Reset() {
*x = SetDebugResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[30]
+ mi := &file_tetragon_sensors_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1739,7 +1901,7 @@ func (x *SetDebugResponse) String() string {
func (*SetDebugResponse) ProtoMessage() {}
func (x *SetDebugResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[30]
+ mi := &file_tetragon_sensors_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1752,7 +1914,7 @@ func (x *SetDebugResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetDebugResponse.ProtoReflect.Descriptor instead.
func (*SetDebugResponse) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{30}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{32}
}
func (x *SetDebugResponse) GetFlag() ConfigFlag {
@@ -1813,7 +1975,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, 0xba, 0x02, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50,
+ 0x65, 0x73, 0x74, 0x22, 0xeb, 0x02, 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,
@@ -1833,244 +1995,273 @@ var file_tetragon_sensors_proto_rawDesc = []byte{
0x12, 0x2e, 0x0a, 0x13, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6b,
0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x74, 0x65, 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,
+ 0x12, 0x2f, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b,
+ 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e,
+ 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64,
+ 0x65, 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,
- 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,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d,
+ 0x65, 0x73, 0x70, 0x61, 0x63, 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, 0x4e, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65,
- 0x73, 0x70, 0x61, 0x63, 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, 0x4e, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
- 0x70, 0x61, 0x63, 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, 0x4f, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54,
+ 0x73, 0x70, 0x61, 0x63, 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, 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, 0x22,
- 0x84, 0x01, 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43,
- 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73,
- 0x6b, 0x69, 0x70, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x52,
- 0x65, 0x66, 0x63, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65,
- 0x5f, 0x65, 0x78, 0x65, 0x63, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x63,
- 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x65, 0x78, 0x63,
- 0x6c, 0x75, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x76, 0x65, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x6f,
- 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x91, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x63, 0x65,
- 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x72,
- 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65,
- 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07,
- 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x34, 0x0a,
- 0x06, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x66,
- 0x63, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x5f, 0x6f, 0x70,
- 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
- 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
- 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x52, 0x09, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e,
- 0x52, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
- 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
- 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x17, 0x44, 0x75,
- 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65,
- 0x73, 0x41, 0x72, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61,
- 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72,
- 0x6e, 0x61, 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x7b,
- 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65,
+ 0x73, 0x70, 0x61, 0x63, 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, 0xb8, 0x01, 0x0a, 0x1d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x75, 0x72, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e,
+ 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
+ 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x6f, 0x64,
+ 0x65, 0x48, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
+ 0x22, 0x20, 0x0a, 0x1e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 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, 0x22, 0x84, 0x01,
+ 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63,
+ 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6b, 0x69,
+ 0x70, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x66,
+ 0x63, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x65,
+ 0x78, 0x65, 0x63, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x65, 0x78, 0x63, 0x6c, 0x75,
+ 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x76, 0x65, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x65, 0x73, 0x22, 0x91, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65, 0x74, 0x72,
+ 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07, 0x70, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x06, 0x72,
+ 0x65, 0x66, 0x63, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x66, 0x63, 0x6e,
+ 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x73, 0x18,
+ 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
+ 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
+ 0x2e, 0x52, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x09, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x52, 0x65,
+ 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70,
+ 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x41,
+ 0x72, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f,
+ 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
+ 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x7b, 0x0a, 0x0f,
+ 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e,
+ 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46,
+ 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x75, 0x6d,
+ 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61,
+ 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x04, 0x64, 0x75,
+ 0x6d, 0x70, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0xb2, 0x01, 0x0a, 0x10, 0x47, 0x65,
+ 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28,
+ 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c,
+ 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65,
+ 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61,
+ 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6e,
+ 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x64,
- 0x75, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x04,
- 0x64, 0x75, 0x6d, 0x70, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0xb2, 0x01, 0x0a, 0x10,
- 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14,
- 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65,
- 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52,
- 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
- 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x09,
- 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67,
- 0x22, 0x6e, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a,
- 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74,
- 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c,
- 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67,
- 0x22, 0x6f, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a,
- 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e,
- 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65,
- 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72,
- 0x67, 0x2a, 0xb2, 0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
- 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53,
- 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14,
- 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c,
- 0x45, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
- 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54,
- 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52,
- 0x4f, 0x52, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
- 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53,
- 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16,
- 0x0a, 0x12, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x41,
- 0x44, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x2a, 0x4b, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x46, 0x6c, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46,
- 0x4c, 0x41, 0x47, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x00, 0x12,
- 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44,
- 0x55, 0x4d, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x41, 0x43, 0x48,
- 0x45, 0x10, 0x01, 0x2a, 0x9b, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c,
- 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x50, 0x41,
- 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56,
- 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f,
- 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12,
- 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x41, 0x52,
- 0x4e, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c,
- 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c,
- 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f,
- 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10,
- 0x06, 0x32, 0xfe, 0x0a, 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, 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,
+ 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74,
+ 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00,
+ 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6f,
+ 0x0a, 0x10, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05,
+ 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65,
+ 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48,
+ 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x2a,
+ 0xb2, 0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
+ 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44,
+ 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44,
+ 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x50, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
+ 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45,
+ 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12,
+ 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49,
+ 0x4e, 0x47, 0x10, 0x06, 0x2a, 0x52, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x50, 0x5f,
+ 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13,
+ 0x0a, 0x0f, 0x54, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43,
+ 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d,
+ 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x10, 0x02, 0x2a, 0x4b, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47,
+ 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10,
+ 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47,
+ 0x5f, 0x44, 0x55, 0x4d, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x41,
+ 0x43, 0x48, 0x45, 0x10, 0x01, 0x2a, 0x9b, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f,
+ 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c,
+ 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f,
+ 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
+ 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57,
+ 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56,
+ 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47,
+ 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x13,
+ 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x43,
+ 0x45, 0x10, 0x06, 0x32, 0xf3, 0x0b, 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, 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,
+ 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, 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, 0x6d, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x54,
+ 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x27, 0x2e, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
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,
- 0x4f, 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, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73,
- 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01,
- 0x12, 0x52, 0x0a, 0x0c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72,
- 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62,
- 0x6c, 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, 0x45, 0x6e, 0x61, 0x62, 0x6c,
- 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x03, 0x88, 0x02, 0x01, 0x12, 0x55, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53,
- 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
- 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
- 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 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, 0x03, 0x88, 0x02, 0x01, 0x12,
- 0x5e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65,
- 0x54, 0x72, 0x65, 0x65, 0x12, 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
- 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65,
- 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61,
- 0x67, 0x6f, 0x6e, 0x2e, 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, 0x22, 0x00, 0x12,
- 0x49, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x2e,
- 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73,
- 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x74,
- 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x52, 0x75,
- 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
- 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x44,
- 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
- 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65,
- 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a,
- 0x08, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
- 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
- 0x2f, 0x63, 0x69, 0x6c, 0x69, 0x75, 0x6d, 0x2f, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
- 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
+ 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 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, 0x67, 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, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6a, 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, 0x03, 0x88, 0x02, 0x01, 0x12, 0x4f, 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, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c,
+ 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
+ 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 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, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x55, 0x0a, 0x0d, 0x44,
+ 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1e, 0x2e, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88,
+ 0x02, 0x01, 0x12, 0x52, 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, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61,
+ 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x12, 0x22, 0x2e, 0x74, 0x65,
+ 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54,
+ 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x23, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 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, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
+ 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74,
+ 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b,
+ 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74,
+ 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
+ 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d,
+ 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65,
+ 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f,
+ 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67,
+ 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44,
+ 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65,
+ 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74,
+ 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x69, 0x6c, 0x69, 0x75, 0x6d, 0x2f, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -2085,109 +2276,116 @@ func file_tetragon_sensors_proto_rawDescGZIP() []byte {
return file_tetragon_sensors_proto_rawDescData
}
-var file_tetragon_sensors_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
-var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
+var file_tetragon_sensors_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
+var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
var file_tetragon_sensors_proto_goTypes = []any{
- (TracingPolicyState)(0), // 0: tetragon.TracingPolicyState
- (ConfigFlag)(0), // 1: tetragon.ConfigFlag
- (LogLevel)(0), // 2: tetragon.LogLevel
- (*ListSensorsRequest)(nil), // 3: tetragon.ListSensorsRequest
- (*SensorStatus)(nil), // 4: tetragon.SensorStatus
- (*ListSensorsResponse)(nil), // 5: tetragon.ListSensorsResponse
- (*ListTracingPoliciesRequest)(nil), // 6: tetragon.ListTracingPoliciesRequest
- (*TracingPolicyStatus)(nil), // 7: tetragon.TracingPolicyStatus
- (*ListTracingPoliciesResponse)(nil), // 8: tetragon.ListTracingPoliciesResponse
- (*AddTracingPolicyRequest)(nil), // 9: tetragon.AddTracingPolicyRequest
- (*AddTracingPolicyResponse)(nil), // 10: tetragon.AddTracingPolicyResponse
- (*DeleteTracingPolicyRequest)(nil), // 11: tetragon.DeleteTracingPolicyRequest
- (*DeleteTracingPolicyResponse)(nil), // 12: tetragon.DeleteTracingPolicyResponse
- (*EnableTracingPolicyRequest)(nil), // 13: tetragon.EnableTracingPolicyRequest
- (*EnableTracingPolicyResponse)(nil), // 14: tetragon.EnableTracingPolicyResponse
- (*DisableTracingPolicyRequest)(nil), // 15: tetragon.DisableTracingPolicyRequest
- (*DisableTracingPolicyResponse)(nil), // 16: tetragon.DisableTracingPolicyResponse
- (*RemoveSensorRequest)(nil), // 17: tetragon.RemoveSensorRequest
- (*RemoveSensorResponse)(nil), // 18: tetragon.RemoveSensorResponse
- (*EnableSensorRequest)(nil), // 19: tetragon.EnableSensorRequest
- (*EnableSensorResponse)(nil), // 20: tetragon.EnableSensorResponse
- (*DisableSensorRequest)(nil), // 21: tetragon.DisableSensorRequest
- (*DisableSensorResponse)(nil), // 22: tetragon.DisableSensorResponse
- (*GetStackTraceTreeRequest)(nil), // 23: tetragon.GetStackTraceTreeRequest
- (*GetStackTraceTreeResponse)(nil), // 24: tetragon.GetStackTraceTreeResponse
- (*GetVersionRequest)(nil), // 25: tetragon.GetVersionRequest
- (*GetVersionResponse)(nil), // 26: tetragon.GetVersionResponse
- (*DumpProcessCacheReqArgs)(nil), // 27: tetragon.DumpProcessCacheReqArgs
- (*ProcessInternal)(nil), // 28: tetragon.ProcessInternal
- (*DumpProcessCacheResArgs)(nil), // 29: tetragon.DumpProcessCacheResArgs
- (*GetDebugRequest)(nil), // 30: tetragon.GetDebugRequest
- (*GetDebugResponse)(nil), // 31: tetragon.GetDebugResponse
- (*SetDebugRequest)(nil), // 32: tetragon.SetDebugRequest
- (*SetDebugResponse)(nil), // 33: tetragon.SetDebugResponse
- nil, // 34: tetragon.ProcessInternal.RefcntOpsEntry
- (*StackTraceNode)(nil), // 35: tetragon.StackTraceNode
- (*Process)(nil), // 36: tetragon.Process
- (*wrapperspb.UInt32Value)(nil), // 37: google.protobuf.UInt32Value
- (*GetEventsRequest)(nil), // 38: tetragon.GetEventsRequest
- (*GetHealthStatusRequest)(nil), // 39: tetragon.GetHealthStatusRequest
- (*RuntimeHookRequest)(nil), // 40: tetragon.RuntimeHookRequest
- (*GetEventsResponse)(nil), // 41: tetragon.GetEventsResponse
- (*GetHealthStatusResponse)(nil), // 42: tetragon.GetHealthStatusResponse
- (*RuntimeHookResponse)(nil), // 43: tetragon.RuntimeHookResponse
+ (TracingPolicyState)(0), // 0: tetragon.TracingPolicyState
+ (TracingPolicyMode)(0), // 1: tetragon.TracingPolicyMode
+ (ConfigFlag)(0), // 2: tetragon.ConfigFlag
+ (LogLevel)(0), // 3: tetragon.LogLevel
+ (*ListSensorsRequest)(nil), // 4: tetragon.ListSensorsRequest
+ (*SensorStatus)(nil), // 5: tetragon.SensorStatus
+ (*ListSensorsResponse)(nil), // 6: tetragon.ListSensorsResponse
+ (*ListTracingPoliciesRequest)(nil), // 7: tetragon.ListTracingPoliciesRequest
+ (*TracingPolicyStatus)(nil), // 8: tetragon.TracingPolicyStatus
+ (*ListTracingPoliciesResponse)(nil), // 9: tetragon.ListTracingPoliciesResponse
+ (*AddTracingPolicyRequest)(nil), // 10: tetragon.AddTracingPolicyRequest
+ (*AddTracingPolicyResponse)(nil), // 11: tetragon.AddTracingPolicyResponse
+ (*DeleteTracingPolicyRequest)(nil), // 12: tetragon.DeleteTracingPolicyRequest
+ (*DeleteTracingPolicyResponse)(nil), // 13: tetragon.DeleteTracingPolicyResponse
+ (*EnableTracingPolicyRequest)(nil), // 14: tetragon.EnableTracingPolicyRequest
+ (*EnableTracingPolicyResponse)(nil), // 15: tetragon.EnableTracingPolicyResponse
+ (*DisableTracingPolicyRequest)(nil), // 16: tetragon.DisableTracingPolicyRequest
+ (*DisableTracingPolicyResponse)(nil), // 17: tetragon.DisableTracingPolicyResponse
+ (*ConfigureTracingPolicyRequest)(nil), // 18: tetragon.ConfigureTracingPolicyRequest
+ (*ConfigureTracingPolicyResponse)(nil), // 19: tetragon.ConfigureTracingPolicyResponse
+ (*RemoveSensorRequest)(nil), // 20: tetragon.RemoveSensorRequest
+ (*RemoveSensorResponse)(nil), // 21: tetragon.RemoveSensorResponse
+ (*EnableSensorRequest)(nil), // 22: tetragon.EnableSensorRequest
+ (*EnableSensorResponse)(nil), // 23: tetragon.EnableSensorResponse
+ (*DisableSensorRequest)(nil), // 24: tetragon.DisableSensorRequest
+ (*DisableSensorResponse)(nil), // 25: tetragon.DisableSensorResponse
+ (*GetStackTraceTreeRequest)(nil), // 26: tetragon.GetStackTraceTreeRequest
+ (*GetStackTraceTreeResponse)(nil), // 27: tetragon.GetStackTraceTreeResponse
+ (*GetVersionRequest)(nil), // 28: tetragon.GetVersionRequest
+ (*GetVersionResponse)(nil), // 29: tetragon.GetVersionResponse
+ (*DumpProcessCacheReqArgs)(nil), // 30: tetragon.DumpProcessCacheReqArgs
+ (*ProcessInternal)(nil), // 31: tetragon.ProcessInternal
+ (*DumpProcessCacheResArgs)(nil), // 32: tetragon.DumpProcessCacheResArgs
+ (*GetDebugRequest)(nil), // 33: tetragon.GetDebugRequest
+ (*GetDebugResponse)(nil), // 34: tetragon.GetDebugResponse
+ (*SetDebugRequest)(nil), // 35: tetragon.SetDebugRequest
+ (*SetDebugResponse)(nil), // 36: tetragon.SetDebugResponse
+ nil, // 37: tetragon.ProcessInternal.RefcntOpsEntry
+ (*StackTraceNode)(nil), // 38: tetragon.StackTraceNode
+ (*Process)(nil), // 39: tetragon.Process
+ (*wrapperspb.UInt32Value)(nil), // 40: google.protobuf.UInt32Value
+ (*GetEventsRequest)(nil), // 41: tetragon.GetEventsRequest
+ (*GetHealthStatusRequest)(nil), // 42: tetragon.GetHealthStatusRequest
+ (*RuntimeHookRequest)(nil), // 43: tetragon.RuntimeHookRequest
+ (*GetEventsResponse)(nil), // 44: tetragon.GetEventsResponse
+ (*GetHealthStatusResponse)(nil), // 45: tetragon.GetHealthStatusResponse
+ (*RuntimeHookResponse)(nil), // 46: tetragon.RuntimeHookResponse
}
var file_tetragon_sensors_proto_depIdxs = []int32{
- 4, // 0: tetragon.ListSensorsResponse.sensors:type_name -> tetragon.SensorStatus
+ 5, // 0: tetragon.ListSensorsResponse.sensors:type_name -> tetragon.SensorStatus
0, // 1: tetragon.TracingPolicyStatus.state:type_name -> tetragon.TracingPolicyState
- 7, // 2: tetragon.ListTracingPoliciesResponse.policies:type_name -> tetragon.TracingPolicyStatus
- 35, // 3: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode
- 36, // 4: tetragon.ProcessInternal.process:type_name -> tetragon.Process
- 37, // 5: tetragon.ProcessInternal.refcnt:type_name -> google.protobuf.UInt32Value
- 34, // 6: tetragon.ProcessInternal.refcnt_ops:type_name -> tetragon.ProcessInternal.RefcntOpsEntry
- 28, // 7: tetragon.DumpProcessCacheResArgs.processes:type_name -> tetragon.ProcessInternal
- 1, // 8: tetragon.GetDebugRequest.flag:type_name -> tetragon.ConfigFlag
- 27, // 9: tetragon.GetDebugRequest.dump:type_name -> tetragon.DumpProcessCacheReqArgs
- 1, // 10: tetragon.GetDebugResponse.flag:type_name -> tetragon.ConfigFlag
- 2, // 11: tetragon.GetDebugResponse.level:type_name -> tetragon.LogLevel
- 29, // 12: tetragon.GetDebugResponse.processes:type_name -> tetragon.DumpProcessCacheResArgs
- 1, // 13: tetragon.SetDebugRequest.flag:type_name -> tetragon.ConfigFlag
- 2, // 14: tetragon.SetDebugRequest.level:type_name -> tetragon.LogLevel
- 1, // 15: tetragon.SetDebugResponse.flag:type_name -> tetragon.ConfigFlag
- 2, // 16: tetragon.SetDebugResponse.level:type_name -> tetragon.LogLevel
- 38, // 17: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest
- 39, // 18: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest
- 9, // 19: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest
- 11, // 20: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest
- 6, // 21: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest
- 13, // 22: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest
- 15, // 23: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest
- 3, // 24: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest
- 19, // 25: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest
- 21, // 26: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest
- 17, // 27: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest
- 23, // 28: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest
- 25, // 29: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest
- 40, // 30: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest
- 30, // 31: tetragon.FineGuidanceSensors.GetDebug:input_type -> tetragon.GetDebugRequest
- 32, // 32: tetragon.FineGuidanceSensors.SetDebug:input_type -> tetragon.SetDebugRequest
- 41, // 33: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse
- 42, // 34: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse
- 10, // 35: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse
- 12, // 36: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse
- 8, // 37: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse
- 14, // 38: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse
- 16, // 39: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse
- 5, // 40: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse
- 20, // 41: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse
- 22, // 42: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse
- 18, // 43: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse
- 24, // 44: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse
- 26, // 45: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse
- 43, // 46: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse
- 31, // 47: tetragon.FineGuidanceSensors.GetDebug:output_type -> tetragon.GetDebugResponse
- 33, // 48: tetragon.FineGuidanceSensors.SetDebug:output_type -> tetragon.SetDebugResponse
- 33, // [33:49] is the sub-list for method output_type
- 17, // [17:33] is the sub-list for method input_type
- 17, // [17:17] is the sub-list for extension type_name
- 17, // [17:17] is the sub-list for extension extendee
- 0, // [0:17] is the sub-list for field type_name
+ 1, // 2: tetragon.TracingPolicyStatus.mode:type_name -> tetragon.TracingPolicyMode
+ 8, // 3: tetragon.ListTracingPoliciesResponse.policies:type_name -> tetragon.TracingPolicyStatus
+ 1, // 4: tetragon.ConfigureTracingPolicyRequest.mode:type_name -> tetragon.TracingPolicyMode
+ 38, // 5: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode
+ 39, // 6: tetragon.ProcessInternal.process:type_name -> tetragon.Process
+ 40, // 7: tetragon.ProcessInternal.refcnt:type_name -> google.protobuf.UInt32Value
+ 37, // 8: tetragon.ProcessInternal.refcnt_ops:type_name -> tetragon.ProcessInternal.RefcntOpsEntry
+ 31, // 9: tetragon.DumpProcessCacheResArgs.processes:type_name -> tetragon.ProcessInternal
+ 2, // 10: tetragon.GetDebugRequest.flag:type_name -> tetragon.ConfigFlag
+ 30, // 11: tetragon.GetDebugRequest.dump:type_name -> tetragon.DumpProcessCacheReqArgs
+ 2, // 12: tetragon.GetDebugResponse.flag:type_name -> tetragon.ConfigFlag
+ 3, // 13: tetragon.GetDebugResponse.level:type_name -> tetragon.LogLevel
+ 32, // 14: tetragon.GetDebugResponse.processes:type_name -> tetragon.DumpProcessCacheResArgs
+ 2, // 15: tetragon.SetDebugRequest.flag:type_name -> tetragon.ConfigFlag
+ 3, // 16: tetragon.SetDebugRequest.level:type_name -> tetragon.LogLevel
+ 2, // 17: tetragon.SetDebugResponse.flag:type_name -> tetragon.ConfigFlag
+ 3, // 18: tetragon.SetDebugResponse.level:type_name -> tetragon.LogLevel
+ 41, // 19: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest
+ 42, // 20: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest
+ 10, // 21: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest
+ 12, // 22: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest
+ 7, // 23: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest
+ 18, // 24: tetragon.FineGuidanceSensors.ConfigureTracingPolicy:input_type -> tetragon.ConfigureTracingPolicyRequest
+ 14, // 25: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest
+ 16, // 26: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest
+ 4, // 27: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest
+ 22, // 28: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest
+ 24, // 29: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest
+ 20, // 30: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest
+ 26, // 31: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest
+ 28, // 32: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest
+ 43, // 33: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest
+ 33, // 34: tetragon.FineGuidanceSensors.GetDebug:input_type -> tetragon.GetDebugRequest
+ 35, // 35: tetragon.FineGuidanceSensors.SetDebug:input_type -> tetragon.SetDebugRequest
+ 44, // 36: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse
+ 45, // 37: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse
+ 11, // 38: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse
+ 13, // 39: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse
+ 9, // 40: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse
+ 19, // 41: tetragon.FineGuidanceSensors.ConfigureTracingPolicy:output_type -> tetragon.ConfigureTracingPolicyResponse
+ 15, // 42: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse
+ 17, // 43: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse
+ 6, // 44: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse
+ 23, // 45: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse
+ 25, // 46: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse
+ 21, // 47: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse
+ 27, // 48: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse
+ 29, // 49: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse
+ 46, // 50: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse
+ 34, // 51: tetragon.FineGuidanceSensors.GetDebug:output_type -> tetragon.GetDebugResponse
+ 36, // 52: tetragon.FineGuidanceSensors.SetDebug:output_type -> tetragon.SetDebugResponse
+ 36, // [36:53] is the sub-list for method output_type
+ 19, // [19:36] is the sub-list for method input_type
+ 19, // [19:19] is the sub-list for extension type_name
+ 19, // [19:19] is the sub-list for extension extendee
+ 0, // [0:19] is the sub-list for field type_name
}
func init() { file_tetragon_sensors_proto_init() }
@@ -2198,17 +2396,18 @@ func file_tetragon_sensors_proto_init() {
file_tetragon_events_proto_init()
file_tetragon_stack_proto_init()
file_tetragon_tetragon_proto_init()
- file_tetragon_sensors_proto_msgTypes[27].OneofWrappers = []any{
+ file_tetragon_sensors_proto_msgTypes[14].OneofWrappers = []any{}
+ file_tetragon_sensors_proto_msgTypes[29].OneofWrappers = []any{
(*GetDebugRequest_Dump)(nil),
}
- file_tetragon_sensors_proto_msgTypes[28].OneofWrappers = []any{
+ file_tetragon_sensors_proto_msgTypes[30].OneofWrappers = []any{
(*GetDebugResponse_Level)(nil),
(*GetDebugResponse_Processes)(nil),
}
- file_tetragon_sensors_proto_msgTypes[29].OneofWrappers = []any{
+ file_tetragon_sensors_proto_msgTypes[31].OneofWrappers = []any{
(*SetDebugRequest_Level)(nil),
}
- file_tetragon_sensors_proto_msgTypes[30].OneofWrappers = []any{
+ file_tetragon_sensors_proto_msgTypes[32].OneofWrappers = []any{
(*SetDebugResponse_Level)(nil),
}
type x struct{}
@@ -2216,8 +2415,8 @@ func file_tetragon_sensors_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_tetragon_sensors_proto_rawDesc,
- NumEnums: 3,
- NumMessages: 32,
+ NumEnums: 4,
+ NumMessages: 34,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go
index 13c3e29ca9e..b649a949140 100644
--- a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go
+++ b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go
@@ -178,6 +178,30 @@ func (msg *DisableTracingPolicyResponse) UnmarshalJSON(b []byte) error {
return protojson.UnmarshalOptions{}.Unmarshal(b, msg)
}
+// MarshalJSON implements json.Marshaler
+func (msg *ConfigureTracingPolicyRequest) MarshalJSON() ([]byte, error) {
+ return protojson.MarshalOptions{
+ UseProtoNames: true,
+ }.Marshal(msg)
+}
+
+// UnmarshalJSON implements json.Unmarshaler
+func (msg *ConfigureTracingPolicyRequest) UnmarshalJSON(b []byte) error {
+ return protojson.UnmarshalOptions{}.Unmarshal(b, msg)
+}
+
+// MarshalJSON implements json.Marshaler
+func (msg *ConfigureTracingPolicyResponse) MarshalJSON() ([]byte, error) {
+ return protojson.MarshalOptions{
+ UseProtoNames: true,
+ }.Marshal(msg)
+}
+
+// UnmarshalJSON implements json.Unmarshaler
+func (msg *ConfigureTracingPolicyResponse) UnmarshalJSON(b []byte) error {
+ return protojson.UnmarshalOptions{}.Unmarshal(b, msg)
+}
+
// MarshalJSON implements json.Marshaler
func (msg *RemoveSensorRequest) MarshalJSON() ([]byte, error) {
return protojson.MarshalOptions{
diff --git a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto
index 730bfb0adbe..ce99ce30314 100644
--- a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto
+++ b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto
@@ -49,6 +49,12 @@ enum TracingPolicyState {
TP_STATE_UNLOADING = 6;
}
+enum TracingPolicyMode {
+ TP_MODE_UNKNOWN = 0;
+ TP_MODE_ENFORCE = 1;
+ TP_MODE_MONITOR = 2;
+}
+
message TracingPolicyStatus {
// id is the id of the policy
uint64 id = 1;
@@ -70,6 +76,8 @@ message TracingPolicyStatus {
TracingPolicyState state = 9;
// the amount of kernel memory in bytes used by policy's sensors non-shared BPF maps (memlock)
uint64 kernel_memory_bytes = 10;
+ // current mode of the tracing policy
+ TracingPolicyMode mode = 11;
}
message ListTracingPoliciesResponse {
@@ -99,6 +107,16 @@ message DisableTracingPolicyRequest {
}
message DisableTracingPolicyResponse {}
+message ConfigureTracingPolicyRequest {
+ string name = 1;
+ string namespace = 2;
+
+ optional bool enable = 3;
+ optional TracingPolicyMode mode = 4;
+}
+
+message ConfigureTracingPolicyResponse {}
+
message RemoveSensorRequest {
string name = 1;
}
@@ -203,8 +221,22 @@ service FineGuidanceSensors {
rpc AddTracingPolicy(AddTracingPolicyRequest) returns (AddTracingPolicyResponse) {}
rpc DeleteTracingPolicy(DeleteTracingPolicyRequest) returns (DeleteTracingPolicyResponse) {}
rpc ListTracingPolicies(ListTracingPoliciesRequest) returns (ListTracingPoliciesResponse) {}
- rpc EnableTracingPolicy(EnableTracingPolicyRequest) returns (EnableTracingPolicyResponse) {}
- rpc DisableTracingPolicy(DisableTracingPolicyRequest) returns (DisableTracingPolicyResponse) {}
+ // ConfigureTracingPolicy can be used to configure a loaded tracing policy.
+ // It can be used to:
+ // - enable/disable it
+ // - change its mode (enforcement vs monitoring)
+ // If multiple changes are requested and an error is encountered, the resulting state might have
+ // partial updates applied. In other words, the configuring a tracing policy is not atomic.
+ rpc ConfigureTracingPolicy(ConfigureTracingPolicyRequest) returns (ConfigureTracingPolicyResponse) {}
+
+ rpc EnableTracingPolicy(EnableTracingPolicyRequest) returns (EnableTracingPolicyResponse) {
+ // use ConfigureTracingPolicy instead
+ option deprecated = true;
+ }
+ rpc DisableTracingPolicy(DisableTracingPolicyRequest) returns (DisableTracingPolicyResponse) {
+ // use ConfigureTracingPolicy instead
+ option deprecated = true;
+ }
rpc ListSensors(ListSensorsRequest) returns (ListSensorsResponse) {
option deprecated = true;
diff --git a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors_grpc.pb.go b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors_grpc.pb.go
index 613710e7002..d14fbe03a74 100644
--- a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors_grpc.pb.go
+++ b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors_grpc.pb.go
@@ -22,22 +22,23 @@ import (
const _ = grpc.SupportPackageIsVersion9
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_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_RemoveSensor_FullMethodName = "/tetragon.FineGuidanceSensors/RemoveSensor"
- FineGuidanceSensors_GetStackTraceTree_FullMethodName = "/tetragon.FineGuidanceSensors/GetStackTraceTree"
- FineGuidanceSensors_GetVersion_FullMethodName = "/tetragon.FineGuidanceSensors/GetVersion"
- FineGuidanceSensors_RuntimeHook_FullMethodName = "/tetragon.FineGuidanceSensors/RuntimeHook"
- FineGuidanceSensors_GetDebug_FullMethodName = "/tetragon.FineGuidanceSensors/GetDebug"
- FineGuidanceSensors_SetDebug_FullMethodName = "/tetragon.FineGuidanceSensors/SetDebug"
+ 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_ListTracingPolicies_FullMethodName = "/tetragon.FineGuidanceSensors/ListTracingPolicies"
+ FineGuidanceSensors_ConfigureTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/ConfigureTracingPolicy"
+ 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_RemoveSensor_FullMethodName = "/tetragon.FineGuidanceSensors/RemoveSensor"
+ FineGuidanceSensors_GetStackTraceTree_FullMethodName = "/tetragon.FineGuidanceSensors/GetStackTraceTree"
+ FineGuidanceSensors_GetVersion_FullMethodName = "/tetragon.FineGuidanceSensors/GetVersion"
+ FineGuidanceSensors_RuntimeHook_FullMethodName = "/tetragon.FineGuidanceSensors/RuntimeHook"
+ FineGuidanceSensors_GetDebug_FullMethodName = "/tetragon.FineGuidanceSensors/GetDebug"
+ FineGuidanceSensors_SetDebug_FullMethodName = "/tetragon.FineGuidanceSensors/SetDebug"
)
// FineGuidanceSensorsClient is the client API for FineGuidanceSensors service.
@@ -49,7 +50,17 @@ type FineGuidanceSensorsClient interface {
AddTracingPolicy(ctx context.Context, in *AddTracingPolicyRequest, opts ...grpc.CallOption) (*AddTracingPolicyResponse, error)
DeleteTracingPolicy(ctx context.Context, in *DeleteTracingPolicyRequest, opts ...grpc.CallOption) (*DeleteTracingPolicyResponse, error)
ListTracingPolicies(ctx context.Context, in *ListTracingPoliciesRequest, opts ...grpc.CallOption) (*ListTracingPoliciesResponse, error)
+ // ConfigureTracingPolicy can be used to configure a loaded tracing policy.
+ // It can be used to:
+ // - enable/disable it
+ // - change its mode (enforcement vs monitoring)
+ //
+ // If multiple changes are requested and an error is encountered, the resulting state might have
+ // partial updates applied. In other words, the configuring a tracing policy is not atomic.
+ ConfigureTracingPolicy(ctx context.Context, in *ConfigureTracingPolicyRequest, opts ...grpc.CallOption) (*ConfigureTracingPolicyResponse, error)
+ // Deprecated: Do not use.
EnableTracingPolicy(ctx context.Context, in *EnableTracingPolicyRequest, opts ...grpc.CallOption) (*EnableTracingPolicyResponse, error)
+ // Deprecated: Do not use.
DisableTracingPolicy(ctx context.Context, in *DisableTracingPolicyRequest, opts ...grpc.CallOption) (*DisableTracingPolicyResponse, error)
// Deprecated: Do not use.
ListSensors(ctx context.Context, in *ListSensorsRequest, opts ...grpc.CallOption) (*ListSensorsResponse, error)
@@ -133,6 +144,17 @@ func (c *fineGuidanceSensorsClient) ListTracingPolicies(ctx context.Context, in
return out, nil
}
+func (c *fineGuidanceSensorsClient) ConfigureTracingPolicy(ctx context.Context, in *ConfigureTracingPolicyRequest, opts ...grpc.CallOption) (*ConfigureTracingPolicyResponse, error) {
+ cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+ out := new(ConfigureTracingPolicyResponse)
+ err := c.cc.Invoke(ctx, FineGuidanceSensors_ConfigureTracingPolicy_FullMethodName, in, out, cOpts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// Deprecated: Do not use.
func (c *fineGuidanceSensorsClient) EnableTracingPolicy(ctx context.Context, in *EnableTracingPolicyRequest, opts ...grpc.CallOption) (*EnableTracingPolicyResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(EnableTracingPolicyResponse)
@@ -143,6 +165,7 @@ func (c *fineGuidanceSensorsClient) EnableTracingPolicy(ctx context.Context, in
return out, nil
}
+// Deprecated: Do not use.
func (c *fineGuidanceSensorsClient) DisableTracingPolicy(ctx context.Context, in *DisableTracingPolicyRequest, opts ...grpc.CallOption) (*DisableTracingPolicyResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(DisableTracingPolicyResponse)
@@ -256,7 +279,17 @@ type FineGuidanceSensorsServer interface {
AddTracingPolicy(context.Context, *AddTracingPolicyRequest) (*AddTracingPolicyResponse, error)
DeleteTracingPolicy(context.Context, *DeleteTracingPolicyRequest) (*DeleteTracingPolicyResponse, error)
ListTracingPolicies(context.Context, *ListTracingPoliciesRequest) (*ListTracingPoliciesResponse, error)
+ // ConfigureTracingPolicy can be used to configure a loaded tracing policy.
+ // It can be used to:
+ // - enable/disable it
+ // - change its mode (enforcement vs monitoring)
+ //
+ // If multiple changes are requested and an error is encountered, the resulting state might have
+ // partial updates applied. In other words, the configuring a tracing policy is not atomic.
+ ConfigureTracingPolicy(context.Context, *ConfigureTracingPolicyRequest) (*ConfigureTracingPolicyResponse, error)
+ // Deprecated: Do not use.
EnableTracingPolicy(context.Context, *EnableTracingPolicyRequest) (*EnableTracingPolicyResponse, error)
+ // Deprecated: Do not use.
DisableTracingPolicy(context.Context, *DisableTracingPolicyRequest) (*DisableTracingPolicyResponse, error)
// Deprecated: Do not use.
ListSensors(context.Context, *ListSensorsRequest) (*ListSensorsResponse, error)
@@ -296,6 +329,9 @@ func (UnimplementedFineGuidanceSensorsServer) DeleteTracingPolicy(context.Contex
func (UnimplementedFineGuidanceSensorsServer) ListTracingPolicies(context.Context, *ListTracingPoliciesRequest) (*ListTracingPoliciesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListTracingPolicies not implemented")
}
+func (UnimplementedFineGuidanceSensorsServer) ConfigureTracingPolicy(context.Context, *ConfigureTracingPolicyRequest) (*ConfigureTracingPolicyResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ConfigureTracingPolicy not implemented")
+}
func (UnimplementedFineGuidanceSensorsServer) EnableTracingPolicy(context.Context, *EnableTracingPolicyRequest) (*EnableTracingPolicyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method EnableTracingPolicy not implemented")
}
@@ -433,6 +469,24 @@ func _FineGuidanceSensors_ListTracingPolicies_Handler(srv interface{}, ctx conte
return interceptor(ctx, in, info, handler)
}
+func _FineGuidanceSensors_ConfigureTracingPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ConfigureTracingPolicyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(FineGuidanceSensorsServer).ConfigureTracingPolicy(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: FineGuidanceSensors_ConfigureTracingPolicy_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(FineGuidanceSensorsServer).ConfigureTracingPolicy(ctx, req.(*ConfigureTracingPolicyRequest))
+ }
+ 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 {
@@ -654,6 +708,10 @@ var FineGuidanceSensors_ServiceDesc = grpc.ServiceDesc{
MethodName: "ListTracingPolicies",
Handler: _FineGuidanceSensors_ListTracingPolicies_Handler,
},
+ {
+ MethodName: "ConfigureTracingPolicy",
+ Handler: _FineGuidanceSensors_ConfigureTracingPolicy_Handler,
+ },
{
MethodName: "EnableTracingPolicy",
Handler: _FineGuidanceSensors_EnableTracingPolicy_Handler,
diff --git a/docs/content/en/docs/concepts/tracing-policy/mode.md b/docs/content/en/docs/concepts/tracing-policy/mode.md
new file mode 100644
index 00000000000..405b034b72b
--- /dev/null
+++ b/docs/content/en/docs/concepts/tracing-policy/mode.md
@@ -0,0 +1,70 @@
+---
+title: "Enforcement Mode"
+weight: 5
+description: "Configuring enforcement in tracing policies"
+---
+
+Beyond monitoring, Tetragon tracing policies include [enforcement]({{< ref "/docs/concepts/enforcement" >}}) actions.
+Configuring the mode of a policy allows you to disable enforcement in a policy, without modifying
+the policy itself.
+
+A tracing policy can be set in two modes:
+ - `monitoring`: enforcement operations are elided
+ - `enforcement`: enforcement operations are respected and performed
+
+Using the `tetra` CLI, you can inspect the mode of each policy.
+For example:
+
+```
+tetra tracingpolicy list
+```
+
+Will produce out similar to:
+```
+ID NAME STATE FILTERID NAMESPACE SENSORS KERNELMEMORY MODE
+1 enforce-security enabled 1 pizza generic_kprobe 7.53 MB enforce
+2 allsyscalls enabled 0 (global) generic_tracepoint 4.25 MB monitor
+```
+
+There are three ways that a policy mode can be set. From lower to higher priority, they are:
+
+1. Setting the mode in the policy itself
+2. Setting the mode when loading the policy
+3. Setting the mode at runtime (via gRPC)
+
+## Setting the mode in the policy itself
+
+The policy mode can be set in the `spec.options` field, under the `policy-mode` key.
+For example:
+
+```yaml
+apiVersion: cilium.io/v1alpha1
+kind: TracingPolicyNamespaced
+metadata:
+ name: "enforce-policy"
+ namespace: "default"
+spec:
+ options:
+ - name: "policy-mode"
+ value: "monitor"
+ ...
+```
+
+## Setting the mode when loading the policy
+
+This can be done via the `tetra` CLI:
+
+```shell
+tetra tracingpolicy add --mode monitor policy.yaml
+```
+
+Will load `policy.yaml` in _monitor_ mode.
+
+## Setting the policy at runtime
+
+You can use the `tetra` CLI to set the policy mode once the policy is loaded.
+For example:
+
+```shell
+tetra tp set-mode --namespace pizza enforce-security enforce
+```
diff --git a/go.mod b/go.mod
index 3f8997efdfa..417c3768d31 100644
--- a/go.mod
+++ b/go.mod
@@ -46,6 +46,7 @@ require (
golang.org/x/time v0.10.0
google.golang.org/grpc v1.70.0
google.golang.org/protobuf v1.36.5
+ gopkg.in/yaml.v2 v2.4.0
gopkg.in/yaml.v3 v3.0.1
k8s.io/api v0.32.2
k8s.io/apiextensions-apiserver v0.32.2
@@ -163,7 +164,6 @@ require (
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
- gopkg.in/yaml.v2 v2.4.0 // indirect
k8s.io/component-base v0.32.2 // indirect
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 // indirect
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect
diff --git a/pkg/cgtracker/test/cgtracker_test.go b/pkg/cgtracker/test/cgtracker_test.go
index 8b2f83a855f..9354e5785c4 100644
--- a/pkg/cgtracker/test/cgtracker_test.go
+++ b/pkg/cgtracker/test/cgtracker_test.go
@@ -11,7 +11,6 @@ import (
"path/filepath"
"slices"
"strings"
- "syscall"
"testing"
"time"
@@ -33,6 +32,7 @@ import (
testsensor "github.com/cilium/tetragon/pkg/sensors/test"
_ "github.com/cilium/tetragon/pkg/sensors/tracing" // NB: needed so that the exec tracing sensor can load its policy handlers on init
"github.com/cilium/tetragon/pkg/testutils"
+ tucg "github.com/cilium/tetragon/pkg/testutils/cgroup"
tuo "github.com/cilium/tetragon/pkg/testutils/observer"
"github.com/cilium/tetragon/pkg/testutils/perfring"
testprogs "github.com/cilium/tetragon/pkg/testutils/progs"
@@ -43,7 +43,6 @@ import (
"github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
- "golang.org/x/sys/unix"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@@ -73,33 +72,6 @@ func loadCgTrackerSensor(t *testing.T) *sensors.Sensor {
return s
}
-func cgfsMkdirTemp(t *testing.T, cgfsPath string) string {
- var st syscall.Statfs_t
- if err := syscall.Statfs(cgfsPath, &st); err != nil {
- t.Fatalf("error accessing cgroup path '%s': %s", cgfsPath, err)
- }
- if st.Type == unix.CGROUP2_SUPER_MAGIC {
- t.Logf("'%s' is cgroup v2", cgfsPath)
- } else if st.Type == unix.TMPFS_MAGIC {
- t.Logf("'%s' is cgroup v1", cgfsPath)
- } else {
- t.Fatalf("'%s' not a cgroup fs", cgfsPath)
- }
-
- // create tempdir
- dir, err := os.MkdirTemp(cgfsPath, "cgtracker-test-*")
- if err != nil {
- t.Skipf("skipping test, failed to create test dir: %s", err)
- }
- t.Cleanup(func() {
- err := os.RemoveAll(dir)
- if err != nil {
- t.Logf("failed to remove '%s': %s", dir, err)
- }
- })
- return dir
-}
-
func doMapTest(t *testing.T, cgfsPath string) {
testutils.CaptureLog(t, logger.GetLogger().(*logrus.Logger))
@@ -345,7 +317,7 @@ type testCgroupFS struct {
}
func newTestCgroupFS(t *testing.T, cgfsPath string) *testCgroupFS {
- dir := cgfsMkdirTemp(t, cgfsPath)
+ dir := tucg.CgfsMkTemp(t, cgfsPath, "cgtracker-test-*")
t.Logf("created cgroup dir '%s'", dir)
mapFname := filepath.Join(bpf.MapPrefixPath(), cgtracker.MapName)
diff --git a/pkg/policyconf/policyconf.go b/pkg/policyconf/policyconf.go
new file mode 100644
index 00000000000..bc34481a821
--- /dev/null
+++ b/pkg/policyconf/policyconf.go
@@ -0,0 +1,83 @@
+// SPDX-License-Identifier: Apache-2.0
+// Copyright Authors of Tetragon
+
+package policyconf
+
+import (
+ "fmt"
+ "path/filepath"
+
+ "github.com/cilium/ebpf"
+ "github.com/cilium/tetragon/pkg/bpf"
+ "github.com/cilium/tetragon/pkg/tracingpolicy"
+)
+
+type Mode uint8
+
+const (
+ InvalidMode Mode = Mode(^uint8(0))
+ // NB: values below should match the ones in bpf/lib/policy_conf.h
+ EnforceMode Mode = 0
+ MonitorMode Mode = 1
+
+ PolicyConfMapName = "policy_conf"
+)
+
+// NB: if we add more fields here, we would need to modify SetModeInBPFMap to do a read-modify
+// operation to set the mode.
+type PolicyConf struct {
+ Mode Mode
+}
+
+func ParseMode(s string) (Mode, error) {
+ switch s {
+ case "enforce":
+ return EnforceMode, nil
+ case "monitor":
+ return MonitorMode, nil
+ }
+
+ return InvalidMode, fmt.Errorf("invalid mode: %q", s)
+}
+
+func ModeFromBPFMap(fname string) (Mode, error) {
+ m, err := ebpf.LoadPinnedMap(fname, &ebpf.LoadPinOptions{ReadOnly: true})
+ if err != nil {
+ return InvalidMode, err
+ }
+ defer m.Close()
+
+ var ret PolicyConf
+ zero := uint32(0)
+ if err = m.Lookup(&zero, &ret); err != nil {
+ return InvalidMode, err
+ }
+ return ret.Mode, nil
+}
+
+func PolicyMode(tp tracingpolicy.TracingPolicy) (Mode, error) {
+ fname := filepath.Join(bpf.MapPrefixPath(), tracingpolicy.PolicyDir(tracingpolicy.Namespace(tp), tp.TpName()), PolicyConfMapName)
+ return ModeFromBPFMap(fname)
+}
+
+func SetModeInBPFMap(fname string, mode Mode) error {
+ m, err := ebpf.LoadPinnedMap(fname, &ebpf.LoadPinOptions{})
+ if err != nil {
+ return fmt.Errorf("failed to load map %q: %v", fname, err)
+ }
+ defer m.Close()
+
+ conf := PolicyConf{
+ Mode: mode,
+ }
+ zero := uint32(0)
+ if err = m.Update(&zero, &conf, ebpf.UpdateExist); err != nil {
+ return fmt.Errorf("failed to update map %q with val %v: %v", fname, conf, err)
+ }
+ return nil
+}
+
+func SetPolicyMode(tp tracingpolicy.TracingPolicy, m Mode) error {
+ fname := filepath.Join(bpf.MapPrefixPath(), tracingpolicy.PolicyDir(tracingpolicy.Namespace(tp), tp.TpName()), PolicyConfMapName)
+ return SetModeInBPFMap(fname, m)
+}
diff --git a/pkg/policyconf/test/mode_test.go b/pkg/policyconf/test/mode_test.go
new file mode 100644
index 00000000000..3dcec86cbc5
--- /dev/null
+++ b/pkg/policyconf/test/mode_test.go
@@ -0,0 +1,235 @@
+// SPDX-License-Identifier: Apache-2.0
+// Copyright Authors of Tetragon
+
+package test
+
+import (
+ "context"
+ "fmt"
+ "os"
+ "strings"
+ "testing"
+
+ "github.com/cilium/tetragon/pkg/bpf"
+ "github.com/cilium/tetragon/pkg/grpc/tracing"
+ "github.com/cilium/tetragon/pkg/k8s/apis/cilium.io/v1alpha1"
+ "github.com/cilium/tetragon/pkg/logger"
+ "github.com/cilium/tetragon/pkg/policyconf"
+ "github.com/cilium/tetragon/pkg/reader/notify"
+ _ "github.com/cilium/tetragon/pkg/sensors/exec" // NB: needed so that the exec sensor can load the execve probe on its init
+ stracing "github.com/cilium/tetragon/pkg/sensors/tracing" // NB: needed so that the exec tracing sensor can load its policy handlers on init
+ "github.com/cilium/tetragon/pkg/testutils"
+ "github.com/cilium/tetragon/pkg/testutils/perfring"
+ pft "github.com/cilium/tetragon/pkg/testutils/policyfilter/tester"
+ tus "github.com/cilium/tetragon/pkg/testutils/sensors"
+ "github.com/cilium/tetragon/pkg/tracingpolicy"
+
+ "github.com/sirupsen/logrus"
+ "github.com/stretchr/testify/require"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+)
+
+func TestMain(m *testing.M) {
+ ec := tus.TestSensorsRun(m, "policyconf-test")
+ os.Exit(ec)
+}
+
+func TestModeSigKill(t *testing.T) {
+ if !bpf.HasSignalHelper() {
+ t.Skip("skipping test, bpf_send_signal helper not available")
+ }
+
+ testutils.CaptureLog(t, logger.GetLogger().(*logrus.Logger))
+ ctx, cancel := context.WithTimeout(context.Background(), tus.Conf().CmdWaitTime)
+ defer cancel()
+
+ pft := pft.Start(t, ctx)
+
+ tp := &tracingpolicy.GenericTracingPolicyNamespaced{
+ Metadata: v1.ObjectMeta{
+ Name: "tp-test",
+ Namespace: "namespace",
+ },
+ Spec: v1alpha1.TracingPolicySpec{
+ KProbes: []v1alpha1.KProbeSpec{{
+ Call: "sys_getcpu",
+ Return: true,
+ Syscall: true,
+ ReturnArg: &v1alpha1.KProbeArg{
+ Index: 0,
+ Type: "int",
+ },
+ Selectors: []v1alpha1.KProbeSelector{{
+ MatchActions: []v1alpha1.ActionSelector{
+ {Action: "Signal", ArgSig: 9},
+ },
+ }},
+ }},
+ },
+ }
+
+ pft.AddPolicy(t, ctx, tp)
+
+ getcpuProg := testutils.RepoRootPath("contrib/tester-progs/getcpu")
+ var progOut string
+ var progErr error
+ ops := func() {
+ progOut, progErr = pft.ProgTester.ExecMayFail(getcpuProg)
+ t.Logf("prog:%s out:%q err:%v", getcpuProg, progOut, progErr)
+ }
+
+ checkEnforce := func() {
+ cnt := perfring.RunTestEventReduceCount(t, ctx, ops, perfring.FilterTestMessages,
+ func(x notify.Message) int {
+ if kprobe, ok := x.(*tracing.MsgGenericKprobeUnix); ok {
+ if strings.HasSuffix(kprobe.FuncName, "sys_getcpu") {
+ return 1
+ }
+ return -1
+ }
+ return 0
+ })
+ require.NoError(t, progErr)
+ require.Contains(t, progOut, "signal: killed")
+ require.Equal(t, cnt[1], 1, fmt.Sprintf("count=%v", cnt))
+ }
+
+ checkMonitor := func() {
+ cnt := perfring.RunTestEventReduceCount(t, ctx, ops, perfring.FilterTestMessages,
+ func(x notify.Message) int {
+ if kprobe, ok := x.(*tracing.MsgGenericKprobeUnix); ok {
+ if strings.HasSuffix(kprobe.FuncName, "sys_getcpu") {
+ return 1
+ }
+ return -1
+ }
+ return 0
+ })
+ require.NoError(t, progErr)
+ require.NotContains(t, progOut, "signal: killed")
+ require.Contains(t, progOut, "returned without an error")
+ require.Equal(t, cnt[1], 1, fmt.Sprintf("count=%v", cnt))
+ }
+
+ // finally, we can do the test
+ checkEnforce()
+ policyconf.SetPolicyMode(tp, policyconf.MonitorMode)
+ checkMonitor()
+ policyconf.SetPolicyMode(tp, policyconf.EnforceMode)
+ checkEnforce()
+}
+
+func TestModeEnforcer(t *testing.T) {
+ // NB: the policy below checks for both enforcer and override at the same time, which is why
+ // we need both (and, also, why fmod_ret is not enough)
+ if !bpf.HasSignalHelper() {
+ t.Skip("skipping test, bpf_send_signal helper not available")
+ }
+ if !bpf.HasOverrideHelper() {
+ t.Skip("skipping test, neither bpf_override_return not available")
+ }
+
+ testutils.CaptureLog(t, logger.GetLogger().(*logrus.Logger))
+ ctx, cancel := context.WithTimeout(context.Background(), tus.Conf().CmdWaitTime)
+ defer cancel()
+
+ pft := pft.Start(t, ctx)
+
+ polName := "tp-test"
+ polNamespace := "namespace"
+ tp := &tracingpolicy.GenericTracingPolicyNamespaced{
+ Metadata: v1.ObjectMeta{
+ Name: polName,
+ Namespace: polNamespace,
+ },
+ Spec: v1alpha1.TracingPolicySpec{
+ Enforcers: []v1alpha1.EnforcerSpec{{
+ // NB: add another enforcer call so that we can just check the map
+ Calls: []string{"sys_lseek"},
+ }},
+ KProbes: []v1alpha1.KProbeSpec{{
+ Call: "sys_getcpu",
+ Return: true,
+ Syscall: true,
+ ReturnArg: &v1alpha1.KProbeArg{
+ Index: 0,
+ Type: "int",
+ },
+ Selectors: []v1alpha1.KProbeSelector{{
+ MatchActions: []v1alpha1.ActionSelector{
+ {Action: "NotifyEnforcer", ArgSig: 9},
+ {Action: "Override", ArgError: -1},
+ },
+ }},
+ }},
+ },
+ }
+
+ pft.AddPolicy(t, ctx, tp)
+
+ pid := pft.ProgTester.Cmd.Process.Pid
+
+ var cmdOut string
+ var cmdErr error
+ ops := func() {
+ cmdOut, cmdErr = pft.ProgTester.Command("getcpu")
+ t.Logf("command getcpu out:%q err:%v", cmdOut, cmdErr)
+ }
+
+ checkEnforce := func() {
+ cnt := perfring.RunTestEventReduceCount(t, ctx, ops, perfring.FilterTestMessages,
+ func(x notify.Message) int {
+ if kprobe, ok := x.(*tracing.MsgGenericKprobeUnix); ok {
+ if strings.HasSuffix(kprobe.FuncName, "sys_getcpu") {
+ return 1
+ }
+ return -1
+ }
+ return 0
+ })
+ require.NoError(t, cmdErr)
+ require.Equal(t, cnt[1], 1, fmt.Sprintf("count=%v", cnt))
+ enfDump, enfDumpErr := stracing.DumpEnforcerMap(polName, polNamespace)
+ require.NoError(t, enfDumpErr)
+ require.Len(t, enfDump, 1)
+ require.Contains(t, cmdOut, "operation not permitted")
+ for key, val := range enfDump {
+ require.Equal(t, pid, int(key.PidTgid>>32))
+ require.Equal(t, val.Sig, int16(9))
+ break
+ }
+ }
+
+ resetEnforcerMap := func() {
+ err := stracing.ResetEnforcerMap(t, polName, polNamespace)
+ require.NoError(t, err)
+ }
+
+ checkMonitor := func() {
+ cnt := perfring.RunTestEventReduceCount(t, ctx, ops, perfring.FilterTestMessages,
+ func(x notify.Message) int {
+ if kprobe, ok := x.(*tracing.MsgGenericKprobeUnix); ok {
+ if strings.HasSuffix(kprobe.FuncName, "sys_getcpu") {
+ return 1
+ }
+ return -1
+ }
+ return 0
+ })
+ require.NoError(t, cmdErr)
+ require.Equal(t, cnt[1], 1, fmt.Sprintf("count=%v", cnt))
+ require.NotContains(t, cmdOut, "operation not permitted")
+ enfDump, enfDumpErr := stracing.DumpEnforcerMap(polName, polNamespace)
+ require.NoError(t, enfDumpErr)
+ require.Len(t, enfDump, 0)
+ }
+
+ // finally, we can do the test
+ checkEnforce()
+ resetEnforcerMap()
+ policyconf.SetPolicyMode(tp, policyconf.MonitorMode)
+ checkMonitor()
+ resetEnforcerMap()
+ policyconf.SetPolicyMode(tp, policyconf.EnforceMode)
+ checkEnforce()
+}
diff --git a/pkg/sensors/collection.go b/pkg/sensors/collection.go
index 2f6cc2a16fc..220da125b6d 100644
--- a/pkg/sensors/collection.go
+++ b/pkg/sensors/collection.go
@@ -4,10 +4,12 @@
package sensors
import (
+ "errors"
"fmt"
"sync"
"github.com/cilium/tetragon/api/v1/tetragon"
+ "github.com/cilium/tetragon/pkg/policyconf"
"github.com/cilium/tetragon/pkg/tracingpolicy"
"go.uber.org/multierr"
)
@@ -91,6 +93,49 @@ func (c *collection) info() string {
return c.name
}
+func (c *collection) mode() tetragon.TracingPolicyMode {
+ if c.tracingpolicy == nil || c.state != EnabledState {
+ return tetragon.TracingPolicyMode_TP_MODE_UNKNOWN
+ }
+ mode, err := policyconf.PolicyMode(c.tracingpolicy)
+ if err != nil {
+ return tetragon.TracingPolicyMode_TP_MODE_UNKNOWN
+ }
+
+ switch mode {
+ case policyconf.EnforceMode:
+ return tetragon.TracingPolicyMode_TP_MODE_ENFORCE
+ case policyconf.MonitorMode:
+ return tetragon.TracingPolicyMode_TP_MODE_MONITOR
+ }
+
+ return tetragon.TracingPolicyMode_TP_MODE_UNKNOWN
+}
+
+func policyconfMode(mode tetragon.TracingPolicyMode) (policyconf.Mode, error) {
+ switch mode {
+ case tetragon.TracingPolicyMode_TP_MODE_ENFORCE:
+ return policyconf.EnforceMode, nil
+ case tetragon.TracingPolicyMode_TP_MODE_MONITOR:
+ return policyconf.MonitorMode, nil
+ }
+
+ return policyconf.InvalidMode, fmt.Errorf("unexpected mode: %v", mode)
+}
+
+func (c *collection) setMode(mode tetragon.TracingPolicyMode) error {
+ if c.tracingpolicy == nil {
+ return errors.New("unexpected error: setMode called in a collection that is not a tracing policy")
+ }
+
+ m, err := policyconfMode(mode)
+ if err != nil {
+ return err
+ }
+
+ return policyconf.SetPolicyMode(c.tracingpolicy, m)
+}
+
// load will attempt to load a collection of sensors. If loading one of the sensors fails, it
// will attempt to unload the already loaded sensors.
func (c *collection) load(bpfDir string) error {
diff --git a/pkg/sensors/handler.go b/pkg/sensors/handler.go
index 9f83b6fcdf7..81e9cbd6194 100644
--- a/pkg/sensors/handler.go
+++ b/pkg/sensors/handler.go
@@ -4,6 +4,7 @@
package sensors
import (
+ "errors"
"fmt"
"sync"
@@ -198,9 +199,14 @@ func (h *handler) disableTracingPolicy(op *tracingPolicyDisable) error {
if !exists {
return fmt.Errorf("tracing policy %s does not exist", op.ck)
}
+ return h.doDisableTracingPolicy(col)
+}
+
+// should be called with h.collections.mu locked (for writing)
+func (h *handler) doDisableTracingPolicy(col *collection) error {
if col.state != EnabledState {
- return fmt.Errorf("tracing policy %s is not enabled", op.ck)
+ return fmt.Errorf("tracing policy %s is not enabled", col.name)
}
col.state = UnloadingState
@@ -230,8 +236,13 @@ func (h *handler) enableTracingPolicy(op *tracingPolicyEnable) error {
return fmt.Errorf("tracing policy %s does not exist", op.ck)
}
+ return h.doEnableTracingPolicy(col)
+}
+
+// should be called with h.collections.mu locked (for writing)
+func (h *handler) doEnableTracingPolicy(col *collection) error {
if col.state != DisabledState {
- return fmt.Errorf("tracing policy %s is not disabled", op.ck)
+ return fmt.Errorf("tracing policy %s is not disabled", col.name)
}
col.state = LoadingState
@@ -250,6 +261,38 @@ func (h *handler) enableTracingPolicy(op *tracingPolicyEnable) error {
return nil
}
+func (h *handler) configureTracingPolicy(
+ ck collectionKey,
+ mode *tetragon.TracingPolicyMode,
+ enable *bool,
+) error {
+ h.collections.mu.Lock()
+ defer h.collections.mu.Unlock()
+ collections := h.collections.c
+ col, exists := collections[ck]
+ if !exists {
+ return fmt.Errorf("tracing policy %s does not exist", ck)
+ }
+
+ var err error
+
+ // change mode of policy
+ if mode != nil {
+ err = errors.Join(err, col.setMode(*mode))
+ }
+
+ // enable or disable policy
+ if enable != nil {
+ if *enable {
+ err = errors.Join(err, h.doEnableTracingPolicy(col))
+ } else {
+ err = errors.Join(err, h.doDisableTracingPolicy(col))
+ }
+ }
+
+ return err
+}
+
func (h *handler) addSensor(op *sensorAdd) error {
h.collections.mu.Lock()
defer h.collections.mu.Unlock()
@@ -387,16 +430,14 @@ func (h *handler) listPolicies() []*tetragon.TracingPolicyStatus {
Enabled: col.state == EnabledState,
FilterId: col.policyfilterID,
State: col.state.ToTetragonState(),
+ Mode: col.mode(),
}
if col.err != nil {
pol.Error = col.err.Error()
}
- pol.Namespace = ""
- if tpNs, ok := col.tracingpolicy.(tracingpolicy.TracingPolicyNamespaced); ok {
- pol.Namespace = tpNs.TpNamespace()
- }
+ pol.Namespace = tracingpolicy.Namespace(col.tracingpolicy)
for _, sens := range col.sensors {
pol.Sensors = append(pol.Sensors, sens.GetName())
diff --git a/pkg/sensors/load.go b/pkg/sensors/load.go
index 6f796b3e12e..4a0103abe63 100644
--- a/pkg/sensors/load.go
+++ b/pkg/sensors/load.go
@@ -17,6 +17,7 @@ import (
"github.com/cilium/tetragon/pkg/logger"
"github.com/cilium/tetragon/pkg/option"
"github.com/cilium/tetragon/pkg/sensors/program"
+ "github.com/cilium/tetragon/pkg/tracingpolicy"
"github.com/sirupsen/logrus"
)
@@ -64,10 +65,7 @@ func LoadConfig(bpfDir string, sens []*Sensor) error {
}
func (s *Sensor) policyDir() string {
- if s.Namespace == "" {
- return sanitize(s.Policy)
- }
- return fmt.Sprintf("%s:%s", s.Namespace, sanitize(s.Policy))
+ return tracingpolicy.PolicyDir(s.Namespace, s.Policy)
}
func (s *Sensor) createDirs(bpfDir string) {
diff --git a/pkg/sensors/manager.go b/pkg/sensors/manager.go
index a59b911e317..e2607173e68 100644
--- a/pkg/sensors/manager.go
+++ b/pkg/sensors/manager.go
@@ -164,6 +164,11 @@ func (h *Manager) DisableTracingPolicy(ctx context.Context, name, namespace stri
return h.handler.disableTracingPolicy(op)
}
+func (h *Manager) ConfigureTracingPolicy(_ context.Context, conf *tetragon.ConfigureTracingPolicyRequest) error {
+ ck := collectionKey{conf.GetName(), conf.GetNamespace()}
+ return h.handler.configureTracingPolicy(ck, conf.Mode, conf.Enable)
+}
+
// ListTracingPolicies returns a list of the active tracing policies
func (h *Manager) ListTracingPolicies(_ context.Context) (*tetragon.ListTracingPoliciesResponse, error) {
ret := &tetragon.ListTracingPoliciesResponse{}
diff --git a/pkg/sensors/sensors.go b/pkg/sensors/sensors.go
index e2a9cfa1f2d..66cee35c1d8 100644
--- a/pkg/sensors/sensors.go
+++ b/pkg/sensors/sensors.go
@@ -7,7 +7,6 @@ import (
"errors"
"fmt"
"sort"
- "strings"
"sync"
"github.com/cilium/tetragon/pkg/bpf"
@@ -89,10 +88,6 @@ func (s *Sensor) AddPostUnloadHook(hook SensorHook) {
}
}
-func sanitize(name string) string {
- return strings.ReplaceAll(name, "/", "_")
-}
-
type Prog struct {
Namespace string
Policy string
diff --git a/pkg/sensors/tracing/enforcer.go b/pkg/sensors/tracing/enforcer.go
index 5644f6202c0..3ca0f1e2158 100644
--- a/pkg/sensors/tracing/enforcer.go
+++ b/pkg/sensors/tracing/enforcer.go
@@ -21,10 +21,6 @@ import (
"github.com/cilium/tetragon/pkg/tracingpolicy"
)
-const (
- enforcerDataMapName = "enforcer_data"
-)
-
type enforcerHandler struct {
syscallsSyms []string
}
@@ -51,7 +47,7 @@ func init() {
}
func enforcerMapsUser(load *program.Program) []*program.Map {
- edm := program.MapUserPolicy(enforcerDataMapName, load)
+ edm := program.MapUserPolicy(EnforcerDataMapName, load)
edm.SetMaxEntries(enforcerMapMaxEntries)
return []*program.Map{
edm,
@@ -60,7 +56,7 @@ func enforcerMapsUser(load *program.Program) []*program.Map {
}
func enforcerMaps(load *program.Program) []*program.Map {
- edm := program.MapBuilderPolicy(enforcerDataMapName, load)
+ edm := program.MapBuilderPolicy(EnforcerDataMapName, load)
edm.SetMaxEntries(enforcerMapMaxEntries)
return []*program.Map{
edm,
diff --git a/pkg/sensors/tracing/enforcer_map.go b/pkg/sensors/tracing/enforcer_map.go
new file mode 100644
index 00000000000..73a91719786
--- /dev/null
+++ b/pkg/sensors/tracing/enforcer_map.go
@@ -0,0 +1,97 @@
+// SPDX-License-Identifier: Apache-2.0
+// Copyright Authors of Tetragon
+
+package tracing
+
+import (
+ "errors"
+ "fmt"
+ "path/filepath"
+ "testing"
+
+ "github.com/cilium/ebpf"
+ "github.com/cilium/tetragon/pkg/bpf"
+ "github.com/cilium/tetragon/pkg/tracingpolicy"
+)
+
+const (
+ EnforcerDataMapName = "enforcer_data"
+)
+
+type EnforcerMap struct {
+ *ebpf.Map
+}
+
+func openEnforcerMap(polName, polNamespace string, opts *ebpf.LoadPinOptions) (EnforcerMap, error) {
+ fname := filepath.Join(
+ bpf.MapPrefixPath(),
+ tracingpolicy.PolicyDir(polNamespace, polName),
+ EnforcerDataMapName)
+ m, err := ebpf.LoadPinnedMap(fname, opts)
+ if err != nil {
+ return EnforcerMap{nil}, fmt.Errorf("failed to open enforcer map %q: %w", fname, err)
+ }
+
+ return EnforcerMap{m}, nil
+}
+
+// open policy enforecer map for reading
+func OpenEnforcerMap(polName, polNamespace string) (EnforcerMap, error) {
+ return openEnforcerMap(polName, polNamespace, &ebpf.LoadPinOptions{ReadOnly: true})
+}
+
+type EnforcerMapKey struct {
+ PidTgid uint64 // pidtgid
+}
+
+type EnforcerMapVal struct {
+ Err int16
+ Sig int16
+ FuncID uint32
+ Arg uint32
+}
+
+func (m EnforcerMap) Dump() (map[EnforcerMapKey]EnforcerMapVal, error) {
+ ret := make(map[EnforcerMapKey]EnforcerMapVal)
+
+ var key EnforcerMapKey
+ var val EnforcerMapVal
+
+ iter := m.Iterate()
+ for iter.Next(&key, &val) {
+ ret[key] = val
+ }
+
+ return ret, iter.Err()
+}
+
+func DumpEnforcerMap(polName, polNamespace string) (map[EnforcerMapKey]EnforcerMapVal, error) {
+ m, err := OpenEnforcerMap(polName, polNamespace)
+ if err != nil {
+ return nil, err
+ }
+ defer m.Close()
+ return m.Dump()
+}
+
+// NB: only meant for testing
+func ResetEnforcerMap(_ *testing.T, polName, polNamespace string) error {
+ m, err := openEnforcerMap(polName, polNamespace, &ebpf.LoadPinOptions{ReadOnly: false})
+ if err != nil {
+ return err
+ }
+ defer m.Close()
+
+ for {
+ var key EnforcerMapKey
+ if err := m.NextKey(nil, &key); err != nil {
+ if errors.Is(err, ebpf.ErrKeyNotExist) {
+ return nil
+ }
+ return err
+ }
+ if err := m.Delete(&key); err != nil {
+ return err
+ }
+ }
+}
diff --git a/pkg/sensors/tracing/generickprobe.go b/pkg/sensors/tracing/generickprobe.go
index a8ab46ec98a..a7581e89e34 100644
--- a/pkg/sensors/tracing/generickprobe.go
+++ b/pkg/sensors/tracing/generickprobe.go
@@ -272,7 +272,7 @@ func filterMaps(load *program.Program, kprobeEntry *genericKprobe) []*program.Ma
return maps
}
-func createMultiKprobeSensor(policyName string, multiIDs []idtable.EntryID, has hasMaps) ([]*program.Program, []*program.Map, error) {
+func createMultiKprobeSensor(polInfo *policyInfo, multiIDs []idtable.EntryID, has hasMaps) ([]*program.Program, []*program.Map, error) {
var multiRetIDs []idtable.EntryID
var progs []*program.Program
var maps []*program.Map
@@ -311,7 +311,7 @@ func createMultiKprobeSensor(policyName string, multiIDs []idtable.EntryID, has
"multi_kprobe",
"generic_kprobe").
SetLoaderData(multiIDs).
- SetPolicy(policyName)
+ SetPolicy(polInfo.name)
progs = append(progs, load)
fdinstall := program.MapBuilderSensor("fdinstall_map", load)
@@ -381,6 +381,8 @@ func createMultiKprobeSensor(policyName string, multiIDs []idtable.EntryID, has
}
maps = append(maps, overrideTasksMap)
+ maps = append(maps, polInfo.policyConfMap(load))
+
if len(multiRetIDs) != 0 {
loadret := program.Builder(
path.Join(option.Config.HubbleLib, loadProgRetName),
@@ -390,7 +392,7 @@ func createMultiKprobeSensor(policyName string, multiIDs []idtable.EntryID, has
"generic_kprobe").
SetRetProbe(true).
SetLoaderData(multiRetIDs).
- SetPolicy(policyName)
+ SetPolicy(polInfo.name)
progs = append(progs, loadret)
retProbe := program.MapBuilderSensor("retprobe_map", loadret)
@@ -595,10 +597,7 @@ func hasMapsSetup(spec *v1alpha1.TracingPolicySpec) hasMaps {
func createGenericKprobeSensor(
spec *v1alpha1.TracingPolicySpec,
name string,
- policyID policyfilter.PolicyID,
- policyName string,
- namespace string,
- customHandler eventhandler.Handler,
+ polInfo *policyInfo,
) (*sensors.Sensor, error) {
var progs []*program.Program
var maps []*program.Map
@@ -609,16 +608,11 @@ func createGenericKprobeSensor(
kprobes := spec.KProbes
lists := spec.Lists
- specOpts, err := getSpecOptions(spec.Options)
- if err != nil {
- return nil, fmt.Errorf("failed to get spec options: %s", err)
- }
-
// use multi kprobe only if:
// - it's not disabled by spec option
// - it's not disabled by command line option
// - there's support detected
- if !specOpts.DisableKprobeMulti {
+ if !polInfo.specOpts.DisableKprobeMulti {
useMulti = !option.Config.DisableKprobeMulti && bpf.HasKprobeMulti()
}
@@ -629,9 +623,9 @@ func createGenericKprobeSensor(
in := addKprobeIn{
useMulti: useMulti,
sensorPath: name,
- policyID: policyID,
- policyName: policyName,
- customHandler: customHandler,
+ policyID: polInfo.policyID,
+ policyName: polInfo.name,
+ customHandler: polInfo.customHandler,
selMaps: selMaps,
}
@@ -663,10 +657,11 @@ func createGenericKprobeSensor(
}
}
+ var err error
if useMulti {
- progs, maps, err = createMultiKprobeSensor(in.policyName, ids, has)
+ progs, maps, err = createMultiKprobeSensor(polInfo, ids, has)
} else {
- progs, maps, err = createSingleKprobeSensor(ids, has)
+ progs, maps, err = createSingleKprobeSensor(polInfo, ids, has)
}
if err != nil {
@@ -679,8 +674,8 @@ func createGenericKprobeSensor(
Name: name,
Progs: progs,
Maps: maps,
- Policy: policyName,
- Namespace: namespace,
+ Policy: polInfo.name,
+ Namespace: polInfo.namespace,
DestroyHook: func() error {
var errs error
for _, id := range ids {
@@ -931,7 +926,7 @@ func addKprobe(funcName string, instance int, f *v1alpha1.KProbeSpec, in *addKpr
return kprobeEntry.tableId, nil
}
-func createKprobeSensorFromEntry(kprobeEntry *genericKprobe,
+func createKprobeSensorFromEntry(polInfo *policyInfo, kprobeEntry *genericKprobe,
progs []*program.Program, maps []*program.Map, has hasMaps) ([]*program.Program, []*program.Map) {
loadProgName, loadProgRetName := kernels.GenericKprobeObjs()
@@ -1031,6 +1026,8 @@ func createKprobeSensorFromEntry(kprobeEntry *genericKprobe,
}
maps = append(maps, overrideTasksMap)
+ maps = append(maps, polInfo.policyConfMap(load))
+
if kprobeEntry.loadArgs.retprobe {
pinRetProg := sensors.PathJoin(fmt.Sprintf("%s_return", kprobeEntry.funcName))
if kprobeEntry.instance != 0 {
@@ -1082,7 +1079,7 @@ func createKprobeSensorFromEntry(kprobeEntry *genericKprobe,
return progs, maps
}
-func createSingleKprobeSensor(ids []idtable.EntryID, has hasMaps) ([]*program.Program, []*program.Map, error) {
+func createSingleKprobeSensor(polInfo *policyInfo, ids []idtable.EntryID, has hasMaps) ([]*program.Program, []*program.Map, error) {
var progs []*program.Program
var maps []*program.Map
@@ -1098,7 +1095,7 @@ func createSingleKprobeSensor(ids []idtable.EntryID, has hasMaps) ([]*program.Pr
has.rateLimit = gk.hasRatelimit
has.override = gk.hasOverride
- progs, maps = createKprobeSensorFromEntry(gk, progs, maps, has)
+ progs, maps = createKprobeSensorFromEntry(polInfo, gk, progs, maps, has)
}
return progs, maps, nil
diff --git a/pkg/sensors/tracing/generickprobe_test.go b/pkg/sensors/tracing/generickprobe_test.go
index 59c788ae3e7..88efe5f83c3 100644
--- a/pkg/sensors/tracing/generickprobe_test.go
+++ b/pkg/sensors/tracing/generickprobe_test.go
@@ -13,6 +13,7 @@ import (
"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/policyfilter"
"github.com/cilium/tetragon/pkg/sensors"
tus "github.com/cilium/tetragon/pkg/testutils/sensors"
"github.com/stretchr/testify/assert"
@@ -82,7 +83,9 @@ func Test_SensorDestroyHook(t *testing.T) {
// insertion in the table in AddKprobe, but this is done by the caller to
// have just DestroyHook that regroups all the potential multiple kprobes
// contained in one sensor.
- sensor, err := createGenericKprobeSensor(spec, "test_sensor", 0, "test_policy", "", nil)
+ policyInfo, err := newPolicyInfoFromSpec("", "test_policy", policyfilter.NoFilterID, spec, nil)
+ require.NoError(t, err)
+ sensor, err := createGenericKprobeSensor(spec, "test_sensor", policyInfo)
if err != nil {
t.Errorf("createGenericKprobeSensor err expected: nil, got: %s", err)
}
diff --git a/pkg/sensors/tracing/genericlsm.go b/pkg/sensors/tracing/genericlsm.go
index 0c9b91b5f35..035bda37915 100644
--- a/pkg/sensors/tracing/genericlsm.go
+++ b/pkg/sensors/tracing/genericlsm.go
@@ -343,9 +343,7 @@ func addLsm(f *v1alpha1.LsmHookSpec, in *addLsmIn) (id idtable.EntryID, err erro
func createGenericLsmSensor(
spec *v1alpha1.TracingPolicySpec,
name string,
- policyID policyfilter.PolicyID,
- policyName string,
- namespace string,
+ polInfo *policyInfo,
) (*sensors.Sensor, error) {
var progs []*program.Program
var maps []*program.Map
@@ -362,8 +360,8 @@ func createGenericLsmSensor(
in := addLsmIn{
sensorPath: name,
- policyID: policyID,
- policyName: policyName,
+ policyID: polInfo.policyID,
+ policyName: polInfo.name,
selMaps: selMaps,
}
@@ -380,7 +378,7 @@ func createGenericLsmSensor(
if err != nil {
return nil, err
}
- progs, maps = createLsmSensorFromEntry(gl, progs, maps)
+ progs, maps = createLsmSensorFromEntry(polInfo, gl, progs, maps)
}
if err != nil {
@@ -403,8 +401,8 @@ func createGenericLsmSensor(
}
return errs
},
- Policy: policyName,
- Namespace: namespace,
+ Policy: polInfo.name,
+ Namespace: polInfo.namespace,
}, nil
}
@@ -446,7 +444,7 @@ func imaProgName(lsmEntry *genericLsm) (string, string) {
return pName, pType
}
-func createLsmSensorFromEntry(lsmEntry *genericLsm,
+func createLsmSensorFromEntry(polInfo *policyInfo, lsmEntry *genericLsm,
progs []*program.Program, maps []*program.Map) ([]*program.Program, []*program.Map) {
loadProgCoreName := "bpf_generic_lsm_core.o"
@@ -543,6 +541,8 @@ func createLsmSensorFromEntry(lsmEntry *genericLsm,
overrideTasksMapOutput := program.MapBuilderProgram("override_tasks", loadOutput)
maps = append(maps, overrideTasksMapOutput)
+ maps = append(maps, polInfo.policyConfMap(load))
+
logger.GetLogger().
Infof("Added generic lsm sensor: %s -> %s", load.Name, load.Attach)
return progs, maps
diff --git a/pkg/sensors/tracing/generictracepoint.go b/pkg/sensors/tracing/generictracepoint.go
index da9c7bbc187..07ed1abd52a 100644
--- a/pkg/sensors/tracing/generictracepoint.go
+++ b/pkg/sensors/tracing/generictracepoint.go
@@ -310,9 +310,7 @@ func buildGenericTracepointArgs(info *tracepoint.Tracepoint, specArgs []v1alpha1
func createGenericTracepoint(
sensorName string,
conf *v1alpha1.TracepointSpec,
- policyID policyfilter.PolicyID,
- policyName string,
- customHandler eventhandler.Handler,
+ polInfo *policyInfo,
) (*genericTracepoint, error) {
if conf == nil {
return nil, errors.New("failed creating generic tracepoint, conf is nil")
@@ -327,7 +325,7 @@ func createGenericTracepoint(
if errors.Is(err, ErrMsgSyntaxShort) || errors.Is(err, ErrMsgSyntaxEscape) {
return nil, err
} else if errors.Is(err, ErrMsgSyntaxLong) {
- logger.GetLogger().WithField("policy-name", policyName).Warnf("TracingPolicy 'message' field too long, truncated to %d characters", TpMaxMessageLen)
+ logger.GetLogger().WithField("policy-name", polInfo.name).Warnf("TracingPolicy 'message' field too long, truncated to %d characters", TpMaxMessageLen)
}
tagsField, err := getPolicyTags(conf.Tags)
@@ -348,9 +346,9 @@ func createGenericTracepoint(
Info: &tp,
Spec: conf,
args: tpArgs,
- policyID: policyID,
- policyName: policyName,
- customHandler: customHandler,
+ policyID: polInfo.policyID,
+ policyName: polInfo.name,
+ customHandler: polInfo.customHandler,
message: msgField,
tags: tagsField,
}
@@ -428,28 +426,25 @@ func tpValidateAndAdjustEnforcerAction(
func createGenericTracepointSensor(
spec *v1alpha1.TracingPolicySpec,
name string,
- policyID policyfilter.PolicyID,
- policyName string,
- namespace string,
- customHandler eventhandler.Handler,
+ polInfo *policyInfo,
) (*sensors.Sensor, error) {
confs := spec.Tracepoints
lists := spec.Lists
ret := &sensors.Sensor{
Name: name,
- Policy: policyName,
- Namespace: namespace,
+ Policy: polInfo.name,
+ Namespace: polInfo.namespace,
}
tracepoints := make([]*genericTracepoint, 0, len(confs))
for i := range confs {
tpSpec := &confs[i]
- err := tpValidateAndAdjustEnforcerAction(ret, tpSpec, i, policyName, spec)
+ err := tpValidateAndAdjustEnforcerAction(ret, tpSpec, i, polInfo.name, spec)
if err != nil {
return nil, err
}
- tp, err := createGenericTracepoint(name, tpSpec, policyID, policyName, customHandler)
+ tp, err := createGenericTracepoint(name, tpSpec, polInfo)
if err != nil {
return nil, err
}
@@ -480,7 +475,7 @@ func createGenericTracepointSensor(
"tracepoint/generic_tracepoint",
pinProg,
"generic_tracepoint",
- ).SetPolicy(policyName)
+ ).SetPolicy(polInfo.name)
err := tp.InitKernelSelectors(lists)
if err != nil {
@@ -582,6 +577,8 @@ func createGenericTracepointSensor(
selMatchBinariesMap := program.MapBuilderProgram("tg_mb_sel_opts", prog0)
maps = append(maps, selMatchBinariesMap)
+
+ maps = append(maps, polInfo.policyConfMap(prog0))
}
maps = append(maps, program.MapUserFrom(base.ExecveMap))
diff --git a/pkg/sensors/tracing/genericuprobe.go b/pkg/sensors/tracing/genericuprobe.go
index 7346b3fb399..a06899399f7 100644
--- a/pkg/sensors/tracing/genericuprobe.go
+++ b/pkg/sensors/tracing/genericuprobe.go
@@ -245,27 +245,21 @@ type addUprobeIn struct {
func createGenericUprobeSensor(
spec *v1alpha1.TracingPolicySpec,
name string,
- policyName string,
- namespace string,
+ polInfo *policyInfo,
) (*sensors.Sensor, error) {
var progs []*program.Program
var maps []*program.Map
var ids []idtable.EntryID
var err error
- options, err := getSpecOptions(spec.Options)
- if err != nil {
- return nil, fmt.Errorf("failed to set options: %s", err)
- }
-
in := addUprobeIn{
sensorPath: name,
- policyName: policyName,
+ policyName: polInfo.name,
// use multi kprobe only if:
// - it's not disabled by spec option
// - there's support detected
- useMulti: !options.DisableUprobeMulti && bpf.HasUprobeMulti(),
+ useMulti: !polInfo.specOpts.DisableUprobeMulti && bpf.HasUprobeMulti(),
}
for _, uprobe := range spec.UProbes {
@@ -276,7 +270,7 @@ func createGenericUprobeSensor(
}
if in.useMulti {
- progs, maps, err = createMultiUprobeSensor(name, ids, policyName)
+ progs, maps, err = createMultiUprobeSensor(name, ids, polInfo.name)
} else {
progs, maps, err = createSingleUprobeSensor(ids)
}
@@ -291,8 +285,8 @@ func createGenericUprobeSensor(
Name: name,
Progs: progs,
Maps: maps,
- Policy: policyName,
- Namespace: namespace,
+ Policy: polInfo.name,
+ Namespace: polInfo.namespace,
}, nil
}
diff --git a/pkg/sensors/tracing/options.go b/pkg/sensors/tracing/options.go
index e618c41d5d5..7ded7643a3b 100644
--- a/pkg/sensors/tracing/options.go
+++ b/pkg/sensors/tracing/options.go
@@ -10,6 +10,7 @@ import (
"github.com/cilium/tetragon/pkg/k8s/apis/cilium.io/v1alpha1"
"github.com/cilium/tetragon/pkg/logger"
"github.com/cilium/tetragon/pkg/option"
+ "github.com/cilium/tetragon/pkg/policyconf"
)
type OverrideMethod int
@@ -18,6 +19,7 @@ const (
keyOverrideMethod = "override-method"
valFmodRet = "fmod-ret"
valOverrideReturn = "override-return"
+ keyPolicyMode = "policy-mode"
)
const (
@@ -42,6 +44,7 @@ type specOptions struct {
DisableKprobeMulti bool
DisableUprobeMulti bool
OverrideMethod OverrideMethod
+ policyMode policyconf.Mode
}
type opt struct {
@@ -79,6 +82,16 @@ var opts = map[string]opt{
return nil
},
},
+ keyPolicyMode: opt{
+ set: func(str string, options *specOptions) (err error) {
+ mode, err := policyconf.ParseMode(str)
+ if err != nil {
+ return err
+ }
+ options.policyMode = mode
+ return nil
+ },
+ },
}
func getSpecOptions(specs []v1alpha1.OptionSpec) (*specOptions, error) {
diff --git a/pkg/sensors/tracing/policyhandler.go b/pkg/sensors/tracing/policyhandler.go
index 6cc10db9810..5bb691199cc 100644
--- a/pkg/sensors/tracing/policyhandler.go
+++ b/pkg/sensors/tracing/policyhandler.go
@@ -7,9 +7,13 @@ import (
"errors"
"fmt"
+ "github.com/cilium/ebpf"
"github.com/cilium/tetragon/pkg/eventhandler"
+ "github.com/cilium/tetragon/pkg/k8s/apis/cilium.io/v1alpha1"
+ "github.com/cilium/tetragon/pkg/policyconf"
"github.com/cilium/tetragon/pkg/policyfilter"
"github.com/cilium/tetragon/pkg/sensors"
+ "github.com/cilium/tetragon/pkg/sensors/program"
"github.com/cilium/tetragon/pkg/tracingpolicy"
)
@@ -19,19 +23,83 @@ func init() {
sensors.RegisterPolicyHandlerAtInit("tracing", policyHandler{})
}
-func (h policyHandler) PolicyHandler(
+type policyInfo struct {
+ name string
+ namespace string
+ policyID policyfilter.PolicyID
+ customHandler eventhandler.Handler
+ policyConf *program.Map
+ specOpts *specOptions
+}
+
+func newPolicyInfo(
policy tracingpolicy.TracingPolicy,
policyID policyfilter.PolicyID,
-) (sensors.SensorIface, error) {
-
- policyName := policy.TpName()
- spec := policy.TpSpec()
-
+) (*policyInfo, error) {
namespace := ""
if tpn, ok := policy.(tracingpolicy.TracingPolicyNamespaced); ok {
namespace = tpn.TpNamespace()
}
+ return newPolicyInfoFromSpec(
+ namespace,
+ policy.TpName(),
+ policyID,
+ policy.TpSpec(),
+ eventhandler.GetCustomEventhandler(policy),
+ )
+
+}
+
+func newPolicyInfoFromSpec(
+ namespace, name string,
+ policyID policyfilter.PolicyID,
+ spec *v1alpha1.TracingPolicySpec,
+ customHandler eventhandler.Handler,
+) (*policyInfo, error) {
+ opts, err := getSpecOptions(spec.Options)
+ if err != nil {
+ return nil, err
+ }
+ return &policyInfo{
+ name: name,
+ namespace: namespace,
+ policyID: policyID,
+ customHandler: customHandler,
+ policyConf: nil,
+ specOpts: opts,
+ }, nil
+}
+
+func (pi *policyInfo) policyConfMap(prog *program.Program) *program.Map {
+ if pi.policyConf != nil {
+ return program.MapUserFrom(pi.policyConf)
+ }
+ pi.policyConf = program.MapBuilderPolicy("policy_conf", prog)
+ prog.MapLoad = append(prog.MapLoad, &program.MapLoad{
+ Index: 0,
+ Name: policyconf.PolicyConfMapName,
+ Load: func(m *ebpf.Map, _ string, _ uint32) error {
+ mode := policyconf.EnforceMode
+ if pi.specOpts != nil {
+ mode = pi.specOpts.policyMode
+ }
+ conf := policyconf.PolicyConf{
+ Mode: mode,
+ }
+ key := uint32(0)
+ return m.Update(key, &conf, ebpf.UpdateAny)
+ },
+ })
+ return pi.policyConf
+}
+
+func (h policyHandler) PolicyHandler(
+ policy tracingpolicy.TracingPolicy,
+ policyID policyfilter.PolicyID,
+) (sensors.SensorIface, error) {
+
+ spec := policy.TpSpec()
sections := 0
if len(spec.KProbes) > 0 {
sections++
@@ -42,27 +110,34 @@ func (h policyHandler) PolicyHandler(
if len(spec.LsmHooks) > 0 {
sections++
}
+ if len(spec.UProbes) > 0 {
+ sections++
+ }
if sections > 1 {
- return nil, errors.New("tracing policies with multiple sections of kprobes, tracepoints, or lsm hooks are currently not supported")
+ return nil, errors.New("tracing policies with multiple sections of kprobes, tracepoints, lsm hooks, or uprobes are currently not supported")
+ }
+
+ polInfo, err := newPolicyInfo(policy, policyID)
+ if err != nil {
+ return nil, fmt.Errorf("failed to parse options: %w", err)
}
- handler := eventhandler.GetCustomEventhandler(policy)
if len(spec.KProbes) > 0 {
name := "generic_kprobe"
err := preValidateKprobes(name, spec.KProbes, spec.Lists)
if err != nil {
return nil, fmt.Errorf("validation failed: %w", err)
}
- return createGenericKprobeSensor(spec, name, policyID, policyName, namespace, handler)
+ return createGenericKprobeSensor(spec, name, polInfo)
}
if len(spec.Tracepoints) > 0 {
- return createGenericTracepointSensor(spec, "generic_tracepoint", policyID, policyName, namespace, handler)
+ return createGenericTracepointSensor(spec, "generic_tracepoint", polInfo)
}
if len(spec.LsmHooks) > 0 {
- return createGenericLsmSensor(spec, "generic_lsm", policyID, policyName, namespace)
+ return createGenericLsmSensor(spec, "generic_lsm", polInfo)
}
if len(spec.UProbes) > 0 {
- return createGenericUprobeSensor(spec, "generic_lsm", policyName, namespace)
+ return createGenericUprobeSensor(spec, "generic_uprobe", polInfo)
}
return nil, nil
}
diff --git a/pkg/sensors/tracing/tracepoint_test.go b/pkg/sensors/tracing/tracepoint_test.go
index 57f6e965421..4ded479691c 100644
--- a/pkg/sensors/tracing/tracepoint_test.go
+++ b/pkg/sensors/tracing/tracepoint_test.go
@@ -84,7 +84,9 @@ func TestGenericTracepointSimple(t *testing.T) {
sm := tuo.GetTestSensorManager(t)
// create and add sensor
- sensor, err := createGenericTracepointSensor(&spec, "GtpLseekTest", policyfilter.NoFilterID, "policyName", "", nil)
+ policyInfo, err := newPolicyInfoFromSpec("", "policyName", policyfilter.NoFilterID, &spec, nil)
+ require.NoError(t, err)
+ sensor, err := createGenericTracepointSensor(&spec, "GtpLseekTest", policyInfo)
if err != nil {
t.Fatalf("failed to create generic tracepoint sensor: %s", err)
}
@@ -148,7 +150,9 @@ func doTestGenericTracepointPidFilter(t *testing.T, conf v1alpha1.TracepointSpec
sm := tuo.GetTestSensorManager(t)
// create and add sensor
- sensor, err := createGenericTracepointSensor(&spec, "GtpLseekTest", policyfilter.NoFilterID, "policyName", "", nil)
+ policyInfo, err := newPolicyInfoFromSpec("", "policyName", policyfilter.NoFilterID, &spec, nil)
+ require.NoError(t, err)
+ sensor, err := createGenericTracepointSensor(&spec, "GtpLseekTest", policyInfo)
if err != nil {
t.Fatalf("failed to create generic tracepoint sensor: %s", err)
}
@@ -544,7 +548,9 @@ func TestTracepointCloneThreads(t *testing.T) {
sm := tuo.GetTestSensorManager(t)
// create and add sensor
- sensor, err := createGenericTracepointSensor(&spec, "GtpLseekTest", policyfilter.NoFilterID, "policyName", "", nil)
+ policyInfo, err := newPolicyInfoFromSpec("", "policyName", policyfilter.NoFilterID, &spec, nil)
+ require.NoError(t, err)
+ sensor, err := createGenericTracepointSensor(&spec, "GtpLseekTest", policyInfo)
if err != nil {
t.Fatalf("failed to create generic tracepoint sensor: %s", err)
}
diff --git a/pkg/server/fake_observer.go b/pkg/server/fake_observer.go
index 12758f279e4..364b94b1588 100644
--- a/pkg/server/fake_observer.go
+++ b/pkg/server/fake_observer.go
@@ -53,3 +53,7 @@ func (f *FakeObserver) RemoveSensor(ctx context.Context, sensorName string) erro
func (f *FakeObserver) ListTracingPolicies(ctx context.Context) (*tetragon.ListTracingPoliciesResponse, error) {
return nil, nil
}
+
+func (h *FakeObserver) ConfigureTracingPolicy(_ context.Context, _ *tetragon.ConfigureTracingPolicyRequest) error {
+ return nil
+}
diff --git a/pkg/server/server.go b/pkg/server/server.go
index cef963d06a4..476bda78bae 100644
--- a/pkg/server/server.go
+++ b/pkg/server/server.go
@@ -46,11 +46,13 @@ type observer interface {
DeleteTracingPolicy(ctx context.Context, name string, namespace string) error
// ListTracingPolicies lists active traing policies
ListTracingPolicies(ctx context.Context) (*tetragon.ListTracingPoliciesResponse, error)
+ ConfigureTracingPolicy(ctx context.Context, conf *tetragon.ConfigureTracingPolicyRequest) error
+
+ // {Disable, Enable}TracingPolicy are deprecated, use ConfigureTracingPolicy instead
DisableTracingPolicy(ctx context.Context, name string, namespace string) error
EnableTracingPolicy(ctx context.Context, name string, namespace string) error
- // ListTracingPolicies lists active traing policies
- // ListTracingPolicies lists active traing policies
+ // The Sensor API is deprecated
EnableSensor(ctx context.Context, name string) error
DisableSensor(ctx context.Context, name string) error
ListSensors(ctx context.Context) (*[]sensors.SensorStatus, error)
@@ -296,6 +298,17 @@ func (s *Server) EnableTracingPolicy(ctx context.Context, req *tetragon.EnableTr
}
return &tetragon.EnableTracingPolicyResponse{}, nil
}
+func (s *Server) ConfigureTracingPolicy(ctx context.Context, req *tetragon.ConfigureTracingPolicyRequest) (*tetragon.ConfigureTracingPolicyResponse, error) {
+ logger.GetLogger().WithFields(logrus.Fields{
+ "name": req.GetName(),
+ }).Debug("Received a ConfigureTrcingPolicy request")
+
+ if err := s.observer.ConfigureTracingPolicy(ctx, req); err != nil {
+ return nil, err
+ }
+
+ return &tetragon.ConfigureTracingPolicyResponse{}, nil
+}
func (s *Server) DisableTracingPolicy(ctx context.Context, req *tetragon.DisableTracingPolicyRequest) (*tetragon.DisableTracingPolicyResponse, error) {
logger.GetLogger().WithFields(logrus.Fields{
diff --git a/pkg/testutils/cgroup/cgroup_fs.go b/pkg/testutils/cgroup/cgroup_fs.go
new file mode 100644
index 00000000000..76a402d2da4
--- /dev/null
+++ b/pkg/testutils/cgroup/cgroup_fs.go
@@ -0,0 +1,40 @@
+// SPDX-License-Identifier: Apache-2.0
+// Copyright Authors of Tetragon
+
+package cgroup
+
+import (
+ "os"
+ "syscall"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+// cgfsMkdirTemp creates a temp directory under the provided cgroup fs mountpoint
+func CgfsMkTemp(t *testing.T, cgfsPath string, pattern string) string {
+ var st syscall.Statfs_t
+ if err := syscall.Statfs(cgfsPath, &st); err != nil {
+ t.Fatalf("error accessing cgroup path '%s': %s", cgfsPath, err)
+ }
+ if st.Type == unix.CGROUP2_SUPER_MAGIC {
+ t.Logf("'%s' is cgroup v2", cgfsPath)
+ } else if st.Type == unix.TMPFS_MAGIC {
+ t.Logf("'%s' is cgroup v1", cgfsPath)
+ } else {
+ t.Fatalf("'%s' not a cgroup fs", cgfsPath)
+ }
+
+ // create tempdir
+ dir, err := os.MkdirTemp(cgfsPath, pattern)
+ if err != nil {
+ t.Skipf("skipping test, failed to create test dir: %s", err)
+ }
+ t.Cleanup(func() {
+ err := os.Remove(dir)
+ if err != nil {
+ t.Logf("failed to remove '%s': %s", dir, err)
+ }
+ })
+ return dir
+}
diff --git a/pkg/testutils/policyfilter/tester/pftester.go b/pkg/testutils/policyfilter/tester/pftester.go
new file mode 100644
index 00000000000..3c198e78c37
--- /dev/null
+++ b/pkg/testutils/policyfilter/tester/pftester.go
@@ -0,0 +1,116 @@
+// SPDX-License-Identifier: Apache-2.0
+// Copyright Authors of Tetragon
+
+package tester
+
+// revive:disable:context-as-argument
+
+import (
+ "context"
+ "fmt"
+ "os"
+ "path/filepath"
+ "testing"
+
+ "github.com/cilium/tetragon/pkg/bpf"
+ "github.com/cilium/tetragon/pkg/cgroups"
+ "github.com/cilium/tetragon/pkg/logger"
+ "github.com/cilium/tetragon/pkg/observer"
+ "github.com/cilium/tetragon/pkg/policyfilter"
+ "github.com/cilium/tetragon/pkg/sensors"
+ "github.com/cilium/tetragon/pkg/sensors/config/confmap"
+ testsensor "github.com/cilium/tetragon/pkg/sensors/test"
+ "github.com/cilium/tetragon/pkg/testutils"
+ cgt "github.com/cilium/tetragon/pkg/testutils/cgroup"
+ testprogs "github.com/cilium/tetragon/pkg/testutils/progs"
+ tus "github.com/cilium/tetragon/pkg/testutils/sensors"
+ "github.com/cilium/tetragon/pkg/tracingpolicy"
+
+ "github.com/google/uuid"
+ "github.com/sirupsen/logrus"
+ "github.com/stretchr/testify/require"
+)
+
+const (
+ cgfsRoot = "/sys/fs/cgroup"
+ envVar = "policyfilterTester"
+)
+
+type Tester struct {
+ SensorMgr *sensors.Manager
+ Pfstate policyfilter.State
+ ProgTester *testprogs.Tester
+ CgPath string
+ CgID uint64
+}
+
+func Start(t *testing.T, ctx context.Context) *Tester {
+ // capture tetragon log in the t
+ testutils.CaptureLog(t, logger.GetLogger().(*logrus.Logger))
+
+ // initialize things
+ policyfilter.TestingEnableAndReset(t)
+ err := observer.InitDataCache(1024)
+ require.NoError(t, err)
+ // NB: this is needed so that we can properly configure cgroupv2
+ err = confmap.UpdateTgRuntimeConf(bpf.MapPrefixPath(), os.Getpid())
+ require.NoError(t, err)
+
+ // initialize base and test sensor
+ // NB: using ret.SensorMgr to load these sensors does not seem to work as expected
+ tus.LoadInitialSensor(t)
+ tus.LoadSensor(t, testsensor.GetTestSensor())
+
+ // start sensor manager (and policyfilter)
+ ret := &Tester{}
+ ret.Pfstate, err = policyfilter.GetState()
+ require.NoError(t, err)
+ ret.SensorMgr, err = sensors.StartSensorManagerWithPF(bpf.MapPrefixPath(), ret.Pfstate)
+ require.NoError(t, err)
+
+ // create a cgroup path
+ ret.CgPath = cgt.CgfsMkTemp(t, cgfsRoot, fmt.Sprintf("test-%s-*", t.Name()))
+ ret.CgID, err = cgroups.GetCgroupIdFromPath(ret.CgPath)
+ require.NoError(t, err)
+ t.Logf("cgroup path:%s id:%d", ret.CgPath, ret.CgID)
+
+ // create a progTester and add it to the cgroup
+ ret.ProgTester = testprogs.StartTester(t, ctx)
+ ret.ProgTester.AddToCgroup(t, ret.CgPath)
+ t.Cleanup(func() {
+ // stop progTester. We need to do this here, so that the Cleanup() of CgfsMkTemp
+ // that removes the cgroup test will succeed.
+ ret.ProgTester.Stop()
+ })
+ if false {
+ out, err := ret.ProgTester.Command("exec /usr/bin/cat /proc/self/cgroup")
+ require.NoError(t, err, out)
+ t.Logf("progtester cgroup: %s", out)
+ }
+
+ return ret
+}
+
+func (pft *Tester) AddPolicy(t *testing.T, ctx context.Context, tp *tracingpolicy.GenericTracingPolicyNamespaced) {
+ err := pft.SensorMgr.AddTracingPolicy(ctx, tp)
+ require.NoError(t, err)
+ err = pft.Pfstate.AddPodContainer(
+ policyfilter.PodID(uuid.New()),
+ tracingpolicy.Namespace(tp), "workload", "kind", nil,
+ "pod-container", policyfilter.CgroupID(pft.CgID), "container-name")
+ require.NoError(t, err)
+
+ // NB: make true if you want to see a dump of the policyfilter maps
+ if false {
+ fname := filepath.Join(bpf.MapPrefixPath(), policyfilter.MapName)
+ pfMap, err := policyfilter.OpenMap(fname)
+ require.NoError(t, err)
+ pfData, err := pfMap.Dump()
+ require.NoError(t, err)
+ t.Logf("pfMap(%s):\n%+v\n", fname, pfData)
+ }
+
+ t.Cleanup(func() {
+ pft.SensorMgr.DeleteTracingPolicy(ctx, tp.TpName(), tracingpolicy.Namespace(tp))
+ })
+}
diff --git a/pkg/testutils/progs/tester.go b/pkg/testutils/progs/tester.go
index 4c651d2262a..e7c8e16abb5 100644
--- a/pkg/testutils/progs/tester.go
+++ b/pkg/testutils/progs/tester.go
@@ -14,6 +14,7 @@ import (
"strconv"
"strings"
"testing"
+ "unsafe"
"github.com/cilium/tetragon/pkg/testutils"
@@ -33,10 +34,15 @@ type Tester struct {
func TestHelperMain() {
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
- switch cmd := scanner.Text(); {
+ execMayFail := false
+ cmd := scanner.Text()
+ switch {
case cmd == "ping":
fmt.Println("pong")
+ case strings.HasPrefix(cmd, "exec_mayfail "):
+ execMayFail = true
+ fallthrough
case strings.HasPrefix(cmd, "exec "):
fields := strings.Fields(cmd)
if len(fields) < 2 {
@@ -50,11 +56,15 @@ func TestHelperMain() {
}
cmd := exec.Command(cmdName, cmdArgs...)
out, err := cmd.CombinedOutput()
- if err != nil {
- fmt.Fprintf(os.Stderr, "cmd='%s' returned an error (%s)\n", cmd, err)
+ if err == nil {
+ fmt.Fprintf(os.Stdout, "cmd=%q returned without an error. Combined output was: %q\n", cmd, out)
+ continue
+ }
+ if !execMayFail {
+ fmt.Fprintf(os.Stderr, "cmd=%q returned an error (%s)\n", cmd, err)
os.Exit(1)
}
- fmt.Fprintf(os.Stdout, "cmd='%s' returned without an error. Combined output was: %q\n", cmd, out)
+ fmt.Fprintf(os.Stdout, "cmd=%q returned an error %q\n", cmd, err)
case strings.HasPrefix(cmd, "lseek "):
fields := strings.Fields(cmd)
@@ -77,6 +87,16 @@ func TestHelperMain() {
o, err := unix.Seek(int(fd), off, int(whence))
fmt.Fprintf(os.Stdout, "cmd=%q returned o=%d err=%v\n", cmd, o, err)
+ case cmd == "getcpu":
+ var cpu, node int
+ _, _, err := unix.Syscall(
+ unix.SYS_GETCPU,
+ uintptr(unsafe.Pointer(&cpu)),
+ uintptr(unsafe.Pointer(&node)),
+ 0,
+ )
+ fmt.Fprintf(os.Stdout, "getpcu returned: err:%v\n", err)
+
case cmd == "exit":
fmt.Fprintf(os.Stderr, "Exiting...\n")
os.Exit(0)
@@ -174,6 +194,16 @@ func (pt *Tester) Exec(cmd string) (string, error) {
return out, nil
}
+// similar to Exec, but command may fail
+func (pt *Tester) ExecMayFail(cmd string) (string, error) {
+ execCmd := fmt.Sprintf("exec_mayfail %s", cmd)
+ out, err := pt.Command(execCmd)
+ if err != nil {
+ return "", fmt.Errorf("exec_mayfail failed: %w", err)
+ }
+ return out, nil
+}
+
func (pt *Tester) Lseek(fd, off, whence int) (string, error) {
lseekCmd := fmt.Sprintf("lseek %d %d %d", fd, off, whence)
out, err := pt.Command(lseekCmd)
diff --git a/pkg/testutils/progs/tester_test.go b/pkg/testutils/progs/tester_test.go
index 43ddcd8ee97..cd488c3398b 100644
--- a/pkg/testutils/progs/tester_test.go
+++ b/pkg/testutils/progs/tester_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"time"
+ "github.com/cilium/tetragon/pkg/testutils"
"github.com/stretchr/testify/require"
)
@@ -27,7 +28,19 @@ func TestExec(t *testing.T) {
pt := StartTester(t, ctx)
out, err := pt.Exec("/bin/echo hello")
require.NoError(t, err)
- require.Equal(t, "cmd='/bin/echo hello' returned without an error. Combined output was: \"hello\\n\"", out)
+ require.Equal(t, "cmd=\"/bin/echo hello\" returned without an error. Combined output was: \"hello\\n\"", out)
+ err = pt.Stop()
+ require.Nil(t, err)
+}
+
+func TestSigkill(t *testing.T) {
+ ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
+ defer cancel()
+ raisesigkillProg := testutils.RepoRootPath("contrib/tester-progs/raisesigkill")
+ pt := StartTester(t, ctx)
+ out, err := pt.ExecMayFail(raisesigkillProg)
+ require.NoError(t, err)
+ require.Contains(t, out, "signal: killed")
err = pt.Stop()
require.Nil(t, err)
}
diff --git a/pkg/tracingpolicy/utils.go b/pkg/tracingpolicy/utils.go
new file mode 100644
index 00000000000..a81e48e200b
--- /dev/null
+++ b/pkg/tracingpolicy/utils.go
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: Apache-2.0
+// Copyright Authors of Tetragon
+
+package tracingpolicy
+
+import (
+ "fmt"
+ "path/filepath"
+ "strings"
+ // "sigs.k8s.io/yaml"
+)
+
+// Namespace returns the namespace of a policy, or "" if the poilcy is not namespaced
+func Namespace(tp TracingPolicy) string {
+ if tpNs, ok := tp.(TracingPolicyNamespaced); ok {
+ return tpNs.TpNamespace()
+ }
+ return ""
+}
+
+func sanitize(name string) string {
+ return strings.ReplaceAll(name, "/", "_")
+}
+
+func policyDir(namespace, policyName string) string {
+ if namespace == "" {
+ return sanitize(policyName)
+ }
+ return fmt.Sprintf("%s:%s", namespace, sanitize(policyName))
+}
+
+// PolicyDir returns the directory of the policy in tetragon's bpf fs hierearchy
+func PolicyDir(namespace, policyName string) string {
+ return filepath.Join(policyDir(namespace, policyName))
+}
diff --git a/pkg/tracingpolicy/yaml.go b/pkg/tracingpolicy/yaml.go
new file mode 100644
index 00000000000..52bba6a94f7
--- /dev/null
+++ b/pkg/tracingpolicy/yaml.go
@@ -0,0 +1,88 @@
+// SPDX-License-Identifier: Apache-2.0
+// Copyright Authors of Tetragon
+
+package tracingpolicy
+
+import (
+ "errors"
+ "fmt"
+
+ "gopkg.in/yaml.v2"
+)
+
+func specSetMode(spec map[interface{}]interface{}, mode string) error {
+ optsRaw, hasOpts := spec["options"]
+ if !hasOpts { // if there are no options, just add them
+ spec["options"] = []map[string]string{
+ {"name": "policy-mode", "value": mode},
+ }
+ return nil
+ }
+
+ opts, optsOK := optsRaw.([]interface{})
+ if !optsOK {
+ return fmt.Errorf("spec.options has unexpected type: %T", optsRaw)
+ }
+
+ var newOpts = []interface{}{}
+ for i := range opts {
+ optRaw := opts[i]
+ opt, optOK := optRaw.(map[interface{}]interface{})
+ if !optOK {
+ return fmt.Errorf("spec.options[%d] has unexpected type: %T", i, optRaw)
+ }
+
+ optMap := make(map[string]interface{})
+ for optKeyRaw, optValRaw := range opt {
+ optKey, optKeyOk := optKeyRaw.(string)
+ if !optKeyOk {
+ return fmt.Errorf("spec.options[%d] key has unexpected type: %T", i, optKeyRaw)
+ }
+ optMap[optKey] = optValRaw
+ }
+
+ nameVal := optMap["name"]
+ if nameVal != "policy-mode" {
+ newOpts = append(newOpts, optRaw)
+ }
+ }
+
+ spec["options"] = append(newOpts, map[interface{}]interface{}{
+ "name": "policy-mode",
+ "value": mode,
+ })
+
+ return nil
+}
+
+// PolicyYAMLSetMode modifies a yaml file to set the mode of the policy
+func PolicyYAMLSetMode(data []byte, mode string) ([]byte, error) {
+ m := make(map[interface{}]interface{})
+ if err := yaml.Unmarshal(data, &m); err != nil {
+ return nil, err
+ }
+
+ switch mode {
+ case "":
+ return yaml.Marshal(m)
+ case "enforce", "monitor":
+ default:
+ return nil, fmt.Errorf("invalid mode: %q", mode)
+ }
+
+ specRaw, hasSpec := m["spec"]
+ if !hasSpec {
+ return nil, errors.New("yaml does not include spec section")
+ }
+
+ spec, specOK := specRaw.(map[interface{}]interface{})
+ if !specOK {
+ return nil, fmt.Errorf("spec has unexpected type: %T", specRaw)
+ }
+
+ if err := specSetMode(spec, mode); err != nil {
+ return nil, err
+ }
+
+ return yaml.Marshal(m)
+}
diff --git a/pkg/tracingpolicy/yaml_test.go b/pkg/tracingpolicy/yaml_test.go
new file mode 100644
index 00000000000..99616876aba
--- /dev/null
+++ b/pkg/tracingpolicy/yaml_test.go
@@ -0,0 +1,107 @@
+// SPDX-License-Identifier: Apache-2.0
+// Copyright Authors of Tetragon
+
+package tracingpolicy
+
+import (
+ "fmt"
+ "strings"
+ "testing"
+ "text/template"
+
+ "github.com/stretchr/testify/require"
+)
+
+var yamlTemplate = `apiVersion: cilium.io/v1alpha1
+kind: TracingPolicyNamespaced
+metadata:
+ name: example_yaml
+ namespace: default
+spec:
+ kprobes:
+ - call: __x64_sys_connect
+ selectors:
+ - matchActions:
+ - action: Override
+ argError: -111
+ syscall: true
+ - call: __x64_sys_listen
+ selectors:
+ - matchActions:
+ - action: Override
+ argError: -111
+ syscall: true
+{{- if .IncludeOpts }}
+ options:
+{{- range $k, $v := .Opts }}
+ - name: {{ $k }}
+ value: {{ $v }}
+{{- end }}
+{{- end}}
+`
+
+type tmplData struct {
+ IncludeOpts bool
+ Opts map[string]string
+}
+
+func TestPolicyYAMLSetMode(t *testing.T) {
+ type tc struct {
+ desc string
+ iData tmplData
+ mode string
+ oData tmplData
+ }
+
+ tcs := []tc{
+ {
+ "no options",
+ tmplData{false, nil},
+ "",
+ tmplData{false, nil},
+ }, {
+ "other options unchanged",
+ tmplData{true, map[string]string{"foo": "lala"}},
+ "",
+ tmplData{true, map[string]string{"foo": "lala"}},
+ }, {
+ "no options, set to enforce",
+ tmplData{false, nil},
+ "enforce",
+ tmplData{true, map[string]string{"policy-mode": "enforce"}},
+ }, {
+ "other options, set to monitor",
+ tmplData{true, map[string]string{"foo": "lala"}},
+ "monitor",
+ tmplData{true, map[string]string{"foo": "lala", "policy-mode": "monitor"}},
+ }, {
+ "policy mode set to enforce, set to monitor",
+ tmplData{true, map[string]string{"policy-mode": "enforce"}},
+ "monitor",
+ tmplData{true, map[string]string{"policy-mode": "monitor"}},
+ }, {
+ "policy mode set to enforce and other options, set to monitor",
+ tmplData{true, map[string]string{"a": "b", "policy-mode": "enforce"}},
+ "monitor",
+ tmplData{true, map[string]string{"a": "b", "policy-mode": "monitor"}},
+ },
+ }
+
+ tmpl := template.Must(template.New("yaml").Parse(yamlTemplate))
+ for i := range tcs {
+ c := &tcs[i]
+ var inBld strings.Builder
+ err := tmpl.Execute(&inBld, c.iData)
+ require.NoError(t, err)
+ in := inBld.String()
+
+ var outBld strings.Builder
+ err = tmpl.Execute(&outBld, c.oData)
+ require.NoError(t, err)
+ out := outBld.String()
+ ret, err := PolicyYAMLSetMode([]byte(in), c.mode)
+ require.NoError(t, err, fmt.Sprintf("unexpected error test %q", c.desc))
+ require.Equal(t, out, string(ret), fmt.Sprintf("test %q failed", c.desc))
+ }
+
+}
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 b814832d19f..2471e85f262 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
@@ -92,6 +92,55 @@ func (TracingPolicyState) EnumDescriptor() ([]byte, []int) {
return file_tetragon_sensors_proto_rawDescGZIP(), []int{0}
}
+type TracingPolicyMode int32
+
+const (
+ TracingPolicyMode_TP_MODE_UNKNOWN TracingPolicyMode = 0
+ TracingPolicyMode_TP_MODE_ENFORCE TracingPolicyMode = 1
+ TracingPolicyMode_TP_MODE_MONITOR TracingPolicyMode = 2
+)
+
+// Enum value maps for TracingPolicyMode.
+var (
+ TracingPolicyMode_name = map[int32]string{
+ 0: "TP_MODE_UNKNOWN",
+ 1: "TP_MODE_ENFORCE",
+ 2: "TP_MODE_MONITOR",
+ }
+ TracingPolicyMode_value = map[string]int32{
+ "TP_MODE_UNKNOWN": 0,
+ "TP_MODE_ENFORCE": 1,
+ "TP_MODE_MONITOR": 2,
+ }
+)
+
+func (x TracingPolicyMode) Enum() *TracingPolicyMode {
+ p := new(TracingPolicyMode)
+ *p = x
+ return p
+}
+
+func (x TracingPolicyMode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (TracingPolicyMode) Descriptor() protoreflect.EnumDescriptor {
+ return file_tetragon_sensors_proto_enumTypes[1].Descriptor()
+}
+
+func (TracingPolicyMode) Type() protoreflect.EnumType {
+ return &file_tetragon_sensors_proto_enumTypes[1]
+}
+
+func (x TracingPolicyMode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use TracingPolicyMode.Descriptor instead.
+func (TracingPolicyMode) EnumDescriptor() ([]byte, []int) {
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{1}
+}
+
// For now, we only want to support debug-related config flags to be configurable.
type ConfigFlag int32
@@ -123,11 +172,11 @@ func (x ConfigFlag) String() string {
}
func (ConfigFlag) Descriptor() protoreflect.EnumDescriptor {
- return file_tetragon_sensors_proto_enumTypes[1].Descriptor()
+ return file_tetragon_sensors_proto_enumTypes[2].Descriptor()
}
func (ConfigFlag) Type() protoreflect.EnumType {
- return &file_tetragon_sensors_proto_enumTypes[1]
+ return &file_tetragon_sensors_proto_enumTypes[2]
}
func (x ConfigFlag) Number() protoreflect.EnumNumber {
@@ -136,7 +185,7 @@ func (x ConfigFlag) Number() protoreflect.EnumNumber {
// Deprecated: Use ConfigFlag.Descriptor instead.
func (ConfigFlag) EnumDescriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{1}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{2}
}
type LogLevel int32
@@ -184,11 +233,11 @@ func (x LogLevel) String() string {
}
func (LogLevel) Descriptor() protoreflect.EnumDescriptor {
- return file_tetragon_sensors_proto_enumTypes[2].Descriptor()
+ return file_tetragon_sensors_proto_enumTypes[3].Descriptor()
}
func (LogLevel) Type() protoreflect.EnumType {
- return &file_tetragon_sensors_proto_enumTypes[2]
+ return &file_tetragon_sensors_proto_enumTypes[3]
}
func (x LogLevel) Number() protoreflect.EnumNumber {
@@ -197,7 +246,7 @@ func (x LogLevel) Number() protoreflect.EnumNumber {
// Deprecated: Use LogLevel.Descriptor instead.
func (LogLevel) EnumDescriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{2}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{3}
}
type ListSensorsRequest struct {
@@ -403,8 +452,10 @@ type TracingPolicyStatus struct {
State TracingPolicyState `protobuf:"varint,9,opt,name=state,proto3,enum=tetragon.TracingPolicyState" json:"state,omitempty"`
// the amount of kernel memory in bytes used by policy's sensors non-shared BPF maps (memlock)
KernelMemoryBytes uint64 `protobuf:"varint,10,opt,name=kernel_memory_bytes,json=kernelMemoryBytes,proto3" json:"kernel_memory_bytes,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
+ // current mode of the tracing policy
+ Mode TracingPolicyMode `protobuf:"varint,11,opt,name=mode,proto3,enum=tetragon.TracingPolicyMode" json:"mode,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
}
func (x *TracingPolicyStatus) Reset() {
@@ -508,6 +559,13 @@ func (x *TracingPolicyStatus) GetKernelMemoryBytes() uint64 {
return 0
}
+func (x *TracingPolicyStatus) GetMode() TracingPolicyMode {
+ if x != nil {
+ return x.Mode
+ }
+ return TracingPolicyMode_TP_MODE_UNKNOWN
+}
+
type ListTracingPoliciesResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Policies []*TracingPolicyStatus `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"`
@@ -896,6 +954,110 @@ func (*DisableTracingPolicyResponse) Descriptor() ([]byte, []int) {
return file_tetragon_sensors_proto_rawDescGZIP(), []int{13}
}
+type ConfigureTracingPolicyRequest struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
+ Enable *bool `protobuf:"varint,3,opt,name=enable,proto3,oneof" json:"enable,omitempty"`
+ Mode *TracingPolicyMode `protobuf:"varint,4,opt,name=mode,proto3,enum=tetragon.TracingPolicyMode,oneof" json:"mode,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ConfigureTracingPolicyRequest) Reset() {
+ *x = ConfigureTracingPolicyRequest{}
+ mi := &file_tetragon_sensors_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ConfigureTracingPolicyRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConfigureTracingPolicyRequest) ProtoMessage() {}
+
+func (x *ConfigureTracingPolicyRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_tetragon_sensors_proto_msgTypes[14]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConfigureTracingPolicyRequest.ProtoReflect.Descriptor instead.
+func (*ConfigureTracingPolicyRequest) Descriptor() ([]byte, []int) {
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{14}
+}
+
+func (x *ConfigureTracingPolicyRequest) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *ConfigureTracingPolicyRequest) GetNamespace() string {
+ if x != nil {
+ return x.Namespace
+ }
+ return ""
+}
+
+func (x *ConfigureTracingPolicyRequest) GetEnable() bool {
+ if x != nil && x.Enable != nil {
+ return *x.Enable
+ }
+ return false
+}
+
+func (x *ConfigureTracingPolicyRequest) GetMode() TracingPolicyMode {
+ if x != nil && x.Mode != nil {
+ return *x.Mode
+ }
+ return TracingPolicyMode_TP_MODE_UNKNOWN
+}
+
+type ConfigureTracingPolicyResponse struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ConfigureTracingPolicyResponse) Reset() {
+ *x = ConfigureTracingPolicyResponse{}
+ mi := &file_tetragon_sensors_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ConfigureTracingPolicyResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConfigureTracingPolicyResponse) ProtoMessage() {}
+
+func (x *ConfigureTracingPolicyResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_tetragon_sensors_proto_msgTypes[15]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConfigureTracingPolicyResponse.ProtoReflect.Descriptor instead.
+func (*ConfigureTracingPolicyResponse) Descriptor() ([]byte, []int) {
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{15}
+}
+
type RemoveSensorRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
@@ -905,7 +1067,7 @@ type RemoveSensorRequest struct {
func (x *RemoveSensorRequest) Reset() {
*x = RemoveSensorRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[14]
+ mi := &file_tetragon_sensors_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -917,7 +1079,7 @@ func (x *RemoveSensorRequest) String() string {
func (*RemoveSensorRequest) ProtoMessage() {}
func (x *RemoveSensorRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[14]
+ mi := &file_tetragon_sensors_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -930,7 +1092,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{14}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{16}
}
func (x *RemoveSensorRequest) GetName() string {
@@ -948,7 +1110,7 @@ type RemoveSensorResponse struct {
func (x *RemoveSensorResponse) Reset() {
*x = RemoveSensorResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[15]
+ mi := &file_tetragon_sensors_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -960,7 +1122,7 @@ func (x *RemoveSensorResponse) String() string {
func (*RemoveSensorResponse) ProtoMessage() {}
func (x *RemoveSensorResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[15]
+ mi := &file_tetragon_sensors_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -973,7 +1135,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{15}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{17}
}
type EnableSensorRequest struct {
@@ -985,7 +1147,7 @@ type EnableSensorRequest struct {
func (x *EnableSensorRequest) Reset() {
*x = EnableSensorRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[16]
+ mi := &file_tetragon_sensors_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -997,7 +1159,7 @@ func (x *EnableSensorRequest) String() string {
func (*EnableSensorRequest) ProtoMessage() {}
func (x *EnableSensorRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[16]
+ mi := &file_tetragon_sensors_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1010,7 +1172,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{16}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{18}
}
func (x *EnableSensorRequest) GetName() string {
@@ -1028,7 +1190,7 @@ type EnableSensorResponse struct {
func (x *EnableSensorResponse) Reset() {
*x = EnableSensorResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[17]
+ mi := &file_tetragon_sensors_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1040,7 +1202,7 @@ func (x *EnableSensorResponse) String() string {
func (*EnableSensorResponse) ProtoMessage() {}
func (x *EnableSensorResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[17]
+ mi := &file_tetragon_sensors_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1053,7 +1215,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{17}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{19}
}
type DisableSensorRequest struct {
@@ -1065,7 +1227,7 @@ type DisableSensorRequest struct {
func (x *DisableSensorRequest) Reset() {
*x = DisableSensorRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[18]
+ mi := &file_tetragon_sensors_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1077,7 +1239,7 @@ func (x *DisableSensorRequest) String() string {
func (*DisableSensorRequest) ProtoMessage() {}
func (x *DisableSensorRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[18]
+ mi := &file_tetragon_sensors_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1090,7 +1252,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{18}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{20}
}
func (x *DisableSensorRequest) GetName() string {
@@ -1108,7 +1270,7 @@ type DisableSensorResponse struct {
func (x *DisableSensorResponse) Reset() {
*x = DisableSensorResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[19]
+ mi := &file_tetragon_sensors_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1120,7 +1282,7 @@ func (x *DisableSensorResponse) String() string {
func (*DisableSensorResponse) ProtoMessage() {}
func (x *DisableSensorResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[19]
+ mi := &file_tetragon_sensors_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1133,7 +1295,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{19}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{21}
}
type GetStackTraceTreeRequest struct {
@@ -1145,7 +1307,7 @@ type GetStackTraceTreeRequest struct {
func (x *GetStackTraceTreeRequest) Reset() {
*x = GetStackTraceTreeRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[20]
+ mi := &file_tetragon_sensors_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1157,7 +1319,7 @@ func (x *GetStackTraceTreeRequest) String() string {
func (*GetStackTraceTreeRequest) ProtoMessage() {}
func (x *GetStackTraceTreeRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[20]
+ mi := &file_tetragon_sensors_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1170,7 +1332,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{20}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{22}
}
func (x *GetStackTraceTreeRequest) GetName() string {
@@ -1189,7 +1351,7 @@ type GetStackTraceTreeResponse struct {
func (x *GetStackTraceTreeResponse) Reset() {
*x = GetStackTraceTreeResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[21]
+ mi := &file_tetragon_sensors_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1201,7 +1363,7 @@ func (x *GetStackTraceTreeResponse) String() string {
func (*GetStackTraceTreeResponse) ProtoMessage() {}
func (x *GetStackTraceTreeResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[21]
+ mi := &file_tetragon_sensors_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1214,7 +1376,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{21}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{23}
}
func (x *GetStackTraceTreeResponse) GetRoot() *StackTraceNode {
@@ -1232,7 +1394,7 @@ type GetVersionRequest struct {
func (x *GetVersionRequest) Reset() {
*x = GetVersionRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[22]
+ mi := &file_tetragon_sensors_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1244,7 +1406,7 @@ func (x *GetVersionRequest) String() string {
func (*GetVersionRequest) ProtoMessage() {}
func (x *GetVersionRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[22]
+ mi := &file_tetragon_sensors_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1257,7 +1419,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{22}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{24}
}
type GetVersionResponse struct {
@@ -1269,7 +1431,7 @@ type GetVersionResponse struct {
func (x *GetVersionResponse) Reset() {
*x = GetVersionResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[23]
+ mi := &file_tetragon_sensors_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1281,7 +1443,7 @@ func (x *GetVersionResponse) String() string {
func (*GetVersionResponse) ProtoMessage() {}
func (x *GetVersionResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[23]
+ mi := &file_tetragon_sensors_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1294,7 +1456,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{23}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{25}
}
func (x *GetVersionResponse) GetVersion() string {
@@ -1314,7 +1476,7 @@ type DumpProcessCacheReqArgs struct {
func (x *DumpProcessCacheReqArgs) Reset() {
*x = DumpProcessCacheReqArgs{}
- mi := &file_tetragon_sensors_proto_msgTypes[24]
+ mi := &file_tetragon_sensors_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1326,7 +1488,7 @@ func (x *DumpProcessCacheReqArgs) String() string {
func (*DumpProcessCacheReqArgs) ProtoMessage() {}
func (x *DumpProcessCacheReqArgs) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[24]
+ mi := &file_tetragon_sensors_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1339,7 +1501,7 @@ func (x *DumpProcessCacheReqArgs) ProtoReflect() protoreflect.Message {
// Deprecated: Use DumpProcessCacheReqArgs.ProtoReflect.Descriptor instead.
func (*DumpProcessCacheReqArgs) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{24}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{26}
}
func (x *DumpProcessCacheReqArgs) GetSkipZeroRefcnt() bool {
@@ -1376,7 +1538,7 @@ type ProcessInternal struct {
func (x *ProcessInternal) Reset() {
*x = ProcessInternal{}
- mi := &file_tetragon_sensors_proto_msgTypes[25]
+ mi := &file_tetragon_sensors_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1388,7 +1550,7 @@ func (x *ProcessInternal) String() string {
func (*ProcessInternal) ProtoMessage() {}
func (x *ProcessInternal) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[25]
+ mi := &file_tetragon_sensors_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1401,7 +1563,7 @@ func (x *ProcessInternal) ProtoReflect() protoreflect.Message {
// Deprecated: Use ProcessInternal.ProtoReflect.Descriptor instead.
func (*ProcessInternal) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{25}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{27}
}
func (x *ProcessInternal) GetProcess() *Process {
@@ -1441,7 +1603,7 @@ type DumpProcessCacheResArgs struct {
func (x *DumpProcessCacheResArgs) Reset() {
*x = DumpProcessCacheResArgs{}
- mi := &file_tetragon_sensors_proto_msgTypes[26]
+ mi := &file_tetragon_sensors_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1453,7 +1615,7 @@ func (x *DumpProcessCacheResArgs) String() string {
func (*DumpProcessCacheResArgs) ProtoMessage() {}
func (x *DumpProcessCacheResArgs) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[26]
+ mi := &file_tetragon_sensors_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1466,7 +1628,7 @@ func (x *DumpProcessCacheResArgs) ProtoReflect() protoreflect.Message {
// Deprecated: Use DumpProcessCacheResArgs.ProtoReflect.Descriptor instead.
func (*DumpProcessCacheResArgs) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{26}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{28}
}
func (x *DumpProcessCacheResArgs) GetProcesses() []*ProcessInternal {
@@ -1489,7 +1651,7 @@ type GetDebugRequest struct {
func (x *GetDebugRequest) Reset() {
*x = GetDebugRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[27]
+ mi := &file_tetragon_sensors_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1501,7 +1663,7 @@ func (x *GetDebugRequest) String() string {
func (*GetDebugRequest) ProtoMessage() {}
func (x *GetDebugRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[27]
+ mi := &file_tetragon_sensors_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1514,7 +1676,7 @@ func (x *GetDebugRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetDebugRequest.ProtoReflect.Descriptor instead.
func (*GetDebugRequest) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{27}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{29}
}
func (x *GetDebugRequest) GetFlag() ConfigFlag {
@@ -1564,7 +1726,7 @@ type GetDebugResponse struct {
func (x *GetDebugResponse) Reset() {
*x = GetDebugResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[28]
+ mi := &file_tetragon_sensors_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1576,7 +1738,7 @@ func (x *GetDebugResponse) String() string {
func (*GetDebugResponse) ProtoMessage() {}
func (x *GetDebugResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[28]
+ mi := &file_tetragon_sensors_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1589,7 +1751,7 @@ func (x *GetDebugResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetDebugResponse.ProtoReflect.Descriptor instead.
func (*GetDebugResponse) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{28}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{30}
}
func (x *GetDebugResponse) GetFlag() ConfigFlag {
@@ -1653,7 +1815,7 @@ type SetDebugRequest struct {
func (x *SetDebugRequest) Reset() {
*x = SetDebugRequest{}
- mi := &file_tetragon_sensors_proto_msgTypes[29]
+ mi := &file_tetragon_sensors_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1665,7 +1827,7 @@ func (x *SetDebugRequest) String() string {
func (*SetDebugRequest) ProtoMessage() {}
func (x *SetDebugRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[29]
+ mi := &file_tetragon_sensors_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1678,7 +1840,7 @@ func (x *SetDebugRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetDebugRequest.ProtoReflect.Descriptor instead.
func (*SetDebugRequest) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{29}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{31}
}
func (x *SetDebugRequest) GetFlag() ConfigFlag {
@@ -1727,7 +1889,7 @@ type SetDebugResponse struct {
func (x *SetDebugResponse) Reset() {
*x = SetDebugResponse{}
- mi := &file_tetragon_sensors_proto_msgTypes[30]
+ mi := &file_tetragon_sensors_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1739,7 +1901,7 @@ func (x *SetDebugResponse) String() string {
func (*SetDebugResponse) ProtoMessage() {}
func (x *SetDebugResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tetragon_sensors_proto_msgTypes[30]
+ mi := &file_tetragon_sensors_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1752,7 +1914,7 @@ func (x *SetDebugResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetDebugResponse.ProtoReflect.Descriptor instead.
func (*SetDebugResponse) Descriptor() ([]byte, []int) {
- return file_tetragon_sensors_proto_rawDescGZIP(), []int{30}
+ return file_tetragon_sensors_proto_rawDescGZIP(), []int{32}
}
func (x *SetDebugResponse) GetFlag() ConfigFlag {
@@ -1813,7 +1975,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, 0xba, 0x02, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50,
+ 0x65, 0x73, 0x74, 0x22, 0xeb, 0x02, 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,
@@ -1833,244 +1995,273 @@ var file_tetragon_sensors_proto_rawDesc = []byte{
0x12, 0x2e, 0x0a, 0x13, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6b,
0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x74, 0x65, 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,
+ 0x12, 0x2f, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b,
+ 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e,
+ 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64,
+ 0x65, 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,
- 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,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d,
+ 0x65, 0x73, 0x70, 0x61, 0x63, 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, 0x4e, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65,
- 0x73, 0x70, 0x61, 0x63, 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, 0x4e, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
- 0x70, 0x61, 0x63, 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, 0x4f, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54,
+ 0x73, 0x70, 0x61, 0x63, 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, 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, 0x22,
- 0x84, 0x01, 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43,
- 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73,
- 0x6b, 0x69, 0x70, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x52,
- 0x65, 0x66, 0x63, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65,
- 0x5f, 0x65, 0x78, 0x65, 0x63, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x63,
- 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x65, 0x78, 0x63,
- 0x6c, 0x75, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x76, 0x65, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x6f,
- 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x91, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x63, 0x65,
- 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x72,
- 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65,
- 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07,
- 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x34, 0x0a,
- 0x06, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x66,
- 0x63, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x5f, 0x6f, 0x70,
- 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
- 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
- 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x52, 0x09, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e,
- 0x52, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
- 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
- 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x17, 0x44, 0x75,
- 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65,
- 0x73, 0x41, 0x72, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61,
- 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72,
- 0x6e, 0x61, 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x7b,
- 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65,
+ 0x73, 0x70, 0x61, 0x63, 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, 0xb8, 0x01, 0x0a, 0x1d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x75, 0x72, 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, 0x12, 0x1c, 0x0a, 0x09, 0x6e,
+ 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
+ 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x6f, 0x64,
+ 0x65, 0x48, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
+ 0x22, 0x20, 0x0a, 0x1e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 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, 0x22, 0x84, 0x01,
+ 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63,
+ 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6b, 0x69,
+ 0x70, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x66,
+ 0x63, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x65,
+ 0x78, 0x65, 0x63, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x65, 0x78, 0x63, 0x6c, 0x75,
+ 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x76, 0x65, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x65, 0x73, 0x22, 0x91, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65, 0x74, 0x72,
+ 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07, 0x70, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x06, 0x72,
+ 0x65, 0x66, 0x63, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x66, 0x63, 0x6e,
+ 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x73, 0x18,
+ 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
+ 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
+ 0x2e, 0x52, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x09, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x52, 0x65,
+ 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70,
+ 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x41,
+ 0x72, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f,
+ 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
+ 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x7b, 0x0a, 0x0f,
+ 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e,
+ 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46,
+ 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x75, 0x6d,
+ 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61,
+ 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x04, 0x64, 0x75,
+ 0x6d, 0x70, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0xb2, 0x01, 0x0a, 0x10, 0x47, 0x65,
+ 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28,
+ 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c,
+ 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65,
+ 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61,
+ 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6e,
+ 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x64,
- 0x75, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x04,
- 0x64, 0x75, 0x6d, 0x70, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0xb2, 0x01, 0x0a, 0x10,
- 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14,
- 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65,
- 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52,
- 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
- 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x09,
- 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67,
- 0x22, 0x6e, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a,
- 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74,
- 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c,
- 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67,
- 0x22, 0x6f, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a,
- 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e,
- 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65,
- 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72,
- 0x67, 0x2a, 0xb2, 0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
- 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53,
- 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14,
- 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c,
- 0x45, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
- 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54,
- 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52,
- 0x4f, 0x52, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
- 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53,
- 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16,
- 0x0a, 0x12, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x41,
- 0x44, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x2a, 0x4b, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x46, 0x6c, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46,
- 0x4c, 0x41, 0x47, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x00, 0x12,
- 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44,
- 0x55, 0x4d, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x41, 0x43, 0x48,
- 0x45, 0x10, 0x01, 0x2a, 0x9b, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c,
- 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x50, 0x41,
- 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56,
- 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f,
- 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12,
- 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x41, 0x52,
- 0x4e, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c,
- 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c,
- 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f,
- 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10,
- 0x06, 0x32, 0xfe, 0x0a, 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, 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,
+ 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74,
+ 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00,
+ 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6f,
+ 0x0a, 0x10, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05,
+ 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65,
+ 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48,
+ 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x2a,
+ 0xb2, 0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
+ 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44,
+ 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44,
+ 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x50, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
+ 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45,
+ 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12,
+ 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49,
+ 0x4e, 0x47, 0x10, 0x06, 0x2a, 0x52, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x50, 0x5f,
+ 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13,
+ 0x0a, 0x0f, 0x54, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43,
+ 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d,
+ 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x10, 0x02, 0x2a, 0x4b, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47,
+ 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10,
+ 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47,
+ 0x5f, 0x44, 0x55, 0x4d, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x41,
+ 0x43, 0x48, 0x45, 0x10, 0x01, 0x2a, 0x9b, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f,
+ 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c,
+ 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f,
+ 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
+ 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57,
+ 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56,
+ 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47,
+ 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x13,
+ 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x43,
+ 0x45, 0x10, 0x06, 0x32, 0xf3, 0x0b, 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, 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,
+ 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, 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, 0x6d, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x54,
+ 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x27, 0x2e, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
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,
- 0x4f, 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, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73,
- 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01,
- 0x12, 0x52, 0x0a, 0x0c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72,
- 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62,
- 0x6c, 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, 0x45, 0x6e, 0x61, 0x62, 0x6c,
- 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x03, 0x88, 0x02, 0x01, 0x12, 0x55, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53,
- 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
- 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
- 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 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, 0x03, 0x88, 0x02, 0x01, 0x12,
- 0x5e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65,
- 0x54, 0x72, 0x65, 0x65, 0x12, 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
- 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65,
- 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61,
- 0x67, 0x6f, 0x6e, 0x2e, 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, 0x22, 0x00, 0x12,
- 0x49, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x2e,
- 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73,
- 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x74,
- 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x52, 0x75,
- 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
- 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x44,
- 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
- 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65,
- 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a,
- 0x08, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72,
- 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
- 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
- 0x2f, 0x63, 0x69, 0x6c, 0x69, 0x75, 0x6d, 0x2f, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
- 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e,
+ 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 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, 0x67, 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, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6a, 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, 0x03, 0x88, 0x02, 0x01, 0x12, 0x4f, 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, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c,
+ 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
+ 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 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, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x55, 0x0a, 0x0d, 0x44,
+ 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1e, 0x2e, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88,
+ 0x02, 0x01, 0x12, 0x52, 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, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61,
+ 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x12, 0x22, 0x2e, 0x74, 0x65,
+ 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54,
+ 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x23, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 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, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e,
+ 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74,
+ 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b,
+ 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74,
+ 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
+ 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d,
+ 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65,
+ 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f,
+ 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67,
+ 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44,
+ 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65,
+ 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74,
+ 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x69, 0x6c, 0x69, 0x75, 0x6d, 0x2f, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74,
+ 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -2085,109 +2276,116 @@ func file_tetragon_sensors_proto_rawDescGZIP() []byte {
return file_tetragon_sensors_proto_rawDescData
}
-var file_tetragon_sensors_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
-var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
+var file_tetragon_sensors_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
+var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
var file_tetragon_sensors_proto_goTypes = []any{
- (TracingPolicyState)(0), // 0: tetragon.TracingPolicyState
- (ConfigFlag)(0), // 1: tetragon.ConfigFlag
- (LogLevel)(0), // 2: tetragon.LogLevel
- (*ListSensorsRequest)(nil), // 3: tetragon.ListSensorsRequest
- (*SensorStatus)(nil), // 4: tetragon.SensorStatus
- (*ListSensorsResponse)(nil), // 5: tetragon.ListSensorsResponse
- (*ListTracingPoliciesRequest)(nil), // 6: tetragon.ListTracingPoliciesRequest
- (*TracingPolicyStatus)(nil), // 7: tetragon.TracingPolicyStatus
- (*ListTracingPoliciesResponse)(nil), // 8: tetragon.ListTracingPoliciesResponse
- (*AddTracingPolicyRequest)(nil), // 9: tetragon.AddTracingPolicyRequest
- (*AddTracingPolicyResponse)(nil), // 10: tetragon.AddTracingPolicyResponse
- (*DeleteTracingPolicyRequest)(nil), // 11: tetragon.DeleteTracingPolicyRequest
- (*DeleteTracingPolicyResponse)(nil), // 12: tetragon.DeleteTracingPolicyResponse
- (*EnableTracingPolicyRequest)(nil), // 13: tetragon.EnableTracingPolicyRequest
- (*EnableTracingPolicyResponse)(nil), // 14: tetragon.EnableTracingPolicyResponse
- (*DisableTracingPolicyRequest)(nil), // 15: tetragon.DisableTracingPolicyRequest
- (*DisableTracingPolicyResponse)(nil), // 16: tetragon.DisableTracingPolicyResponse
- (*RemoveSensorRequest)(nil), // 17: tetragon.RemoveSensorRequest
- (*RemoveSensorResponse)(nil), // 18: tetragon.RemoveSensorResponse
- (*EnableSensorRequest)(nil), // 19: tetragon.EnableSensorRequest
- (*EnableSensorResponse)(nil), // 20: tetragon.EnableSensorResponse
- (*DisableSensorRequest)(nil), // 21: tetragon.DisableSensorRequest
- (*DisableSensorResponse)(nil), // 22: tetragon.DisableSensorResponse
- (*GetStackTraceTreeRequest)(nil), // 23: tetragon.GetStackTraceTreeRequest
- (*GetStackTraceTreeResponse)(nil), // 24: tetragon.GetStackTraceTreeResponse
- (*GetVersionRequest)(nil), // 25: tetragon.GetVersionRequest
- (*GetVersionResponse)(nil), // 26: tetragon.GetVersionResponse
- (*DumpProcessCacheReqArgs)(nil), // 27: tetragon.DumpProcessCacheReqArgs
- (*ProcessInternal)(nil), // 28: tetragon.ProcessInternal
- (*DumpProcessCacheResArgs)(nil), // 29: tetragon.DumpProcessCacheResArgs
- (*GetDebugRequest)(nil), // 30: tetragon.GetDebugRequest
- (*GetDebugResponse)(nil), // 31: tetragon.GetDebugResponse
- (*SetDebugRequest)(nil), // 32: tetragon.SetDebugRequest
- (*SetDebugResponse)(nil), // 33: tetragon.SetDebugResponse
- nil, // 34: tetragon.ProcessInternal.RefcntOpsEntry
- (*StackTraceNode)(nil), // 35: tetragon.StackTraceNode
- (*Process)(nil), // 36: tetragon.Process
- (*wrapperspb.UInt32Value)(nil), // 37: google.protobuf.UInt32Value
- (*GetEventsRequest)(nil), // 38: tetragon.GetEventsRequest
- (*GetHealthStatusRequest)(nil), // 39: tetragon.GetHealthStatusRequest
- (*RuntimeHookRequest)(nil), // 40: tetragon.RuntimeHookRequest
- (*GetEventsResponse)(nil), // 41: tetragon.GetEventsResponse
- (*GetHealthStatusResponse)(nil), // 42: tetragon.GetHealthStatusResponse
- (*RuntimeHookResponse)(nil), // 43: tetragon.RuntimeHookResponse
+ (TracingPolicyState)(0), // 0: tetragon.TracingPolicyState
+ (TracingPolicyMode)(0), // 1: tetragon.TracingPolicyMode
+ (ConfigFlag)(0), // 2: tetragon.ConfigFlag
+ (LogLevel)(0), // 3: tetragon.LogLevel
+ (*ListSensorsRequest)(nil), // 4: tetragon.ListSensorsRequest
+ (*SensorStatus)(nil), // 5: tetragon.SensorStatus
+ (*ListSensorsResponse)(nil), // 6: tetragon.ListSensorsResponse
+ (*ListTracingPoliciesRequest)(nil), // 7: tetragon.ListTracingPoliciesRequest
+ (*TracingPolicyStatus)(nil), // 8: tetragon.TracingPolicyStatus
+ (*ListTracingPoliciesResponse)(nil), // 9: tetragon.ListTracingPoliciesResponse
+ (*AddTracingPolicyRequest)(nil), // 10: tetragon.AddTracingPolicyRequest
+ (*AddTracingPolicyResponse)(nil), // 11: tetragon.AddTracingPolicyResponse
+ (*DeleteTracingPolicyRequest)(nil), // 12: tetragon.DeleteTracingPolicyRequest
+ (*DeleteTracingPolicyResponse)(nil), // 13: tetragon.DeleteTracingPolicyResponse
+ (*EnableTracingPolicyRequest)(nil), // 14: tetragon.EnableTracingPolicyRequest
+ (*EnableTracingPolicyResponse)(nil), // 15: tetragon.EnableTracingPolicyResponse
+ (*DisableTracingPolicyRequest)(nil), // 16: tetragon.DisableTracingPolicyRequest
+ (*DisableTracingPolicyResponse)(nil), // 17: tetragon.DisableTracingPolicyResponse
+ (*ConfigureTracingPolicyRequest)(nil), // 18: tetragon.ConfigureTracingPolicyRequest
+ (*ConfigureTracingPolicyResponse)(nil), // 19: tetragon.ConfigureTracingPolicyResponse
+ (*RemoveSensorRequest)(nil), // 20: tetragon.RemoveSensorRequest
+ (*RemoveSensorResponse)(nil), // 21: tetragon.RemoveSensorResponse
+ (*EnableSensorRequest)(nil), // 22: tetragon.EnableSensorRequest
+ (*EnableSensorResponse)(nil), // 23: tetragon.EnableSensorResponse
+ (*DisableSensorRequest)(nil), // 24: tetragon.DisableSensorRequest
+ (*DisableSensorResponse)(nil), // 25: tetragon.DisableSensorResponse
+ (*GetStackTraceTreeRequest)(nil), // 26: tetragon.GetStackTraceTreeRequest
+ (*GetStackTraceTreeResponse)(nil), // 27: tetragon.GetStackTraceTreeResponse
+ (*GetVersionRequest)(nil), // 28: tetragon.GetVersionRequest
+ (*GetVersionResponse)(nil), // 29: tetragon.GetVersionResponse
+ (*DumpProcessCacheReqArgs)(nil), // 30: tetragon.DumpProcessCacheReqArgs
+ (*ProcessInternal)(nil), // 31: tetragon.ProcessInternal
+ (*DumpProcessCacheResArgs)(nil), // 32: tetragon.DumpProcessCacheResArgs
+ (*GetDebugRequest)(nil), // 33: tetragon.GetDebugRequest
+ (*GetDebugResponse)(nil), // 34: tetragon.GetDebugResponse
+ (*SetDebugRequest)(nil), // 35: tetragon.SetDebugRequest
+ (*SetDebugResponse)(nil), // 36: tetragon.SetDebugResponse
+ nil, // 37: tetragon.ProcessInternal.RefcntOpsEntry
+ (*StackTraceNode)(nil), // 38: tetragon.StackTraceNode
+ (*Process)(nil), // 39: tetragon.Process
+ (*wrapperspb.UInt32Value)(nil), // 40: google.protobuf.UInt32Value
+ (*GetEventsRequest)(nil), // 41: tetragon.GetEventsRequest
+ (*GetHealthStatusRequest)(nil), // 42: tetragon.GetHealthStatusRequest
+ (*RuntimeHookRequest)(nil), // 43: tetragon.RuntimeHookRequest
+ (*GetEventsResponse)(nil), // 44: tetragon.GetEventsResponse
+ (*GetHealthStatusResponse)(nil), // 45: tetragon.GetHealthStatusResponse
+ (*RuntimeHookResponse)(nil), // 46: tetragon.RuntimeHookResponse
}
var file_tetragon_sensors_proto_depIdxs = []int32{
- 4, // 0: tetragon.ListSensorsResponse.sensors:type_name -> tetragon.SensorStatus
+ 5, // 0: tetragon.ListSensorsResponse.sensors:type_name -> tetragon.SensorStatus
0, // 1: tetragon.TracingPolicyStatus.state:type_name -> tetragon.TracingPolicyState
- 7, // 2: tetragon.ListTracingPoliciesResponse.policies:type_name -> tetragon.TracingPolicyStatus
- 35, // 3: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode
- 36, // 4: tetragon.ProcessInternal.process:type_name -> tetragon.Process
- 37, // 5: tetragon.ProcessInternal.refcnt:type_name -> google.protobuf.UInt32Value
- 34, // 6: tetragon.ProcessInternal.refcnt_ops:type_name -> tetragon.ProcessInternal.RefcntOpsEntry
- 28, // 7: tetragon.DumpProcessCacheResArgs.processes:type_name -> tetragon.ProcessInternal
- 1, // 8: tetragon.GetDebugRequest.flag:type_name -> tetragon.ConfigFlag
- 27, // 9: tetragon.GetDebugRequest.dump:type_name -> tetragon.DumpProcessCacheReqArgs
- 1, // 10: tetragon.GetDebugResponse.flag:type_name -> tetragon.ConfigFlag
- 2, // 11: tetragon.GetDebugResponse.level:type_name -> tetragon.LogLevel
- 29, // 12: tetragon.GetDebugResponse.processes:type_name -> tetragon.DumpProcessCacheResArgs
- 1, // 13: tetragon.SetDebugRequest.flag:type_name -> tetragon.ConfigFlag
- 2, // 14: tetragon.SetDebugRequest.level:type_name -> tetragon.LogLevel
- 1, // 15: tetragon.SetDebugResponse.flag:type_name -> tetragon.ConfigFlag
- 2, // 16: tetragon.SetDebugResponse.level:type_name -> tetragon.LogLevel
- 38, // 17: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest
- 39, // 18: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest
- 9, // 19: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest
- 11, // 20: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest
- 6, // 21: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest
- 13, // 22: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest
- 15, // 23: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest
- 3, // 24: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest
- 19, // 25: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest
- 21, // 26: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest
- 17, // 27: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest
- 23, // 28: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest
- 25, // 29: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest
- 40, // 30: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest
- 30, // 31: tetragon.FineGuidanceSensors.GetDebug:input_type -> tetragon.GetDebugRequest
- 32, // 32: tetragon.FineGuidanceSensors.SetDebug:input_type -> tetragon.SetDebugRequest
- 41, // 33: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse
- 42, // 34: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse
- 10, // 35: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse
- 12, // 36: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse
- 8, // 37: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse
- 14, // 38: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse
- 16, // 39: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse
- 5, // 40: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse
- 20, // 41: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse
- 22, // 42: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse
- 18, // 43: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse
- 24, // 44: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse
- 26, // 45: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse
- 43, // 46: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse
- 31, // 47: tetragon.FineGuidanceSensors.GetDebug:output_type -> tetragon.GetDebugResponse
- 33, // 48: tetragon.FineGuidanceSensors.SetDebug:output_type -> tetragon.SetDebugResponse
- 33, // [33:49] is the sub-list for method output_type
- 17, // [17:33] is the sub-list for method input_type
- 17, // [17:17] is the sub-list for extension type_name
- 17, // [17:17] is the sub-list for extension extendee
- 0, // [0:17] is the sub-list for field type_name
+ 1, // 2: tetragon.TracingPolicyStatus.mode:type_name -> tetragon.TracingPolicyMode
+ 8, // 3: tetragon.ListTracingPoliciesResponse.policies:type_name -> tetragon.TracingPolicyStatus
+ 1, // 4: tetragon.ConfigureTracingPolicyRequest.mode:type_name -> tetragon.TracingPolicyMode
+ 38, // 5: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode
+ 39, // 6: tetragon.ProcessInternal.process:type_name -> tetragon.Process
+ 40, // 7: tetragon.ProcessInternal.refcnt:type_name -> google.protobuf.UInt32Value
+ 37, // 8: tetragon.ProcessInternal.refcnt_ops:type_name -> tetragon.ProcessInternal.RefcntOpsEntry
+ 31, // 9: tetragon.DumpProcessCacheResArgs.processes:type_name -> tetragon.ProcessInternal
+ 2, // 10: tetragon.GetDebugRequest.flag:type_name -> tetragon.ConfigFlag
+ 30, // 11: tetragon.GetDebugRequest.dump:type_name -> tetragon.DumpProcessCacheReqArgs
+ 2, // 12: tetragon.GetDebugResponse.flag:type_name -> tetragon.ConfigFlag
+ 3, // 13: tetragon.GetDebugResponse.level:type_name -> tetragon.LogLevel
+ 32, // 14: tetragon.GetDebugResponse.processes:type_name -> tetragon.DumpProcessCacheResArgs
+ 2, // 15: tetragon.SetDebugRequest.flag:type_name -> tetragon.ConfigFlag
+ 3, // 16: tetragon.SetDebugRequest.level:type_name -> tetragon.LogLevel
+ 2, // 17: tetragon.SetDebugResponse.flag:type_name -> tetragon.ConfigFlag
+ 3, // 18: tetragon.SetDebugResponse.level:type_name -> tetragon.LogLevel
+ 41, // 19: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest
+ 42, // 20: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest
+ 10, // 21: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest
+ 12, // 22: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest
+ 7, // 23: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest
+ 18, // 24: tetragon.FineGuidanceSensors.ConfigureTracingPolicy:input_type -> tetragon.ConfigureTracingPolicyRequest
+ 14, // 25: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest
+ 16, // 26: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest
+ 4, // 27: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest
+ 22, // 28: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest
+ 24, // 29: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest
+ 20, // 30: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest
+ 26, // 31: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest
+ 28, // 32: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest
+ 43, // 33: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest
+ 33, // 34: tetragon.FineGuidanceSensors.GetDebug:input_type -> tetragon.GetDebugRequest
+ 35, // 35: tetragon.FineGuidanceSensors.SetDebug:input_type -> tetragon.SetDebugRequest
+ 44, // 36: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse
+ 45, // 37: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse
+ 11, // 38: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse
+ 13, // 39: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse
+ 9, // 40: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse
+ 19, // 41: tetragon.FineGuidanceSensors.ConfigureTracingPolicy:output_type -> tetragon.ConfigureTracingPolicyResponse
+ 15, // 42: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse
+ 17, // 43: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse
+ 6, // 44: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse
+ 23, // 45: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse
+ 25, // 46: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse
+ 21, // 47: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse
+ 27, // 48: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse
+ 29, // 49: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse
+ 46, // 50: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse
+ 34, // 51: tetragon.FineGuidanceSensors.GetDebug:output_type -> tetragon.GetDebugResponse
+ 36, // 52: tetragon.FineGuidanceSensors.SetDebug:output_type -> tetragon.SetDebugResponse
+ 36, // [36:53] is the sub-list for method output_type
+ 19, // [19:36] is the sub-list for method input_type
+ 19, // [19:19] is the sub-list for extension type_name
+ 19, // [19:19] is the sub-list for extension extendee
+ 0, // [0:19] is the sub-list for field type_name
}
func init() { file_tetragon_sensors_proto_init() }
@@ -2198,17 +2396,18 @@ func file_tetragon_sensors_proto_init() {
file_tetragon_events_proto_init()
file_tetragon_stack_proto_init()
file_tetragon_tetragon_proto_init()
- file_tetragon_sensors_proto_msgTypes[27].OneofWrappers = []any{
+ file_tetragon_sensors_proto_msgTypes[14].OneofWrappers = []any{}
+ file_tetragon_sensors_proto_msgTypes[29].OneofWrappers = []any{
(*GetDebugRequest_Dump)(nil),
}
- file_tetragon_sensors_proto_msgTypes[28].OneofWrappers = []any{
+ file_tetragon_sensors_proto_msgTypes[30].OneofWrappers = []any{
(*GetDebugResponse_Level)(nil),
(*GetDebugResponse_Processes)(nil),
}
- file_tetragon_sensors_proto_msgTypes[29].OneofWrappers = []any{
+ file_tetragon_sensors_proto_msgTypes[31].OneofWrappers = []any{
(*SetDebugRequest_Level)(nil),
}
- file_tetragon_sensors_proto_msgTypes[30].OneofWrappers = []any{
+ file_tetragon_sensors_proto_msgTypes[32].OneofWrappers = []any{
(*SetDebugResponse_Level)(nil),
}
type x struct{}
@@ -2216,8 +2415,8 @@ func file_tetragon_sensors_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_tetragon_sensors_proto_rawDesc,
- NumEnums: 3,
- NumMessages: 32,
+ NumEnums: 4,
+ NumMessages: 34,
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 13c3e29ca9e..b649a949140 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
@@ -178,6 +178,30 @@ func (msg *DisableTracingPolicyResponse) UnmarshalJSON(b []byte) error {
return protojson.UnmarshalOptions{}.Unmarshal(b, msg)
}
+// MarshalJSON implements json.Marshaler
+func (msg *ConfigureTracingPolicyRequest) MarshalJSON() ([]byte, error) {
+ return protojson.MarshalOptions{
+ UseProtoNames: true,
+ }.Marshal(msg)
+}
+
+// UnmarshalJSON implements json.Unmarshaler
+func (msg *ConfigureTracingPolicyRequest) UnmarshalJSON(b []byte) error {
+ return protojson.UnmarshalOptions{}.Unmarshal(b, msg)
+}
+
+// MarshalJSON implements json.Marshaler
+func (msg *ConfigureTracingPolicyResponse) MarshalJSON() ([]byte, error) {
+ return protojson.MarshalOptions{
+ UseProtoNames: true,
+ }.Marshal(msg)
+}
+
+// UnmarshalJSON implements json.Unmarshaler
+func (msg *ConfigureTracingPolicyResponse) UnmarshalJSON(b []byte) error {
+ return protojson.UnmarshalOptions{}.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 730bfb0adbe..ce99ce30314 100644
--- a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto
+++ b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto
@@ -49,6 +49,12 @@ enum TracingPolicyState {
TP_STATE_UNLOADING = 6;
}
+enum TracingPolicyMode {
+ TP_MODE_UNKNOWN = 0;
+ TP_MODE_ENFORCE = 1;
+ TP_MODE_MONITOR = 2;
+}
+
message TracingPolicyStatus {
// id is the id of the policy
uint64 id = 1;
@@ -70,6 +76,8 @@ message TracingPolicyStatus {
TracingPolicyState state = 9;
// the amount of kernel memory in bytes used by policy's sensors non-shared BPF maps (memlock)
uint64 kernel_memory_bytes = 10;
+ // current mode of the tracing policy
+ TracingPolicyMode mode = 11;
}
message ListTracingPoliciesResponse {
@@ -99,6 +107,16 @@ message DisableTracingPolicyRequest {
}
message DisableTracingPolicyResponse {}
+message ConfigureTracingPolicyRequest {
+ string name = 1;
+ string namespace = 2;
+
+ optional bool enable = 3;
+ optional TracingPolicyMode mode = 4;
+}
+
+message ConfigureTracingPolicyResponse {}
+
message RemoveSensorRequest {
string name = 1;
}
@@ -203,8 +221,22 @@ service FineGuidanceSensors {
rpc AddTracingPolicy(AddTracingPolicyRequest) returns (AddTracingPolicyResponse) {}
rpc DeleteTracingPolicy(DeleteTracingPolicyRequest) returns (DeleteTracingPolicyResponse) {}
rpc ListTracingPolicies(ListTracingPoliciesRequest) returns (ListTracingPoliciesResponse) {}
- rpc EnableTracingPolicy(EnableTracingPolicyRequest) returns (EnableTracingPolicyResponse) {}
- rpc DisableTracingPolicy(DisableTracingPolicyRequest) returns (DisableTracingPolicyResponse) {}
+ // ConfigureTracingPolicy can be used to configure a loaded tracing policy.
+ // It can be used to:
+ // - enable/disable it
+ // - change its mode (enforcement vs monitoring)
+ // If multiple changes are requested and an error is encountered, the resulting state might have
+ // partial updates applied. In other words, the configuring a tracing policy is not atomic.
+ rpc ConfigureTracingPolicy(ConfigureTracingPolicyRequest) returns (ConfigureTracingPolicyResponse) {}
+
+ rpc EnableTracingPolicy(EnableTracingPolicyRequest) returns (EnableTracingPolicyResponse) {
+ // use ConfigureTracingPolicy instead
+ option deprecated = true;
+ }
+ rpc DisableTracingPolicy(DisableTracingPolicyRequest) returns (DisableTracingPolicyResponse) {
+ // use ConfigureTracingPolicy instead
+ option deprecated = true;
+ }
rpc ListSensors(ListSensorsRequest) returns (ListSensorsResponse) {
option deprecated = true;
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 613710e7002..d14fbe03a74 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,22 +22,23 @@ import (
const _ = grpc.SupportPackageIsVersion9
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_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_RemoveSensor_FullMethodName = "/tetragon.FineGuidanceSensors/RemoveSensor"
- FineGuidanceSensors_GetStackTraceTree_FullMethodName = "/tetragon.FineGuidanceSensors/GetStackTraceTree"
- FineGuidanceSensors_GetVersion_FullMethodName = "/tetragon.FineGuidanceSensors/GetVersion"
- FineGuidanceSensors_RuntimeHook_FullMethodName = "/tetragon.FineGuidanceSensors/RuntimeHook"
- FineGuidanceSensors_GetDebug_FullMethodName = "/tetragon.FineGuidanceSensors/GetDebug"
- FineGuidanceSensors_SetDebug_FullMethodName = "/tetragon.FineGuidanceSensors/SetDebug"
+ 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_ListTracingPolicies_FullMethodName = "/tetragon.FineGuidanceSensors/ListTracingPolicies"
+ FineGuidanceSensors_ConfigureTracingPolicy_FullMethodName = "/tetragon.FineGuidanceSensors/ConfigureTracingPolicy"
+ 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_RemoveSensor_FullMethodName = "/tetragon.FineGuidanceSensors/RemoveSensor"
+ FineGuidanceSensors_GetStackTraceTree_FullMethodName = "/tetragon.FineGuidanceSensors/GetStackTraceTree"
+ FineGuidanceSensors_GetVersion_FullMethodName = "/tetragon.FineGuidanceSensors/GetVersion"
+ FineGuidanceSensors_RuntimeHook_FullMethodName = "/tetragon.FineGuidanceSensors/RuntimeHook"
+ FineGuidanceSensors_GetDebug_FullMethodName = "/tetragon.FineGuidanceSensors/GetDebug"
+ FineGuidanceSensors_SetDebug_FullMethodName = "/tetragon.FineGuidanceSensors/SetDebug"
)
// FineGuidanceSensorsClient is the client API for FineGuidanceSensors service.
@@ -49,7 +50,17 @@ type FineGuidanceSensorsClient interface {
AddTracingPolicy(ctx context.Context, in *AddTracingPolicyRequest, opts ...grpc.CallOption) (*AddTracingPolicyResponse, error)
DeleteTracingPolicy(ctx context.Context, in *DeleteTracingPolicyRequest, opts ...grpc.CallOption) (*DeleteTracingPolicyResponse, error)
ListTracingPolicies(ctx context.Context, in *ListTracingPoliciesRequest, opts ...grpc.CallOption) (*ListTracingPoliciesResponse, error)
+ // ConfigureTracingPolicy can be used to configure a loaded tracing policy.
+ // It can be used to:
+ // - enable/disable it
+ // - change its mode (enforcement vs monitoring)
+ //
+ // If multiple changes are requested and an error is encountered, the resulting state might have
+ // partial updates applied. In other words, the configuring a tracing policy is not atomic.
+ ConfigureTracingPolicy(ctx context.Context, in *ConfigureTracingPolicyRequest, opts ...grpc.CallOption) (*ConfigureTracingPolicyResponse, error)
+ // Deprecated: Do not use.
EnableTracingPolicy(ctx context.Context, in *EnableTracingPolicyRequest, opts ...grpc.CallOption) (*EnableTracingPolicyResponse, error)
+ // Deprecated: Do not use.
DisableTracingPolicy(ctx context.Context, in *DisableTracingPolicyRequest, opts ...grpc.CallOption) (*DisableTracingPolicyResponse, error)
// Deprecated: Do not use.
ListSensors(ctx context.Context, in *ListSensorsRequest, opts ...grpc.CallOption) (*ListSensorsResponse, error)
@@ -133,6 +144,17 @@ func (c *fineGuidanceSensorsClient) ListTracingPolicies(ctx context.Context, in
return out, nil
}
+func (c *fineGuidanceSensorsClient) ConfigureTracingPolicy(ctx context.Context, in *ConfigureTracingPolicyRequest, opts ...grpc.CallOption) (*ConfigureTracingPolicyResponse, error) {
+ cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+ out := new(ConfigureTracingPolicyResponse)
+ err := c.cc.Invoke(ctx, FineGuidanceSensors_ConfigureTracingPolicy_FullMethodName, in, out, cOpts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// Deprecated: Do not use.
func (c *fineGuidanceSensorsClient) EnableTracingPolicy(ctx context.Context, in *EnableTracingPolicyRequest, opts ...grpc.CallOption) (*EnableTracingPolicyResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(EnableTracingPolicyResponse)
@@ -143,6 +165,7 @@ func (c *fineGuidanceSensorsClient) EnableTracingPolicy(ctx context.Context, in
return out, nil
}
+// Deprecated: Do not use.
func (c *fineGuidanceSensorsClient) DisableTracingPolicy(ctx context.Context, in *DisableTracingPolicyRequest, opts ...grpc.CallOption) (*DisableTracingPolicyResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(DisableTracingPolicyResponse)
@@ -256,7 +279,17 @@ type FineGuidanceSensorsServer interface {
AddTracingPolicy(context.Context, *AddTracingPolicyRequest) (*AddTracingPolicyResponse, error)
DeleteTracingPolicy(context.Context, *DeleteTracingPolicyRequest) (*DeleteTracingPolicyResponse, error)
ListTracingPolicies(context.Context, *ListTracingPoliciesRequest) (*ListTracingPoliciesResponse, error)
+ // ConfigureTracingPolicy can be used to configure a loaded tracing policy.
+ // It can be used to:
+ // - enable/disable it
+ // - change its mode (enforcement vs monitoring)
+ //
+ // If multiple changes are requested and an error is encountered, the resulting state might have
+ // partial updates applied. In other words, the configuring a tracing policy is not atomic.
+ ConfigureTracingPolicy(context.Context, *ConfigureTracingPolicyRequest) (*ConfigureTracingPolicyResponse, error)
+ // Deprecated: Do not use.
EnableTracingPolicy(context.Context, *EnableTracingPolicyRequest) (*EnableTracingPolicyResponse, error)
+ // Deprecated: Do not use.
DisableTracingPolicy(context.Context, *DisableTracingPolicyRequest) (*DisableTracingPolicyResponse, error)
// Deprecated: Do not use.
ListSensors(context.Context, *ListSensorsRequest) (*ListSensorsResponse, error)
@@ -296,6 +329,9 @@ func (UnimplementedFineGuidanceSensorsServer) DeleteTracingPolicy(context.Contex
func (UnimplementedFineGuidanceSensorsServer) ListTracingPolicies(context.Context, *ListTracingPoliciesRequest) (*ListTracingPoliciesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListTracingPolicies not implemented")
}
+func (UnimplementedFineGuidanceSensorsServer) ConfigureTracingPolicy(context.Context, *ConfigureTracingPolicyRequest) (*ConfigureTracingPolicyResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ConfigureTracingPolicy not implemented")
+}
func (UnimplementedFineGuidanceSensorsServer) EnableTracingPolicy(context.Context, *EnableTracingPolicyRequest) (*EnableTracingPolicyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method EnableTracingPolicy not implemented")
}
@@ -433,6 +469,24 @@ func _FineGuidanceSensors_ListTracingPolicies_Handler(srv interface{}, ctx conte
return interceptor(ctx, in, info, handler)
}
+func _FineGuidanceSensors_ConfigureTracingPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ConfigureTracingPolicyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(FineGuidanceSensorsServer).ConfigureTracingPolicy(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: FineGuidanceSensors_ConfigureTracingPolicy_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(FineGuidanceSensorsServer).ConfigureTracingPolicy(ctx, req.(*ConfigureTracingPolicyRequest))
+ }
+ 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 {
@@ -654,6 +708,10 @@ var FineGuidanceSensors_ServiceDesc = grpc.ServiceDesc{
MethodName: "ListTracingPolicies",
Handler: _FineGuidanceSensors_ListTracingPolicies_Handler,
},
+ {
+ MethodName: "ConfigureTracingPolicy",
+ Handler: _FineGuidanceSensors_ConfigureTracingPolicy_Handler,
+ },
{
MethodName: "EnableTracingPolicy",
Handler: _FineGuidanceSensors_EnableTracingPolicy_Handler,