This commit is contained in:
2025-08-05 16:00:24 +02:00
parent 6e01f99958
commit dfd6931c5b
16 changed files with 129 additions and 421 deletions

View File

@@ -12,23 +12,20 @@ readme = "README.md"
[workspace]
members = [
".",
"vault",
"git",
"redisclient",
"mycelium",
"text",
"os",
"net",
"zinit_client",
"process",
"virt",
"zos",
"postgresclient",
"kubernetes",
"packages/clients/myceliumclient",
"packages/clients/postgresclient",
"packages/clients/redisclient",
"packages/clients/zinitclient",
"packages/core/net",
"packages/core/text",
"packages/crypt/vault",
"packages/system/git",
"packages/system/kubernetes",
"packages/system/os",
"packages/system/process",
"packages/system/virt",
"rhai",
"herodo",
"service_manager",
]
resolver = "2"
@@ -71,6 +68,10 @@ chacha20poly1305 = "0.10.1"
k256 = { version = "0.13.4", features = ["ecdsa", "ecdh"] }
sha2 = "0.10.7"
hex = "0.4"
bincode = { version = "2.0.1", features = ["serde"] }
pbkdf2 = "0.12.2"
getrandom = { version = "0.3.3", features = ["wasm_js"] }
tera = "1.19.0"
# Ethereum dependencies
ethers = { version = "2.0.7", features = ["legacy"] }
@@ -87,27 +88,39 @@ windows = { version = "0.61.1", features = [
zinit-client = "0.4.0"
urlencoding = "2.1.3"
tokio-test = "0.4.4"
kube = { version = "0.95.0", features = ["client", "config", "derive"] }
k8s-openapi = { version = "0.23.0", features = ["latest"] }
tokio-retry = "0.3.0"
governor = "0.6.3"
tower = { version = "0.5.2", features = ["timeout", "limit"] }
serde_yaml = "0.9"
postgres-types = "0.2.5"
r2d2 = "0.8.10"
# SAL dependencies
sal-text = { path = "packages/core/text" }
sal-os = { path = "packages/system/os" }
sal-process = { path = "packages/system/process" }
sal-virt = { path = "packages/system/virt" }
[dependencies]
thiserror = "2.0.12" # For error handling in the main Error enum
tokio = { workspace = true } # For async examples
thiserror = { workspace = true }
tokio = { workspace = true }
# Optional dependencies - users can choose which modules to include
sal-git = { path = "git", optional = true }
sal-kubernetes = { path = "kubernetes", optional = true }
sal-redisclient = { path = "redisclient", optional = true }
sal-mycelium = { path = "mycelium", optional = true }
sal-text = { path = "text", optional = true }
sal-os = { path = "os", optional = true }
sal-net = { path = "net", optional = true }
sal-zinit-client = { path = "zinit_client", optional = true }
sal-process = { path = "process", optional = true }
sal-virt = { path = "virt", optional = true }
sal-postgresclient = { path = "postgresclient", optional = true }
sal-vault = { path = "vault", optional = true }
sal-git = { path = "packages/system/git", optional = true }
sal-kubernetes = { path = "packages/system/kubernetes", optional = true }
sal-redisclient = { path = "packages/clients/redisclient", optional = true }
sal-mycelium = { path = "packages/clients/myceliumclient", optional = true }
sal-text = { path = "packages/core/text", optional = true }
sal-os = { path = "packages/system/os", optional = true }
sal-net = { path = "packages/core/net", optional = true }
sal-zinit-client = { path = "packages/clients/zinitclient", optional = true }
sal-process = { path = "packages/system/process", optional = true }
sal-virt = { path = "packages/system/virt", optional = true }
sal-postgresclient = { path = "packages/clients/postgresclient", optional = true }
sal-vault = { path = "packages/crypt/vault", optional = true }
sal-rhai = { path = "rhai", optional = true }
sal-service-manager = { path = "service_manager", optional = true }
zinit-client.workspace = true
[features]
default = []
@@ -126,12 +139,12 @@ virt = ["dep:sal-virt"]
postgresclient = ["dep:sal-postgresclient"]
vault = ["dep:sal-vault"]
rhai = ["dep:sal-rhai"]
service_manager = ["dep:sal-service-manager"]
# service_manager is removed as it's not a direct member anymore
# Convenience feature groups
core = ["os", "process", "text", "net"]
clients = ["redisclient", "postgresclient", "zinit_client", "mycelium"]
infrastructure = ["git", "vault", "kubernetes", "virt", "service_manager"]
infrastructure = ["git", "vault", "kubernetes", "virt"]
scripting = ["rhai"]
all = [
"git",
@@ -147,7 +160,6 @@ all = [
"postgresclient",
"vault",
"rhai",
"service_manager",
]
# Examples
@@ -165,3 +177,4 @@ required-features = ["kubernetes"]
name = "generic_cluster"
path = "examples/kubernetes/clusters/generic.rs"
required-features = ["kubernetes"]