[package]
edition = "2021"
name = "yah-cloud"
version = "0.8.46"
authors = ["yah Dev <human@yah.dev>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Declarative cloud substrate for yah-managed camps: .yah/cloud/ config schema, MachineProvider drivers (Hetzner + local containerd), cloud-init rendering, and the pond/mesofact reconcilers."
readme = false
keywords = [
"cloud",
"provisioning",
"hetzner",
"cloud-init",
"reconciler",
]
categories = [
"config",
"development-tools",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/yah-ai/yubaba"
[features]
json-schema = [
"dep:schemars",
"workload-spec/json-schema",
"local-driver/json-schema",
]
local-docker = [
"dep:containerd-client",
"dep:prost-types",
]
[lib]
name = "cloud"
path = "src/lib.rs"
[[example]]
name = "load_probe"
path = "examples/load_probe.rs"
[[test]]
name = "main"
path = "tests/main.rs"
[[test]]
name = "pond_smoke"
path = "tests/pond_smoke.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.8"
features = [
"http1",
"json",
"tokio",
]
default-features = false
[dependencies.base64]
version = "0.22"
[dependencies.blake3]
version = "1"
[dependencies.chrono]
version = "0.4"
features = [
"clock",
"serde",
]
default-features = false
[dependencies.containerd-client]
version = "0.4"
optional = true
[dependencies.floating_ip]
version = "0.8.46"
package = "yah-floating-ip"
[dependencies.floating_ip_adapters]
version = "0.8.46"
package = "yah-floating-ip-adapters"
[dependencies.fob]
version = "0.8.46"
[dependencies.getrandom]
version = "0.2"
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.12"
features = ["std"]
[dependencies.kamaji]
version = "0.8.46"
features = ["native-integration"]
[dependencies.libc]
version = "0.2"
[dependencies.local-driver]
version = "0.8.46"
package = "yah-local-driver"
[dependencies.prost-types]
version = "0.11"
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
"stream",
]
default-features = false
[dependencies.schemars]
version = "0.8"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.tempfile]
version = "3"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"macros",
"process",
"net",
"time",
"sync",
"fs",
"io-util",
]
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.velveteen]
version = "0.8.46"
[dependencies.velveteen-exec]
version = "0.8.46"
[dependencies.workload-spec]
version = "0.8.46"
package = "yah-workload-spec"
[dependencies.yah-almanac]
version = "0.8.46"
[dependencies.yah-hetzner]
version = "0.8.46"
[dependencies.yah-mesofact-bundle]
version = "0.8.46"
features = ["store"]
[dependencies.yah-object-store]
version = "0.8.46"
[dependencies.yubaba-auth-token]
version = "0.8.46"
[dev-dependencies.serde_yaml]
version = "0.9"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"macros",
"test-util",
]