[workspace]
members = ["."]
resolver = "2"
[package]
name = "bashlet"
version = "0.1.0"
edition = "2021"
description = "Sandboxed bash execution environment using WebAssembly"
license = "MIT"
repository = "https://github.com/user/bashlet"
readme = "README.md"
keywords = ["sandbox", "wasm", "bash", "security"]
categories = ["command-line-utilities", "development-tools"]
[dependencies]
clap = { version = "4", features = ["derive", "env"] }
tokio = { version = "1", features = ["full", "process"] }
async-trait = "0.1"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"
thiserror = "1"
anyhow = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
directories = "5"
chrono = "0.4"
flate2 = "1"
tar = "0.4"
hyper = { version = "1", features = ["client", "http1"], optional = true }
hyper-util = { version = "0.1", features = ["tokio", "client-legacy"], optional = true }
http-body-util = { version = "0.1", optional = true }
which = { version = "7", optional = true }
[target.'cfg(target_os = "linux")'.dependencies]
hyperlocal = { version = "0.9", optional = true }
[features]
default = ["wasmer"]
wasmer = []
firecracker = ["hyper", "hyper-util", "http-body-util", "which"]
docker = []
all-backends = ["wasmer", "firecracker", "docker"]
[dev-dependencies]
tempfile = "3"
[profile.release]
lto = true
codegen-units = 1
strip = true
[[bin]]
name = "bashlet"
path = "src/main.rs"