mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-28 02:18:50 +00:00
This configures the GUI client to log to journald in addition to files as well. For better or worse, this logs all events such that structured information is preserved, e.g. all additional fields next to the message are also saved as fields in the journal. By default, when viewing the logs via `journalctl`, those fields are not displayed. This makes the default output of `journalctl` for the FIrezone GUI not as useful as it could be. Fixing that is left to a later stage. Related: #8173
214 lines
6.6 KiB
TOML
214 lines
6.6 KiB
TOML
[workspace]
|
|
members = [
|
|
"bin-shared",
|
|
"connlib/clients/android",
|
|
"connlib/clients/apple",
|
|
"connlib/clients/shared",
|
|
"connlib/model",
|
|
"connlib/snownet",
|
|
"connlib/tunnel",
|
|
"dns-over-tcp",
|
|
"gateway",
|
|
"gui-client/src-common",
|
|
"gui-client/src-tauri",
|
|
"headless-client",
|
|
"ip-packet",
|
|
"logging",
|
|
"phoenix-channel",
|
|
"relay",
|
|
"socket-factory",
|
|
"telemetry",
|
|
"tests/gui-smoke-test",
|
|
"tests/http-test-server",
|
|
"tun",
|
|
]
|
|
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
license = "Apache-2.0"
|
|
edition = "2021"
|
|
|
|
[workspace.dependencies]
|
|
anyhow = "1.0.95"
|
|
arboard = { version = "3.4.0", default-features = false }
|
|
async-trait = { version = "0.1", default-features = false }
|
|
atomicwrites = "0.4.4"
|
|
axum = { version = "0.7.7", default-features = false }
|
|
backoff = { version = "0.4", features = ["tokio"] }
|
|
base64 = { version = "0.22.1", default-features = false }
|
|
bimap = "0.6"
|
|
boringtun = { version = "0.6", default-features = false }
|
|
bytecodec = "0.4.15"
|
|
bytes = { version = "1.9.0", default-features = false }
|
|
chrono = { version = "0.4", default-features = false, features = ["std", "clock", "oldtime", "serde"] }
|
|
clap = "4.5.28"
|
|
derive_more = "1.0.0"
|
|
difference = "2.0.0"
|
|
dirs = "5.0.1"
|
|
divan = "0.1.17"
|
|
dns-lookup = "2.0"
|
|
domain = { version = "0.10", features = ["serde"] }
|
|
either = "1"
|
|
env_logger = "0.11.6"
|
|
etherparse = "0.16"
|
|
futures = { version = "0.3.31", default-features = false }
|
|
futures-bounded = "0.2.1"
|
|
futures-util = { version = "0.3", default-features = false }
|
|
glob = "0.3.2"
|
|
hex = "0.4.3"
|
|
hex-display = "0.3.0"
|
|
hex-literal = "0.4.1"
|
|
caps = "0.5.5"
|
|
humantime = "2.1"
|
|
ip_network = { version = "0.4", default-features = false }
|
|
ip_network_table = { version = "0.2", default-features = false }
|
|
itertools = "0.13"
|
|
jni = "0.21.1"
|
|
supports-color = "3.0.2"
|
|
keyring = "3.6.1"
|
|
known-folders = "1.2.0"
|
|
libc = "0.2.150"
|
|
log = "0.4"
|
|
lru = "0.12.5"
|
|
mio = "1.0.3"
|
|
moka = "0.12.10"
|
|
native-dialog = "0.7.0"
|
|
nix = "0.29.0"
|
|
nu-ansi-term = "0.50"
|
|
once_cell = "1.17.1"
|
|
ringbuffer = "0.15.0"
|
|
opentelemetry = "0.26.0"
|
|
opentelemetry-otlp = "0.26.0"
|
|
opentelemetry_sdk = "0.26.0"
|
|
os_info = { version = "3", default-features = false }
|
|
output_vt100 = "0.1"
|
|
png = "0.17.16"
|
|
proptest = "1.6.0"
|
|
proptest-state-machine = "0.3.1"
|
|
quinn-udp = { version = "0.5.8", features = ["fast-apple-datapath"] }
|
|
rand = "0.8.5"
|
|
rand_core = "0.6.4"
|
|
rangemap = "1.5.1"
|
|
rayon = "1.10.0"
|
|
reqwest = { version = "0.12.9", default-features = false }
|
|
rtnetlink = { version = "0.14.1", default-features = false, features = ["tokio_socket"] }
|
|
rustls = { version = "0.23.21", default-features = false, features = ["ring"] }
|
|
sadness-generator = "0.6.0"
|
|
secrecy = "0.8"
|
|
semver = "1.0.25"
|
|
sentry = { version = "0.36.0", default-features = false }
|
|
sentry-tracing = "0.36.0"
|
|
serde = "1.0.217"
|
|
serde_json = "1.0.135"
|
|
serde_variant = "0.1.3"
|
|
sha2 = "0.10.8"
|
|
smallvec = "1.13.2"
|
|
smbios-lib = "0.9.2"
|
|
smoltcp = { version = "0.12", default-features = false }
|
|
static_assertions = "1.1.0"
|
|
str0m = { version = "0.6.3", default-features = false, features = ["sha1"] }
|
|
strum = { version = "0.27.1", features = ["derive"] }
|
|
stun_codec = "0.3.4"
|
|
subprocess = "0.2.9"
|
|
subtle = "2.5.0"
|
|
swift-bridge = "0.1.57"
|
|
swift-bridge-build = "0.1.57"
|
|
lockfree-object-pool = "0.1.6"
|
|
tauri = "2.2.5"
|
|
tauri-build = "2.0.1"
|
|
tauri-plugin-dialog = "2.2.0"
|
|
tauri-plugin-notification = "2.2.0"
|
|
tauri-plugin-shell = "2.2.0"
|
|
tauri-plugin-opener = "2.2.0"
|
|
tauri-runtime = "2.3.0"
|
|
tauri-utils = "2.1.1"
|
|
tempfile = "3.13.0"
|
|
test-case = "3.3.1"
|
|
test-strategy = "0.4.0"
|
|
thiserror = "1.0.68"
|
|
time = "0.3.37"
|
|
tokio = "1.43"
|
|
tokio-stream = "0.1.17"
|
|
flume = { version = "0.11.1", features = ["async"] }
|
|
tokio-tungstenite = "0.23.1"
|
|
tokio-util = "0.7.11"
|
|
tracing = { version = "0.1.40" }
|
|
tracing-appender = "0.2.3"
|
|
tracing-core = "0.1.31"
|
|
tracing-log = "0.2.0"
|
|
tracing-macros = { git = "https://github.com/tokio-rs/tracing", branch = "v0.1.x" } # Contains `dbg!` but for `tracing`.
|
|
tracing-opentelemetry = "0.27.0"
|
|
tracing-stackdriver = "0.11.0"
|
|
tracing-journald = "0.3.1"
|
|
tracing-subscriber = { version = "0.3.19", features = ["parking_lot"] }
|
|
trackable = "1.3.0"
|
|
url = "2.5.2"
|
|
uuid = "1.10.0"
|
|
windows = "0.58.0"
|
|
winreg = "0.52.0"
|
|
zip = { version = "2", default-features = false }
|
|
|
|
connlib-client-android = { path = "connlib/clients/android" }
|
|
connlib-client-apple = { path = "connlib/clients/apple" }
|
|
connlib-client-shared = { path = "connlib/clients/shared" }
|
|
firezone-bin-shared = { path = "bin-shared" }
|
|
firezone-logging = { path = "logging" }
|
|
firezone-telemetry = { path = "telemetry" }
|
|
firezone-headless-client = { path = "headless-client" }
|
|
firezone-gui-client-common = { path = "gui-client/src-common" }
|
|
snownet = { path = "connlib/snownet" }
|
|
dns-over-tcp = { path = "dns-over-tcp" }
|
|
firezone-relay = { path = "relay" }
|
|
connlib-model = { path = "connlib/model" }
|
|
firezone-tunnel = { path = "connlib/tunnel" }
|
|
phoenix-channel = { path = "phoenix-channel" }
|
|
ip-packet = { path = "ip-packet" }
|
|
socket-factory = { path = "socket-factory" }
|
|
tun = { path = "tun" }
|
|
socket2 = { version = "0.5" }
|
|
|
|
[workspace.lints.clippy]
|
|
dbg_macro = "warn"
|
|
print_stdout = "warn"
|
|
print_stderr = "warn"
|
|
unnecessary_wraps = "warn"
|
|
unused_async = "warn"
|
|
wildcard_enum_match_arm = "warn" # Ensures we match on all combinations of `Poll`, preventing erroneous suspensions.
|
|
redundant_else = "warn"
|
|
redundant_clone = "warn"
|
|
unwrap_in_result = "warn"
|
|
unwrap_used = "warn"
|
|
|
|
[workspace.lints.rustdoc]
|
|
private-intra-doc-links = "allow" # We don't publish any of our docs but want to catch dead links.
|
|
|
|
[patch.crates-io]
|
|
boringtun = { git = "https://github.com/firezone/boringtun", branch = "master" }
|
|
str0m = { git = "https://github.com/algesten/str0m", branch = "main" }
|
|
ip_network = { git = "https://github.com/JakubOnderka/ip_network", branch = "master" } # Waiting for release.
|
|
ip_network_table = { git = "https://github.com/edmonds/ip_network_table", branch = "some-useful-traits" } # For `Debug` and `Clone`
|
|
tracing-stackdriver = { git = "https://github.com/thomaseizinger/tracing-stackdriver", branch = "bump-otel-0.26" } # Waiting for release.
|
|
|
|
# Enforce `tracing-macros` to have released `tracing` version.
|
|
[patch.'https://github.com/tokio-rs/tracing']
|
|
tracing = "0.1.41"
|
|
|
|
[profile.release]
|
|
# Full link-time optimization. Reduces binaries by up to 3x on some platforms.
|
|
lto = "fat"
|
|
|
|
# Increases the compiler's ability to produce smaller, optimized code
|
|
# at the expense of compilation time
|
|
codegen-units = 1
|
|
|
|
# Override build settings just for the GUI client, so we get a pdb/dwp
|
|
# Cargo ignores profile settings if they're not in the workspace's Cargo.toml
|
|
[profile.dev.package.firezone-gui-client]
|
|
debug = "full"
|
|
split-debuginfo = "packed"
|
|
|
|
[profile.release.package.firezone-gui-client]
|
|
debug = "full"
|
|
split-debuginfo = "packed"
|