Cargo.toml
Rama main · réplica de lectura del repositorio original.
cargo-features = ["profile-rustflags"]
[workspace]
members = [
"warpgate",
"warpgate-admin",
"warpgate-aws",
"warpgate-common-cache",
"warpgate-common",
"warpgate-secrets-vault",
"warpgate-common-http",
"warpgate-tls",
"warpgate-core",
"warpgate-desktop-auth",
"warpgate-db-migrations",
"warpgate-db-entities",
"warpgate-database-protocols",
"warpgate-ldap",
"warpgate-protocol-http",
"warpgate-protocol-kubernetes",
"warpgate-protocol-mysql",
"warpgate-protocol-postgres",
"warpgate-protocol-rdp",
"warpgate-protocol-ssh",
"warpgate-protocol-vnc",
"warpgate-desktop-ui",
"warpgate-sso",
"warpgate-web",
"warpgate-web-clients-common",
"warpgate-web-desktop",
"warpgate-web-ssh",
]
# Vendored IronRDP forks (path deps / patches). They are excluded from the workspace so
# Cranky's deny lints don't apply to their upstream code. Each carries a PATCHES.md
# describing the fork and a warpgate.patch reproducing it. ironrdp-server is a git snapshot
# (no release builds against the current crate generation); the other two add the
# credential-less CredSSP mode interactive-logon targets need.
exclude = [
"vendor/ironrdp-async",
"vendor/ironrdp-connector",
"vendor/ironrdp-server",
]
default-members = ["warpgate"]
resolver = "2"
[patch.crates-io]
ironrdp-async = { path = "vendor/ironrdp-async" }
ironrdp-connector = { path = "vendor/ironrdp-connector" }
ironrdp-server = { path = "vendor/ironrdp-server" }
[workspace.dependencies]
aes-gcm = { version = "0.11", default-features = false, features = [
"aes",
"alloc",
] }
anyhow = { version = "1.0", default-features = false, features = ["std"] }
async-trait = { version = "0.1", default-features = false }
argon2 = { version = "0.5", default-features = false, features = [
"password-hash",
"alloc",
] }
bytes = { version = "1.4", default-features = false }
data-encoding = { version = "2.3", default-features = false, features = [
"alloc",
"std",
] }
ipnet = { version = "2", default-features = false }
jpeg-encoder = { version = "0.7", default-features = false, features = ["std"] }
serde = { version = "1.0", features = ["derive"], default-features = false }
serde_json = { version = "1.0", default-features = false }
russh = { version = "0.65.0", features = [
"des",
"dsa",
"rsa",
"aws-lc-rs",
], default-features = false }
futures = { version = "0.3", default-features = false }
http = { version = "1.4", default-features = false }
tokio-stream = { version = "0.1.17", features = [
"net",
], default-features = false }
tokio-rustls = { version = "0.26", default-features = false }
tls-listener = { version = "0.11.2", features = [
"rustls-core",
], default-features = false }
enum_dispatch = { version = "0.3.13", default-features = false }
rustls = { version = "0.23", default-features = false, features = ["tls12"] }
sqlx = { version = "0.8", features = [
"tls-rustls-aws-lc-rs",
], default-features = false }
sea-orm = { version = "1.0", default-features = false, features = [
"runtime-tokio",
"macros",
"with-time",
"with-uuid",
] }
sea-orm-migration = { version = "1.0", default-features = false }
poem = { version = "3.1", features = [
"cookie",
"session",
"anyhow",
"websocket",
"rustls",
"embed",
"server",
], default-features = false }
ppp = { version = "2.3", default-features = false }
hex = { version = "0.4", default-features = false }
html-escape = { version = "0.2", default-features = false }
poem-openapi = { version = "5.1", features = [
"stoplight-elements",
"uuid",
"static-files",
"cookie",
"time",
], default-features = false }
password-hash = { version = "0.5", features = [
"std",
], default-features = false }
delegate = { version = "0.13", default-features = false }
subtle = { version = "2", default-features = false }
tracing = { version = "0.1", default-features = false }
schemars = { version = "1.2", default-features = false, features = [
"derive",
"std",
] }
ldap3 = { version = "0.12", default-features = false, features = [
"tls-rustls-aws-lc-rs",
] }
rustls-pki-types = { version = "1.13", default-features = false, features = [
"alloc",
"std",
] }
thiserror = { version = "2", default-features = false }
rand = { version = "0.10", default-features = false }
rand_chacha = { version = "0.10", default-features = false }
rand_core = { version = "0.10", default-features = false }
sha2 = { version = "0.11", default-features = false }
dialoguer = { version = "0.12", default-features = false, features = [
"editor",
"password",
] }
tokio = { version = "1.52", features = [
"tracing",
"signal",
"macros",
"rt-multi-thread",
"io-util",
], default-features = false }
tokio-util = { version = "0.7", features = ["rt"] }
quick_cache = "0.7.0"
governor = { version = "0.10.0", default-features = false, features = [
"std",
"quanta",
"jitter",
] }
rcgen = { version = "0.14", features = [
"zeroize",
"crypto",
"aws_lc_rs",
"pem",
"x509-parser",
], default-features = false }
x509-parser = { version = "0.18.1", default-features = false }
uuid = { version = "1.23", features = [
"v4",
"serde",
], default-features = false }
reqwest = { version = "0.13", features = [
"http2", # required for connecting to targets behind AWS ELB
"rustls-no-provider",
"stream",
"gzip",
], default-features = false }
reqwest_12 = { package = "reqwest", version = "0.12", features = [
"http2",
"rustls-tls-native-roots-no-provider",
"stream",
"gzip",
], default-features = false } # separate copy to control features on openidconnect->oauth2->reqwest
regex = { version = "1.6", default-features = false, features = ["std"] }
tokio-tungstenite = { version = "0.30", features = [
"rustls-tls-native-roots",
"connect",
], default-features = false }
reqwest-websocket = { version = "0.6.0", default-features = false }
time = { version = "0.3", default-features = false }
url = { version = "2.4", default-features = false }
zune-jpeg = "0.5"
[profile.dev]
debug = "line-tables-only"
[profile.release]
lto = "thin"
strip = "debuginfo"
[profile.release-no-lto]
inherits = "release"
lto = false
[profile.coverage]
inherits = "dev"
[profile.dev.package.aws-sdk-ec2]
hint-mostly-unused = true
[profile.release.package.aws-sdk-ec2]
hint-mostly-unused = true
[profile.dev.package.aws-sdk-rds]
hint-mostly-unused = true
[profile.release.package.aws-sdk-rds]
hint-mostly-unused = true
[profile.dev.package.aws-sdk-eks]
hint-mostly-unused = true
[profile.release.package.aws-sdk-eks]
hint-mostly-unused = true
[profile.dev.package.aws-sdk-s3]
hint-mostly-unused = true
[profile.release.package.aws-sdk-s3]
hint-mostly-unused = true