[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"