ConfigServiceImpl wraps ArcSwap<DynamicConfig> providing forwarding_policy(), rate_limits(), and reload() methods for direct use (always available). ConfigProtocol enum (GetForwardingPolicy, GetRateLimits, ReloadForwarding, ReloadRateLimits) is gated behind the irpc feature flag per ADR-030.
46 lines
1.4 KiB
TOML
46 lines
1.4 KiB
TOML
[package]
|
|
name = "alknet-core"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "Core library for Alknet: pluggable SSH tunnel transport, SOCKS5 proxy, port forwarding, and authentication"
|
|
repository.workspace = true
|
|
|
|
[lib]
|
|
name = "alknet_core"
|
|
|
|
[features]
|
|
default = []
|
|
tls = ["dep:tokio-rustls", "dep:rustls", "dep:rustls-pki-types", "dep:webpki-roots"]
|
|
iroh = ["dep:iroh", "dep:url"]
|
|
acme = ["dep:rustls-acme", "dep:futures", "tls"]
|
|
irpc = []
|
|
testutil = []
|
|
transport-traits = []
|
|
|
|
[dependencies]
|
|
russh = "0.49"
|
|
tokio = { version = "1", features = ["full"] }
|
|
tracing = "0.1"
|
|
anyhow = "1"
|
|
thiserror = "2"
|
|
tokio-util = { version = "0.7", features = ["compat"] }
|
|
tokio-rustls = { version = "0.26", optional = true }
|
|
rustls = { version = "0.23", optional = true, features = ["aws_lc_rs"] }
|
|
rustls-pki-types = { version = "1", optional = true }
|
|
rustls-acme = { version = "0.12", optional = true }
|
|
futures = { version = "0.3", optional = true }
|
|
webpki-roots = { version = "0.26", optional = true }
|
|
iroh = { version = "0.34", optional = true }
|
|
url = { version = "2", optional = true }
|
|
async-trait = "0.1"
|
|
ipnetwork = "0.21.1"
|
|
arc-swap = "1"
|
|
|
|
[dev-dependencies]
|
|
alknet-core = { path = ".", features = ["testutil", "tls", "iroh"] }
|
|
tempfile = "3"
|
|
rcgen = "0.14"
|
|
rand_core = "0.6"
|
|
ssh-key = { version = "0.6", features = ["ed25519", "alloc"] }
|
|
rand = "0.10.1" |