Cargo Features

[dependencies]
fctools = { version = "0.6.0-alpha.5", default-features = false, features = ["full", "sys-nix", "sys-rustix", "runtime", "tokio-runtime", "smol-runtime", "process-spawner", "direct-process-spawner", "elevation-process-spawners", "vmm-arguments", "vmm-installation", "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 = sys-nix

The sys-nix feature is set by default whenever fctools is added without default-features = false somewhere in the dependency tree.

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, tokio-runtime, unrestricted-vmm-executor, vm
sys-nix default

syslib

Enables nix

sys-rustix

Enables rustix

runtime process-spawner? tokio-runtime? vmm-installation?

Enables futures-io

Affects fctools::runtime

tokio-runtime full? = runtime

Enables tokio-backend of hyper-client-sockets and tokio and tokio-util

tokio-util:

tokio runtime

Affects runtime::tokio

smol-runtime full?

Enables pin-project-lite and smol-hyper, 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-executor? = runtime

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-arguments vmm-executor?

vmm

Affects vmm::arguments, vmm::resource, vmm::id

vmm-installation vmm-executor? = runtime

Enables futures-util

executor

Affects vmm::installation

vmm-executor jailed-vmm-executor? snapshot-editor-extension? unrestricted-vmm-executor? vmm-process? = process-spawner, vmm-arguments, vmm-installation

Enables futures-channel

Affects vmm::executor, vmm::ownership

jailed-vmm-executor either-vmm-executor? full? = vmm-executor

Affects executor::jailed

unrestricted-vmm-executor either-vmm-executor? full? = vmm-executor

Affects executor::unrestricted

either-vmm-executor full? = jailed-vmm-executor, unrestricted-vmm-executor

Affects executor::either

vmm-process vm? = vmm-executor

Enables async-once-cell, bytes, http, http-body-util, hyper, and hyper-util

async-once-cell:

process

Affects runtime::Runtime.get_hyper_executor, runtime::Runtime.get_hyper_client_sockets_backend, vmm::process

vm full? grpc-vsock-extension? http-vsock-extension? = vmm-process

Enables serde and serde_json

Affects fctools::vm

metrics-extension full?

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

Enables cidr

extensions

Affects extension::link_local

snapshot-editor-extension full? = vmm-executor

Affects extension::snapshot_editor

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

hyper-client-sockets grpc-vsock-extension? http-vsock-extension? smol-runtime? tokio-runtime?