[package]
name = "foundation_deployment_platform"
version = "0.1.1"
edition = "2024"
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
description = "Foundation deployment platform — VM/container orchestration, Docker runtime, guest infrastructure"
keywords = ["ewe-platform", "deployment", "platform", "docker", "testcontainers"]
[dependencies]
foundation_core = { path = "../foundation_core", version = "0.0.5" }
foundation_netio = { path = "../foundation_netio", version = "0.0.3", features = ["ssl", "multi"] }
foundation_errstacks = { path = "../foundation_errstacks", version = "0.0.2" }
foundation_macros = { path = "../foundation_macros", version = "0.0.5" }
foundation_wireguard = { path = "../foundation_wireguard", version = "0.0.2", optional = true, default-features = false }
foundation_deployment_docker = { path = "../foundation_deployment_docker", version = "0.1.2", features = ["docker"] }
futures-lite = "2"
serde.workspace = true
serde_json.workspace = true
derive_more.workspace = true
tracing.workspace = true
chrono.workspace = true
ssh2 = { version = "0.9", features = ["vendored-openssl"], optional = true }
indicatif = { version = "0.17", optional = true }
tar = { version = "0.4", optional = true }
flate2 = { version = "1", optional = true }
xz2 = { version = "0.1", optional = true }
dirs = { version = "6", optional = true }
anyhow = { version = "1", optional = true }
image = { version = "0.25", optional = true }
libc = { version = "0.2", optional = true }
toml = { version = "0.8", optional = true }
fs2 = { version = "0.4", optional = true }
sha2 = { version = "0.10", optional = true }
whoami = { version = "2", optional = true }
which = { version = "7", optional = true }
base64 = "0.22"
portpicker = { version = "0.1", optional = true }
clap = { version = "4", features = ["derive"], optional = true }
foundation_sshkit = { path = "../foundation_sshkit", version = "0.1.1", optional = true }
[features]
default = ["docker", "wireguard"]
multi = ["foundation_core/multi", "foundation_netio/multi"]
vms = [
"dep:ssh2", "dep:indicatif", "dep:tar", "dep:flate2", "dep:xz2",
"dep:dirs", "dep:anyhow", "dep:image", "dep:libc",
"dep:toml", "dep:fs2", "dep:sha2", "dep:whoami", "dep:which",
"dep:clap", "dep:portpicker", "dep:foundation_sshkit",
"dep:foundation_wireguard",
]
wireguard = ["dep:foundation_wireguard"]
docker = ["foundation_deployment_docker/docker"]
buildkit = ["foundation_deployment_docker/buildkit"]
all-providers = ["vms", "docker"]
[dev-dependencies]
tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros"] }
tracing-subscriber = "0.3"
[[bin]]
name = "platform"
path = "src/bin/platform.rs"
required-features = ["clap"]
[lints]
workspace = true