Ctrl K
ComunidadGuías…

Cargo.toml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
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