blob: e32a517a5e33c0ef65136df76c79db2c90f286e3 [file] [log] [blame]
syntax = "proto3";
package schema;
// Collect information about running containers
message ContainerCollectorConfig {
bool enabled = 1;
}
message ExecuteCollectorConfig {
bool enabled = 1;
// truncate argv/envp if cumulative length exceeds limit
uint32 argv_limit = 2;
uint32 envp_limit = 3;
// If specified, only report the named environment variables. An
// empty envp_allowlist indicates that all environment variables
// should be reported up to a cumulative total of envp_limit bytes.
repeated string envp_allowlist = 4;
}
// Collect information about executable memory mappings.
message MemExecCollectorConfig {
bool enabled = 1;
}
// Convey configuration information to Guest LSM
message ConfigurationRequest {
ContainerCollectorConfig container_config = 1;
ExecuteCollectorConfig execute_config = 2;
MemExecCollectorConfig memexec_config = 3;
// Additional configuration messages will be added as new collectors
// are implemented
}
// Report success or failure of previous ConfigurationRequest
message ConfigurationResponse {
enum ErrorCode {
// Keep values in sync with
// https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto
NO_ERROR = 0;
UNKNOWN = 2;
}
ErrorCode error = 1;
string msg = 2;
uint64 version = 3; // Version of the LSM
uint32 kernel_version = 4; // LINUX_VERSION_CODE
}