Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Cargo features & platform support

boatramp is one binary of feature-gated crates. The default build is lean; the heavier capabilities are compiled in with cargo features. This page lists the cargo features and their default state, then which capabilities are Linux-only. To turn features on when compiling, see Build from source.

Cargo build features

The default set is fs and slatedb; every other feature is off unless named on the cargo build command line. Some features imply others: http3 implies tls, acme-dns implies tls, and cluster implies handlers and slatedb.

FeatureDefaultEnables
fsyesFilesystem blob backend (--blobs fs).
slatedbyesThe default --kv slatedb: a durable transactional LSM over an object_store backend.
s3noS3 blob backend (--blobs s3).
cloudflare-kvnoCloudflare KV metadata backend.
tlsnoHTTPS: --tls custom (operator cert) and --tls acme (automatic certs).
acme-dnsnoWildcard TLS via ACME DNS-01 plus the dns subcommand (--tls acme-dns) and the pluggable DNS-provider clients. Implies tls.
http3noHTTP/3 (QUIC) serving alongside the TLS TCP listener. Implies tls.
oidcnoOIDC → token exchange: verify serve against an OIDC issuer’s JWKS.
signer-awsnoExternal token signer backed by AWS KMS.
signer-gcpnoExternal token signer backed by GCP KMS.
signer-azurenoExternal token signer backed by Azure Key Vault.
signer-vaultnoExternal token signer backed by HashiCorp Vault.
signer-pkcs11noExternal token signer backed by a PKCS#11 HSM.
compressionnoOn-the-fly response compression, opt-in per site.
bundlernoThe in-process JS/TS + CSS bundler for boatramp bundle.
handlersnoThe wasmtime handler engine, component validation at sync, and the sql handler binding.
clusternoSelf-hosted Raft cluster mode. Implies handlers and slatedb.

The COSE/CWT + Cedar control-plane auth, the OCI→ext4 rootfs build, and the container / microVM / remote-docker compute backends are compiled into every build; they are not behind cargo features. The compute code that needs Linux is gated at the source level and compiles to no-ops elsewhere.

# HTTPS, handlers, and wildcard preview certs.
cargo build --release -p boatramp --features tls,handlers,acme-dns

Platform support

The publish / serve / handler / TLS / cluster core is cross-platform. The compute execution backends differ:

PlatformCompute backends
Linux x86_64, aarch64microVM (needs /dev/kvm), native container, remote-docker
macOS, Windowsremote-docker only

The microVM and native-container backends need /dev/kvm, namespaces, and the jailer, so they are Linux-only; on macOS and Windows that code compiles to no-ops and compute runs through the remote-docker backend against a Linux Docker host.

See also