alien-core 3.3.21

Deploy software into your customers' cloud accounts and keep it fully managed
Documentation
[package]
name = "alien-core"
version.workspace = true
edition.workspace = true
authors.workspace = true
description.workspace = true
license-file.workspace = true

[features]
default = []
openapi = ["dep:utoipa"]
jsonschema = ["dep:schemars"]
test-utils = []
local = ["tokio/fs"]
# Signing and verifying sandbox capability tokens. Gated because alien-core is also built for
# targets that have no business carrying a crypto implementation.
sandbox-capability = ["dep:ed25519-compact"]
# Framing a child process into sandbox output frames. Gated because most consumers of this
# crate have no business spawning processes.
sandbox-process = ["tokio/process", "tokio/io-util", "tokio/time", "tokio/macros", "tokio/sync"]

[dependencies]
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
sha2 = { workspace = true }
bon = { workspace = true }
chrono = { workspace = true, features = ["serde"] }
indexmap = { workspace = true, features = ["serde"] }
clap = { workspace = true, features = ["derive"], optional = true }
utoipa = { workspace = true, features = ["indexmap", "chrono"], optional = true }
schemars = { workspace = true, features = ["indexmap", "chrono"], optional = true }
uuid = { workspace = true, features = ["v4", "serde"] }
regex = { workspace = true }
nanoid = { workspace = true }
tokio = { workspace = true }
async-trait = { workspace = true }
bytes = { workspace = true }
reqwest = { workspace = true }
base64 = { workspace = true }
ed25519-compact = { workspace = true, optional = true }
alien-macros = { workspace = true }
alien-error = { workspace = true, features = ["openapi"] }
thiserror = { workspace = true }
tracing = { workspace = true }
url = { workspace = true, features = ["serde"] }

[dev-dependencies]
insta = { workspace = true, features = ["yaml", "json"] }
rstest = { workspace = true }
axum = { workspace = true, features = ["tokio", "http2"] }
futures = { workspace = true }

[[bin]]
name = "schema_exporter"
path = "src/bin/schema_exporter.rs"
required-features = ["clap", "openapi"]

# Killing a process group needs `kill(2)` with a negative pid, which std does not expose.
[target.'cfg(unix)'.dependencies]
libc = "0.2"