Cargo Features

[dependencies]
vls-proxy = { version = "0.12.0", default-features = false, features = ["grpc", "main", "log_pretty_print", "debug", "system-test", "heapmon_requests", "otlp"] }
default = debug, grpc, main

These default features are set whenever vls-proxy is added without default-features = false somewhere in the dependency tree.

grpc default = async-stream, backoff, prost, tokio, tokio-stream, tonic, url

Required by remote_hsmd_socket and vlsd2 binaries

main default = clap, ctrlc, fern, toml

Affects util::setup_logging, util::add_hsmd_args, util::handle_hsmd_version

Required by remote_hsmd_serial, remote_hsmd_socket and vlsd2 binaries

log_pretty_print

Enables log_pretty_print of vls-core, vls-frontend, and vls-protocol-signer

debug default

Enables debug of vls-core and vls-protocol-signer

system-test = serde_json, tempfile

Enables test_utils of vls-core

heapmon_requests

Affects signer::HEAPMON

otlp = opentelemetry, opentelemetry-otlp, opentelemetry-semantic-conventions, opentelemetry_sdk, tracing-opentelemetry

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.

serde_json system-test?
tempfile system-test?
fern main

Enables fern ^0.6

clap main

Enables clap ^3.2

.4 doesn't compile with 1.45.2

toml main

Enables toml ^0.5

match kv dep for now

tokio grpc
tokio-stream grpc
tonic grpc

Enables tonic ^0.9

prost grpc

Enables prost ^0.11

ctrlc main

Enables ctrlc

note that 3.2.4 increments nix dep in a non-semver way to 0.26

async-stream grpc
url grpc
backoff grpc
opentelemetry otlp?

Enables opentelemetry ^0.21.0

opentelemetry_sdk otlp?

Enables opentelemetry_sdk ^0.21.2

opentelemetry-otlp otlp?

Enables opentelemetry-otlp ^0.14.0

opentelemetry-semantic-conventions otlp?

Enables opentelemetry-semantic-conventions ^0.13.0

tracing-opentelemetry otlp?

Enables tracing-opentelemetry ^0.22.0