mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
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.
80 lines
2.8 KiB
TOML
80 lines
2.8 KiB
TOML
[package]
|
|
name = "firezone-gateway"
|
|
# mark:next-gateway-version
|
|
version = "1.4.19"
|
|
edition = { workspace = true }
|
|
license = { workspace = true }
|
|
description = "Gateway for the Firezone zero-trust access product."
|
|
|
|
[package.metadata.deb]
|
|
maintainer = "Firezone, Inc. <support@firezone.dev>"
|
|
copyright = "2025 Firezone, Inc."
|
|
maintainer-scripts = "debian/"
|
|
systemd-units = { enable = false }
|
|
extended-description = "" # Empty string to avoid embedding the README
|
|
revision = ""
|
|
section = "Network"
|
|
assets = [
|
|
["target/release/firezone-gateway", "usr/bin/", "755"],
|
|
["target/release/firezone-cli", "usr/bin/firezone", "755"],
|
|
["debian/firezone-gateway-init.sh", "usr/bin/firezone-gateway-init", "755"],
|
|
["debian/firezone-gateway.sysusers", "usr/lib/sysusers.d/firezone-gateway.conf", "644"],
|
|
["debian/firezone-gateway.tmpfiles", "usr/lib/tmpfiles.d/firezone-gateway.conf", "644"],
|
|
]
|
|
depends = 'iptables,systemd'
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
backoff = { workspace = true }
|
|
bin-shared = { workspace = true }
|
|
boringtun = { workspace = true }
|
|
chrono = { workspace = true }
|
|
clap = { workspace = true }
|
|
connlib-model = { workspace = true }
|
|
dns-types = { workspace = true }
|
|
either = { workspace = true }
|
|
futures = { workspace = true }
|
|
futures-bounded = { workspace = true }
|
|
hickory-resolver = { workspace = true }
|
|
ip-packet = { workspace = true }
|
|
ip_network = { workspace = true }
|
|
libc = { workspace = true, features = ["std", "const-extern-fn", "extra_traits"] }
|
|
logging = { workspace = true }
|
|
moka = { workspace = true, features = ["future"] }
|
|
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 }
|
|
resolv-conf = { workspace = true }
|
|
rustls = { workspace = true }
|
|
secrecy = { workspace = true }
|
|
serde = { workspace = true, features = ["std", "derive"] }
|
|
snownet = { workspace = true }
|
|
socket-factory = { workspace = true }
|
|
static_assertions = { workspace = true }
|
|
telemetry = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true, features = ["sync", "macros", "fs", "signal", "rt"] }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
tun = { workspace = true }
|
|
tunnel = { workspace = true }
|
|
url = { workspace = true }
|
|
uuid = { workspace = true, features = ["v4"] }
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
caps = { workspace = true }
|
|
dns-lookup = { workspace = true }
|
|
nix = { workspace = true, features = ["user"] }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
dns-lookup = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
serde_json = { workspace = true, features = ["std"] }
|
|
tempfile = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|