syntax = "proto3";

package containerd.runhcs.v1;

import weak "gogoproto/gogo.proto";

option go_package = "github.com/containerd/containerd/runtime/v2/runhcs/options;options";

message Options {
	// enable debug tracing
	bool debug = 1;

	enum DebugType {
		NPIPE = 0;
		FILE = 1;
		ETW = 2;
	}

	// debug tracing output type
	DebugType debug_type = 2;

	// registry key root for storage of the runhcs container state
	string registry_root = 3;

	// sandbox_image is the image to use for the sandbox that matches the
	// sandbox_platform.
	string sandbox_image = 4;

	// sandbox_platform is a CRI setting that specifies the platform
	// architecture for all sandbox's in this runtime. Values are
	// 'windows/amd64' and 'linux/amd64'.
	string sandbox_platform = 5;

	enum SandboxIsolation {
		PROCESS = 0;
		HYPERVISOR = 1;
	}

	// sandbox_isolation is a CRI setting that specifies the isolation level of
	// the sandbox. For Windows runtime PROCESS and HYPERVISOR are valid. For
	// LCOW only HYPERVISOR is valid and default if omitted.
	SandboxIsolation sandbox_isolation = 6;
}
