feat: implement RFS client with authentication and file management APIs

This commit is contained in:
Sameh Abouelsaad
2025-08-27 17:59:20 +03:00
parent b39f24ca8f
commit c2969621b1
154 changed files with 8065 additions and 1 deletions

View File

@@ -16,6 +16,7 @@ members = [
"packages/clients/postgresclient",
"packages/clients/redisclient",
"packages/clients/zinitclient",
"packages/clients/rfsclient",
"packages/core/net",
"packages/core/text",
"packages/crypt/vault",
@@ -43,6 +44,7 @@ rust-version = "1.70.0"
# Core shared dependencies with consistent versions
anyhow = "1.0.98"
base64 = "0.22.1"
bytes = "1.7.1"
dirs = "6.0.0"
env_logger = "0.11.8"
futures = "0.3.30"
@@ -109,6 +111,7 @@ sal-kubernetes = { path = "packages/system/kubernetes" }
sal-redisclient = { path = "packages/clients/redisclient" }
sal-mycelium = { path = "packages/clients/myceliumclient" }
sal-hetzner = { path = "packages/clients/hetznerclient" }
sal-rfs-client = { path = "packages/clients/rfsclient" }
sal-text = { path = "packages/core/text" }
sal-os = { path = "packages/system/os" }
sal-net = { path = "packages/core/net" }
@@ -130,6 +133,7 @@ sal-kubernetes = { workspace = true, optional = true }
sal-redisclient = { workspace = true, optional = true }
sal-mycelium = { workspace = true, optional = true }
sal-hetzner = { workspace = true, optional = true }
sal-rfs-client = { workspace = true, optional = true }
sal-text = { workspace = true, optional = true }
sal-os = { workspace = true, optional = true }
sal-net = { workspace = true, optional = true }
@@ -150,6 +154,7 @@ kubernetes = ["dep:sal-kubernetes"]
redisclient = ["dep:sal-redisclient"]
mycelium = ["dep:sal-mycelium"]
hetzner = ["dep:sal-hetzner"]
rfsclient = ["dep:sal-rfs-client"]
text = ["dep:sal-text"]
os = ["dep:sal-os"]
net = ["dep:sal-net"]
@@ -163,7 +168,7 @@ rhai = ["dep:sal-rhai"]
# Convenience feature groups
core = ["os", "process", "text", "net"]
clients = ["redisclient", "postgresclient", "zinit_client", "mycelium", "hetzner"]
clients = ["redisclient", "postgresclient", "zinit_client", "mycelium", "hetzner", "rfsclient"]
infrastructure = ["git", "vault", "kubernetes", "virt"]
scripting = ["rhai"]
all = [
@@ -172,6 +177,7 @@ all = [
"redisclient",
"mycelium",
"hetzner",
"rfsclient",
"text",
"os",
"net",