syntax = "proto2"; package nsjail; enum Mode { LISTEN = 0; ONCE = 1; RERUN = 2; EXECVE = 3; } enum LogLevel { DEBUG = 0; INFO = 1; WARNING = 2; ERROR = 3; FATAL = 4; } message NsJailConfig { required Mode mode = 1 [default = ONCE]; optional bytes chroot = 2; required bool is_root_rw = 3 [default = false]; required bytes hostname = 6 [default = "NSJAIL"]; required bytes cwd = 7 [default = "/"]; required uint32 port = 8 [default = 0]; required bytes bindhost = 9 [default = "::"]; required uint32 max_conns_per_ip = 10 [default = 0]; required uint32 time_limit = 11 [default = 600]; required bool daemon = 12 [default = false]; optional bytes log_file = 13; optional LogLevel log_level = 14; required bool keep_env = 15 [default = false]; required bool silent = 16 [default = false]; required bool skip_setsid = 17 [default = false]; repeated int32 pass_fd = 18; required bool pivot_root_only = 19 [ default = false]; required bool disable_no_new_privs = 20 [default = false]; required uint64 rlimit_as = 21 [default = 512]; required uint64 rlimit_core = 22 [default = 0]; required uint64 rlimit_cpu = 23 [default = 600]; required uint64 rlimit_fsize = 24 [default = 1]; required uint64 rlimit_nofile = 25 [default = 32]; optional uint64 rlimit_nproc = 26; optional uint64 rlimit_stack = 27; }