forked from nklmilojevic/sofka
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
93 lines (85 loc) · 3.37 KB
/
Copy pathCargo.toml
File metadata and controls
93 lines (85 loc) · 3.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
[package]
name = "sofka"
version = "0.25.5"
edition = "2024"
license = "MIT OR Apache-2.0"
description = "A Kubernetes TUI, reimagined in Rust"
repository = "https://github.com/nklmilojevic/sofka"
[dependencies]
aho-corasick = "1.1.5"
anyhow = "1.0.102"
base64 = "0.23.0"
clap = { version = "4.6.1", features = ["derive"] }
crossterm = { version = "0.29.0", features = ["event-stream"] }
dhat = { version = "0.3.3", optional = true }
flate2 = "1.1.5"
foldhash = "0.2"
form_urlencoded = "1.2.2"
futures-util = "0.3.32"
http = "1.4.2"
http-body-util = "0.1.3"
hyper = { version = "1.10.1", features = ["client", "http1"] }
hyper-rustls = { version = "0.27.9", default-features = false, features = ["http1", "native-tokio", "aws-lc-rs", "tls12"] }
hyper-timeout = "0.5.2"
hyper-util = { version = "0.1.20", features = ["client-legacy", "http1", "tokio"] }
ipnet = "2.12.2"
k8s-openapi = { version = "0.28", features = ["latest"] }
kube = { version = "4.2.0", default-features = false, features = ["runtime", "client", "derive", "ws", "http-proxy", "socks5", "gzip", "rustls-tls", "aws-lc-rs"] }
memchr = "2.8.3"
nucleo-matcher = "0.3"
ratatui = "0.30.1"
regex = "1"
rustls = { version = "0.23.43", default-features = false, features = ["aws-lc-rs", "std", "tls12"] }
rustls-webpki = { version = "0.103.15", default-features = false, features = ["aws-lc-rs", "std"] }
secrecy = "0.10.3"
serde = "1.0.228"
serde_json = "1.0.150"
serde_yaml = "0.9.34"
similar = "3.1.1"
terminal-colorsaurus = "1.0.3"
tokio = { version = "1.52.3", features = ["full"] }
toml = "1.1.2"
toml_edit = "0.25.13"
tower = { version = "0.5.3", features = ["util"] }
tower-http = { version = "0.7.0", features = ["decompression-gzip", "trace", "util", "map-response-body"] }
unicode-segmentation = "1.13.3"
unicode-width = "0.2.2"
x509-parser = { version = "0.18", default-features = false }
[profile.release]
# Thin LTO: within ~1-3% of fat LTO's runtime at a fraction of the build
# time — this profile is built cold on every release (4 targets + 4 Nix
# builds), so compile time matters more than the last percent.
lto = "thin"
strip = true
# Benchmarks must measure shipped codegen, so this mirrors `release` — but
# keeps symbols, because a stripped binary profiles as a wall of hex.
[profile.bench]
lto = "thin"
strip = false
debug = true
[dev-dependencies]
criterion = { version = "0.8.2", features = ["html_reports"] }
tokio-rustls = { version = "0.26.4", default-features = false, features = ["aws-lc-rs", "tls12"] }
[features]
# Widens a couple of test-only constructors (`Cluster::fake`) and exposes
# `benchsupport` so `benches/` can build fixtures against the real types.
# Never enabled for a release build.
bench = []
# Heap profiling: `cargo run --features dhat-heap` writes dhat-heap.json.
dhat-heap = ["dep:dhat"]
[[bench]]
name = "hot_paths"
harness = false
required-features = ["bench"]
# Memory counterpart to the benches: criterion measures time, and the Tier 1
# items are justified by heap. Needs `bench` for the fixtures and `dhat-heap`
# for the allocator that can report live bytes.
[[example]]
name = "memprobe"
required-features = ["bench", "dhat-heap"]
# Fixed-size latency probe for state persistence. Unlike Criterion's adaptive
# iteration count, this can time enqueue latency without building an unbounded
# backlog faster than the filesystem worker can drain it.
[[example]]
name = "state_write_probe"
required-features = ["bench"]