Files
firezone/rust/headless-client/Cargo.toml
Thomas Eizinger b7dc897eea refactor(rust): introduce libs/ directory (#10964)
The current Rust workspace isn't as consistent as it could be. To make
navigation a bit easier, we move a few crates around. Generally, we
follow the idea that entry-points should be at the top-level. `rust/`
now looks like this (directories only):

```
.
├── cli             # Firezone CLI
├── client-ffi      # Entry point for Apple & Android
├── gateway         # Gateway
├── gui-client      # GUI client
├── headless-client # Headless client
├── libs            # Library crates
├── relay           # Relay
├── target          # Compile artifacts
├── tests           # Crates for testing
└── tools           # Local tools
```

To further enforce this structure, we also drop the `firezone-` prefix
from all crates that are not top-level binary crates.
2025-11-25 10:59:11 +00:00

49 lines
1.8 KiB
TOML

[package]
name = "firezone-headless-client"
# mark:next-headless-version
version = "1.5.5"
edition = { workspace = true }
authors = ["Firezone, Inc."]
license = { workspace = true }
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
anyhow = { workspace = true }
backoff = { workspace = true }
bin-shared = { workspace = true }
clap = { workspace = true, features = ["derive", "env", "string"] }
client-shared = { workspace = true }
connlib-model = { workspace = true }
dns-types = { workspace = true }
futures = { workspace = true }
humantime = { workspace = true }
ip-packet = { workspace = true }
logging = { workspace = true }
opentelemetry = { workspace = true, features = ["metrics"] }
opentelemetry-otlp = { workspace = true, features = ["metrics", "grpc-tonic"] }
opentelemetry-stdout = { workspace = true, features = ["metrics"] }
opentelemetry_sdk = { workspace = true, features = ["rt-tokio"] }
phoenix-channel = { workspace = true }
rustls = { workspace = true }
secrecy = { workspace = true }
socket-factory = { workspace = true }
telemetry = { workspace = true }
# This actually relies on many other features in Tokio, so this will probably
# fail to build outside the workspace. <https://github.com/firezone/firezone/pull/4328#discussion_r1540342142>
tokio = { workspace = true, features = ["macros", "signal", "process", "time", "fs", "rt"] }
tokio-stream = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
url = { workspace = true }
[target.'cfg(target_os = "linux")'.dependencies]
libc = { workspace = true }
nix = { workspace = true, features = ["fs", "user", "socket"] }
sd-notify = { workspace = true }
[target.'cfg(target_os = "windows")'.dependencies]
known-folders = { workspace = true }
[lints]
workspace = true