[package]
name = "boatramp-node"
version.workspace = true
readme.workspace = true
homepage.workspace = true
documentation.workspace = true
keywords.workspace = true
categories.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
description = "Node assembly for boatramp: the parsed config model (and, incrementally, the config-to-running-node assembly) that the serve binary and library embedders share."
[dependencies]
boatramp-core.workspace = true
boatramp-server.workspace = true
boatramp-docker.workspace = true
boatramp-container.workspace = true
boatramp-firecracker = { workspace = true, features = [
"build",
"backend",
"embedded",
] }
boatramp-vz = { workspace = true, features = ["backend"] }
boatramp-handlers = { workspace = true, optional = true }
boatramp-storage = { workspace = true, optional = true }
clap = { workspace = true, optional = true }
ron.workspace = true
serde = { workspace = true, features = ["derive"] }
thiserror.workspace = true
tokio.workspace = true
tracing.workspace = true
getrandom.workspace = true
async-trait.workspace = true
[features]
acme-dns = []
azure = ["dep:boatramp-storage", "boatramp-storage/azure"]
clap = ["dep:clap"]
cloudflare-kv = ["dep:boatramp-storage", "boatramp-storage/cloudflare-kv"]
cluster = []
console = ["boatramp-server/console"]
fs = ["dep:boatramp-storage", "boatramp-storage/fs"]
gcs = ["dep:boatramp-storage", "boatramp-storage/gcs"]
handlers = [
"dep:boatramp-handlers",
"dep:boatramp-storage",
"boatramp-handlers/engine",
"boatramp-server/handlers",
"boatramp-storage/sql",
]
sql-postgres = ["handlers", "boatramp-storage/sql-postgres"]
sql-mysql = ["handlers", "boatramp-storage/sql-mysql"]
s3 = ["dep:boatramp-storage", "boatramp-storage/s3"]
slatedb = ["dep:boatramp-storage", "boatramp-storage/slatedb"]
tls = []
[dev-dependencies]
axum = "0.8"
tempfile = "3"
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
tower = { version = "0.5", features = ["util"] }