mirror of
https://github.com/gravitational/teleport
synced 2024-10-21 17:53:28 +00:00
71c15e5835
* Session events are delivered in continuous batches in a guaranteed order with every event and print event ordered from session start. * Each auth server writes to a separate folder on disk to make sure that no two processes write to the same file at a time. * When retrieving sessions, auth servers fetch and merge results recorded by each auth server. * Migrations and compatibility modes are in place for older clients not aware of the new format, but compatibility mode is not NFS friendly. * On disk migrations are launched automatically during auth server upgrades.
41 lines
1.3 KiB
Protocol Buffer
41 lines
1.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
package events;
|
|
|
|
import "github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis/google/api/annotations.proto";
|
|
import "google/protobuf/empty.proto";
|
|
|
|
// SessionSlice is a slice of submitted chunks
|
|
message SessionSlice {
|
|
// Namespace is a session namespace
|
|
string Namespace = 1;
|
|
// SessionID is a session ID associated with this chunk
|
|
string SessionID = 2;
|
|
// Chunks is a list of submitted session chunks
|
|
repeated SessionChunk Chunks = 3;
|
|
// Version specifies session slice version
|
|
int64 Version = 4;
|
|
}
|
|
|
|
// SessionChunk is a chunk to be posted in the context of the session
|
|
message SessionChunk {
|
|
// Time is the occurence of this event
|
|
int64 Time = 2;
|
|
// Data is captured data, contains event fields in case of event, session data otherwise
|
|
bytes Data = 3;
|
|
// EventType is event type
|
|
string EventType = 4;
|
|
// EventIndex is the event global index
|
|
int64 EventIndex = 5;
|
|
// Index is the autoincremented chunk index
|
|
int64 ChunkIndex = 6;
|
|
// Offset is an offset from the previous chunk in bytes
|
|
int64 Offset = 7;
|
|
// Delay is a delay from the previous event in milliseconds
|
|
int64 Delay = 8;
|
|
}
|
|
|
|
service AuditLog {
|
|
rpc SubmitSessionSlice(stream SessionSlice) returns (google.protobuf.Empty) {
|
|
}
|
|
}
|