capsule8_api_v0

package
v0.16.0-alpha Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2020 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package capsule8_api_v0 is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

This section is empty.

Variables

View Source
var ContainerEventType_name = map[int32]string{
	0: "CONTAINER_EVENT_TYPE_UNKNOWN",
	1: "CONTAINER_EVENT_TYPE_CREATED",
	2: "CONTAINER_EVENT_TYPE_RUNNING",
	3: "CONTAINER_EVENT_TYPE_EXITED",
	4: "CONTAINER_EVENT_TYPE_DESTROYED",
	5: "CONTAINER_EVENT_TYPE_UPDATED",
}
View Source
var ContainerEventType_value = map[string]int32{
	"CONTAINER_EVENT_TYPE_UNKNOWN":   0,
	"CONTAINER_EVENT_TYPE_CREATED":   1,
	"CONTAINER_EVENT_TYPE_RUNNING":   2,
	"CONTAINER_EVENT_TYPE_EXITED":    3,
	"CONTAINER_EVENT_TYPE_DESTROYED": 4,
	"CONTAINER_EVENT_TYPE_UPDATED":   5,
}
View Source
var ContainerEventView_name = map[int32]string{
	0: "BASIC",
	1: "FULL",
}
View Source
var ContainerEventView_value = map[string]int32{
	"BASIC": 0,
	"FULL":  1,
}
View Source
var Expression_ExpressionType_name = map[int32]string{
	0:  "EXPRESSIONTYPE_UNSPECIFIED",
	1:  "IDENTIFIER",
	2:  "VALUE",
	10: "LOGICAL_AND",
	11: "LOGICAL_OR",
	20: "EQ",
	21: "NE",
	22: "LT",
	23: "LE",
	24: "GT",
	25: "GE",
	26: "LIKE",
	27: "IS_NULL",
	28: "IS_NOT_NULL",
	30: "BITWISE_AND",
}
View Source
var Expression_ExpressionType_value = map[string]int32{
	"EXPRESSIONTYPE_UNSPECIFIED": 0,
	"IDENTIFIER":                 1,
	"VALUE":                      2,
	"LOGICAL_AND":                10,
	"LOGICAL_OR":                 11,
	"EQ":                         20,
	"NE":                         21,
	"LT":                         22,
	"LE":                         23,
	"GT":                         24,
	"GE":                         25,
	"LIKE":                       26,
	"IS_NULL":                    27,
	"IS_NOT_NULL":                28,
	"BITWISE_AND":                30,
}
View Source
var FileEventType_name = map[int32]string{
	0: "FILE_EVENT_TYPE_UNKNOWN",
	1: "FILE_EVENT_TYPE_OPEN",
	2: "FILE_EVENT_TYPE_CREATE",
	3: "FILE_EVENT_TYPE_DELETE",
	4: "FILE_EVENT_TYPE_LINK",
	5: "FILE_EVENT_TYPE_OPEN_FOR_MODIFY",
	6: "FILE_EVENT_TYPE_RENAME",
	7: "FILE_EVENT_TYPE_MODIFY",
	8: "FILE_EVENT_TYPE_CLOSE_FOR_MODIFY",
	9: "FILE_EVENT_TYPE_ATTRIBUTE_CHANGE",
}
View Source
var FileEventType_value = map[string]int32{
	"FILE_EVENT_TYPE_UNKNOWN":          0,
	"FILE_EVENT_TYPE_OPEN":             1,
	"FILE_EVENT_TYPE_CREATE":           2,
	"FILE_EVENT_TYPE_DELETE":           3,
	"FILE_EVENT_TYPE_LINK":             4,
	"FILE_EVENT_TYPE_OPEN_FOR_MODIFY":  5,
	"FILE_EVENT_TYPE_RENAME":           6,
	"FILE_EVENT_TYPE_MODIFY":           7,
	"FILE_EVENT_TYPE_CLOSE_FOR_MODIFY": 8,
	"FILE_EVENT_TYPE_ATTRIBUTE_CHANGE": 9,
}
View Source
var KernelFunctionCallEventType_name = map[int32]string{
	0: "KERNEL_FUNCTION_CALL_EVENT_TYPE_UNKNOWN",
	1: "KERNEL_FUNCTION_CALL_EVENT_TYPE_ENTER",
	2: "KERNEL_FUNCTION_CALL_EVENT_TYPE_EXIT",
}
View Source
var KernelFunctionCallEventType_value = map[string]int32{
	"KERNEL_FUNCTION_CALL_EVENT_TYPE_UNKNOWN": 0,
	"KERNEL_FUNCTION_CALL_EVENT_TYPE_ENTER":   1,
	"KERNEL_FUNCTION_CALL_EVENT_TYPE_EXIT":    2,
}
View Source
var KernelFunctionCallEvent_FieldType_name = map[int32]string{
	0:  "UNKNOWN",
	1:  "BYTES",
	2:  "STRING",
	3:  "SINT8",
	4:  "SINT16",
	5:  "SINT32",
	6:  "SINT64",
	7:  "UINT8",
	8:  "UINT16",
	9:  "UINT32",
	10: "UINT64",
}
View Source
var KernelFunctionCallEvent_FieldType_value = map[string]int32{
	"UNKNOWN": 0,
	"BYTES":   1,
	"STRING":  2,
	"SINT8":   3,
	"SINT16":  4,
	"SINT32":  5,
	"SINT64":  6,
	"UINT8":   7,
	"UINT16":  8,
	"UINT32":  9,
	"UINT64":  10,
}
View Source
var LostRecordEventType_name = map[int32]string{
	0:  "LOST_RECORD_EVENT_TYPE_UNKNOWN",
	1:  "LOST_RECORD_EVENT_TYPE_SUBSCRIPTION",
	2:  "LOST_RECORD_EVENT_TYPE_PROCESS",
	3:  "LOST_RECORD_EVENT_TYPE_CONTAINER",
	4:  "LOST_RECORD_EVENT_TYPE_FILE_CREATE",
	5:  "LOST_RECORD_EVENT_TYPE_FILE_DELETE",
	6:  "LOST_RECORD_EVENT_TYPE_FILE_LINK",
	7:  "LOST_RECORD_EVENT_TYPE_FILE_SYMLINK",
	8:  "LOST_RECORD_EVENT_TYPE_FILE_OPEN_MODIFY",
	9:  "LOST_RECORD_EVENT_TYPE_FILE_CLOSE_MODIFY",
	10: "LOST_RECORD_EVENT_TYPE_FILE_MODIFY",
	11: "LOST_RECORD_EVENT_TYPE_FILE_RENAME",
	12: "LOST_RECORD_EVENT_TYPE_FILE_ATTRIBUTE_CHANGE",
}
View Source
var LostRecordEventType_value = map[string]int32{
	"LOST_RECORD_EVENT_TYPE_UNKNOWN":               0,
	"LOST_RECORD_EVENT_TYPE_SUBSCRIPTION":          1,
	"LOST_RECORD_EVENT_TYPE_PROCESS":               2,
	"LOST_RECORD_EVENT_TYPE_CONTAINER":             3,
	"LOST_RECORD_EVENT_TYPE_FILE_CREATE":           4,
	"LOST_RECORD_EVENT_TYPE_FILE_DELETE":           5,
	"LOST_RECORD_EVENT_TYPE_FILE_LINK":             6,
	"LOST_RECORD_EVENT_TYPE_FILE_SYMLINK":          7,
	"LOST_RECORD_EVENT_TYPE_FILE_OPEN_MODIFY":      8,
	"LOST_RECORD_EVENT_TYPE_FILE_CLOSE_MODIFY":     9,
	"LOST_RECORD_EVENT_TYPE_FILE_MODIFY":           10,
	"LOST_RECORD_EVENT_TYPE_FILE_RENAME":           11,
	"LOST_RECORD_EVENT_TYPE_FILE_ATTRIBUTE_CHANGE": 12,
}
View Source
var NetworkAddressFamily_name = map[int32]string{
	0: "NETWORK_ADDRESS_FAMILY_UNKNOWN",
	1: "NETWORK_ADDRESS_FAMILY_INET",
	2: "NETWORK_ADDRESS_FAMILY_INET6",
	3: "NETWORK_ADDRESS_FAMILY_LOCAL",
}
View Source
var NetworkAddressFamily_value = map[string]int32{
	"NETWORK_ADDRESS_FAMILY_UNKNOWN": 0,
	"NETWORK_ADDRESS_FAMILY_INET":    1,
	"NETWORK_ADDRESS_FAMILY_INET6":   2,
	"NETWORK_ADDRESS_FAMILY_LOCAL":   3,
}
View Source
var NetworkEventType_name = map[int32]string{
	0:  "NETWORK_EVENT_TYPE_UNKNOWN",
	1:  "NETWORK_EVENT_TYPE_CONNECT_ATTEMPT",
	2:  "NETWORK_EVENT_TYPE_CONNECT_RESULT",
	3:  "NETWORK_EVENT_TYPE_BIND_ATTEMPT",
	4:  "NETWORK_EVENT_TYPE_BIND_RESULT",
	5:  "NETWORK_EVENT_TYPE_LISTEN_ATTEMPT",
	6:  "NETWORK_EVENT_TYPE_LISTEN_RESULT",
	7:  "NETWORK_EVENT_TYPE_ACCEPT_ATTEMPT",
	8:  "NETWORK_EVENT_TYPE_ACCEPT_RESULT",
	9:  "NETWORK_EVENT_TYPE_SENDTO_ATTEMPT",
	10: "NETWORK_EVENT_TYPE_SENDTO_RESULT",
	11: "NETWORK_EVENT_TYPE_RECVFROM_ATTEMPT",
	12: "NETWORK_EVENT_TYPE_RECVFROM_RESULT",
}
View Source
var NetworkEventType_value = map[string]int32{
	"NETWORK_EVENT_TYPE_UNKNOWN":          0,
	"NETWORK_EVENT_TYPE_CONNECT_ATTEMPT":  1,
	"NETWORK_EVENT_TYPE_CONNECT_RESULT":   2,
	"NETWORK_EVENT_TYPE_BIND_ATTEMPT":     3,
	"NETWORK_EVENT_TYPE_BIND_RESULT":      4,
	"NETWORK_EVENT_TYPE_LISTEN_ATTEMPT":   5,
	"NETWORK_EVENT_TYPE_LISTEN_RESULT":    6,
	"NETWORK_EVENT_TYPE_ACCEPT_ATTEMPT":   7,
	"NETWORK_EVENT_TYPE_ACCEPT_RESULT":    8,
	"NETWORK_EVENT_TYPE_SENDTO_ATTEMPT":   9,
	"NETWORK_EVENT_TYPE_SENDTO_RESULT":    10,
	"NETWORK_EVENT_TYPE_RECVFROM_ATTEMPT": 11,
	"NETWORK_EVENT_TYPE_RECVFROM_RESULT":  12,
}
View Source
var PerformanceEventType_name = map[int32]string{
	0: "PERFORMANCE_EVENT_TYPE_UNKNOWN",
	1: "PERFORMANCE_EVENT_TYPE_HARDWARE",
	2: "PERFORMANCE_EVENT_TYPE_HARDWARE_CACHE",
	3: "PERFORMANCE_EVENT_TYPE_SOFTWARE",
}
View Source
var PerformanceEventType_value = map[string]int32{
	"PERFORMANCE_EVENT_TYPE_UNKNOWN":        0,
	"PERFORMANCE_EVENT_TYPE_HARDWARE":       1,
	"PERFORMANCE_EVENT_TYPE_HARDWARE_CACHE": 2,
	"PERFORMANCE_EVENT_TYPE_SOFTWARE":       3,
}
View Source
var ProcessEventType_name = map[int32]string{
	0: "PROCESS_EVENT_TYPE_UNKNOWN",
	1: "PROCESS_EVENT_TYPE_FORK",
	2: "PROCESS_EVENT_TYPE_EXEC",
	3: "PROCESS_EVENT_TYPE_EXIT",
	4: "PROCESS_EVENT_TYPE_UPDATE",
}
View Source
var ProcessEventType_value = map[string]int32{
	"PROCESS_EVENT_TYPE_UNKNOWN": 0,
	"PROCESS_EVENT_TYPE_FORK":    1,
	"PROCESS_EVENT_TYPE_EXEC":    2,
	"PROCESS_EVENT_TYPE_EXIT":    3,
	"PROCESS_EVENT_TYPE_UPDATE":  4,
}
View Source
var SampleRateType_name = map[int32]string{
	0: "SAMPLE_RATE_TYPE_UNKNOWN",
	1: "SAMPLE_RATE_TYPE_PERIOD",
	2: "SAMPLE_RATE_TYPE_FREQUENCY",
}
View Source
var SampleRateType_value = map[string]int32{
	"SAMPLE_RATE_TYPE_UNKNOWN":   0,
	"SAMPLE_RATE_TYPE_PERIOD":    1,
	"SAMPLE_RATE_TYPE_FREQUENCY": 2,
}
View Source
var SyscallEventType_name = map[int32]string{
	0: "SYSCALL_EVENT_TYPE_UNKNOWN",
	1: "SYSCALL_EVENT_TYPE_ENTER",
	2: "SYSCALL_EVENT_TYPE_EXIT",
}
View Source
var SyscallEventType_value = map[string]int32{
	"SYSCALL_EVENT_TYPE_UNKNOWN": 0,
	"SYSCALL_EVENT_TYPE_ENTER":   1,
	"SYSCALL_EVENT_TYPE_EXIT":    2,
}
View Source
var ThrottleModifier_IntervalType_name = map[int32]string{
	0: "MILLISECOND",
	1: "SECOND",
	2: "MINUTE",
	3: "HOUR",
}
View Source
var ThrottleModifier_IntervalType_value = map[string]int32{
	"MILLISECOND": 0,
	"SECOND":      1,
	"MINUTE":      2,
	"HOUR":        3,
}
View Source
var UserFunctionCallEventType_name = map[int32]string{
	0: "USER_FUNCTION_CALL_EVENT_TYPE_UNKNOWN",
	1: "USER_FUNCTION_CALL_EVENT_TYPE_ENTER",
	2: "USER_FUNCTION_CALL_EVENT_TYPE_EXIT",
}
View Source
var UserFunctionCallEventType_value = map[string]int32{
	"USER_FUNCTION_CALL_EVENT_TYPE_UNKNOWN": 0,
	"USER_FUNCTION_CALL_EVENT_TYPE_ENTER":   1,
	"USER_FUNCTION_CALL_EVENT_TYPE_EXIT":    2,
}
View Source
var UserFunctionCallEvent_FieldType_name = map[int32]string{
	0:  "UNKNOWN",
	1:  "BYTES",
	2:  "STRING",
	3:  "SINT8",
	4:  "SINT16",
	5:  "SINT32",
	6:  "SINT64",
	7:  "UINT8",
	8:  "UINT16",
	9:  "UINT32",
	10: "UINT64",
}
View Source
var UserFunctionCallEvent_FieldType_value = map[string]int32{
	"UNKNOWN": 0,
	"BYTES":   1,
	"STRING":  2,
	"SINT8":   3,
	"SINT16":  4,
	"SINT32":  5,
	"SINT64":  6,
	"UINT8":   7,
	"UINT16":  8,
	"UINT32":  9,
	"UINT64":  10,
}
View Source
var ValueType_name = map[int32]string{
	0:  "VALUETYPE_UNSPECIFIED",
	1:  "STRING",
	2:  "SINT8",
	3:  "SINT16",
	4:  "SINT32",
	5:  "SINT64",
	6:  "UINT8",
	7:  "UINT16",
	8:  "UINT32",
	9:  "UINT64",
	10: "BOOL",
	11: "DOUBLE",
	12: "TIMESTAMP",
}
View Source
var ValueType_value = map[string]int32{
	"VALUETYPE_UNSPECIFIED": 0,
	"STRING":                1,
	"SINT8":                 2,
	"SINT16":                3,
	"SINT32":                4,
	"SINT64":                5,
	"UINT8":                 6,
	"UINT16":                7,
	"UINT32":                8,
	"UINT64":                9,
	"BOOL":                  10,
	"DOUBLE":                11,
	"TIMESTAMP":             12,
}

Functions

func RegisterTelemetryServiceHandler

func RegisterTelemetryServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterTelemetryServiceHandler registers the http handlers for service TelemetryService to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterTelemetryServiceHandlerClient

func RegisterTelemetryServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client TelemetryServiceClient) error

RegisterTelemetryServiceHandler registers the http handlers for service TelemetryService to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "TelemetryServiceClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "TelemetryServiceClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "TelemetryServiceClient" to call the correct interceptors.

func RegisterTelemetryServiceHandlerFromEndpoint

func RegisterTelemetryServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterTelemetryServiceHandlerFromEndpoint is same as RegisterTelemetryServiceHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterTelemetryServiceServer

func RegisterTelemetryServiceServer(s *grpc.Server, srv TelemetryServiceServer)

Types

type BinaryOp

type BinaryOp struct {
	Lhs                  *Expression `protobuf:"bytes,1,opt,name=lhs,proto3" json:"lhs,omitempty"`
	Rhs                  *Expression `protobuf:"bytes,2,opt,name=rhs,proto3" json:"rhs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (*BinaryOp) Descriptor

func (*BinaryOp) Descriptor() ([]byte, []int)

func (*BinaryOp) GetLhs

func (m *BinaryOp) GetLhs() *Expression

func (*BinaryOp) GetRhs

func (m *BinaryOp) GetRhs() *Expression

func (*BinaryOp) ProtoMessage

func (*BinaryOp) ProtoMessage()

func (*BinaryOp) Reset

func (m *BinaryOp) Reset()

func (*BinaryOp) String

func (m *BinaryOp) String() string

func (*BinaryOp) XXX_DiscardUnknown

func (m *BinaryOp) XXX_DiscardUnknown()

func (*BinaryOp) XXX_Marshal

func (m *BinaryOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*BinaryOp) XXX_Merge

func (dst *BinaryOp) XXX_Merge(src proto.Message)

func (*BinaryOp) XXX_Size

func (m *BinaryOp) XXX_Size() int

func (*BinaryOp) XXX_Unmarshal

func (m *BinaryOp) XXX_Unmarshal(b []byte) error

type ChargenEvent

type ChargenEvent struct {
	// Index of the first character in this Event in relation to all of
	// the characters that have been generated in this stream.
	Index uint64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
	// The next one or more characters in the autogenerated stream
	Characters           string   `protobuf:"bytes,2,opt,name=characters,proto3" json:"characters,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*ChargenEvent) Descriptor

func (*ChargenEvent) Descriptor() ([]byte, []int)

func (*ChargenEvent) GetCharacters

func (m *ChargenEvent) GetCharacters() string

func (*ChargenEvent) GetIndex

func (m *ChargenEvent) GetIndex() uint64

func (*ChargenEvent) ProtoMessage

func (*ChargenEvent) ProtoMessage()

func (*ChargenEvent) Reset

func (m *ChargenEvent) Reset()

func (*ChargenEvent) String

func (m *ChargenEvent) String() string

func (*ChargenEvent) XXX_DiscardUnknown

func (m *ChargenEvent) XXX_DiscardUnknown()

func (*ChargenEvent) XXX_Marshal

func (m *ChargenEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ChargenEvent) XXX_Merge

func (dst *ChargenEvent) XXX_Merge(src proto.Message)

func (*ChargenEvent) XXX_Size

func (m *ChargenEvent) XXX_Size() int

func (*ChargenEvent) XXX_Unmarshal

func (m *ChargenEvent) XXX_Unmarshal(b []byte) error

type ChargenEventFilter

type ChargenEventFilter struct {
	// Required; the length of character sequence strings to generate
	Length               uint64   `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

The ChargenEventFilter configures a character stream generator and includes events from it in the Subscription.

func (*ChargenEventFilter) Descriptor

func (*ChargenEventFilter) Descriptor() ([]byte, []int)

func (*ChargenEventFilter) GetLength

func (m *ChargenEventFilter) GetLength() uint64

func (*ChargenEventFilter) ProtoMessage

func (*ChargenEventFilter) ProtoMessage()

func (*ChargenEventFilter) Reset

func (m *ChargenEventFilter) Reset()

func (*ChargenEventFilter) String

func (m *ChargenEventFilter) String() string

func (*ChargenEventFilter) XXX_DiscardUnknown

func (m *ChargenEventFilter) XXX_DiscardUnknown()

func (*ChargenEventFilter) XXX_Marshal

func (m *ChargenEventFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ChargenEventFilter) XXX_Merge

func (dst *ChargenEventFilter) XXX_Merge(src proto.Message)

func (*ChargenEventFilter) XXX_Size

func (m *ChargenEventFilter) XXX_Size() int

func (*ChargenEventFilter) XXX_Unmarshal

func (m *ChargenEventFilter) XXX_Unmarshal(b []byte) error

type ContainerEvent

type ContainerEvent struct {
	Type ContainerEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.ContainerEventType" json:"type,omitempty"`
	Name string             `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Unique identifier of the container image
	ImageId string `protobuf:"bytes,10,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
	//
	// Name of the container image (i.e. "busybox" or
	// "gcr.io/google_containers/nginx-ingress-controller")
	//
	ImageName string `protobuf:"bytes,11,opt,name=image_name,json=imageName,proto3" json:"image_name,omitempty"`
	// Host process identifier of the container's init process.
	HostPid int32 `protobuf:"zigzag32,20,opt,name=host_pid,json=hostPid,proto3" json:"host_pid,omitempty"`
	// Optional, only included on CONTAINER_EVENT_TYPE_EXIT events
	ExitCode int32 `protobuf:"zigzag32,30,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
	// The exit status will typically one of the values defined in
	// stdlib.h like EXIT_SUCCESS, EXIT_FAILURE, or EXIT_USAGE.
	ExitStatus uint32 `protobuf:"varint,31,opt,name=exit_status,json=exitStatus,proto3" json:"exit_status,omitempty"`
	// If non-zero, this is the signal number that the process
	// was terminated with.
	ExitSignal uint32 `protobuf:"varint,32,opt,name=exit_signal,json=exitSignal,proto3" json:"exit_signal,omitempty"`
	// If true, indicates that the process dumped a core when
	// it terminated.
	ExitCoreDumped bool `protobuf:"varint,33,opt,name=exit_core_dumped,json=exitCoreDumped,proto3" json:"exit_core_dumped,omitempty"`
	// Docker container configuration file
	DockerConfigJson string `protobuf:"bytes,100,opt,name=docker_config_json,json=dockerConfigJson,proto3" json:"docker_config_json,omitempty"`
	// OCI container configuration file
	OciConfigJson        string   `protobuf:"bytes,101,opt,name=oci_config_json,json=ociConfigJson,proto3" json:"oci_config_json,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

ContainerEvent describes a Docker container or Rkt App lifecycle event

func (*ContainerEvent) Descriptor

func (*ContainerEvent) Descriptor() ([]byte, []int)

func (*ContainerEvent) GetDockerConfigJson

func (m *ContainerEvent) GetDockerConfigJson() string

func (*ContainerEvent) GetExitCode

func (m *ContainerEvent) GetExitCode() int32

func (*ContainerEvent) GetExitCoreDumped

func (m *ContainerEvent) GetExitCoreDumped() bool

func (*ContainerEvent) GetExitSignal

func (m *ContainerEvent) GetExitSignal() uint32

func (*ContainerEvent) GetExitStatus

func (m *ContainerEvent) GetExitStatus() uint32

func (*ContainerEvent) GetHostPid

func (m *ContainerEvent) GetHostPid() int32

func (*ContainerEvent) GetImageId

func (m *ContainerEvent) GetImageId() string

func (*ContainerEvent) GetImageName

func (m *ContainerEvent) GetImageName() string

func (*ContainerEvent) GetName

func (m *ContainerEvent) GetName() string

func (*ContainerEvent) GetOciConfigJson

func (m *ContainerEvent) GetOciConfigJson() string

func (*ContainerEvent) GetType

func (m *ContainerEvent) GetType() ContainerEventType

func (*ContainerEvent) ProtoMessage

func (*ContainerEvent) ProtoMessage()

func (*ContainerEvent) Reset

func (m *ContainerEvent) Reset()

func (*ContainerEvent) String

func (m *ContainerEvent) String() string

func (*ContainerEvent) XXX_DiscardUnknown

func (m *ContainerEvent) XXX_DiscardUnknown()

func (*ContainerEvent) XXX_Marshal

func (m *ContainerEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ContainerEvent) XXX_Merge

func (dst *ContainerEvent) XXX_Merge(src proto.Message)

func (*ContainerEvent) XXX_Size

func (m *ContainerEvent) XXX_Size() int

func (*ContainerEvent) XXX_Unmarshal

func (m *ContainerEvent) XXX_Unmarshal(b []byte) error

type ContainerEventFilter

type ContainerEventFilter struct {
	// Required, specify the particular type of event type to match
	Type ContainerEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.ContainerEventType" json:"type,omitempty"`
	// Optional, specifies how much detail to include in container events
	View ContainerEventView `protobuf:"varint,2,opt,name=view,proto3,enum=capsule8.api.v0.ContainerEventView" json:"view,omitempty"`
	// Optional; a filter to apply to events. Only events for which the
	// evaluation of the filter expression is true will be returned.
	FilterExpression     *Expression `protobuf:"bytes,100,opt,name=filter_expression,json=filterExpression,proto3" json:"filter_expression,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

The ContainerEventFilter specifies which container lifecycle events to include in the Subscription. In order to restrict them to specific containers, use the ContainerFilter.

func (*ContainerEventFilter) Descriptor

func (*ContainerEventFilter) Descriptor() ([]byte, []int)

func (*ContainerEventFilter) GetFilterExpression

func (m *ContainerEventFilter) GetFilterExpression() *Expression

func (*ContainerEventFilter) GetType

func (*ContainerEventFilter) GetView

func (*ContainerEventFilter) ProtoMessage

func (*ContainerEventFilter) ProtoMessage()

func (*ContainerEventFilter) Reset

func (m *ContainerEventFilter) Reset()

func (*ContainerEventFilter) String

func (m *ContainerEventFilter) String() string

func (*ContainerEventFilter) XXX_DiscardUnknown

func (m *ContainerEventFilter) XXX_DiscardUnknown()

func (*ContainerEventFilter) XXX_Marshal

func (m *ContainerEventFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ContainerEventFilter) XXX_Merge

func (dst *ContainerEventFilter) XXX_Merge(src proto.Message)

func (*ContainerEventFilter) XXX_Size

func (m *ContainerEventFilter) XXX_Size() int

func (*ContainerEventFilter) XXX_Unmarshal

func (m *ContainerEventFilter) XXX_Unmarshal(b []byte) error

type ContainerEventType

type ContainerEventType int32
const (
	ContainerEventType_CONTAINER_EVENT_TYPE_UNKNOWN   ContainerEventType = 0
	ContainerEventType_CONTAINER_EVENT_TYPE_CREATED   ContainerEventType = 1
	ContainerEventType_CONTAINER_EVENT_TYPE_RUNNING   ContainerEventType = 2
	ContainerEventType_CONTAINER_EVENT_TYPE_EXITED    ContainerEventType = 3
	ContainerEventType_CONTAINER_EVENT_TYPE_DESTROYED ContainerEventType = 4
	ContainerEventType_CONTAINER_EVENT_TYPE_UPDATED   ContainerEventType = 5
)

func (ContainerEventType) EnumDescriptor

func (ContainerEventType) EnumDescriptor() ([]byte, []int)

func (ContainerEventType) String

func (x ContainerEventType) String() string

type ContainerEventView

type ContainerEventView int32

The ContainerEventView specifies the level of detail to include for ContainerEvents.

const (
	// Default view of a ContainerEvent includes just basic information
	ContainerEventView_BASIC ContainerEventView = 0
	// Full view of a ContainerEvent includes raw Docker and OCI config JSON
	// payloads
	ContainerEventView_FULL ContainerEventView = 1
)

func (ContainerEventView) EnumDescriptor

func (ContainerEventView) EnumDescriptor() ([]byte, []int)

func (ContainerEventView) String

func (x ContainerEventView) String() string

type ContainerFilter

type ContainerFilter struct {
	// Zero or more container IDs (e.g.
	// 254dd98a7bf1581560ddace9f98b7933bfb3c2f5fc0504ec1b8dcc9614bc7062)
	Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	// Zero or more container names (e.g. /ecstatic_darwin)
	Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"`
	// Zero or more container image IDs (e.g.
	// d462265d362c919b7dd37f8ba80caa822d13704695f47c8fc42a1c2266ecd164)
	ImageIds []string `protobuf:"bytes,3,rep,name=image_ids,json=imageIds,proto3" json:"image_ids,omitempty"`
	// Container image name (shell-style globs are supported). May be of the
	// form "busybox", "foo/bar" or
	// "sha256:d462265d362c919b7dd37f8ba80caa822d13704695f47c8fc42a1c2266ecd164"
	ImageNames           []string `protobuf:"bytes,4,rep,name=image_names,json=imageNames,proto3" json:"image_names,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

The ContainerFilter restricts events in the Subscription to the running containers indicated. All of the fields in this message are effectively "ORed" together to create the list of containers to monitor for the subscription.

func (*ContainerFilter) Descriptor

func (*ContainerFilter) Descriptor() ([]byte, []int)

func (*ContainerFilter) GetIds

func (m *ContainerFilter) GetIds() []string

func (*ContainerFilter) GetImageIds

func (m *ContainerFilter) GetImageIds() []string

func (*ContainerFilter) GetImageNames

func (m *ContainerFilter) GetImageNames() []string

func (*ContainerFilter) GetNames

func (m *ContainerFilter) GetNames() []string

func (*ContainerFilter) ProtoMessage

func (*ContainerFilter) ProtoMessage()

func (*ContainerFilter) Reset

func (m *ContainerFilter) Reset()

func (*ContainerFilter) String

func (m *ContainerFilter) String() string

func (*ContainerFilter) XXX_DiscardUnknown

func (m *ContainerFilter) XXX_DiscardUnknown()

func (*ContainerFilter) XXX_Marshal

func (m *ContainerFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ContainerFilter) XXX_Merge

func (dst *ContainerFilter) XXX_Merge(src proto.Message)

func (*ContainerFilter) XXX_Size

func (m *ContainerFilter) XXX_Size() int

func (*ContainerFilter) XXX_Unmarshal

func (m *ContainerFilter) XXX_Unmarshal(b []byte) error

type Credentials

type Credentials struct {
	// The real user ID
	Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
	// The real group ID
	Gid uint32 `protobuf:"varint,2,opt,name=gid,proto3" json:"gid,omitempty"`
	// The effective user ID
	Euid uint32 `protobuf:"varint,3,opt,name=euid,proto3" json:"euid,omitempty"`
	// The effective group ID
	Egid uint32 `protobuf:"varint,4,opt,name=egid,proto3" json:"egid,omitempty"`
	// The saved user ID
	Suid uint32 `protobuf:"varint,5,opt,name=suid,proto3" json:"suid,omitempty"`
	// The saved group ID
	Sgid uint32 `protobuf:"varint,6,opt,name=sgid,proto3" json:"sgid,omitempty"`
	// The user ID for filesystem operations
	Fsuid uint32 `protobuf:"varint,7,opt,name=fsuid,proto3" json:"fsuid,omitempty"`
	// The group ID for filesystem operations
	Fsgid                uint32   `protobuf:"varint,8,opt,name=fsgid,proto3" json:"fsgid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Process credentials (uid, gid, etc.)

func (*Credentials) Descriptor

func (*Credentials) Descriptor() ([]byte, []int)

func (*Credentials) GetEgid

func (m *Credentials) GetEgid() uint32

func (*Credentials) GetEuid

func (m *Credentials) GetEuid() uint32

func (*Credentials) GetFsgid

func (m *Credentials) GetFsgid() uint32

func (*Credentials) GetFsuid

func (m *Credentials) GetFsuid() uint32

func (*Credentials) GetGid

func (m *Credentials) GetGid() uint32

func (*Credentials) GetSgid

func (m *Credentials) GetSgid() uint32

func (*Credentials) GetSuid

func (m *Credentials) GetSuid() uint32

func (*Credentials) GetUid

func (m *Credentials) GetUid() uint32

func (*Credentials) ProtoMessage

func (*Credentials) ProtoMessage()

func (*Credentials) Reset

func (m *Credentials) Reset()

func (*Credentials) String

func (m *Credentials) String() string

func (*Credentials) XXX_DiscardUnknown

func (m *Credentials) XXX_DiscardUnknown()

func (*Credentials) XXX_Marshal

func (m *Credentials) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Credentials) XXX_Merge

func (dst *Credentials) XXX_Merge(src proto.Message)

func (*Credentials) XXX_Size

func (m *Credentials) XXX_Size() int

func (*Credentials) XXX_Unmarshal

func (m *Credentials) XXX_Unmarshal(b []byte) error

type EventFilter

type EventFilter struct {
	// Zero or more filters specifying which system calls to include
	SyscallEvents []*SyscallEventFilter `protobuf:"bytes,1,rep,name=syscall_events,json=syscallEvents,proto3" json:"syscall_events,omitempty"`
	// Zero or more filters specifying which process events to include
	ProcessEvents []*ProcessEventFilter `protobuf:"bytes,2,rep,name=process_events,json=processEvents,proto3" json:"process_events,omitempty"`
	// Zero or more filters specifying which file events to include
	FileEvents []*FileEventFilter `protobuf:"bytes,3,rep,name=file_events,json=fileEvents,proto3" json:"file_events,omitempty"`
	// Zero or more kernel function calls to include
	KernelEvents []*KernelFunctionCallFilter `protobuf:"bytes,4,rep,name=kernel_events,json=kernelEvents,proto3" json:"kernel_events,omitempty"`
	// Zero or more network events to include
	NetworkEvents []*NetworkEventFilter `protobuf:"bytes,5,rep,name=network_events,json=networkEvents,proto3" json:"network_events,omitempty"`
	// Zero or more performance events to include
	PerformanceEvents []*PerformanceEventFilter `protobuf:"bytes,6,rep,name=performance_events,json=performanceEvents,proto3" json:"performance_events,omitempty"`
	// Zero or more user function calls to include
	UserEvents []*UserFunctionCallFilter `protobuf:"bytes,7,rep,name=user_events,json=userEvents,proto3" json:"user_events,omitempty"`
	// Zero or more container events to include
	ContainerEvents []*ContainerEventFilter `protobuf:"bytes,10,rep,name=container_events,json=containerEvents,proto3" json:"container_events,omitempty"`
	// Zero or more character generators to configure and return events from
	// (for debugging)
	ChargenEvents []*ChargenEventFilter `protobuf:"bytes,100,rep,name=chargen_events,json=chargenEvents,proto3" json:"chargen_events,omitempty"`
	// Zero or more ticker generators to configure and return events from
	// (for debugging)
	TickerEvents         []*TickerEventFilter `protobuf:"bytes,101,rep,name=ticker_events,json=tickerEvents,proto3" json:"ticker_events,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

The EventFilter specifies events to include. All of the specified fields are effectively "ORed" together to create the list of events included in the Subscription.

func (*EventFilter) Descriptor

func (*EventFilter) Descriptor() ([]byte, []int)

func (*EventFilter) GetChargenEvents

func (m *EventFilter) GetChargenEvents() []*ChargenEventFilter

func (*EventFilter) GetContainerEvents

func (m *EventFilter) GetContainerEvents() []*ContainerEventFilter

func (*EventFilter) GetFileEvents

func (m *EventFilter) GetFileEvents() []*FileEventFilter

func (*EventFilter) GetKernelEvents

func (m *EventFilter) GetKernelEvents() []*KernelFunctionCallFilter

func (*EventFilter) GetNetworkEvents

func (m *EventFilter) GetNetworkEvents() []*NetworkEventFilter

func (*EventFilter) GetPerformanceEvents

func (m *EventFilter) GetPerformanceEvents() []*PerformanceEventFilter

func (*EventFilter) GetProcessEvents

func (m *EventFilter) GetProcessEvents() []*ProcessEventFilter

func (*EventFilter) GetSyscallEvents

func (m *EventFilter) GetSyscallEvents() []*SyscallEventFilter

func (*EventFilter) GetTickerEvents

func (m *EventFilter) GetTickerEvents() []*TickerEventFilter

func (*EventFilter) GetUserEvents

func (m *EventFilter) GetUserEvents() []*UserFunctionCallFilter

func (*EventFilter) ProtoMessage

func (*EventFilter) ProtoMessage()

func (*EventFilter) Reset

func (m *EventFilter) Reset()

func (*EventFilter) String

func (m *EventFilter) String() string

func (*EventFilter) XXX_DiscardUnknown

func (m *EventFilter) XXX_DiscardUnknown()

func (*EventFilter) XXX_Marshal

func (m *EventFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EventFilter) XXX_Merge

func (dst *EventFilter) XXX_Merge(src proto.Message)

func (*EventFilter) XXX_Size

func (m *EventFilter) XXX_Size() int

func (*EventFilter) XXX_Unmarshal

func (m *EventFilter) XXX_Unmarshal(b []byte) error

type Expression

type Expression struct {
	Type Expression_ExpressionType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.Expression_ExpressionType" json:"type,omitempty"`
	// Types that are valid to be assigned to Expr:
	//	*Expression_Identifier
	//	*Expression_Value
	//	*Expression_BinaryOp
	//	*Expression_UnaryOp
	Expr                 isExpression_Expr `protobuf_oneof:"expr"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (*Expression) Descriptor

func (*Expression) Descriptor() ([]byte, []int)

func (*Expression) GetBinaryOp

func (m *Expression) GetBinaryOp() *BinaryOp

func (*Expression) GetExpr

func (m *Expression) GetExpr() isExpression_Expr

func (*Expression) GetIdentifier

func (m *Expression) GetIdentifier() string

func (*Expression) GetType

func (*Expression) GetUnaryOp

func (m *Expression) GetUnaryOp() *Expression

func (*Expression) GetValue

func (m *Expression) GetValue() *Value

func (*Expression) ProtoMessage

func (*Expression) ProtoMessage()

func (*Expression) Reset

func (m *Expression) Reset()

func (*Expression) String

func (m *Expression) String() string

func (*Expression) XXX_DiscardUnknown

func (m *Expression) XXX_DiscardUnknown()

func (*Expression) XXX_Marshal

func (m *Expression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expression) XXX_Merge

func (dst *Expression) XXX_Merge(src proto.Message)

func (*Expression) XXX_OneofFuncs

func (*Expression) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Expression) XXX_Size

func (m *Expression) XXX_Size() int

func (*Expression) XXX_Unmarshal

func (m *Expression) XXX_Unmarshal(b []byte) error

type Expression_BinaryOp

type Expression_BinaryOp struct {
	BinaryOp *BinaryOp `protobuf:"bytes,12,opt,name=binary_op,json=binaryOp,proto3,oneof"`
}

type Expression_ExpressionType

type Expression_ExpressionType int32
const (
	Expression_EXPRESSIONTYPE_UNSPECIFIED Expression_ExpressionType = 0
	Expression_IDENTIFIER                 Expression_ExpressionType = 1
	Expression_VALUE                      Expression_ExpressionType = 2
	Expression_LOGICAL_AND                Expression_ExpressionType = 10
	Expression_LOGICAL_OR                 Expression_ExpressionType = 11
	Expression_EQ                         Expression_ExpressionType = 20
	Expression_NE                         Expression_ExpressionType = 21
	Expression_LT                         Expression_ExpressionType = 22
	Expression_LE                         Expression_ExpressionType = 23
	Expression_GT                         Expression_ExpressionType = 24
	Expression_GE                         Expression_ExpressionType = 25
	Expression_LIKE                       Expression_ExpressionType = 26
	Expression_IS_NULL                    Expression_ExpressionType = 27
	Expression_IS_NOT_NULL                Expression_ExpressionType = 28
	Expression_BITWISE_AND                Expression_ExpressionType = 30
)

func (Expression_ExpressionType) EnumDescriptor

func (Expression_ExpressionType) EnumDescriptor() ([]byte, []int)

func (Expression_ExpressionType) String

func (x Expression_ExpressionType) String() string

type Expression_Identifier

type Expression_Identifier struct {
	Identifier string `protobuf:"bytes,10,opt,name=identifier,proto3,oneof"`
}

type Expression_UnaryOp

type Expression_UnaryOp struct {
	UnaryOp *Expression `protobuf:"bytes,13,opt,name=unary_op,json=unaryOp,proto3,oneof"`
}

type Expression_Value

type Expression_Value struct {
	Value *Value `protobuf:"bytes,11,opt,name=value,proto3,oneof"`
}

type FileEvent

type FileEvent struct {
	// The type of event described by this FileEvent message
	Type FileEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.FileEventType" json:"type,omitempty"`
	// Present when the event is a file create, delete, link, modify, or
	// open event. This is the filename of the file being affected.
	Filename string `protobuf:"bytes,10,opt,name=filename,proto3" json:"filename,omitempty"`
	// Present when the event is a file open event. This is the set of
	// flags with which the file was opened (e.g., O_RDONLY, O_NONBLOCK,
	// etc.).
	OpenFlags int32 `protobuf:"zigzag32,11,opt,name=open_flags,json=openFlags,proto3" json:"open_flags,omitempty"`
	// Present when the event is a file create or open event. This is the
	// set of file permissions used in a creat(2) system call.
	OpenMode int32 `protobuf:"zigzag32,12,opt,name=open_mode,json=openMode,proto3" json:"open_mode,omitempty"`
	// Present when the event is a file link event. This is the name of the
	// file being linked to.
	SourceFile string `protobuf:"bytes,13,opt,name=source_file,json=sourceFile,proto3" json:"source_file,omitempty"`
	// Present when the event is a file link event. This is the name of the
	// file linking to source the source file.
	TargetFile string `protobuf:"bytes,14,opt,name=target_file,json=targetFile,proto3" json:"target_file,omitempty"`
	// Present when the event is a file link event. This is true if the
	// link is a symlink; otherwise, it is a hard link.
	Symlink bool `protobuf:"varint,15,opt,name=symlink,proto3" json:"symlink,omitempty"`
	// Present when the event is a file rename event. This is the original
	// name of the file being renamed.
	Oldname string `protobuf:"bytes,16,opt,name=oldname,proto3" json:"oldname,omitempty"`
	// Present when the event is a file rename event. This is the new name
	// of the file being renamed.
	Newname              string   `protobuf:"bytes,17,opt,name=newname,proto3" json:"newname,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

FileEvent describes an event that occurred related to file operations occurring as detected by the Sensor.

func (*FileEvent) Descriptor

func (*FileEvent) Descriptor() ([]byte, []int)

func (*FileEvent) GetFilename

func (m *FileEvent) GetFilename() string

func (*FileEvent) GetNewname

func (m *FileEvent) GetNewname() string

func (*FileEvent) GetOldname

func (m *FileEvent) GetOldname() string

func (*FileEvent) GetOpenFlags

func (m *FileEvent) GetOpenFlags() int32

func (*FileEvent) GetOpenMode

func (m *FileEvent) GetOpenMode() int32

func (*FileEvent) GetSourceFile

func (m *FileEvent) GetSourceFile() string
func (m *FileEvent) GetSymlink() bool

func (*FileEvent) GetTargetFile

func (m *FileEvent) GetTargetFile() string

func (*FileEvent) GetType

func (m *FileEvent) GetType() FileEventType

func (*FileEvent) ProtoMessage

func (*FileEvent) ProtoMessage()

func (*FileEvent) Reset

func (m *FileEvent) Reset()

func (*FileEvent) String

func (m *FileEvent) String() string

func (*FileEvent) XXX_DiscardUnknown

func (m *FileEvent) XXX_DiscardUnknown()

func (*FileEvent) XXX_Marshal

func (m *FileEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FileEvent) XXX_Merge

func (dst *FileEvent) XXX_Merge(src proto.Message)

func (*FileEvent) XXX_Size

func (m *FileEvent) XXX_Size() int

func (*FileEvent) XXX_Unmarshal

func (m *FileEvent) XXX_Unmarshal(b []byte) error

type FileEventFilter

type FileEventFilter struct {
	// Required; the file event type to match
	Type             FileEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.FileEventType" json:"type,omitempty"`
	FilterExpression *Expression   `protobuf:"bytes,100,opt,name=filter_expression,json=filterExpression,proto3" json:"filter_expression,omitempty"`
	// Optional; require exact match on the filename being acted upon
	Filename *wrappers.StringValue `protobuf:"bytes,10,opt,name=filename,proto3" json:"filename,omitempty"`
	// Optional; require pattern match on the filename being acted upon
	FilenamePattern *wrappers.StringValue `protobuf:"bytes,11,opt,name=filename_pattern,json=filenamePattern,proto3" json:"filename_pattern,omitempty"`
	// Optional; for file open events, require a match of the bits set
	// for the open(2) flags argument
	OpenFlagsMask *wrappers.Int32Value `protobuf:"bytes,12,opt,name=open_flags_mask,json=openFlagsMask,proto3" json:"open_flags_mask,omitempty"`
	// Optional; for file open events, require a match of the bits set
	// for the open(2) or creat(2) mode argument
	CreateModeMask       *wrappers.Int32Value `protobuf:"bytes,13,opt,name=create_mode_mask,json=createModeMask,proto3" json:"create_mode_mask,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

The FileEventFilter specifies which file events to include in the Subscription. The specified fields are effectively "ANDed" to specify a matching event.

func (*FileEventFilter) Descriptor

func (*FileEventFilter) Descriptor() ([]byte, []int)

func (*FileEventFilter) GetCreateModeMask

func (m *FileEventFilter) GetCreateModeMask() *wrappers.Int32Value

func (*FileEventFilter) GetFilename

func (m *FileEventFilter) GetFilename() *wrappers.StringValue

func (*FileEventFilter) GetFilenamePattern

func (m *FileEventFilter) GetFilenamePattern() *wrappers.StringValue

func (*FileEventFilter) GetFilterExpression

func (m *FileEventFilter) GetFilterExpression() *Expression

func (*FileEventFilter) GetOpenFlagsMask

func (m *FileEventFilter) GetOpenFlagsMask() *wrappers.Int32Value

func (*FileEventFilter) GetType

func (m *FileEventFilter) GetType() FileEventType

func (*FileEventFilter) ProtoMessage

func (*FileEventFilter) ProtoMessage()

func (*FileEventFilter) Reset

func (m *FileEventFilter) Reset()

func (*FileEventFilter) String

func (m *FileEventFilter) String() string

func (*FileEventFilter) XXX_DiscardUnknown

func (m *FileEventFilter) XXX_DiscardUnknown()

func (*FileEventFilter) XXX_Marshal

func (m *FileEventFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FileEventFilter) XXX_Merge

func (dst *FileEventFilter) XXX_Merge(src proto.Message)

func (*FileEventFilter) XXX_Size

func (m *FileEventFilter) XXX_Size() int

func (*FileEventFilter) XXX_Unmarshal

func (m *FileEventFilter) XXX_Unmarshal(b []byte) error

type FileEventType

type FileEventType int32

Possible FileEvent types

const (
	// The type of event is unknown
	FileEventType_FILE_EVENT_TYPE_UNKNOWN FileEventType = 0
	// The event is a file open event
	FileEventType_FILE_EVENT_TYPE_OPEN FileEventType = 1
	// The event is a file create event
	FileEventType_FILE_EVENT_TYPE_CREATE FileEventType = 2
	// The event is a file delete event
	FileEventType_FILE_EVENT_TYPE_DELETE FileEventType = 3
	// The event is a file link event
	FileEventType_FILE_EVENT_TYPE_LINK FileEventType = 4
	// The event is a file open for modify event
	FileEventType_FILE_EVENT_TYPE_OPEN_FOR_MODIFY FileEventType = 5
	// The event is a file rename event
	FileEventType_FILE_EVENT_TYPE_RENAME FileEventType = 6
	// The event is a file modify event
	FileEventType_FILE_EVENT_TYPE_MODIFY FileEventType = 7
	// The event is a file close for modify event
	FileEventType_FILE_EVENT_TYPE_CLOSE_FOR_MODIFY FileEventType = 8
	// The event is a attribute change event
	FileEventType_FILE_EVENT_TYPE_ATTRIBUTE_CHANGE FileEventType = 9
)

func (FileEventType) EnumDescriptor

func (FileEventType) EnumDescriptor() ([]byte, []int)

func (FileEventType) String

func (x FileEventType) String() string

type GetEventsRequest

type GetEventsRequest struct {
	// The Subscription message defines which events should be
	// returned in the stream.
	Subscription         *Subscription `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

A request message to initiate the streaming of telemetry events

func (*GetEventsRequest) Descriptor

func (*GetEventsRequest) Descriptor() ([]byte, []int)

func (*GetEventsRequest) GetSubscription

func (m *GetEventsRequest) GetSubscription() *Subscription

func (*GetEventsRequest) ProtoMessage

func (*GetEventsRequest) ProtoMessage()

func (*GetEventsRequest) Reset

func (m *GetEventsRequest) Reset()

func (*GetEventsRequest) String

func (m *GetEventsRequest) String() string

func (*GetEventsRequest) XXX_DiscardUnknown

func (m *GetEventsRequest) XXX_DiscardUnknown()

func (*GetEventsRequest) XXX_Marshal

func (m *GetEventsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetEventsRequest) XXX_Merge

func (dst *GetEventsRequest) XXX_Merge(src proto.Message)

func (*GetEventsRequest) XXX_Size

func (m *GetEventsRequest) XXX_Size() int

func (*GetEventsRequest) XXX_Unmarshal

func (m *GetEventsRequest) XXX_Unmarshal(b []byte) error

type GetEventsResponse

type GetEventsResponse struct {
	// Can publish one or more message(s) at a time
	Events []*ReceivedTelemetryEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
	// Can publish one or more status(es) at a time
	Statuses             []*status.Status `protobuf:"bytes,2,rep,name=statuses,proto3" json:"statuses,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

A response message containing telemetry events

func (*GetEventsResponse) Descriptor

func (*GetEventsResponse) Descriptor() ([]byte, []int)

func (*GetEventsResponse) GetEvents

func (m *GetEventsResponse) GetEvents() []*ReceivedTelemetryEvent

func (*GetEventsResponse) GetStatuses

func (m *GetEventsResponse) GetStatuses() []*status.Status

func (*GetEventsResponse) ProtoMessage

func (*GetEventsResponse) ProtoMessage()

func (*GetEventsResponse) Reset

func (m *GetEventsResponse) Reset()

func (*GetEventsResponse) String

func (m *GetEventsResponse) String() string

func (*GetEventsResponse) XXX_DiscardUnknown

func (m *GetEventsResponse) XXX_DiscardUnknown()

func (*GetEventsResponse) XXX_Marshal

func (m *GetEventsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetEventsResponse) XXX_Merge

func (dst *GetEventsResponse) XXX_Merge(src proto.Message)

func (*GetEventsResponse) XXX_Size

func (m *GetEventsResponse) XXX_Size() int

func (*GetEventsResponse) XXX_Unmarshal

func (m *GetEventsResponse) XXX_Unmarshal(b []byte) error

type IPv4Address

type IPv4Address struct {
	// The IPv4 address is network byte order (big endian)
	Address              uint32   `protobuf:"fixed32,1,opt,name=address,proto3" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An IPv4 address

func (*IPv4Address) Descriptor

func (*IPv4Address) Descriptor() ([]byte, []int)

func (*IPv4Address) GetAddress

func (m *IPv4Address) GetAddress() uint32

func (*IPv4Address) ProtoMessage

func (*IPv4Address) ProtoMessage()

func (*IPv4Address) Reset

func (m *IPv4Address) Reset()

func (*IPv4Address) String

func (m *IPv4Address) String() string

func (*IPv4Address) XXX_DiscardUnknown

func (m *IPv4Address) XXX_DiscardUnknown()

func (*IPv4Address) XXX_Marshal

func (m *IPv4Address) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IPv4Address) XXX_Merge

func (dst *IPv4Address) XXX_Merge(src proto.Message)

func (*IPv4Address) XXX_Size

func (m *IPv4Address) XXX_Size() int

func (*IPv4Address) XXX_Unmarshal

func (m *IPv4Address) XXX_Unmarshal(b []byte) error

type IPv4AddressAndPort

type IPv4AddressAndPort struct {
	// The IPv4 address
	Address *IPv4Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// The port
	Port                 uint32   `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An IPv4 address and port

func (*IPv4AddressAndPort) Descriptor

func (*IPv4AddressAndPort) Descriptor() ([]byte, []int)

func (*IPv4AddressAndPort) GetAddress

func (m *IPv4AddressAndPort) GetAddress() *IPv4Address

func (*IPv4AddressAndPort) GetPort

func (m *IPv4AddressAndPort) GetPort() uint32

func (*IPv4AddressAndPort) ProtoMessage

func (*IPv4AddressAndPort) ProtoMessage()

func (*IPv4AddressAndPort) Reset

func (m *IPv4AddressAndPort) Reset()

func (*IPv4AddressAndPort) String

func (m *IPv4AddressAndPort) String() string

func (*IPv4AddressAndPort) XXX_DiscardUnknown

func (m *IPv4AddressAndPort) XXX_DiscardUnknown()

func (*IPv4AddressAndPort) XXX_Marshal

func (m *IPv4AddressAndPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IPv4AddressAndPort) XXX_Merge

func (dst *IPv4AddressAndPort) XXX_Merge(src proto.Message)

func (*IPv4AddressAndPort) XXX_Size

func (m *IPv4AddressAndPort) XXX_Size() int

func (*IPv4AddressAndPort) XXX_Unmarshal

func (m *IPv4AddressAndPort) XXX_Unmarshal(b []byte) error

type IPv6Address

type IPv6Address struct {
	// The high-order bytes of the IPv6 address
	High uint64 `protobuf:"fixed64,1,opt,name=high,proto3" json:"high,omitempty"`
	// The low-order bytes of the IPv6 address
	Low                  uint64   `protobuf:"fixed64,2,opt,name=low,proto3" json:"low,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An IPv6 address

func (*IPv6Address) Descriptor

func (*IPv6Address) Descriptor() ([]byte, []int)

func (*IPv6Address) GetHigh

func (m *IPv6Address) GetHigh() uint64

func (*IPv6Address) GetLow

func (m *IPv6Address) GetLow() uint64

func (*IPv6Address) ProtoMessage

func (*IPv6Address) ProtoMessage()

func (*IPv6Address) Reset

func (m *IPv6Address) Reset()

func (*IPv6Address) String

func (m *IPv6Address) String() string

func (*IPv6Address) XXX_DiscardUnknown

func (m *IPv6Address) XXX_DiscardUnknown()

func (*IPv6Address) XXX_Marshal

func (m *IPv6Address) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IPv6Address) XXX_Merge

func (dst *IPv6Address) XXX_Merge(src proto.Message)

func (*IPv6Address) XXX_Size

func (m *IPv6Address) XXX_Size() int

func (*IPv6Address) XXX_Unmarshal

func (m *IPv6Address) XXX_Unmarshal(b []byte) error

type IPv6AddressAndPort

type IPv6AddressAndPort struct {
	// The IPv6 address
	Address *IPv6Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// The port
	Port                 uint32   `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An IPv6 address and port

func (*IPv6AddressAndPort) Descriptor

func (*IPv6AddressAndPort) Descriptor() ([]byte, []int)

func (*IPv6AddressAndPort) GetAddress

func (m *IPv6AddressAndPort) GetAddress() *IPv6Address

func (*IPv6AddressAndPort) GetPort

func (m *IPv6AddressAndPort) GetPort() uint32

func (*IPv6AddressAndPort) ProtoMessage

func (*IPv6AddressAndPort) ProtoMessage()

func (*IPv6AddressAndPort) Reset

func (m *IPv6AddressAndPort) Reset()

func (*IPv6AddressAndPort) String

func (m *IPv6AddressAndPort) String() string

func (*IPv6AddressAndPort) XXX_DiscardUnknown

func (m *IPv6AddressAndPort) XXX_DiscardUnknown()

func (*IPv6AddressAndPort) XXX_Marshal

func (m *IPv6AddressAndPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IPv6AddressAndPort) XXX_Merge

func (dst *IPv6AddressAndPort) XXX_Merge(src proto.Message)

func (*IPv6AddressAndPort) XXX_Size

func (m *IPv6AddressAndPort) XXX_Size() int

func (*IPv6AddressAndPort) XXX_Unmarshal

func (m *IPv6AddressAndPort) XXX_Unmarshal(b []byte) error

type KernelFunctionCallEvent

type KernelFunctionCallEvent struct {
	// This is a map of argument names and values. The keys are strings
	// that are the names of the arguments, and the values are the actual
	// values for each field.
	Arguments            map[string]*KernelFunctionCallEvent_FieldValue `` /* 159-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}                                       `json:"-"`
	XXX_unrecognized     []byte                                         `json:"-"`
	XXX_sizecache        int32                                          `json:"-"`
}

KernelFunctionCallEvent describes an event that occurred related to kernel functions being entered or exited.

func (*KernelFunctionCallEvent) Descriptor

func (*KernelFunctionCallEvent) Descriptor() ([]byte, []int)

func (*KernelFunctionCallEvent) GetArguments

func (*KernelFunctionCallEvent) ProtoMessage

func (*KernelFunctionCallEvent) ProtoMessage()

func (*KernelFunctionCallEvent) Reset

func (m *KernelFunctionCallEvent) Reset()

func (*KernelFunctionCallEvent) String

func (m *KernelFunctionCallEvent) String() string

func (*KernelFunctionCallEvent) XXX_DiscardUnknown

func (m *KernelFunctionCallEvent) XXX_DiscardUnknown()

func (*KernelFunctionCallEvent) XXX_Marshal

func (m *KernelFunctionCallEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*KernelFunctionCallEvent) XXX_Merge

func (dst *KernelFunctionCallEvent) XXX_Merge(src proto.Message)

func (*KernelFunctionCallEvent) XXX_Size

func (m *KernelFunctionCallEvent) XXX_Size() int

func (*KernelFunctionCallEvent) XXX_Unmarshal

func (m *KernelFunctionCallEvent) XXX_Unmarshal(b []byte) error

type KernelFunctionCallEventType

type KernelFunctionCallEventType int32

Possible KernelFunctionCallEvent types

const (
	// The type of event is unknown
	KernelFunctionCallEventType_KERNEL_FUNCTION_CALL_EVENT_TYPE_UNKNOWN KernelFunctionCallEventType = 0
	// The event is a kernel function being entered.
	KernelFunctionCallEventType_KERNEL_FUNCTION_CALL_EVENT_TYPE_ENTER KernelFunctionCallEventType = 1
	// The event is a kernel function being exited.
	KernelFunctionCallEventType_KERNEL_FUNCTION_CALL_EVENT_TYPE_EXIT KernelFunctionCallEventType = 2
)

func (KernelFunctionCallEventType) EnumDescriptor

func (KernelFunctionCallEventType) EnumDescriptor() ([]byte, []int)

func (KernelFunctionCallEventType) String

type KernelFunctionCallEvent_FieldType

type KernelFunctionCallEvent_FieldType int32

Possible field types

const (
	// The field type is unknown
	KernelFunctionCallEvent_UNKNOWN KernelFunctionCallEvent_FieldType = 0
	// The field type is an array of bytes
	KernelFunctionCallEvent_BYTES KernelFunctionCallEvent_FieldType = 1
	// The field type is a string
	KernelFunctionCallEvent_STRING KernelFunctionCallEvent_FieldType = 2
	// The field type is a signed 8-bit integer
	KernelFunctionCallEvent_SINT8 KernelFunctionCallEvent_FieldType = 3
	// The field type is a signed 16-bit integer
	KernelFunctionCallEvent_SINT16 KernelFunctionCallEvent_FieldType = 4
	// The field type is a signed 32-bit integer
	KernelFunctionCallEvent_SINT32 KernelFunctionCallEvent_FieldType = 5
	// The field type is a signed 64-bit integer
	KernelFunctionCallEvent_SINT64 KernelFunctionCallEvent_FieldType = 6
	// The field type is an unsigned 8-bit integer
	KernelFunctionCallEvent_UINT8 KernelFunctionCallEvent_FieldType = 7
	// The field type is an unsigned 16-bit integer
	KernelFunctionCallEvent_UINT16 KernelFunctionCallEvent_FieldType = 8
	// The field type is an unsigned 32-bit integer
	KernelFunctionCallEvent_UINT32 KernelFunctionCallEvent_FieldType = 9
	// The field type is an unsigned 64-bit integer
	KernelFunctionCallEvent_UINT64 KernelFunctionCallEvent_FieldType = 10
)

func (KernelFunctionCallEvent_FieldType) EnumDescriptor

func (KernelFunctionCallEvent_FieldType) EnumDescriptor() ([]byte, []int)

func (KernelFunctionCallEvent_FieldType) String

type KernelFunctionCallEvent_FieldValue

type KernelFunctionCallEvent_FieldValue struct {
	// The type represented by this field value.
	FieldType KernelFunctionCallEvent_FieldType `` /* 144-byte string literal not displayed */
	// Types that are valid to be assigned to Value:
	//	*KernelFunctionCallEvent_FieldValue_BytesValue
	//	*KernelFunctionCallEvent_FieldValue_StringValue
	//	*KernelFunctionCallEvent_FieldValue_SignedValue
	//	*KernelFunctionCallEvent_FieldValue_UnsignedValue
	Value                isKernelFunctionCallEvent_FieldValue_Value `protobuf_oneof:"value"`
	XXX_NoUnkeyedLiteral struct{}                                   `json:"-"`
	XXX_unrecognized     []byte                                     `json:"-"`
	XXX_sizecache        int32                                      `json:"-"`
}

The representation of a field value, which is composed of type information and the value itself.

func (*KernelFunctionCallEvent_FieldValue) Descriptor

func (*KernelFunctionCallEvent_FieldValue) Descriptor() ([]byte, []int)

func (*KernelFunctionCallEvent_FieldValue) GetBytesValue

func (m *KernelFunctionCallEvent_FieldValue) GetBytesValue() []byte

func (*KernelFunctionCallEvent_FieldValue) GetFieldType

func (*KernelFunctionCallEvent_FieldValue) GetSignedValue

func (m *KernelFunctionCallEvent_FieldValue) GetSignedValue() int64

func (*KernelFunctionCallEvent_FieldValue) GetStringValue

func (m *KernelFunctionCallEvent_FieldValue) GetStringValue() string

func (*KernelFunctionCallEvent_FieldValue) GetUnsignedValue

func (m *KernelFunctionCallEvent_FieldValue) GetUnsignedValue() uint64

func (*KernelFunctionCallEvent_FieldValue) GetValue

func (m *KernelFunctionCallEvent_FieldValue) GetValue() isKernelFunctionCallEvent_FieldValue_Value

func (*KernelFunctionCallEvent_FieldValue) ProtoMessage

func (*KernelFunctionCallEvent_FieldValue) ProtoMessage()

func (*KernelFunctionCallEvent_FieldValue) Reset

func (*KernelFunctionCallEvent_FieldValue) String

func (*KernelFunctionCallEvent_FieldValue) XXX_DiscardUnknown

func (m *KernelFunctionCallEvent_FieldValue) XXX_DiscardUnknown()

func (*KernelFunctionCallEvent_FieldValue) XXX_Marshal

func (m *KernelFunctionCallEvent_FieldValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*KernelFunctionCallEvent_FieldValue) XXX_Merge

func (dst *KernelFunctionCallEvent_FieldValue) XXX_Merge(src proto.Message)

func (*KernelFunctionCallEvent_FieldValue) XXX_OneofFuncs

func (*KernelFunctionCallEvent_FieldValue) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*KernelFunctionCallEvent_FieldValue) XXX_Size

func (*KernelFunctionCallEvent_FieldValue) XXX_Unmarshal

func (m *KernelFunctionCallEvent_FieldValue) XXX_Unmarshal(b []byte) error

type KernelFunctionCallEvent_FieldValue_BytesValue

type KernelFunctionCallEvent_FieldValue_BytesValue struct {
	BytesValue []byte `protobuf:"bytes,2,opt,name=bytes_value,json=bytesValue,proto3,oneof"`
}

type KernelFunctionCallEvent_FieldValue_SignedValue

type KernelFunctionCallEvent_FieldValue_SignedValue struct {
	SignedValue int64 `protobuf:"zigzag64,4,opt,name=signed_value,json=signedValue,proto3,oneof"`
}

type KernelFunctionCallEvent_FieldValue_StringValue

type KernelFunctionCallEvent_FieldValue_StringValue struct {
	StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"`
}

type KernelFunctionCallEvent_FieldValue_UnsignedValue

type KernelFunctionCallEvent_FieldValue_UnsignedValue struct {
	UnsignedValue uint64 `protobuf:"varint,5,opt,name=unsigned_value,json=unsignedValue,proto3,oneof"`
}

type KernelFunctionCallFilter

type KernelFunctionCallFilter struct {
	// Required; the kernel function call event type to match
	Type KernelFunctionCallEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.KernelFunctionCallEventType" json:"type,omitempty"`
	// Required; the kernel symbol to match on
	Symbol string `protobuf:"bytes,10,opt,name=symbol,proto3" json:"symbol,omitempty"`
	// Optional; the field names and data to be returned by the kernel
	// when the event triggers. Note that this is a map. The keys are the
	// names to assign to the returned fields, and the values are a string
	// describing the data to return, usually an expression involving the
	// register containing the desired data and a suffix indicating the
	// type of the data (e.g., "s32", "string", "u64", etc.). This map is
	// used to construct the "fetchargs" passed to the kernel when creating
	// the kernel probe.
	Arguments map[string]string `` /* 160-byte string literal not displayed */
	// Optional; a filter to apply to kernel probe.
	FilterExpression     *Expression `protobuf:"bytes,100,opt,name=filter_expression,json=filterExpression,proto3" json:"filter_expression,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

The KernelFunctionCallFilter specifies which kernel function call events to include in the Subscription. The arguments map defines values that will be fetched at each call and returned along with the event. In order to minimize event volume, a filter may be included that filters the kernel function calls based on the observed values of the specified arguments at the time of the kernel function call.

func (*KernelFunctionCallFilter) Descriptor

func (*KernelFunctionCallFilter) Descriptor() ([]byte, []int)

func (*KernelFunctionCallFilter) GetArguments

func (m *KernelFunctionCallFilter) GetArguments() map[string]string

func (*KernelFunctionCallFilter) GetFilterExpression

func (m *KernelFunctionCallFilter) GetFilterExpression() *Expression

func (*KernelFunctionCallFilter) GetSymbol

func (m *KernelFunctionCallFilter) GetSymbol() string

func (*KernelFunctionCallFilter) GetType

func (*KernelFunctionCallFilter) ProtoMessage

func (*KernelFunctionCallFilter) ProtoMessage()

func (*KernelFunctionCallFilter) Reset

func (m *KernelFunctionCallFilter) Reset()

func (*KernelFunctionCallFilter) String

func (m *KernelFunctionCallFilter) String() string

func (*KernelFunctionCallFilter) XXX_DiscardUnknown

func (m *KernelFunctionCallFilter) XXX_DiscardUnknown()

func (*KernelFunctionCallFilter) XXX_Marshal

func (m *KernelFunctionCallFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*KernelFunctionCallFilter) XXX_Merge

func (dst *KernelFunctionCallFilter) XXX_Merge(src proto.Message)

func (*KernelFunctionCallFilter) XXX_Size

func (m *KernelFunctionCallFilter) XXX_Size() int

func (*KernelFunctionCallFilter) XXX_Unmarshal

func (m *KernelFunctionCallFilter) XXX_Unmarshal(b []byte) error

type LimitModifier

type LimitModifier struct {
	// Limit the number of events
	Limit                int64    `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

The LimitModifier cancels the subscription on each Sensor after the specified number of events. The entire Subscription may return more events than this depending on how many active Sensors there are.

func (*LimitModifier) Descriptor

func (*LimitModifier) Descriptor() ([]byte, []int)

func (*LimitModifier) GetLimit

func (m *LimitModifier) GetLimit() int64

func (*LimitModifier) ProtoMessage

func (*LimitModifier) ProtoMessage()

func (*LimitModifier) Reset

func (m *LimitModifier) Reset()

func (*LimitModifier) String

func (m *LimitModifier) String() string

func (*LimitModifier) XXX_DiscardUnknown

func (m *LimitModifier) XXX_DiscardUnknown()

func (*LimitModifier) XXX_Marshal

func (m *LimitModifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LimitModifier) XXX_Merge

func (dst *LimitModifier) XXX_Merge(src proto.Message)

func (*LimitModifier) XXX_Size

func (m *LimitModifier) XXX_Size() int

func (*LimitModifier) XXX_Unmarshal

func (m *LimitModifier) XXX_Unmarshal(b []byte) error

type LostRecordEvent

type LostRecordEvent struct {
	// Number of lost records observed
	Lost uint64 `protobuf:"varint,1,opt,name=lost,proto3" json:"lost,omitempty"`
	// Type of events lost
	Type                 LostRecordEventType `protobuf:"varint,2,opt,name=type,proto3,enum=capsule8.api.v0.LostRecordEventType" json:"type,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (*LostRecordEvent) Descriptor

func (*LostRecordEvent) Descriptor() ([]byte, []int)

func (*LostRecordEvent) GetLost

func (m *LostRecordEvent) GetLost() uint64

func (*LostRecordEvent) GetType

func (m *LostRecordEvent) GetType() LostRecordEventType

func (*LostRecordEvent) ProtoMessage

func (*LostRecordEvent) ProtoMessage()

func (*LostRecordEvent) Reset

func (m *LostRecordEvent) Reset()

func (*LostRecordEvent) String

func (m *LostRecordEvent) String() string

func (*LostRecordEvent) XXX_DiscardUnknown

func (m *LostRecordEvent) XXX_DiscardUnknown()

func (*LostRecordEvent) XXX_Marshal

func (m *LostRecordEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LostRecordEvent) XXX_Merge

func (dst *LostRecordEvent) XXX_Merge(src proto.Message)

func (*LostRecordEvent) XXX_Size

func (m *LostRecordEvent) XXX_Size() int

func (*LostRecordEvent) XXX_Unmarshal

func (m *LostRecordEvent) XXX_Unmarshal(b []byte) error

type LostRecordEventType

type LostRecordEventType int32
const (
	// LOST_RECORD_EVENT_TYPE_UNKNOWN is a lost record of unknown type.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_UNKNOWN LostRecordEventType = 0
	// LOST_RECORD_EVENT_TYPE_SUBSCRIPTION is a lost record from a
	// subscription. It may include kprobes, uprobes, network events,
	// syscalls, etc. but it does not include meta events like process,
	// container, or file monitoring events. This type is only ever sent to
	// a specific subscription that has lost a kernel generated event.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_SUBSCRIPTION LostRecordEventType = 1
	// LOST_RECORD_EVENT_TYPE_PROCESS is a lost record relating to process
	// meta events. This type is broadcast to all subscriptions, regardless
	// of whether they've explicitly subscribed to process events or not,
	// because it affects everything.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_PROCESS LostRecordEventType = 2
	// LOST_RECORD_EVENT_TYPE_CONTAINER is a lost record relating to
	// container meta events. This type is broadcast to all subscriptions,
	// regardless of whether they've explicitly subscribed to process events
	// or not, because it affects everything.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_CONTAINER LostRecordEventType = 3
	// LOST_RECORD_EVENT_TYPE_FILE_CREATE is a lost record relating to file
	// create events. It is only sent to subscriptions that are subscribed
	// to file create events.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_FILE_CREATE LostRecordEventType = 4
	// LOST_RECORD_EVENT_TYPE_FILE_DELETE is a lost record relating to file
	// delete events. It is only sent to subscriptions that are subscribed
	// to file delete events.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_FILE_DELETE LostRecordEventType = 5
	// LOST_RECORD_EVENT_TYPE_FILE_LINK is a lost record relating to file
	// link events. It is only sent to subscriptions that are subscribed to
	// file link events.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_FILE_LINK LostRecordEventType = 6
	// LOST_RECORD_EVENT_TYPE_FILE_SYMLINK is a lost record relating to file
	// symlink events. It is only sent to subscriptions that are subscribed
	// to file link events.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_FILE_SYMLINK LostRecordEventType = 7
	// LOST_RECORD_EVENT_TYPE_FILE_OPEN_MODIFY is a lost record relating to
	// file open modify events. It is only sent to subscriptions that are
	// subscribed to file open modify events.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_FILE_OPEN_MODIFY LostRecordEventType = 8
	// LOST_RECORD_EVENT_TYPE_FILE_CLOSE_MODIY is a lost record relating to
	// file close modify events. It is only sent to subscriptions that are
	// subscribed to file close modify events.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_FILE_CLOSE_MODIFY LostRecordEventType = 9
	// LOST_RECORD_EVENT_TYPE_FILE_MODIFY is a lost record relating to file
	// modify events. It is only sent to subscriptions that are subscribed
	// to file modify events.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_FILE_MODIFY LostRecordEventType = 10
	// LOST_RECORD_EVENT_TYPE_FILE_RENAME is a lost record relating to file
	// rename events. It is only sent to subscriptions that are subscribed
	// to file rename events.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_FILE_RENAME LostRecordEventType = 11
	// LOST_RECORD_EVENT_TYPE_FILE_ATTRIBUTE_CHANGE is a lost record
	// relating to file attribute change events. It is only sent to
	// subscriptions that are subscribed to file attribute change events.
	LostRecordEventType_LOST_RECORD_EVENT_TYPE_FILE_ATTRIBUTE_CHANGE LostRecordEventType = 12
)

func (LostRecordEventType) EnumDescriptor

func (LostRecordEventType) EnumDescriptor() ([]byte, []int)

func (LostRecordEventType) String

func (x LostRecordEventType) String() string

type Modifier

type Modifier struct {
	Throttle             *ThrottleModifier `protobuf:"bytes,1,opt,name=throttle,proto3" json:"throttle,omitempty"`
	Limit                *LimitModifier    `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

Modifier specifies which stream modifiers to apply if any. For a given stream, a modifier can apply a throttle or limit etc. Modifiers can be used together.

func (*Modifier) Descriptor

func (*Modifier) Descriptor() ([]byte, []int)

func (*Modifier) GetLimit

func (m *Modifier) GetLimit() *LimitModifier

func (*Modifier) GetThrottle

func (m *Modifier) GetThrottle() *ThrottleModifier

func (*Modifier) ProtoMessage

func (*Modifier) ProtoMessage()

func (*Modifier) Reset

func (m *Modifier) Reset()

func (*Modifier) String

func (m *Modifier) String() string

func (*Modifier) XXX_DiscardUnknown

func (m *Modifier) XXX_DiscardUnknown()

func (*Modifier) XXX_Marshal

func (m *Modifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Modifier) XXX_Merge

func (dst *Modifier) XXX_Merge(src proto.Message)

func (*Modifier) XXX_Size

func (m *Modifier) XXX_Size() int

func (*Modifier) XXX_Unmarshal

func (m *Modifier) XXX_Unmarshal(b []byte) error

type NetworkAddress

type NetworkAddress struct {
	// The address family that specifies which address format is in use
	Family NetworkAddressFamily `protobuf:"varint,1,opt,name=family,proto3,enum=capsule8.api.v0.NetworkAddressFamily" json:"family,omitempty"`
	// Types that are valid to be assigned to Address:
	//	*NetworkAddress_Ipv4Address
	//	*NetworkAddress_Ipv6Address
	//	*NetworkAddress_LocalAddress
	Address              isNetworkAddress_Address `protobuf_oneof:"address"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

A network address

func (*NetworkAddress) Descriptor

func (*NetworkAddress) Descriptor() ([]byte, []int)

func (*NetworkAddress) GetAddress

func (m *NetworkAddress) GetAddress() isNetworkAddress_Address

func (*NetworkAddress) GetFamily

func (m *NetworkAddress) GetFamily() NetworkAddressFamily

func (*NetworkAddress) GetIpv4Address

func (m *NetworkAddress) GetIpv4Address() *IPv4AddressAndPort

func (*NetworkAddress) GetIpv6Address

func (m *NetworkAddress) GetIpv6Address() *IPv6AddressAndPort

func (*NetworkAddress) GetLocalAddress

func (m *NetworkAddress) GetLocalAddress() string

func (*NetworkAddress) ProtoMessage

func (*NetworkAddress) ProtoMessage()

func (*NetworkAddress) Reset

func (m *NetworkAddress) Reset()

func (*NetworkAddress) String

func (m *NetworkAddress) String() string

func (*NetworkAddress) XXX_DiscardUnknown

func (m *NetworkAddress) XXX_DiscardUnknown()

func (*NetworkAddress) XXX_Marshal

func (m *NetworkAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*NetworkAddress) XXX_Merge

func (dst *NetworkAddress) XXX_Merge(src proto.Message)

func (*NetworkAddress) XXX_OneofFuncs

func (*NetworkAddress) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*NetworkAddress) XXX_Size

func (m *NetworkAddress) XXX_Size() int

func (*NetworkAddress) XXX_Unmarshal

func (m *NetworkAddress) XXX_Unmarshal(b []byte) error

type NetworkAddressFamily

type NetworkAddressFamily int32

Supported network address families

const (
	// The network address family is unknown
	NetworkAddressFamily_NETWORK_ADDRESS_FAMILY_UNKNOWN NetworkAddressFamily = 0
	// AF_INET; IPv4 address formats
	NetworkAddressFamily_NETWORK_ADDRESS_FAMILY_INET NetworkAddressFamily = 1
	// AF_INET6; IPv6 address formats
	NetworkAddressFamily_NETWORK_ADDRESS_FAMILY_INET6 NetworkAddressFamily = 2
	// AF_LOCAL / AF_UNIX; local filesystem address formats
	NetworkAddressFamily_NETWORK_ADDRESS_FAMILY_LOCAL NetworkAddressFamily = 3
)

func (NetworkAddressFamily) EnumDescriptor

func (NetworkAddressFamily) EnumDescriptor() ([]byte, []int)

func (NetworkAddressFamily) String

func (x NetworkAddressFamily) String() string

type NetworkAddress_Ipv4Address

type NetworkAddress_Ipv4Address struct {
	Ipv4Address *IPv4AddressAndPort `protobuf:"bytes,10,opt,name=ipv4_address,json=ipv4Address,proto3,oneof"`
}

type NetworkAddress_Ipv6Address

type NetworkAddress_Ipv6Address struct {
	Ipv6Address *IPv6AddressAndPort `protobuf:"bytes,20,opt,name=ipv6_address,json=ipv6Address,proto3,oneof"`
}

type NetworkAddress_LocalAddress

type NetworkAddress_LocalAddress struct {
	LocalAddress string `protobuf:"bytes,30,opt,name=local_address,json=localAddress,proto3,oneof"`
}

type NetworkEvent

type NetworkEvent struct {
	// The type of event described by this NetworkEvent message.
	Type NetworkEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.NetworkEventType" json:"type,omitempty"`
	// Present when the event describes a network event that is an attempt
	// to perform a network related action. This is the socket descriptor
	// used to perform the action.
	Sockfd uint64 `protobuf:"varint,10,opt,name=sockfd,proto3" json:"sockfd,omitempty"`
	// Present when the event describes a network event that is an attempt
	// to perform a network related action that includes an address. This
	// is that address.
	Address *NetworkAddress `protobuf:"bytes,11,opt,name=address,proto3" json:"address,omitempty"`
	// Present when the event describes a network event that is the result
	// of an attempted network related action. This is the return code from
	// the system call.
	Result int64 `protobuf:"zigzag64,12,opt,name=result,proto3" json:"result,omitempty"`
	// Present only when the event describes a listen attempt. This is the
	// value of the backlog argument passed to listen(2).
	Backlog              uint64   `protobuf:"varint,13,opt,name=backlog,proto3" json:"backlog,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

NetworkEvent describes an event that occurred related to network activity occurring as detected by the Sensor.

func (*NetworkEvent) Descriptor

func (*NetworkEvent) Descriptor() ([]byte, []int)

func (*NetworkEvent) GetAddress

func (m *NetworkEvent) GetAddress() *NetworkAddress

func (*NetworkEvent) GetBacklog

func (m *NetworkEvent) GetBacklog() uint64

func (*NetworkEvent) GetResult

func (m *NetworkEvent) GetResult() int64

func (*NetworkEvent) GetSockfd

func (m *NetworkEvent) GetSockfd() uint64

func (*NetworkEvent) GetType

func (m *NetworkEvent) GetType() NetworkEventType

func (*NetworkEvent) ProtoMessage

func (*NetworkEvent) ProtoMessage()

func (*NetworkEvent) Reset

func (m *NetworkEvent) Reset()

func (*NetworkEvent) String

func (m *NetworkEvent) String() string

func (*NetworkEvent) XXX_DiscardUnknown

func (m *NetworkEvent) XXX_DiscardUnknown()

func (*NetworkEvent) XXX_Marshal

func (m *NetworkEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*NetworkEvent) XXX_Merge

func (dst *NetworkEvent) XXX_Merge(src proto.Message)

func (*NetworkEvent) XXX_Size

func (m *NetworkEvent) XXX_Size() int

func (*NetworkEvent) XXX_Unmarshal

func (m *NetworkEvent) XXX_Unmarshal(b []byte) error

type NetworkEventFilter

type NetworkEventFilter struct {
	// Required; the network event type to match
	Type NetworkEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.NetworkEventType" json:"type,omitempty"`
	// Optional; a filter to apply to events. Only events for which the
	// evaluation of the filter expression is true will be returned.
	FilterExpression     *Expression `protobuf:"bytes,100,opt,name=filter_expression,json=filterExpression,proto3" json:"filter_expression,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

The NetworkEventFilter specifies which network events to include in the Subscription. The included filter can be used to specify precisely which network events should be included.

func (*NetworkEventFilter) Descriptor

func (*NetworkEventFilter) Descriptor() ([]byte, []int)

func (*NetworkEventFilter) GetFilterExpression

func (m *NetworkEventFilter) GetFilterExpression() *Expression

func (*NetworkEventFilter) GetType

func (m *NetworkEventFilter) GetType() NetworkEventType

func (*NetworkEventFilter) ProtoMessage

func (*NetworkEventFilter) ProtoMessage()

func (*NetworkEventFilter) Reset

func (m *NetworkEventFilter) Reset()

func (*NetworkEventFilter) String

func (m *NetworkEventFilter) String() string

func (*NetworkEventFilter) XXX_DiscardUnknown

func (m *NetworkEventFilter) XXX_DiscardUnknown()

func (*NetworkEventFilter) XXX_Marshal

func (m *NetworkEventFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*NetworkEventFilter) XXX_Merge

func (dst *NetworkEventFilter) XXX_Merge(src proto.Message)

func (*NetworkEventFilter) XXX_Size

func (m *NetworkEventFilter) XXX_Size() int

func (*NetworkEventFilter) XXX_Unmarshal

func (m *NetworkEventFilter) XXX_Unmarshal(b []byte) error

type NetworkEventType

type NetworkEventType int32

Possible network event types

const (
	// The type of event is unknown
	NetworkEventType_NETWORK_EVENT_TYPE_UNKNOWN NetworkEventType = 0
	// The event is an attempt to connect to an address
	NetworkEventType_NETWORK_EVENT_TYPE_CONNECT_ATTEMPT NetworkEventType = 1
	// The event is the result of an attempt to connect to an address
	NetworkEventType_NETWORK_EVENT_TYPE_CONNECT_RESULT NetworkEventType = 2
	// The event is an attempt to bind to a local address
	NetworkEventType_NETWORK_EVENT_TYPE_BIND_ATTEMPT NetworkEventType = 3
	// The event is the result of an attempt to bind to a local address
	NetworkEventType_NETWORK_EVENT_TYPE_BIND_RESULT NetworkEventType = 4
	// The event is an attempt to listen for connections
	NetworkEventType_NETWORK_EVENT_TYPE_LISTEN_ATTEMPT NetworkEventType = 5
	// The event is the result of an attempt to listen for connections
	NetworkEventType_NETWORK_EVENT_TYPE_LISTEN_RESULT NetworkEventType = 6
	// The event is an attempt to accept an incoming connection
	NetworkEventType_NETWORK_EVENT_TYPE_ACCEPT_ATTEMPT NetworkEventType = 7
	// The event is the result of an attempt to accept an incoming
	// connection
	NetworkEventType_NETWORK_EVENT_TYPE_ACCEPT_RESULT NetworkEventType = 8
	// The event is an attempt to send data to a specific address
	NetworkEventType_NETWORK_EVENT_TYPE_SENDTO_ATTEMPT NetworkEventType = 9
	// The event is the result of an attempt to send data to a specific
	// address
	NetworkEventType_NETWORK_EVENT_TYPE_SENDTO_RESULT NetworkEventType = 10
	// The event is an attempt to receive data from a specific address
	NetworkEventType_NETWORK_EVENT_TYPE_RECVFROM_ATTEMPT NetworkEventType = 11
	// The event is the result of an attempt to receive data from a
	// specific address
	NetworkEventType_NETWORK_EVENT_TYPE_RECVFROM_RESULT NetworkEventType = 12
)

func (NetworkEventType) EnumDescriptor

func (NetworkEventType) EnumDescriptor() ([]byte, []int)

func (NetworkEventType) String

func (x NetworkEventType) String() string

type PerformanceEvent

type PerformanceEvent struct {
	// The total amount of time that the event has been enabled in the
	// sensor. This corresponds to PERF_FORMAT_TOTAL_TIME_ENABLED that is
	// reported by the kernel with the event sample.
	TotalTimeEnabled uint64 `protobuf:"varint,1,opt,name=total_time_enabled,json=totalTimeEnabled,proto3" json:"total_time_enabled,omitempty"`
	// The total amount of time that the event subscription has been running
	// in the sensor. This corresponds to PERF_FORMAT_TOTAL_TIME_RUNNING
	// that is reported by the kernel with the event sample.
	TotalTimeRunning uint64 `protobuf:"varint,2,opt,name=total_time_running,json=totalTimeRunning,proto3" json:"total_time_running,omitempty"`
	// These are the counter values reported by the kernel with the event
	// sample.
	Values               []*PerformanceEventValue `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

PerformanceEvent describes an event that occurred related to performance event activity in the Sensor.

func (*PerformanceEvent) Descriptor

func (*PerformanceEvent) Descriptor() ([]byte, []int)

func (*PerformanceEvent) GetTotalTimeEnabled

func (m *PerformanceEvent) GetTotalTimeEnabled() uint64

func (*PerformanceEvent) GetTotalTimeRunning

func (m *PerformanceEvent) GetTotalTimeRunning() uint64

func (*PerformanceEvent) GetValues

func (m *PerformanceEvent) GetValues() []*PerformanceEventValue

func (*PerformanceEvent) ProtoMessage

func (*PerformanceEvent) ProtoMessage()

func (*PerformanceEvent) Reset

func (m *PerformanceEvent) Reset()

func (*PerformanceEvent) String

func (m *PerformanceEvent) String() string

func (*PerformanceEvent) XXX_DiscardUnknown

func (m *PerformanceEvent) XXX_DiscardUnknown()

func (*PerformanceEvent) XXX_Marshal

func (m *PerformanceEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PerformanceEvent) XXX_Merge

func (dst *PerformanceEvent) XXX_Merge(src proto.Message)

func (*PerformanceEvent) XXX_Size

func (m *PerformanceEvent) XXX_Size() int

func (*PerformanceEvent) XXX_Unmarshal

func (m *PerformanceEvent) XXX_Unmarshal(b []byte) error

type PerformanceEventCounter

type PerformanceEventCounter struct {
	// Required; the performance event type.
	Type PerformanceEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.PerformanceEventType" json:"type,omitempty"`
	// Required; the performance event type's configuration, which is
	// defined by the Linux perf interface. This corresponds to the config
	// field in a struct perf_event_attr that is documented in the
	// perf_event_open(2) man page.
	Config               uint64   `protobuf:"varint,2,opt,name=config,proto3" json:"config,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

PerformanceEventCounter represents a single performance event counter group member, where each member may have a different type and configuration.

func (*PerformanceEventCounter) Descriptor

func (*PerformanceEventCounter) Descriptor() ([]byte, []int)

func (*PerformanceEventCounter) GetConfig

func (m *PerformanceEventCounter) GetConfig() uint64

func (*PerformanceEventCounter) GetType

func (*PerformanceEventCounter) ProtoMessage

func (*PerformanceEventCounter) ProtoMessage()

func (*PerformanceEventCounter) Reset

func (m *PerformanceEventCounter) Reset()

func (*PerformanceEventCounter) String

func (m *PerformanceEventCounter) String() string

func (*PerformanceEventCounter) XXX_DiscardUnknown

func (m *PerformanceEventCounter) XXX_DiscardUnknown()

func (*PerformanceEventCounter) XXX_Marshal

func (m *PerformanceEventCounter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PerformanceEventCounter) XXX_Merge

func (dst *PerformanceEventCounter) XXX_Merge(src proto.Message)

func (*PerformanceEventCounter) XXX_Size

func (m *PerformanceEventCounter) XXX_Size() int

func (*PerformanceEventCounter) XXX_Unmarshal

func (m *PerformanceEventCounter) XXX_Unmarshal(b []byte) error

type PerformanceEventFilter

type PerformanceEventFilter struct {
	// Required; the performance events to monitor for. The sensor will
	// create a new group with the order of the events preserved.
	Events []*PerformanceEventCounter `protobuf:"bytes,10,rep,name=events,proto3" json:"events,omitempty"`
	// Required; the sample rate type to use, which may be either period or
	// frequency as described for SampleRateType.
	SampleRateType SampleRateType `` /* 143-byte string literal not displayed */
	// Required; the sample rate to use
	//
	// Types that are valid to be assigned to SampleRate:
	//	*PerformanceEventFilter_Period
	//	*PerformanceEventFilter_Frequency
	SampleRate           isPerformanceEventFilter_SampleRate `protobuf_oneof:"sample_rate"`
	XXX_NoUnkeyedLiteral struct{}                            `json:"-"`
	XXX_unrecognized     []byte                              `json:"-"`
	XXX_sizecache        int32                               `json:"-"`
}

The PerformanceEventFilter specifies which performance events to include in the Subscription.

func (*PerformanceEventFilter) Descriptor

func (*PerformanceEventFilter) Descriptor() ([]byte, []int)

func (*PerformanceEventFilter) GetEvents

func (*PerformanceEventFilter) GetFrequency

func (m *PerformanceEventFilter) GetFrequency() uint64

func (*PerformanceEventFilter) GetPeriod

func (m *PerformanceEventFilter) GetPeriod() uint64

func (*PerformanceEventFilter) GetSampleRate

func (m *PerformanceEventFilter) GetSampleRate() isPerformanceEventFilter_SampleRate

func (*PerformanceEventFilter) GetSampleRateType

func (m *PerformanceEventFilter) GetSampleRateType() SampleRateType

func (*PerformanceEventFilter) ProtoMessage

func (*PerformanceEventFilter) ProtoMessage()

func (*PerformanceEventFilter) Reset

func (m *PerformanceEventFilter) Reset()

func (*PerformanceEventFilter) String

func (m *PerformanceEventFilter) String() string

func (*PerformanceEventFilter) XXX_DiscardUnknown

func (m *PerformanceEventFilter) XXX_DiscardUnknown()

func (*PerformanceEventFilter) XXX_Marshal

func (m *PerformanceEventFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PerformanceEventFilter) XXX_Merge

func (dst *PerformanceEventFilter) XXX_Merge(src proto.Message)

func (*PerformanceEventFilter) XXX_OneofFuncs

func (*PerformanceEventFilter) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*PerformanceEventFilter) XXX_Size

func (m *PerformanceEventFilter) XXX_Size() int

func (*PerformanceEventFilter) XXX_Unmarshal

func (m *PerformanceEventFilter) XXX_Unmarshal(b []byte) error

type PerformanceEventFilter_Frequency

type PerformanceEventFilter_Frequency struct {
	Frequency uint64 `protobuf:"varint,13,opt,name=frequency,proto3,oneof"`
}

type PerformanceEventFilter_Period

type PerformanceEventFilter_Period struct {
	Period uint64 `protobuf:"varint,12,opt,name=period,proto3,oneof"`
}

type PerformanceEventType

type PerformanceEventType int32

Possible performance event types

const (
	// The type of event is unknown
	PerformanceEventType_PERFORMANCE_EVENT_TYPE_UNKNOWN PerformanceEventType = 0
	// The event is a hardware based event (PERF_TYPE_HARDWARE)
	PerformanceEventType_PERFORMANCE_EVENT_TYPE_HARDWARE PerformanceEventType = 1
	// The event is a hardware cache based event (PERF_TYPE_HW_CACHE)
	PerformanceEventType_PERFORMANCE_EVENT_TYPE_HARDWARE_CACHE PerformanceEventType = 2
	// The event is a software based event (PERF_TYPE_SOFTWARE)
	PerformanceEventType_PERFORMANCE_EVENT_TYPE_SOFTWARE PerformanceEventType = 3
)

func (PerformanceEventType) EnumDescriptor

func (PerformanceEventType) EnumDescriptor() ([]byte, []int)

func (PerformanceEventType) String

func (x PerformanceEventType) String() string

type PerformanceEventValue

type PerformanceEventValue struct {
	// The type of performance event counter.
	Type PerformanceEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.PerformanceEventType" json:"type,omitempty"`
	// The config value used in the registration of the event group.
	Config uint64 `protobuf:"varint,2,opt,name=config,proto3" json:"config,omitempty"`
	// The current value of the counter associated with the type and config
	// value pair.
	Value                uint64   `protobuf:"varint,3,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

PerformanceEventValue is a single performance event counter. It contains the perf config value and its associated counter value.

func (*PerformanceEventValue) Descriptor

func (*PerformanceEventValue) Descriptor() ([]byte, []int)

func (*PerformanceEventValue) GetConfig

func (m *PerformanceEventValue) GetConfig() uint64

func (*PerformanceEventValue) GetType

func (*PerformanceEventValue) GetValue

func (m *PerformanceEventValue) GetValue() uint64

func (*PerformanceEventValue) ProtoMessage

func (*PerformanceEventValue) ProtoMessage()

func (*PerformanceEventValue) Reset

func (m *PerformanceEventValue) Reset()

func (*PerformanceEventValue) String

func (m *PerformanceEventValue) String() string

func (*PerformanceEventValue) XXX_DiscardUnknown

func (m *PerformanceEventValue) XXX_DiscardUnknown()

func (*PerformanceEventValue) XXX_Marshal

func (m *PerformanceEventValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PerformanceEventValue) XXX_Merge

func (dst *PerformanceEventValue) XXX_Merge(src proto.Message)

func (*PerformanceEventValue) XXX_Size

func (m *PerformanceEventValue) XXX_Size() int

func (*PerformanceEventValue) XXX_Unmarshal

func (m *PerformanceEventValue) XXX_Unmarshal(b []byte) error

type Process

type Process struct {
	Pid                  int32    `protobuf:"zigzag32,1,opt,name=pid,proto3" json:"pid,omitempty"`
	Command              string   `protobuf:"bytes,2,opt,name=command,proto3" json:"command,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Process) Descriptor

func (*Process) Descriptor() ([]byte, []int)

func (*Process) GetCommand

func (m *Process) GetCommand() string

func (*Process) GetPid

func (m *Process) GetPid() int32

func (*Process) ProtoMessage

func (*Process) ProtoMessage()

func (*Process) Reset

func (m *Process) Reset()

func (*Process) String

func (m *Process) String() string

func (*Process) XXX_DiscardUnknown

func (m *Process) XXX_DiscardUnknown()

func (*Process) XXX_Marshal

func (m *Process) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Process) XXX_Merge

func (dst *Process) XXX_Merge(src proto.Message)

func (*Process) XXX_Size

func (m *Process) XXX_Size() int

func (*Process) XXX_Unmarshal

func (m *Process) XXX_Unmarshal(b []byte) error

type ProcessEvent

type ProcessEvent struct {
	// The type of event described by this ProcessEvent message
	Type ProcessEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.ProcessEventType" json:"type,omitempty"`
	// Present when the event is a fork event. This is the PID of the
	// new child process.
	ForkChildPid int32 `protobuf:"zigzag32,10,opt,name=fork_child_pid,json=forkChildPid,proto3" json:"fork_child_pid,omitempty"`
	// Present when the event is a fork event. This is the Sensor's process
	// ID of the new child process.
	ForkChildId string `protobuf:"bytes,11,opt,name=fork_child_id,json=forkChildId,proto3" json:"fork_child_id,omitempty"`
	// Present when the event is a fork event. This is the flags parameter
	// passed to sys_clone.
	ForkCloneFlags uint64 `protobuf:"varint,12,opt,name=fork_clone_flags,json=forkCloneFlags,proto3" json:"fork_clone_flags,omitempty"`
	// Present when the event is a fork event. This is the stack_start
	// parameter passed to sys_clone.
	ForkStackStart uint64 `protobuf:"varint,13,opt,name=fork_stack_start,json=forkStackStart,proto3" json:"fork_stack_start,omitempty"`
	// Present when the event is an exec event. This is the filename of the
	// executable that was executed.
	ExecFilename string `protobuf:"bytes,20,opt,name=exec_filename,json=execFilename,proto3" json:"exec_filename,omitempty"`
	// Present when the event is an exec event. Repeated for each argument
	// passed to the executable on the command-line.
	ExecCommandLine []string `protobuf:"bytes,21,rep,name=exec_command_line,json=execCommandLine,proto3" json:"exec_command_line,omitempty"`
	// Present when the event is an exit event. This is the exit code that
	// the process exited with.
	ExitCode int32 `protobuf:"zigzag32,30,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
	// Present when the event is an exit event. This will typically be one9
	// of the values defined in stdlib.h like EXIT_SUCCESS, EXIT_FAILURE,
	// or EXIT_USAGE.
	ExitStatus uint32 `protobuf:"varint,31,opt,name=exit_status,json=exitStatus,proto3" json:"exit_status,omitempty"`
	// Present when the event is an exit event. If non-zero, this is the
	// signal number that the process was terminated with.
	ExitSignal uint32 `protobuf:"varint,32,opt,name=exit_signal,json=exitSignal,proto3" json:"exit_signal,omitempty"`
	// Present when the event is an exit event. If true, indicates that the
	// process dumped a core when it terminated.
	ExitCoreDumped bool `protobuf:"varint,33,opt,name=exit_core_dumped,json=exitCoreDumped,proto3" json:"exit_core_dumped,omitempty"`
	// Present when the event is an update event that informs of an update
	// to the process's current working directory.
	UpdateCwd            string   `protobuf:"bytes,40,opt,name=update_cwd,json=updateCwd,proto3" json:"update_cwd,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

ProcessEvent describes an event that occurred related to processes starting and exiting as detected by the Sensor.

func (*ProcessEvent) Descriptor

func (*ProcessEvent) Descriptor() ([]byte, []int)

func (*ProcessEvent) GetExecCommandLine

func (m *ProcessEvent) GetExecCommandLine() []string

func (*ProcessEvent) GetExecFilename

func (m *ProcessEvent) GetExecFilename() string

func (*ProcessEvent) GetExitCode

func (m *ProcessEvent) GetExitCode() int32

func (*ProcessEvent) GetExitCoreDumped

func (m *ProcessEvent) GetExitCoreDumped() bool

func (*ProcessEvent) GetExitSignal

func (m *ProcessEvent) GetExitSignal() uint32

func (*ProcessEvent) GetExitStatus

func (m *ProcessEvent) GetExitStatus() uint32

func (*ProcessEvent) GetForkChildId

func (m *ProcessEvent) GetForkChildId() string

func (*ProcessEvent) GetForkChildPid

func (m *ProcessEvent) GetForkChildPid() int32

func (*ProcessEvent) GetForkCloneFlags

func (m *ProcessEvent) GetForkCloneFlags() uint64

func (*ProcessEvent) GetForkStackStart

func (m *ProcessEvent) GetForkStackStart() uint64

func (*ProcessEvent) GetType

func (m *ProcessEvent) GetType() ProcessEventType

func (*ProcessEvent) GetUpdateCwd

func (m *ProcessEvent) GetUpdateCwd() string

func (*ProcessEvent) ProtoMessage

func (*ProcessEvent) ProtoMessage()

func (*ProcessEvent) Reset

func (m *ProcessEvent) Reset()

func (*ProcessEvent) String

func (m *ProcessEvent) String() string

func (*ProcessEvent) XXX_DiscardUnknown

func (m *ProcessEvent) XXX_DiscardUnknown()

func (*ProcessEvent) XXX_Marshal

func (m *ProcessEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ProcessEvent) XXX_Merge

func (dst *ProcessEvent) XXX_Merge(src proto.Message)

func (*ProcessEvent) XXX_Size

func (m *ProcessEvent) XXX_Size() int

func (*ProcessEvent) XXX_Unmarshal

func (m *ProcessEvent) XXX_Unmarshal(b []byte) error

type ProcessEventFilter

type ProcessEventFilter struct {
	// Required; the process event type to match
	Type             ProcessEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.ProcessEventType" json:"type,omitempty"`
	FilterExpression *Expression      `protobuf:"bytes,100,opt,name=filter_expression,json=filterExpression,proto3" json:"filter_expression,omitempty"`
	// Optional; require exact match on the filename passed to execve(2)
	ExecFilename *wrappers.StringValue `protobuf:"bytes,12,opt,name=exec_filename,json=execFilename,proto3" json:"exec_filename,omitempty"`
	// Optional; require pattern match on the filename passed to execve(2)
	ExecFilenamePattern *wrappers.StringValue `protobuf:"bytes,13,opt,name=exec_filename_pattern,json=execFilenamePattern,proto3" json:"exec_filename_pattern,omitempty"`
	// Optional; require exact match on exit code
	ExitCode             *wrappers.Int32Value `protobuf:"bytes,14,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

The ProcessEventFilter specifies which process events to include in the Subscription. The specified fields are effectively "ANDed" to specify a matching event.

func (*ProcessEventFilter) Descriptor

func (*ProcessEventFilter) Descriptor() ([]byte, []int)

func (*ProcessEventFilter) GetExecFilename

func (m *ProcessEventFilter) GetExecFilename() *wrappers.StringValue

func (*ProcessEventFilter) GetExecFilenamePattern

func (m *ProcessEventFilter) GetExecFilenamePattern() *wrappers.StringValue

func (*ProcessEventFilter) GetExitCode

func (m *ProcessEventFilter) GetExitCode() *wrappers.Int32Value

func (*ProcessEventFilter) GetFilterExpression

func (m *ProcessEventFilter) GetFilterExpression() *Expression

func (*ProcessEventFilter) GetType

func (m *ProcessEventFilter) GetType() ProcessEventType

func (*ProcessEventFilter) ProtoMessage

func (*ProcessEventFilter) ProtoMessage()

func (*ProcessEventFilter) Reset

func (m *ProcessEventFilter) Reset()

func (*ProcessEventFilter) String

func (m *ProcessEventFilter) String() string

func (*ProcessEventFilter) XXX_DiscardUnknown

func (m *ProcessEventFilter) XXX_DiscardUnknown()

func (*ProcessEventFilter) XXX_Marshal

func (m *ProcessEventFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ProcessEventFilter) XXX_Merge

func (dst *ProcessEventFilter) XXX_Merge(src proto.Message)

func (*ProcessEventFilter) XXX_Size

func (m *ProcessEventFilter) XXX_Size() int

func (*ProcessEventFilter) XXX_Unmarshal

func (m *ProcessEventFilter) XXX_Unmarshal(b []byte) error

type ProcessEventType

type ProcessEventType int32

Possible ProcessEvent types

const (
	// The type of event is unknown
	ProcessEventType_PROCESS_EVENT_TYPE_UNKNOWN ProcessEventType = 0
	// The event is a process fork event
	ProcessEventType_PROCESS_EVENT_TYPE_FORK ProcessEventType = 1
	// The event is a process exec event
	ProcessEventType_PROCESS_EVENT_TYPE_EXEC ProcessEventType = 2
	// The event is a process exit event
	ProcessEventType_PROCESS_EVENT_TYPE_EXIT ProcessEventType = 3
	// The event is a process update event
	ProcessEventType_PROCESS_EVENT_TYPE_UPDATE ProcessEventType = 4
)

func (ProcessEventType) EnumDescriptor

func (ProcessEventType) EnumDescriptor() ([]byte, []int)

func (ProcessEventType) String

func (x ProcessEventType) String() string

type ReceivedTelemetryEvent

type ReceivedTelemetryEvent struct {
	// The time that the event was received by the backplane (in micros
	// since Unix epoch)
	PublishTimeMicros int64 `protobuf:"varint,1,opt,name=publish_time_micros,json=publishTimeMicros,proto3" json:"publish_time_micros,omitempty"`
	// The actual event observed by the Sensor. For historical
	// event subscriptions, this event may be sent from the
	// Recorder.
	Event *TelemetryEvent `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"`
	// An opaque ack for the event. If present, this ack must be sent to
	// the PubsubService's Acknowledge method or else the TelemetryService
	// will re-transmit the event.
	Ack                  []byte   `protobuf:"bytes,3,opt,name=ack,proto3" json:"ack,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A telemetry event received from a Sensor or Recorder.

func (*ReceivedTelemetryEvent) Descriptor

func (*ReceivedTelemetryEvent) Descriptor() ([]byte, []int)

func (*ReceivedTelemetryEvent) GetAck

func (m *ReceivedTelemetryEvent) GetAck() []byte

func (*ReceivedTelemetryEvent) GetEvent

func (m *ReceivedTelemetryEvent) GetEvent() *TelemetryEvent

func (*ReceivedTelemetryEvent) GetPublishTimeMicros

func (m *ReceivedTelemetryEvent) GetPublishTimeMicros() int64

func (*ReceivedTelemetryEvent) ProtoMessage

func (*ReceivedTelemetryEvent) ProtoMessage()

func (*ReceivedTelemetryEvent) Reset

func (m *ReceivedTelemetryEvent) Reset()

func (*ReceivedTelemetryEvent) String

func (m *ReceivedTelemetryEvent) String() string

func (*ReceivedTelemetryEvent) XXX_DiscardUnknown

func (m *ReceivedTelemetryEvent) XXX_DiscardUnknown()

func (*ReceivedTelemetryEvent) XXX_Marshal

func (m *ReceivedTelemetryEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ReceivedTelemetryEvent) XXX_Merge

func (dst *ReceivedTelemetryEvent) XXX_Merge(src proto.Message)

func (*ReceivedTelemetryEvent) XXX_Size

func (m *ReceivedTelemetryEvent) XXX_Size() int

func (*ReceivedTelemetryEvent) XXX_Unmarshal

func (m *ReceivedTelemetryEvent) XXX_Unmarshal(b []byte) error

type SampleRateType

type SampleRateType int32

SampleRateType describes the type of sample rate to use, either by the # of generated events (SAMPLE_RATE_TYPE_PERIOD) or by time (SAMPLE_RATE_TYPE_FREQUENCY), which is expressed in units of kernel timer ticks.

const (
	SampleRateType_SAMPLE_RATE_TYPE_UNKNOWN   SampleRateType = 0
	SampleRateType_SAMPLE_RATE_TYPE_PERIOD    SampleRateType = 1
	SampleRateType_SAMPLE_RATE_TYPE_FREQUENCY SampleRateType = 2
)

func (SampleRateType) EnumDescriptor

func (SampleRateType) EnumDescriptor() ([]byte, []int)

func (SampleRateType) String

func (x SampleRateType) String() string

type Subscription

type Subscription struct {
	// Return events matching one or more of the specified event
	// filters. If no event filters are specified, then no events
	// will be returned.
	EventFilter *EventFilter `protobuf:"bytes,1,opt,name=event_filter,json=eventFilter,proto3" json:"event_filter,omitempty"`
	// If not empty, then only return events from containers matched
	// by one or more of the specified container filters.
	ContainerFilter *ContainerFilter `protobuf:"bytes,2,opt,name=container_filter,json=containerFilter,proto3" json:"container_filter,omitempty"`
	// If not empty, then only return events that occurred after
	// the specified relative duration subtracted from the current
	// time (recorder time). If the resulting time is in the past, then the
	// subscription will search for historic events before streaming
	// live ones. Sensors do not honor this field.
	SinceDuration *wrappers.Int64Value `protobuf:"bytes,10,opt,name=since_duration,json=sinceDuration,proto3" json:"since_duration,omitempty"`
	// If not empty, then only return events that occurred before
	// the specified relative duration added to `since_duration`.
	// If `since_duration` is not supplied, return events from now and until
	// the specified relative duration is hit. Sensors do not honor this
	// field.
	ForDuration *wrappers.Int64Value `protobuf:"bytes,11,opt,name=for_duration,json=forDuration,proto3" json:"for_duration,omitempty"`
	// If not empty, apply the specified modifier to the subscription.
	Modifier             *Modifier `protobuf:"bytes,20,opt,name=modifier,proto3" json:"modifier,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

The Subscription message identifies a subscriber's interest in telemetry events.

func (*Subscription) Descriptor

func (*Subscription) Descriptor() ([]byte, []int)

func (*Subscription) GetContainerFilter

func (m *Subscription) GetContainerFilter() *ContainerFilter

func (*Subscription) GetEventFilter

func (m *Subscription) GetEventFilter() *EventFilter

func (*Subscription) GetForDuration

func (m *Subscription) GetForDuration() *wrappers.Int64Value

func (*Subscription) GetModifier

func (m *Subscription) GetModifier() *Modifier

func (*Subscription) GetSinceDuration

func (m *Subscription) GetSinceDuration() *wrappers.Int64Value

func (*Subscription) ProtoMessage

func (*Subscription) ProtoMessage()

func (*Subscription) Reset

func (m *Subscription) Reset()

func (*Subscription) String

func (m *Subscription) String() string

func (*Subscription) XXX_DiscardUnknown

func (m *Subscription) XXX_DiscardUnknown()

func (*Subscription) XXX_Marshal

func (m *Subscription) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Subscription) XXX_Merge

func (dst *Subscription) XXX_Merge(src proto.Message)

func (*Subscription) XXX_Size

func (m *Subscription) XXX_Size() int

func (*Subscription) XXX_Unmarshal

func (m *Subscription) XXX_Unmarshal(b []byte) error

type SyscallEvent

type SyscallEvent struct {
	// The type of event described by this SyscallEvent message
	Type SyscallEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.SyscallEventType" json:"type,omitempty"`
	// The syscall number for either enter or exit events.
	Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
	// Present when the event is an enter event. This is the first
	// argument passed to the system call.
	Arg0 uint64 `protobuf:"varint,10,opt,name=arg0,proto3" json:"arg0,omitempty"`
	// Present when the event is an enter event. This is the second
	// argument passed to the system call.
	Arg1 uint64 `protobuf:"varint,11,opt,name=arg1,proto3" json:"arg1,omitempty"`
	// Present when the event is an enter event. This is the third
	// argument passed to the system call.
	Arg2 uint64 `protobuf:"varint,12,opt,name=arg2,proto3" json:"arg2,omitempty"`
	// Present when the event is an enter event. This is the fourth
	// argument passed to the system call.
	Arg3 uint64 `protobuf:"varint,13,opt,name=arg3,proto3" json:"arg3,omitempty"`
	// Present when the event is an enter event. This is the fifth
	// argument passed to the system call.
	Arg4 uint64 `protobuf:"varint,14,opt,name=arg4,proto3" json:"arg4,omitempty"`
	// Present when the event is an enter event. This is the sixth
	// argument passed to the system call.
	Arg5 uint64 `protobuf:"varint,15,opt,name=arg5,proto3" json:"arg5,omitempty"`
	// Present when the event is an exit event. This is the value that was
	// returned from the system call.
	Ret                  int64    `protobuf:"varint,20,opt,name=ret,proto3" json:"ret,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

SyscallEvent describes an event that occurred related to system calls being made or returning as detected by the Sensor.

func (*SyscallEvent) Descriptor

func (*SyscallEvent) Descriptor() ([]byte, []int)

func (*SyscallEvent) GetArg0

func (m *SyscallEvent) GetArg0() uint64

func (*SyscallEvent) GetArg1

func (m *SyscallEvent) GetArg1() uint64

func (*SyscallEvent) GetArg2

func (m *SyscallEvent) GetArg2() uint64

func (*SyscallEvent) GetArg3

func (m *SyscallEvent) GetArg3() uint64

func (*SyscallEvent) GetArg4

func (m *SyscallEvent) GetArg4() uint64

func (*SyscallEvent) GetArg5

func (m *SyscallEvent) GetArg5() uint64

func (*SyscallEvent) GetId

func (m *SyscallEvent) GetId() int64

func (*SyscallEvent) GetRet

func (m *SyscallEvent) GetRet() int64

func (*SyscallEvent) GetType

func (m *SyscallEvent) GetType() SyscallEventType

func (*SyscallEvent) ProtoMessage

func (*SyscallEvent) ProtoMessage()

func (*SyscallEvent) Reset

func (m *SyscallEvent) Reset()

func (*SyscallEvent) String

func (m *SyscallEvent) String() string

func (*SyscallEvent) XXX_DiscardUnknown

func (m *SyscallEvent) XXX_DiscardUnknown()

func (*SyscallEvent) XXX_Marshal

func (m *SyscallEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SyscallEvent) XXX_Merge

func (dst *SyscallEvent) XXX_Merge(src proto.Message)

func (*SyscallEvent) XXX_Size

func (m *SyscallEvent) XXX_Size() int

func (*SyscallEvent) XXX_Unmarshal

func (m *SyscallEvent) XXX_Unmarshal(b []byte) error

type SyscallEventFilter

type SyscallEventFilter struct {
	// Required; type of system call event (entry or exit)
	Type             SyscallEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.SyscallEventType" json:"type,omitempty"`
	FilterExpression *Expression      `protobuf:"bytes,100,opt,name=filter_expression,json=filterExpression,proto3" json:"filter_expression,omitempty"`
	// Required; system call number from
	// arch/x86/entry/syscalls/syscall_64.tbl
	Id *wrappers.Int64Value `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// Optional; precise value of a particular system call argument
	Arg0 *wrappers.UInt64Value `protobuf:"bytes,10,opt,name=arg0,proto3" json:"arg0,omitempty"`
	Arg1 *wrappers.UInt64Value `protobuf:"bytes,11,opt,name=arg1,proto3" json:"arg1,omitempty"`
	Arg2 *wrappers.UInt64Value `protobuf:"bytes,12,opt,name=arg2,proto3" json:"arg2,omitempty"`
	Arg3 *wrappers.UInt64Value `protobuf:"bytes,13,opt,name=arg3,proto3" json:"arg3,omitempty"`
	Arg4 *wrappers.UInt64Value `protobuf:"bytes,14,opt,name=arg4,proto3" json:"arg4,omitempty"`
	Arg5 *wrappers.UInt64Value `protobuf:"bytes,15,opt,name=arg5,proto3" json:"arg5,omitempty"`
	// Optional; return value of the system call (if type indicates exit).
	Ret                  *wrappers.Int64Value `protobuf:"bytes,20,opt,name=ret,proto3" json:"ret,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

The SyscallEventFilter specifies which system call events to include in the Subscription. The specified fields are effectively "ANDed" to specify a matching event.

func (*SyscallEventFilter) Descriptor

func (*SyscallEventFilter) Descriptor() ([]byte, []int)

func (*SyscallEventFilter) GetArg0

func (m *SyscallEventFilter) GetArg0() *wrappers.UInt64Value

func (*SyscallEventFilter) GetArg1

func (m *SyscallEventFilter) GetArg1() *wrappers.UInt64Value

func (*SyscallEventFilter) GetArg2

func (m *SyscallEventFilter) GetArg2() *wrappers.UInt64Value

func (*SyscallEventFilter) GetArg3

func (m *SyscallEventFilter) GetArg3() *wrappers.UInt64Value

func (*SyscallEventFilter) GetArg4

func (m *SyscallEventFilter) GetArg4() *wrappers.UInt64Value

func (*SyscallEventFilter) GetArg5

func (m *SyscallEventFilter) GetArg5() *wrappers.UInt64Value

func (*SyscallEventFilter) GetFilterExpression

func (m *SyscallEventFilter) GetFilterExpression() *Expression

func (*SyscallEventFilter) GetId

func (*SyscallEventFilter) GetRet

func (m *SyscallEventFilter) GetRet() *wrappers.Int64Value

func (*SyscallEventFilter) GetType

func (m *SyscallEventFilter) GetType() SyscallEventType

func (*SyscallEventFilter) ProtoMessage

func (*SyscallEventFilter) ProtoMessage()

func (*SyscallEventFilter) Reset

func (m *SyscallEventFilter) Reset()

func (*SyscallEventFilter) String

func (m *SyscallEventFilter) String() string

func (*SyscallEventFilter) XXX_DiscardUnknown

func (m *SyscallEventFilter) XXX_DiscardUnknown()

func (*SyscallEventFilter) XXX_Marshal

func (m *SyscallEventFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SyscallEventFilter) XXX_Merge

func (dst *SyscallEventFilter) XXX_Merge(src proto.Message)

func (*SyscallEventFilter) XXX_Size

func (m *SyscallEventFilter) XXX_Size() int

func (*SyscallEventFilter) XXX_Unmarshal

func (m *SyscallEventFilter) XXX_Unmarshal(b []byte) error

type SyscallEventType

type SyscallEventType int32

Possible SyscallEvent types

const (
	// The type of event is unknown
	SyscallEventType_SYSCALL_EVENT_TYPE_UNKNOWN SyscallEventType = 0
	// The event is a syscall enter event
	SyscallEventType_SYSCALL_EVENT_TYPE_ENTER SyscallEventType = 1
	// The event is a syscall exit event
	SyscallEventType_SYSCALL_EVENT_TYPE_EXIT SyscallEventType = 2
)

func (SyscallEventType) EnumDescriptor

func (SyscallEventType) EnumDescriptor() ([]byte, []int)

func (SyscallEventType) String

func (x SyscallEventType) String() string

type TelemetryEvent

type TelemetryEvent struct {
	// Unique identifier for the event
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Unique process identifier associated with the event to differentiate
	// reused values of the pid below.
	ProcessId string `protobuf:"bytes,2,opt,name=process_id,json=processId,proto3" json:"process_id,omitempty"`
	// Kernel's PID of the task associated with the event. This
	// corresponds the userland's TID.
	ProcessPid int32 `protobuf:"varint,3,opt,name=process_pid,json=processPid,proto3" json:"process_pid,omitempty"`
	// Container identifier associated with the event
	ContainerId string `protobuf:"bytes,4,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	// Sensor identifier of the sensor instance that observed the event
	SensorId string `protobuf:"bytes,5,opt,name=sensor_id,json=sensorId,proto3" json:"sensor_id,omitempty"`
	// Sequence number from some unspecified starting point unique
	// to the Sensor. Provides a strict linear ordering of events with
	// the same sensor_id where no two events can have the same sequence
	// number. If it is present, it must be greater than zero. A zero
	// value indicates that there is no sequence number associated with
	// the event.
	SensorSequenceNumber uint64 `protobuf:"varint,6,opt,name=sensor_sequence_number,json=sensorSequenceNumber,proto3" json:"sensor_sequence_number,omitempty"`
	// Monotonic nanosecond timestamp from some unspecified starting
	// point unique to the Sensor. Can only be used to calculate time
	// intervals between events with the same sensor_id.
	SensorMonotimeNanos int64 `protobuf:"varint,7,opt,name=sensor_monotime_nanos,json=sensorMonotimeNanos,proto3" json:"sensor_monotime_nanos,omitempty"`
	// Process Lineage contains one process context for each process in the
	// hierarchy, starting with the current process, up to the root of the
	// process namespace.
	ProcessLineage []*Process `protobuf:"bytes,8,rep,name=process_lineage,json=processLineage,proto3" json:"process_lineage,omitempty"`
	// Name of container associated with the event
	ContainerName string `protobuf:"bytes,30,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"`
	// Unique identifier of the container image
	ImageId string `protobuf:"bytes,31,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
	//
	// Name of the container image (i.e. "busybox" or
	// "gcr.io/google_containers/nginx-ingress-controller")
	//
	ImageName string `protobuf:"bytes,32,opt,name=image_name,json=imageName,proto3" json:"image_name,omitempty"`
	// Types that are valid to be assigned to Event:
	//	*TelemetryEvent_Syscall
	//	*TelemetryEvent_Process
	//	*TelemetryEvent_File
	//	*TelemetryEvent_KernelCall
	//	*TelemetryEvent_Network
	//	*TelemetryEvent_Performance
	//	*TelemetryEvent_UserCall
	//	*TelemetryEvent_Container
	//	*TelemetryEvent_Chargen
	//	*TelemetryEvent_Ticker
	//	*TelemetryEvent_Lost
	Event isTelemetryEvent_Event `protobuf_oneof:"event"`
	// CPU on which the event occurred
	Cpu int32 `protobuf:"varint,201,opt,name=cpu,proto3" json:"cpu,omitempty"`
	// Credentials for the process associated with the event
	Credentials *Credentials `protobuf:"bytes,202,opt,name=credentials,proto3" json:"credentials,omitempty"`
	// Kernel's TGID of the task associated with the event. This
	// corresponds the userland's PID.
	ProcessTgid          int32    `protobuf:"varint,203,opt,name=process_tgid,json=processTgid,proto3" json:"process_tgid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An event observed by the Sensor.

func (*TelemetryEvent) Descriptor

func (*TelemetryEvent) Descriptor() ([]byte, []int)

func (*TelemetryEvent) GetChargen

func (m *TelemetryEvent) GetChargen() *ChargenEvent

func (*TelemetryEvent) GetContainer

func (m *TelemetryEvent) GetContainer() *ContainerEvent

func (*TelemetryEvent) GetContainerId

func (m *TelemetryEvent) GetContainerId() string

func (*TelemetryEvent) GetContainerName

func (m *TelemetryEvent) GetContainerName() string

func (*TelemetryEvent) GetCpu

func (m *TelemetryEvent) GetCpu() int32

func (*TelemetryEvent) GetCredentials

func (m *TelemetryEvent) GetCredentials() *Credentials

func (*TelemetryEvent) GetEvent

func (m *TelemetryEvent) GetEvent() isTelemetryEvent_Event

func (*TelemetryEvent) GetFile

func (m *TelemetryEvent) GetFile() *FileEvent

func (*TelemetryEvent) GetId

func (m *TelemetryEvent) GetId() string

func (*TelemetryEvent) GetImageId

func (m *TelemetryEvent) GetImageId() string

func (*TelemetryEvent) GetImageName

func (m *TelemetryEvent) GetImageName() string

func (*TelemetryEvent) GetKernelCall

func (m *TelemetryEvent) GetKernelCall() *KernelFunctionCallEvent

func (*TelemetryEvent) GetLost

func (m *TelemetryEvent) GetLost() *LostRecordEvent

func (*TelemetryEvent) GetNetwork

func (m *TelemetryEvent) GetNetwork() *NetworkEvent

func (*TelemetryEvent) GetPerformance

func (m *TelemetryEvent) GetPerformance() *PerformanceEvent

func (*TelemetryEvent) GetProcess

func (m *TelemetryEvent) GetProcess() *ProcessEvent

func (*TelemetryEvent) GetProcessId

func (m *TelemetryEvent) GetProcessId() string

func (*TelemetryEvent) GetProcessLineage

func (m *TelemetryEvent) GetProcessLineage() []*Process

func (*TelemetryEvent) GetProcessPid

func (m *TelemetryEvent) GetProcessPid() int32

func (*TelemetryEvent) GetProcessTgid

func (m *TelemetryEvent) GetProcessTgid() int32

func (*TelemetryEvent) GetSensorId

func (m *TelemetryEvent) GetSensorId() string

func (*TelemetryEvent) GetSensorMonotimeNanos

func (m *TelemetryEvent) GetSensorMonotimeNanos() int64

func (*TelemetryEvent) GetSensorSequenceNumber

func (m *TelemetryEvent) GetSensorSequenceNumber() uint64

func (*TelemetryEvent) GetSyscall

func (m *TelemetryEvent) GetSyscall() *SyscallEvent

func (*TelemetryEvent) GetTicker

func (m *TelemetryEvent) GetTicker() *TickerEvent

func (*TelemetryEvent) GetUserCall

func (m *TelemetryEvent) GetUserCall() *UserFunctionCallEvent

func (*TelemetryEvent) ProtoMessage

func (*TelemetryEvent) ProtoMessage()

func (*TelemetryEvent) Reset

func (m *TelemetryEvent) Reset()

func (*TelemetryEvent) String

func (m *TelemetryEvent) String() string

func (*TelemetryEvent) XXX_DiscardUnknown

func (m *TelemetryEvent) XXX_DiscardUnknown()

func (*TelemetryEvent) XXX_Marshal

func (m *TelemetryEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TelemetryEvent) XXX_Merge

func (dst *TelemetryEvent) XXX_Merge(src proto.Message)

func (*TelemetryEvent) XXX_OneofFuncs

func (*TelemetryEvent) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*TelemetryEvent) XXX_Size

func (m *TelemetryEvent) XXX_Size() int

func (*TelemetryEvent) XXX_Unmarshal

func (m *TelemetryEvent) XXX_Unmarshal(b []byte) error

type TelemetryEvent_Chargen

type TelemetryEvent_Chargen struct {
	Chargen *ChargenEvent `protobuf:"bytes,100,opt,name=chargen,proto3,oneof"`
}

type TelemetryEvent_Container

type TelemetryEvent_Container struct {
	Container *ContainerEvent `protobuf:"bytes,20,opt,name=container,proto3,oneof"`
}

type TelemetryEvent_File

type TelemetryEvent_File struct {
	File *FileEvent `protobuf:"bytes,12,opt,name=file,proto3,oneof"`
}

type TelemetryEvent_KernelCall

type TelemetryEvent_KernelCall struct {
	KernelCall *KernelFunctionCallEvent `protobuf:"bytes,13,opt,name=kernel_call,json=kernelCall,proto3,oneof"`
}

type TelemetryEvent_Lost

type TelemetryEvent_Lost struct {
	Lost *LostRecordEvent `protobuf:"bytes,102,opt,name=lost,proto3,oneof"`
}

type TelemetryEvent_Network

type TelemetryEvent_Network struct {
	Network *NetworkEvent `protobuf:"bytes,14,opt,name=network,proto3,oneof"`
}

type TelemetryEvent_Performance

type TelemetryEvent_Performance struct {
	Performance *PerformanceEvent `protobuf:"bytes,15,opt,name=performance,proto3,oneof"`
}

type TelemetryEvent_Process

type TelemetryEvent_Process struct {
	Process *ProcessEvent `protobuf:"bytes,11,opt,name=process,proto3,oneof"`
}

type TelemetryEvent_Syscall

type TelemetryEvent_Syscall struct {
	Syscall *SyscallEvent `protobuf:"bytes,10,opt,name=syscall,proto3,oneof"`
}

type TelemetryEvent_Ticker

type TelemetryEvent_Ticker struct {
	Ticker *TickerEvent `protobuf:"bytes,101,opt,name=ticker,proto3,oneof"`
}

type TelemetryEvent_UserCall

type TelemetryEvent_UserCall struct {
	UserCall *UserFunctionCallEvent `protobuf:"bytes,16,opt,name=user_call,json=userCall,proto3,oneof"`
}

type TelemetryServiceClient

type TelemetryServiceClient interface {
	// Opens a new stream of telemetry events
	GetEvents(ctx context.Context, in *GetEventsRequest, opts ...grpc.CallOption) (TelemetryService_GetEventsClient, error)
}

TelemetryServiceClient is the client API for TelemetryService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewTelemetryServiceClient

func NewTelemetryServiceClient(cc *grpc.ClientConn) TelemetryServiceClient

type TelemetryServiceServer

type TelemetryServiceServer interface {
	// Opens a new stream of telemetry events
	GetEvents(*GetEventsRequest, TelemetryService_GetEventsServer) error
}

TelemetryServiceServer is the server API for TelemetryService service.

type TelemetryService_GetEventsClient

type TelemetryService_GetEventsClient interface {
	Recv() (*GetEventsResponse, error)
	grpc.ClientStream
}

type TelemetryService_GetEventsServer

type TelemetryService_GetEventsServer interface {
	Send(*GetEventsResponse) error
	grpc.ServerStream
}

type ThrottleModifier

type ThrottleModifier struct {
	// Required; the interval to use
	Interval int64 `protobuf:"varint,1,opt,name=interval,proto3" json:"interval,omitempty"`
	// Required; the interval type (milliseconds, seconds, etc.)
	IntervalType         ThrottleModifier_IntervalType `` /* 149-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

The ThrottleModifier modulates events sent by the Sensor to one per time interval specified.

func (*ThrottleModifier) Descriptor

func (*ThrottleModifier) Descriptor() ([]byte, []int)

func (*ThrottleModifier) GetInterval

func (m *ThrottleModifier) GetInterval() int64

func (*ThrottleModifier) GetIntervalType

func (m *ThrottleModifier) GetIntervalType() ThrottleModifier_IntervalType

func (*ThrottleModifier) ProtoMessage

func (*ThrottleModifier) ProtoMessage()

func (*ThrottleModifier) Reset

func (m *ThrottleModifier) Reset()

func (*ThrottleModifier) String

func (m *ThrottleModifier) String() string

func (*ThrottleModifier) XXX_DiscardUnknown

func (m *ThrottleModifier) XXX_DiscardUnknown()

func (*ThrottleModifier) XXX_Marshal

func (m *ThrottleModifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ThrottleModifier) XXX_Merge

func (dst *ThrottleModifier) XXX_Merge(src proto.Message)

func (*ThrottleModifier) XXX_Size

func (m *ThrottleModifier) XXX_Size() int

func (*ThrottleModifier) XXX_Unmarshal

func (m *ThrottleModifier) XXX_Unmarshal(b []byte) error

type ThrottleModifier_IntervalType

type ThrottleModifier_IntervalType int32

Possible interval types

const (
	// milliseconds
	ThrottleModifier_MILLISECOND ThrottleModifier_IntervalType = 0
	// seconds
	ThrottleModifier_SECOND ThrottleModifier_IntervalType = 1
	// minutes
	ThrottleModifier_MINUTE ThrottleModifier_IntervalType = 2
	// hours
	ThrottleModifier_HOUR ThrottleModifier_IntervalType = 3
)

func (ThrottleModifier_IntervalType) EnumDescriptor

func (ThrottleModifier_IntervalType) EnumDescriptor() ([]byte, []int)

func (ThrottleModifier_IntervalType) String

type TickerEvent

type TickerEvent struct {
	// The number of seconds elapsed since January 1, 1970 UTC.
	//
	// https://golang.org/pkg/time/#Time.Unix
	Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
	// The number of nanoseconds elapsed since January 1, 1970 UTC
	//
	// https://golang.org/pkg/time/#Time.UnixNano
	Nanoseconds          int64    `protobuf:"varint,2,opt,name=nanoseconds,proto3" json:"nanoseconds,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TickerEvent) Descriptor

func (*TickerEvent) Descriptor() ([]byte, []int)

func (*TickerEvent) GetNanoseconds

func (m *TickerEvent) GetNanoseconds() int64

func (*TickerEvent) GetSeconds

func (m *TickerEvent) GetSeconds() int64

func (*TickerEvent) ProtoMessage

func (*TickerEvent) ProtoMessage()

func (*TickerEvent) Reset

func (m *TickerEvent) Reset()

func (*TickerEvent) String

func (m *TickerEvent) String() string

func (*TickerEvent) XXX_DiscardUnknown

func (m *TickerEvent) XXX_DiscardUnknown()

func (*TickerEvent) XXX_Marshal

func (m *TickerEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TickerEvent) XXX_Merge

func (dst *TickerEvent) XXX_Merge(src proto.Message)

func (*TickerEvent) XXX_Size

func (m *TickerEvent) XXX_Size() int

func (*TickerEvent) XXX_Unmarshal

func (m *TickerEvent) XXX_Unmarshal(b []byte) error

type TickerEventFilter

type TickerEventFilter struct {
	// Required; the interval at which ticker events are generated
	Interval             int64    `protobuf:"varint,1,opt,name=interval,proto3" json:"interval,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

The TickerEventFilter configures a ticker stream generator and includes events from it in the Subscription.

func (*TickerEventFilter) Descriptor

func (*TickerEventFilter) Descriptor() ([]byte, []int)

func (*TickerEventFilter) GetInterval

func (m *TickerEventFilter) GetInterval() int64

func (*TickerEventFilter) ProtoMessage

func (*TickerEventFilter) ProtoMessage()

func (*TickerEventFilter) Reset

func (m *TickerEventFilter) Reset()

func (*TickerEventFilter) String

func (m *TickerEventFilter) String() string

func (*TickerEventFilter) XXX_DiscardUnknown

func (m *TickerEventFilter) XXX_DiscardUnknown()

func (*TickerEventFilter) XXX_Marshal

func (m *TickerEventFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TickerEventFilter) XXX_Merge

func (dst *TickerEventFilter) XXX_Merge(src proto.Message)

func (*TickerEventFilter) XXX_Size

func (m *TickerEventFilter) XXX_Size() int

func (*TickerEventFilter) XXX_Unmarshal

func (m *TickerEventFilter) XXX_Unmarshal(b []byte) error

type UserFunctionCallEvent

type UserFunctionCallEvent struct {
	// This is a map of argument names and values. The keys are strings
	// that are the names of the arguments, and the values are the actual
	// values for each field.
	Arguments            map[string]*UserFunctionCallEvent_FieldValue `` /* 159-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}                                     `json:"-"`
	XXX_unrecognized     []byte                                       `json:"-"`
	XXX_sizecache        int32                                        `json:"-"`
}

UserFunctionCallEvent describes an event that occurred related to user functions being entered or exited.

func (*UserFunctionCallEvent) Descriptor

func (*UserFunctionCallEvent) Descriptor() ([]byte, []int)

func (*UserFunctionCallEvent) GetArguments

func (*UserFunctionCallEvent) ProtoMessage

func (*UserFunctionCallEvent) ProtoMessage()

func (*UserFunctionCallEvent) Reset

func (m *UserFunctionCallEvent) Reset()

func (*UserFunctionCallEvent) String

func (m *UserFunctionCallEvent) String() string

func (*UserFunctionCallEvent) XXX_DiscardUnknown

func (m *UserFunctionCallEvent) XXX_DiscardUnknown()

func (*UserFunctionCallEvent) XXX_Marshal

func (m *UserFunctionCallEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UserFunctionCallEvent) XXX_Merge

func (dst *UserFunctionCallEvent) XXX_Merge(src proto.Message)

func (*UserFunctionCallEvent) XXX_Size

func (m *UserFunctionCallEvent) XXX_Size() int

func (*UserFunctionCallEvent) XXX_Unmarshal

func (m *UserFunctionCallEvent) XXX_Unmarshal(b []byte) error

type UserFunctionCallEventType

type UserFunctionCallEventType int32

Possible UserFunctionCallEvent types

const (
	// The type of event is unknown
	UserFunctionCallEventType_USER_FUNCTION_CALL_EVENT_TYPE_UNKNOWN UserFunctionCallEventType = 0
	// The event is a user function being entered.
	UserFunctionCallEventType_USER_FUNCTION_CALL_EVENT_TYPE_ENTER UserFunctionCallEventType = 1
	// The event is a user function being exited.
	UserFunctionCallEventType_USER_FUNCTION_CALL_EVENT_TYPE_EXIT UserFunctionCallEventType = 2
)

func (UserFunctionCallEventType) EnumDescriptor

func (UserFunctionCallEventType) EnumDescriptor() ([]byte, []int)

func (UserFunctionCallEventType) String

func (x UserFunctionCallEventType) String() string

type UserFunctionCallEvent_FieldType

type UserFunctionCallEvent_FieldType int32

Possible field types

const (
	// The field type is unknown
	UserFunctionCallEvent_UNKNOWN UserFunctionCallEvent_FieldType = 0
	// The field type is an array of bytes
	UserFunctionCallEvent_BYTES UserFunctionCallEvent_FieldType = 1
	// The field type is a string
	UserFunctionCallEvent_STRING UserFunctionCallEvent_FieldType = 2
	// The field type is a signed 8-bit integer
	UserFunctionCallEvent_SINT8 UserFunctionCallEvent_FieldType = 3
	// The field type is a signed 16-bit integer
	UserFunctionCallEvent_SINT16 UserFunctionCallEvent_FieldType = 4
	// The field type is a signed 32-bit integer
	UserFunctionCallEvent_SINT32 UserFunctionCallEvent_FieldType = 5
	// The field type is a signed 64-bit integer
	UserFunctionCallEvent_SINT64 UserFunctionCallEvent_FieldType = 6
	// The field type is an unsigned 8-bit integer
	UserFunctionCallEvent_UINT8 UserFunctionCallEvent_FieldType = 7
	// The field type is an unsigned 16-bit integer
	UserFunctionCallEvent_UINT16 UserFunctionCallEvent_FieldType = 8
	// The field type is an unsigned 32-bit integer
	UserFunctionCallEvent_UINT32 UserFunctionCallEvent_FieldType = 9
	// The field type is an unsigned 64-bit integer
	UserFunctionCallEvent_UINT64 UserFunctionCallEvent_FieldType = 10
)

func (UserFunctionCallEvent_FieldType) EnumDescriptor

func (UserFunctionCallEvent_FieldType) EnumDescriptor() ([]byte, []int)

func (UserFunctionCallEvent_FieldType) String

type UserFunctionCallEvent_FieldValue

type UserFunctionCallEvent_FieldValue struct {
	// The type represented by this field value.
	FieldType UserFunctionCallEvent_FieldType `` /* 142-byte string literal not displayed */
	// Types that are valid to be assigned to Value:
	//	*UserFunctionCallEvent_FieldValue_BytesValue
	//	*UserFunctionCallEvent_FieldValue_StringValue
	//	*UserFunctionCallEvent_FieldValue_SignedValue
	//	*UserFunctionCallEvent_FieldValue_UnsignedValue
	Value                isUserFunctionCallEvent_FieldValue_Value `protobuf_oneof:"value"`
	XXX_NoUnkeyedLiteral struct{}                                 `json:"-"`
	XXX_unrecognized     []byte                                   `json:"-"`
	XXX_sizecache        int32                                    `json:"-"`
}

The representation of a field value, which is composed of type information and the value itself.

func (*UserFunctionCallEvent_FieldValue) Descriptor

func (*UserFunctionCallEvent_FieldValue) Descriptor() ([]byte, []int)

func (*UserFunctionCallEvent_FieldValue) GetBytesValue

func (m *UserFunctionCallEvent_FieldValue) GetBytesValue() []byte

func (*UserFunctionCallEvent_FieldValue) GetFieldType

func (*UserFunctionCallEvent_FieldValue) GetSignedValue

func (m *UserFunctionCallEvent_FieldValue) GetSignedValue() int64

func (*UserFunctionCallEvent_FieldValue) GetStringValue

func (m *UserFunctionCallEvent_FieldValue) GetStringValue() string

func (*UserFunctionCallEvent_FieldValue) GetUnsignedValue

func (m *UserFunctionCallEvent_FieldValue) GetUnsignedValue() uint64

func (*UserFunctionCallEvent_FieldValue) GetValue

func (m *UserFunctionCallEvent_FieldValue) GetValue() isUserFunctionCallEvent_FieldValue_Value

func (*UserFunctionCallEvent_FieldValue) ProtoMessage

func (*UserFunctionCallEvent_FieldValue) ProtoMessage()

func (*UserFunctionCallEvent_FieldValue) Reset

func (*UserFunctionCallEvent_FieldValue) String

func (*UserFunctionCallEvent_FieldValue) XXX_DiscardUnknown

func (m *UserFunctionCallEvent_FieldValue) XXX_DiscardUnknown()

func (*UserFunctionCallEvent_FieldValue) XXX_Marshal

func (m *UserFunctionCallEvent_FieldValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UserFunctionCallEvent_FieldValue) XXX_Merge

func (dst *UserFunctionCallEvent_FieldValue) XXX_Merge(src proto.Message)

func (*UserFunctionCallEvent_FieldValue) XXX_OneofFuncs

func (*UserFunctionCallEvent_FieldValue) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*UserFunctionCallEvent_FieldValue) XXX_Size

func (m *UserFunctionCallEvent_FieldValue) XXX_Size() int

func (*UserFunctionCallEvent_FieldValue) XXX_Unmarshal

func (m *UserFunctionCallEvent_FieldValue) XXX_Unmarshal(b []byte) error

type UserFunctionCallEvent_FieldValue_BytesValue

type UserFunctionCallEvent_FieldValue_BytesValue struct {
	BytesValue []byte `protobuf:"bytes,2,opt,name=bytes_value,json=bytesValue,proto3,oneof"`
}

type UserFunctionCallEvent_FieldValue_SignedValue

type UserFunctionCallEvent_FieldValue_SignedValue struct {
	SignedValue int64 `protobuf:"zigzag64,4,opt,name=signed_value,json=signedValue,proto3,oneof"`
}

type UserFunctionCallEvent_FieldValue_StringValue

type UserFunctionCallEvent_FieldValue_StringValue struct {
	StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"`
}

type UserFunctionCallEvent_FieldValue_UnsignedValue

type UserFunctionCallEvent_FieldValue_UnsignedValue struct {
	UnsignedValue uint64 `protobuf:"varint,5,opt,name=unsigned_value,json=unsignedValue,proto3,oneof"`
}

type UserFunctionCallFilter

type UserFunctionCallFilter struct {
	// Required; the user function call event type to match
	Type UserFunctionCallEventType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.UserFunctionCallEventType" json:"type,omitempty"`
	// Required; the executable binary in which calls are to be hooked.
	Executable string `protobuf:"bytes,10,opt,name=executable,proto3" json:"executable,omitempty"`
	// Required; the executable symbol to match on
	Symbol string `protobuf:"bytes,11,opt,name=symbol,proto3" json:"symbol,omitempty"`
	// Option; the field names and data to be returned by the kernel when
	// the event triggers. Note that this is a map. The keys are the names
	// to assign to the returned fields, and the values are a string
	// describing the data to return, usually an expression involving the
	// register containing the desired data and a suffix indicating the
	// type of the data (e.g., "s32", "string", "u64", etc.). This map is
	// used to construct the "fetchargs" passed to the kernel when creating
	// the user probe.
	Arguments map[string]string `` /* 160-byte string literal not displayed */
	// Optional; a filter to apply to the user probe.
	FilterExpression     *Expression `protobuf:"bytes,100,opt,name=filter_expression,json=filterExpression,proto3" json:"filter_expression,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

The UserFunctionCallFilter specifies which user mode function call events to include in the Subscription. User mode function call events are functions in running user mode binaries that must be specified with both the executable name and symbol to monitor. They otherwise work the same as kernel function call events. The arguments map defines values that will be fetched at each call and returned along with the event. In order to minimize event volume, a filter may be included that filters the user function calls based on the observed values of the specified arguments at the time of the user function call.

func (*UserFunctionCallFilter) Descriptor

func (*UserFunctionCallFilter) Descriptor() ([]byte, []int)

func (*UserFunctionCallFilter) GetArguments

func (m *UserFunctionCallFilter) GetArguments() map[string]string

func (*UserFunctionCallFilter) GetExecutable

func (m *UserFunctionCallFilter) GetExecutable() string

func (*UserFunctionCallFilter) GetFilterExpression

func (m *UserFunctionCallFilter) GetFilterExpression() *Expression

func (*UserFunctionCallFilter) GetSymbol

func (m *UserFunctionCallFilter) GetSymbol() string

func (*UserFunctionCallFilter) GetType

func (*UserFunctionCallFilter) ProtoMessage

func (*UserFunctionCallFilter) ProtoMessage()

func (*UserFunctionCallFilter) Reset

func (m *UserFunctionCallFilter) Reset()

func (*UserFunctionCallFilter) String

func (m *UserFunctionCallFilter) String() string

func (*UserFunctionCallFilter) XXX_DiscardUnknown

func (m *UserFunctionCallFilter) XXX_DiscardUnknown()

func (*UserFunctionCallFilter) XXX_Marshal

func (m *UserFunctionCallFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UserFunctionCallFilter) XXX_Merge

func (dst *UserFunctionCallFilter) XXX_Merge(src proto.Message)

func (*UserFunctionCallFilter) XXX_Size

func (m *UserFunctionCallFilter) XXX_Size() int

func (*UserFunctionCallFilter) XXX_Unmarshal

func (m *UserFunctionCallFilter) XXX_Unmarshal(b []byte) error

type Value

type Value struct {
	Type ValueType `protobuf:"varint,1,opt,name=type,proto3,enum=capsule8.api.v0.ValueType" json:"type,omitempty"`
	// Types that are valid to be assigned to Value:
	//	*Value_SignedValue
	//	*Value_UnsignedValue
	//	*Value_StringValue
	//	*Value_BoolValue
	//	*Value_DoubleValue
	//	*Value_TimestampValue
	Value                isValue_Value `protobuf_oneof:"value"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (*Value) Descriptor

func (*Value) Descriptor() ([]byte, []int)

func (*Value) GetBoolValue

func (m *Value) GetBoolValue() bool

func (*Value) GetDoubleValue

func (m *Value) GetDoubleValue() float64

func (*Value) GetSignedValue

func (m *Value) GetSignedValue() int64

func (*Value) GetStringValue

func (m *Value) GetStringValue() string

func (*Value) GetTimestampValue

func (m *Value) GetTimestampValue() *timestamp.Timestamp

func (*Value) GetType

func (m *Value) GetType() ValueType

func (*Value) GetUnsignedValue

func (m *Value) GetUnsignedValue() uint64

func (*Value) GetValue

func (m *Value) GetValue() isValue_Value

func (*Value) ProtoMessage

func (*Value) ProtoMessage()

func (*Value) Reset

func (m *Value) Reset()

func (*Value) String

func (m *Value) String() string

func (*Value) XXX_DiscardUnknown

func (m *Value) XXX_DiscardUnknown()

func (*Value) XXX_Marshal

func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Value) XXX_Merge

func (dst *Value) XXX_Merge(src proto.Message)

func (*Value) XXX_OneofFuncs

func (*Value) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Value) XXX_Size

func (m *Value) XXX_Size() int

func (*Value) XXX_Unmarshal

func (m *Value) XXX_Unmarshal(b []byte) error

type ValueType

type ValueType int32
const (
	ValueType_VALUETYPE_UNSPECIFIED ValueType = 0
	ValueType_STRING                ValueType = 1
	ValueType_SINT8                 ValueType = 2
	ValueType_SINT16                ValueType = 3
	ValueType_SINT32                ValueType = 4
	ValueType_SINT64                ValueType = 5
	ValueType_UINT8                 ValueType = 6
	ValueType_UINT16                ValueType = 7
	ValueType_UINT32                ValueType = 8
	ValueType_UINT64                ValueType = 9
	ValueType_BOOL                  ValueType = 10
	ValueType_DOUBLE                ValueType = 11
	ValueType_TIMESTAMP             ValueType = 12
)

func (ValueType) EnumDescriptor

func (ValueType) EnumDescriptor() ([]byte, []int)

func (ValueType) String

func (x ValueType) String() string

type Value_BoolValue

type Value_BoolValue struct {
	BoolValue bool `protobuf:"varint,13,opt,name=bool_value,json=boolValue,proto3,oneof"`
}

type Value_DoubleValue

type Value_DoubleValue struct {
	DoubleValue float64 `protobuf:"fixed64,14,opt,name=double_value,json=doubleValue,proto3,oneof"`
}

type Value_SignedValue

type Value_SignedValue struct {
	SignedValue int64 `protobuf:"zigzag64,10,opt,name=signed_value,json=signedValue,proto3,oneof"`
}

type Value_StringValue

type Value_StringValue struct {
	StringValue string `protobuf:"bytes,12,opt,name=string_value,json=stringValue,proto3,oneof"`
}

type Value_TimestampValue

type Value_TimestampValue struct {
	TimestampValue *timestamp.Timestamp `protobuf:"bytes,15,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`
}

type Value_UnsignedValue

type Value_UnsignedValue struct {
	UnsignedValue uint64 `protobuf:"varint,11,opt,name=unsigned_value,json=unsignedValue,proto3,oneof"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL