feat: ServiceClient trait, HttpTransport, and SunbeamClient factory
Foundation layer for unified service client wrappers: - AuthMethod enum (None, Bearer, Header, Token) - ServiceClient trait with service_name(), base_url(), from_parts() - HttpTransport with json(), json_opt(), send(), bytes() helpers - SunbeamClient lazy factory with OnceLock-cached per-service clients - Feature flags for all service modules (identity, gitea, matrix, etc.) Bump: sunbeam-sdk v0.2.0
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "sunbeam-sdk"
|
||||
version = "0.1.0"
|
||||
version = "0.2.0"
|
||||
edition = "2024"
|
||||
description = "Sunbeam SDK — reusable library for cluster management"
|
||||
repository = "https://src.sunbeam.pt/studio/cli"
|
||||
@@ -8,8 +8,20 @@ license = "MIT"
|
||||
publish = ["sunbeam"]
|
||||
|
||||
[features]
|
||||
default = []
|
||||
cli = ["clap"]
|
||||
default = ["identity", "gitea"]
|
||||
identity = []
|
||||
gitea = []
|
||||
pm = ["gitea"]
|
||||
matrix = []
|
||||
opensearch = []
|
||||
s3 = []
|
||||
livekit = []
|
||||
monitoring = []
|
||||
lasuite = []
|
||||
build = []
|
||||
cli = ["dep:clap"]
|
||||
all = ["identity", "gitea", "pm", "matrix", "opensearch", "s3", "livekit", "monitoring", "lasuite", "build"]
|
||||
integration = ["all"]
|
||||
|
||||
[dependencies]
|
||||
# Core
|
||||
@@ -27,6 +39,7 @@ k8s-openapi = { version = "0.24", features = ["v1_32"] }
|
||||
|
||||
# HTTP + TLS
|
||||
reqwest = { version = "0.12", features = ["json", "rustls-tls", "blocking"] }
|
||||
bytes = "1"
|
||||
|
||||
# SSH
|
||||
russh = "0.46"
|
||||
@@ -60,6 +73,9 @@ tempfile = "3"
|
||||
dirs = "5"
|
||||
chrono = { version = "0.4", features = ["serde"] }
|
||||
|
||||
[dev-dependencies]
|
||||
wiremock = "0.6"
|
||||
|
||||
[build-dependencies]
|
||||
reqwest = { version = "0.12", features = ["blocking", "rustls-tls"] }
|
||||
sha2 = "0.10"
|
||||
|
||||
Reference in New Issue
Block a user