Cargo Features
[dependencies]
fctools = { version = "0.6.0-beta.1", default-features = false, features = ["full", "syscall-nix", "syscall-rustix", "runtime-util", "tokio-runtime", "smol-runtime", "process-spawner", "direct-process-spawner", "elevation-process-spawners", "vmm-core", "vmm-executor", "jailed-vmm-executor", "unrestricted-vmm-executor", "either-vmm-executor", "vmm-process", "vm", "metrics-extension", "http-vsock-extension", "grpc-vsock-extension", "link-local-extension", "snapshot-editor-extension"] }
- default = syscall-nix
-
The
syscall-nix
feature is set by default wheneverfctools
is added without
somewhere in the dependency tree.default-features = false - full = direct-process-spawner, either-vmm-executor, elevation-process-spawners, grpc-vsock-extension, http-vsock-extension, jailed-vmm-executor, link-local-extension, metrics-extension, smol-runtime, snapshot-editor-extension, syscall-nix, tokio-runtime, unrestricted-vmm-executor, vm
- syscall-nix default full?
-
syscall implementations
Enables nix
syscall implementation
- syscall-rustix
-
Enables rustix
- runtime-util jailed-vmm-executor? smol-runtime? tokio-runtime? unrestricted-vmm-executor? vmm-process?
-
runtime-related
Affects
runtime::util
… - tokio-runtime full? = runtime-util
-
Enables tokio-backend of hyper-client-sockets and tokio and tokio-util
tokio-util:
tokio runtime
Affects
runtime::tokio
… - smol-runtime full? = runtime-util
-
Enables pin-project-lite, async-io-backend of hyper-client-sockets and async-executor, async-fs, async-io, async-process, async-task, and blocking
async-task:
smol runtime
Affects
runtime::smol
… - process-spawner direct-process-spawner? elevation-process-spawners? vmm-core? vmm-executor?
-
L1: process spawner
Affects
fctools::process_spawner
… - direct-process-spawner full? = process-spawner
-
Affects
process_spawner::DirectProcessSpawner
… - elevation-process-spawners full? = process-spawner
-
Affects
process_spawner::SuProcessSpawner
,process_spawner::SudoProcessSpawner
… - vmm-core vmm-executor? = process-spawner
-
L2: VMM core
Enables futures-util
executor
Affects
fctools::vmm
… - vmm-executor jailed-vmm-executor? snapshot-editor-extension? unrestricted-vmm-executor? vmm-process? = process-spawner, vmm-core
-
L3: VMM executor
Enables futures-channel
Affects
vmm::executor
… - jailed-vmm-executor either-vmm-executor? full? = runtime-util, vmm-executor
-
Affects
executor::jailed
… - unrestricted-vmm-executor either-vmm-executor? full? = runtime-util, vmm-executor
-
Affects
executor::unrestricted
… - either-vmm-executor full? = jailed-vmm-executor, unrestricted-vmm-executor
-
Affects
executor::either
… - vmm-process vm? = runtime-util, vmm-executor
-
L4: VMM process
Enables async-once-cell, bytes, http, http-body-util, hyper, hyper-client-sockets, and hyper-util
async-once-cell:
process
Affects
util::RuntimeHyperExecutor
,vmm::process
… - vm full? grpc-vsock-extension? http-vsock-extension? = vmm-process
-
L5: VM
Enables serde and serde_json
Affects
fctools::vm
… - metrics-extension full?
-
L6: VM extensions (and lower-level extensions)
Enables serde and serde_json
serde:
vm
Affects
extension::metrics
… - http-vsock-extension full? = vm
-
Enables firecracker of hyper-client-sockets
Affects
extension::http_vsock
… - grpc-vsock-extension full? = vm
-
Enables tonic and tower-service, firecracker of hyper-client-sockets
Affects
extension::grpc_vsock
… - link-local-extension full?
-
Enables cidr
extensions
Affects
extension::link_local
… - snapshot-editor-extension full? = vmm-executor
-
Affects
extension::snapshot_editor
…