...
This commit is contained in:
		
							
								
								
									
										81
									
								
								Cargo.toml
									
									
									
									
									
								
							
							
						
						
									
										81
									
								
								Cargo.toml
									
									
									
									
									
								
							| @@ -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"] | ||||
|  | ||||
|   | ||||
| @@ -1,138 +0,0 @@ | ||||
| [package] | ||||
| name = "sal" | ||||
| version = "0.1.0" | ||||
| edition = "2021" | ||||
| authors = ["PlanetFirst <info@incubaid.com>"] | ||||
| description = "System Abstraction Layer - A library for easy interaction with operating system features" | ||||
| repository = "https://git.threefold.info/herocode/sal" | ||||
| license = "Apache-2.0" | ||||
| keywords = ["system", "os", "abstraction", "platform", "filesystem"] | ||||
| categories = ["os", "filesystem", "api-bindings"] | ||||
| readme = "README.md" | ||||
|  | ||||
| [workspace] | ||||
| members = [ | ||||
|     "clients/myceliumclient", | ||||
|     "clients/postgresclient", | ||||
|     "clients/redisclient", | ||||
|     "clients/zinitclient", | ||||
|     "core/net", | ||||
|     "core/text", | ||||
|     "crypt/vault", | ||||
|     "system/git", | ||||
|     "system/kubernetes", | ||||
|     "system/os", | ||||
|     "system/process", | ||||
|     "system/virt", | ||||
| ] | ||||
| resolver = "2" | ||||
|  | ||||
| [workspace.metadata] | ||||
| # Workspace-level metadata | ||||
| rust-version = "1.70.0" | ||||
|  | ||||
| [workspace.dependencies] | ||||
| # Core shared dependencies with consistent versions | ||||
| anyhow = "1.0.98" | ||||
| base64 = "0.22.1" | ||||
| dirs = "6.0.0" | ||||
| env_logger = "0.11.8" | ||||
| futures = "0.3.30" | ||||
| glob = "0.3.1" | ||||
| lazy_static = "1.4.0" | ||||
| libc = "0.2" | ||||
| log = "0.4" | ||||
| once_cell = "1.18.0" | ||||
| rand = "0.8.5" | ||||
| regex = "1.8.1" | ||||
| reqwest = { version = "0.12.15", features = ["json"] } | ||||
| rhai = { version = "1.12.0", features = ["sync"] } | ||||
| serde = { version = "1.0", features = ["derive"] } | ||||
| serde_json = "1.0" | ||||
| tempfile = "3.5" | ||||
| thiserror = "2.0.12" | ||||
| tokio = { version = "1.45.0", features = ["full"] } | ||||
| url = "2.4" | ||||
| uuid = { version = "1.16.0", features = ["v4"] } | ||||
|  | ||||
| # Database dependencies | ||||
| postgres = "0.19.10" | ||||
| r2d2_postgres = "0.18.2" | ||||
| redis = "0.31.0" | ||||
| tokio-postgres = "0.7.13" | ||||
|  | ||||
| # Crypto dependencies | ||||
| chacha20poly1305 = "0.10.1" | ||||
| k256 = { version = "0.13.4", features = ["ecdsa", "ecdh"] } | ||||
| sha2 = "0.10.7" | ||||
| hex = "0.4" | ||||
|  | ||||
| # Ethereum dependencies | ||||
| ethers = { version = "2.0.7", features = ["legacy"] } | ||||
|  | ||||
| # Platform-specific dependencies | ||||
| nix = "0.30.1" | ||||
| windows = { version = "0.61.1", features = [ | ||||
|     "Win32_Foundation", | ||||
|     "Win32_System_Threading", | ||||
|     "Win32_Storage_FileSystem", | ||||
| ] } | ||||
|  | ||||
| # Specialized dependencies | ||||
| zinit-client = "0.4.0" | ||||
| urlencoding = "2.1.3" | ||||
| tokio-test = "0.4.4" | ||||
|  | ||||
| [dependencies] | ||||
| thiserror = { workspace = true } | ||||
| tokio = { workspace = true } | ||||
|  | ||||
| # Optional dependencies - users can choose which modules to include | ||||
| sal-git = { path = "../system/git", optional = true } | ||||
| sal-kubernetes = { path = "../system/kubernetes", optional = true } | ||||
| sal-redisclient = { path = "../clients/redisclient", optional = true } | ||||
| sal-mycelium = { path = "../clients/myceliumclient", optional = true } | ||||
| sal-text = { path = "../core/text", optional = true } | ||||
| sal-os = { path = "../system/os", optional = true } | ||||
| sal-net = { path = "../core/net", optional = true } | ||||
| sal-zinit-client = { path = "../clients/zinitclient", optional = true } | ||||
| sal-process = { path = "../system/process", optional = true } | ||||
| sal-virt = { path = "../system/virt", optional = true } | ||||
| sal-postgresclient = { path = "../clients/postgresclient", optional = true } | ||||
| sal-vault = { path = "../crypt/vault", optional = true } | ||||
|  | ||||
| [features] | ||||
| default = [] | ||||
|  | ||||
| # Individual module features | ||||
| git = ["dep:sal-git"] | ||||
| kubernetes = ["dep:sal-kubernetes"] | ||||
| redisclient = ["dep:sal-redisclient"] | ||||
| mycelium = ["dep:sal-mycelium"] | ||||
| text = ["dep:sal-text"] | ||||
| os = ["dep:sal-os"] | ||||
| net = ["dep:sal-net"] | ||||
| zinit_client = ["dep:sal-zinit-client"] | ||||
| process = ["dep:sal-process"] | ||||
| virt = ["dep:sal-virt"] | ||||
| postgresclient = ["dep:sal-postgresclient"] | ||||
| vault = ["dep:sal-vault"] | ||||
|  | ||||
| # Convenience feature groups | ||||
| core = ["os", "process", "text", "net"] | ||||
| clients = ["redisclient", "postgresclient", "zinit_client", "mycelium"] | ||||
| infrastructure = ["git", "vault", "kubernetes", "virt"] | ||||
| all = [ | ||||
|     "git", | ||||
|     "kubernetes", | ||||
|     "redisclient", | ||||
|     "mycelium", | ||||
|     "text", | ||||
|     "os", | ||||
|     "net", | ||||
|     "zinit_client", | ||||
|     "process", | ||||
|     "virt", | ||||
|     "postgresclient", | ||||
|     "vault", | ||||
| ] | ||||
| @@ -1,167 +0,0 @@ | ||||
| [package] | ||||
| name = "sal" | ||||
| version = "0.1.0" | ||||
| edition = "2021" | ||||
| authors = ["PlanetFirst <info@incubaid.com>"] | ||||
| description = "System Abstraction Layer - A library for easy interaction with operating system features" | ||||
| repository = "https://git.threefold.info/herocode/sal" | ||||
| license = "Apache-2.0" | ||||
| keywords = ["system", "os", "abstraction", "platform", "filesystem"] | ||||
| categories = ["os", "filesystem", "api-bindings"] | ||||
| readme = "README.md" | ||||
|  | ||||
| [workspace] | ||||
| members = [ | ||||
|     ".", | ||||
|     "vault", | ||||
|     "git", | ||||
|     "redisclient", | ||||
|     "mycelium", | ||||
|     "text", | ||||
|     "os", | ||||
|     "net", | ||||
|     "zinit_client", | ||||
|     "process", | ||||
|     "virt", | ||||
|     "zos", | ||||
|     "postgresclient", | ||||
|     "kubernetes", | ||||
|     "rhai", | ||||
|     "herodo", | ||||
|     "service_manager", | ||||
| ] | ||||
| resolver = "2" | ||||
|  | ||||
| [workspace.metadata] | ||||
| # Workspace-level metadata | ||||
| rust-version = "1.70.0" | ||||
|  | ||||
| [workspace.dependencies] | ||||
| # Core shared dependencies with consistent versions | ||||
| anyhow = "1.0.98" | ||||
| base64 = "0.22.1" | ||||
| dirs = "6.0.0" | ||||
| env_logger = "0.11.8" | ||||
| futures = "0.3.30" | ||||
| glob = "0.3.1" | ||||
| lazy_static = "1.4.0" | ||||
| libc = "0.2" | ||||
| log = "0.4" | ||||
| once_cell = "1.18.0" | ||||
| rand = "0.8.5" | ||||
| regex = "1.8.1" | ||||
| reqwest = { version = "0.12.15", features = ["json"] } | ||||
| rhai = { version = "1.12.0", features = ["sync"] } | ||||
| serde = { version = "1.0", features = ["derive"] } | ||||
| serde_json = "1.0" | ||||
| tempfile = "3.5" | ||||
| thiserror = "2.0.12" | ||||
| tokio = { version = "1.45.0", features = ["full"] } | ||||
| url = "2.4" | ||||
| uuid = { version = "1.16.0", features = ["v4"] } | ||||
|  | ||||
| # Database dependencies | ||||
| postgres = "0.19.10" | ||||
| r2d2_postgres = "0.18.2" | ||||
| redis = "0.31.0" | ||||
| tokio-postgres = "0.7.13" | ||||
|  | ||||
| # Crypto dependencies | ||||
| chacha20poly1305 = "0.10.1" | ||||
| k256 = { version = "0.13.4", features = ["ecdsa", "ecdh"] } | ||||
| sha2 = "0.10.7" | ||||
| hex = "0.4" | ||||
|  | ||||
| # Ethereum dependencies | ||||
| ethers = { version = "2.0.7", features = ["legacy"] } | ||||
|  | ||||
| # Platform-specific dependencies | ||||
| nix = "0.30.1" | ||||
| windows = { version = "0.61.1", features = [ | ||||
|     "Win32_Foundation", | ||||
|     "Win32_System_Threading", | ||||
|     "Win32_Storage_FileSystem", | ||||
| ] } | ||||
|  | ||||
| # Specialized dependencies | ||||
| zinit-client = "0.4.0" | ||||
| urlencoding = "2.1.3" | ||||
| tokio-test = "0.4.4" | ||||
|  | ||||
| [dependencies] | ||||
| thiserror = "2.0.12"         # For error handling in the main Error enum | ||||
| tokio = { workspace = true } # For async examples | ||||
|  | ||||
| # 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-rhai = { path = "rhai", optional = true } | ||||
| sal-service-manager = { path = "service_manager", optional = true } | ||||
| zinit-client.workspace = true | ||||
|  | ||||
| [features] | ||||
| default = [] | ||||
|  | ||||
| # Individual module features | ||||
| git = ["dep:sal-git"] | ||||
| kubernetes = ["dep:sal-kubernetes"] | ||||
| redisclient = ["dep:sal-redisclient"] | ||||
| mycelium = ["dep:sal-mycelium"] | ||||
| text = ["dep:sal-text"] | ||||
| os = ["dep:sal-os"] | ||||
| net = ["dep:sal-net"] | ||||
| zinit_client = ["dep:sal-zinit-client"] | ||||
| process = ["dep:sal-process"] | ||||
| virt = ["dep:sal-virt"] | ||||
| postgresclient = ["dep:sal-postgresclient"] | ||||
| vault = ["dep:sal-vault"] | ||||
| rhai = ["dep:sal-rhai"] | ||||
| service_manager = ["dep:sal-service-manager"] | ||||
|  | ||||
| # Convenience feature groups | ||||
| core = ["os", "process", "text", "net"] | ||||
| clients = ["redisclient", "postgresclient", "zinit_client", "mycelium"] | ||||
| infrastructure = ["git", "vault", "kubernetes", "virt", "service_manager"] | ||||
| scripting = ["rhai"] | ||||
| all = [ | ||||
|     "git", | ||||
|     "kubernetes", | ||||
|     "redisclient", | ||||
|     "mycelium", | ||||
|     "text", | ||||
|     "os", | ||||
|     "net", | ||||
|     "zinit_client", | ||||
|     "process", | ||||
|     "virt", | ||||
|     "postgresclient", | ||||
|     "vault", | ||||
|     "rhai", | ||||
|     "service_manager", | ||||
| ] | ||||
|  | ||||
| # Examples | ||||
| [[example]] | ||||
| name = "postgres_cluster" | ||||
| path = "examples/kubernetes/clusters/postgres.rs" | ||||
| required-features = ["kubernetes"] | ||||
|  | ||||
| [[example]] | ||||
| name = "redis_cluster" | ||||
| path = "examples/kubernetes/clusters/redis.rs" | ||||
| required-features = ["kubernetes"] | ||||
|  | ||||
| [[example]] | ||||
| name = "generic_cluster" | ||||
| path = "examples/kubernetes/clusters/generic.rs" | ||||
| required-features = ["kubernetes"] | ||||
| @@ -9,22 +9,22 @@ license = "Apache-2.0" | ||||
|  | ||||
| [dependencies] | ||||
| # HTTP client for async requests | ||||
| reqwest = { version = "0.12.15", features = ["json"] } | ||||
| reqwest = { workspace = true } | ||||
| # JSON handling | ||||
| serde_json = "1.0" | ||||
| serde_json = { workspace = true } | ||||
| # Base64 encoding/decoding for message payloads | ||||
| base64 = "0.22.1" | ||||
| base64 = { workspace = true } | ||||
| # Async runtime | ||||
| tokio = { version = "1.45.0", features = ["full"] } | ||||
| tokio = { workspace = true } | ||||
| # Rhai scripting support | ||||
| rhai = { version = "1.12.0", features = ["sync"] } | ||||
| rhai = { workspace = true } | ||||
| # Logging | ||||
| log = "0.4" | ||||
| log = { workspace = true } | ||||
| # URL encoding for API parameters | ||||
| urlencoding = "2.1.3" | ||||
| urlencoding = { workspace = true } | ||||
|  | ||||
| [dev-dependencies] | ||||
| # For async testing | ||||
| tokio-test = "0.4.4" | ||||
| tokio-test = { workspace = true } | ||||
| # For temporary files in tests | ||||
| tempfile = "3.5" | ||||
| tempfile = { workspace = true } | ||||
|   | ||||
| @@ -11,24 +11,24 @@ categories = ["database", "api-bindings"] | ||||
|  | ||||
| [dependencies] | ||||
| # PostgreSQL client dependencies | ||||
| postgres = "0.19.4" | ||||
| postgres-types = "0.2.5" | ||||
| tokio-postgres = "0.7.8" | ||||
| postgres = { workspace = true } | ||||
| postgres-types = { workspace = true } | ||||
| tokio-postgres = { workspace = true } | ||||
|  | ||||
| # Connection pooling | ||||
| r2d2 = "0.8.10" | ||||
| r2d2_postgres = "0.18.2" | ||||
| r2d2 = { workspace = true } | ||||
| r2d2_postgres = { workspace = true } | ||||
|  | ||||
| # Utility dependencies | ||||
| lazy_static = "1.4.0" | ||||
| thiserror = "2.0.12" | ||||
| lazy_static = { workspace = true } | ||||
| thiserror = { workspace = true } | ||||
|  | ||||
| # Rhai scripting support | ||||
| rhai = { version = "1.12.0", features = ["sync"] } | ||||
| rhai = { workspace = true } | ||||
|  | ||||
| # SAL dependencies | ||||
| sal-virt = { path = "../virt" } | ||||
| sal-virt = { workspace = true } | ||||
|  | ||||
| [dev-dependencies] | ||||
| tempfile = "3.5" | ||||
| tokio-test = "0.4.4" | ||||
| tempfile = { workspace = true } | ||||
| tokio-test = { workspace = true } | ||||
|   | ||||
| @@ -11,11 +11,11 @@ categories = ["database", "caching", "api-bindings"] | ||||
|  | ||||
| [dependencies] | ||||
| # Core Redis functionality | ||||
| redis = "0.31.0" | ||||
| lazy_static = "1.4.0" | ||||
| redis = { workspace = true } | ||||
| lazy_static = { workspace = true } | ||||
|  | ||||
| # Rhai integration (optional) | ||||
| rhai = { version = "1.12.0", features = ["sync"], optional = true } | ||||
| rhai = { workspace = true, optional = true } | ||||
|  | ||||
| [features] | ||||
| default = ["rhai"] | ||||
| @@ -23,4 +23,4 @@ rhai = ["dep:rhai"] | ||||
|  | ||||
| [dev-dependencies] | ||||
| # For testing | ||||
| tempfile = "3.5" | ||||
| tempfile = { workspace = true } | ||||
|   | ||||
| @@ -9,20 +9,20 @@ license = "Apache-2.0" | ||||
|  | ||||
| [dependencies] | ||||
| # Core dependencies | ||||
| anyhow = "1.0.98" | ||||
| futures = "0.3.30" | ||||
| lazy_static = "1.4.0" | ||||
| log = "0.4" | ||||
| serde_json = "1.0" | ||||
| thiserror = "2.0.12" | ||||
| tokio = { version = "1.45.0", features = ["full"] } | ||||
| anyhow = { workspace = true } | ||||
| futures = { workspace = true } | ||||
| lazy_static = { workspace = true } | ||||
| log = { workspace = true } | ||||
| serde_json = { workspace = true } | ||||
| thiserror = { workspace = true } | ||||
| tokio = { workspace = true } | ||||
|  | ||||
| # Zinit client | ||||
| zinit-client = "0.4.0" | ||||
| zinit-client = { workspace = true } | ||||
|  | ||||
| # Rhai integration | ||||
| rhai = { version = "1.12.0", features = ["sync"] } | ||||
| rhai = { workspace = true } | ||||
|  | ||||
| [dev-dependencies] | ||||
| tokio-test = "0.4.4" | ||||
| tempfile = "3.5" | ||||
| tokio-test = { workspace = true } | ||||
| tempfile = { workspace = true } | ||||
|   | ||||
| @@ -10,7 +10,7 @@ keywords = ["network", "tcp", "http", "ssh", "connectivity"] | ||||
| categories = ["network-programming", "api-bindings"] | ||||
|  | ||||
| [dependencies] | ||||
| anyhow = "1.0.98" | ||||
| tokio = { version = "1.0", features = ["full"] } | ||||
| reqwest = { version = "0.12", features = ["json", "blocking"] } | ||||
| rhai = "1.19.0" | ||||
| anyhow = { workspace = true } | ||||
| tokio = { workspace = true } | ||||
| reqwest = { workspace = true, features = ["json", "blocking"] } | ||||
| rhai = { workspace = true } | ||||
|   | ||||
| @@ -11,7 +11,7 @@ license = "Apache-2.0" | ||||
| # Regex support for text replacement | ||||
| regex = { workspace = true } | ||||
| # Template engine for text rendering | ||||
| tera = "1.19.0" | ||||
| tera = { workspace = true } | ||||
| # Serialization support for templates | ||||
| serde = { workspace = true } | ||||
| # Rhai scripting support | ||||
|   | ||||
| @@ -15,16 +15,16 @@ categories = ["cryptography", "api-bindings"] | ||||
| # Features temporarily disabled due to external dependency issues | ||||
|  | ||||
| [dependencies] | ||||
| getrandom = { version = "0.3.3", features = ["wasm_js"] } | ||||
| rand = "0.9.1" | ||||
| getrandom = { workspace = true } | ||||
| rand = { workspace = true } | ||||
| # We need to pull v0.2.x to enable the "js" feature for wasm32 builds | ||||
| getrandom_old = { package = "getrandom", version = "0.2.16", features = ["js"] } | ||||
| serde = { version = "1.0.219", features = ["derive"] } | ||||
| serde_json = "1.0.140" | ||||
| chacha20poly1305 = "0.10.1" | ||||
| k256 = { version = "0.13.4", features = ["ecdh"] } | ||||
| sha2 = "0.10.9" | ||||
| serde = { workspace = true } | ||||
| serde_json = { workspace = true } | ||||
| chacha20poly1305 = { workspace = true } | ||||
| k256 = { workspace = true } | ||||
| sha2 = { workspace = true } | ||||
| # kv = { git = "https://git.ourworld.tf/samehabouelsaad/sal-modular", package = "kvstore", rev = "9dce815daa" } | ||||
| # Temporarily disabled due to broken external dependencies | ||||
| bincode = { version = "2.0.1", features = ["serde"] } | ||||
| pbkdf2 = "0.12.2" | ||||
| bincode = { workspace = true } | ||||
| pbkdf2 = { workspace = true } | ||||
|   | ||||
| @@ -10,7 +10,6 @@ license = "Apache-2.0" | ||||
| [dependencies] | ||||
| # Use workspace dependencies for consistency | ||||
| regex = { workspace = true } | ||||
| redis = { workspace = true } | ||||
| serde = { workspace = true } | ||||
| serde_json = { workspace = true } | ||||
| rhai = { workspace = true } | ||||
|   | ||||
| @@ -11,46 +11,46 @@ categories = ["api-bindings", "development-tools"] | ||||
|  | ||||
| [dependencies] | ||||
| # Kubernetes client library | ||||
| kube = { version = "0.95.0", features = ["client", "config", "derive"] } | ||||
| k8s-openapi = { version = "0.23.0", features = ["latest"] } | ||||
| kube = { workspace = true } | ||||
| k8s-openapi = { workspace = true } | ||||
|  | ||||
| # Async runtime | ||||
| tokio = { version = "1.45.0", features = ["full"] } | ||||
| tokio = { workspace = true } | ||||
|  | ||||
| # Production safety features | ||||
| tokio-retry = "0.3.0" | ||||
| governor = "0.6.3" | ||||
| tower = { version = "0.5.2", features = ["timeout", "limit"] } | ||||
| tokio-retry = { workspace = true } | ||||
| governor = { workspace = true } | ||||
| tower = { workspace = true } | ||||
|  | ||||
| # Error handling | ||||
| thiserror = "2.0.12" | ||||
| anyhow = "1.0.98" | ||||
| thiserror = { workspace = true } | ||||
| anyhow = { workspace = true } | ||||
|  | ||||
| # Serialization | ||||
| serde = { version = "1.0", features = ["derive"] } | ||||
| serde_json = "1.0" | ||||
| serde_yaml = "0.9" | ||||
| serde = { workspace = true } | ||||
| serde_json = { workspace = true } | ||||
| serde_yaml = { workspace = true } | ||||
|  | ||||
| # Regular expressions for pattern matching | ||||
| regex = "1.10.2" | ||||
| regex = { workspace = true } | ||||
|  | ||||
| # Logging | ||||
| log = "0.4" | ||||
| log = { workspace = true } | ||||
|  | ||||
| # Rhai scripting support (optional) | ||||
| rhai = { version = "1.12.0", features = ["sync"], optional = true } | ||||
| once_cell = "1.20.2" | ||||
| rhai = { workspace = true, optional = true } | ||||
| once_cell = { workspace = true } | ||||
|  | ||||
| # UUID for resource identification | ||||
| uuid = { version = "1.16.0", features = ["v4"] } | ||||
| uuid = { workspace = true } | ||||
|  | ||||
| # Base64 encoding for secrets | ||||
| base64 = "0.22.1" | ||||
| base64 = { workspace = true } | ||||
|  | ||||
| [dev-dependencies] | ||||
| tempfile = "3.5" | ||||
| tokio-test = "0.4.4" | ||||
| env_logger = "0.11.5" | ||||
| tempfile = { workspace = true } | ||||
| tokio-test = { workspace = true } | ||||
| env_logger = { workspace = true } | ||||
|  | ||||
| [features] | ||||
| default = ["rhai"] | ||||
|   | ||||
| @@ -14,7 +14,8 @@ categories = ["os", "filesystem", "api-bindings"] | ||||
| dirs = { workspace = true } | ||||
| glob = { workspace = true } | ||||
| libc = { workspace = true } | ||||
|  | ||||
| anyhow = {workspace = true} | ||||
| reqwest = {workspace = true} | ||||
| # Error handling | ||||
| thiserror = { workspace = true } | ||||
|  | ||||
|   | ||||
| @@ -14,7 +14,7 @@ rhai = { workspace = true } | ||||
| anyhow = { workspace = true } | ||||
|  | ||||
| # SAL dependencies | ||||
| sal-text = { path = "../text" } | ||||
| sal-text = { workspace = true } | ||||
|  | ||||
| # Optional features for specific OS functionality | ||||
| [target.'cfg(unix)'.dependencies] | ||||
|   | ||||
| @@ -9,16 +9,16 @@ license = "Apache-2.0" | ||||
|  | ||||
| [dependencies] | ||||
| # Core dependencies | ||||
| anyhow = "1.0.98" | ||||
| tempfile = "3.5" | ||||
| serde = { version = "1.0", features = ["derive"] } | ||||
| serde_json = "1.0" | ||||
| rhai = { version = "1.12.0", features = ["sync"] } | ||||
| anyhow = { workspace = true } | ||||
| tempfile = { workspace = true } | ||||
| serde = { workspace = true } | ||||
| serde_json = { workspace = true } | ||||
| rhai = { workspace = true } | ||||
|  | ||||
| # SAL dependencies | ||||
| sal-process = { path = "../process" } | ||||
| sal-os = { path = "../os" } | ||||
| sal-process = { workspace = true } | ||||
| sal-os = { workspace = true } | ||||
|  | ||||
| [dev-dependencies] | ||||
| tempfile = "3.5" | ||||
| lazy_static = "1.4.0" | ||||
| tempfile = { workspace = true } | ||||
| lazy_static = { workspace = true } | ||||
|   | ||||
| @@ -20,7 +20,7 @@ uuid = { workspace = true } | ||||
| # All SAL packages that this aggregation package depends on | ||||
| sal-os = { path = "../os" } | ||||
| sal-process = { path = "../process" } | ||||
| sal-git = { path = "../git" } | ||||
| sal-git = { path = "../system/git" } | ||||
| sal-vault = { path = "../vault" } | ||||
| sal-redisclient = { path = "../redisclient" } | ||||
| sal-postgresclient = { path = "../postgresclient" } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user