provisioning-platform/crates/ontoref-compute/Cargo.toml

38 lines
1.4 KiB
TOML
Raw Permalink Normal View History

[package]
name = "ontoref-compute"
version = "0.1.0"
edition = "2021"
rust-version = "1.78"
description = "Provider-agnostic compute lifecycle: spawn/destroy/status/list/health for cloud, K8s, Docker, and script-driven targets."
license = "Apache-2.0 OR MIT"
[features]
default = ["hetzner", "script"]
hetzner = ["__internal-cli", "dep:uuid"]
script = ["__internal-cli"]
docker-local = ["__internal-cli"]
k8s = ["__internal-cli", "dep:kube", "dep:k8s-openapi", "dep:uuid"]
oci-catalog = ["dep:tempfile", "dep:serde_json"]
conformance = []
# `__internal-cli` always needs serde_json because `cli.rs` parses JSON
# subprocess output unconditionally.
__internal-cli = ["dep:tokio", "dep:serde_json"]
[dependencies]
async-trait = "0.1"
serde = { version = "1", features = ["derive"] }
thiserror = "1"
tracing = "0.1"
tokio = { version = "1", features = ["process", "time", "io-util", "rt-multi-thread"], optional = true }
serde_json = { version = "1", optional = true }
uuid = { version = "1", features = ["v4"], optional = true }
tempfile = { version = "3", optional = true }
kube = { version = "0.91", default-features = false, features = ["client", "rustls-tls"], optional = true }
k8s-openapi = { version = "0.22", default-features = false, features = ["v1_29"], optional = true }
dashmap = "6"
[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
serde_json = "1"
tempfile = "3"