olai-http
Unified cloud credential abstraction and HTTP client for AWS, Azure, GCP, and Databricks.
[!NOTE] The credential providers are extracted from the
object_storecrate's internal client and hoisted into a standalone crate for reuse.
When a service talks to multiple clouds (or to platforms like Databricks),
pulling in every vendor SDK means dependency bloat and config fragmentation.
olai-http offers a single CloudClient that authenticates against all of them
through one RequestSigner trait, backed by the same credential machinery that
powers object_store.
Features
- Unified
CloudClient— one HTTP client type for every provider RequestSignertrait — pluggable auth (SigV4, bearer, SAS, …)- Temporary credentials — STS AssumeRole (AWS), client-secret / workload-identity (Azure), service-account tokens (GCP)
- Azure SAS — storage-key and user-delegation SAS for blob/container access
- Databricks OAuth — M2M, OIDC, and CLI-profile flows
- Recording mode — capture HTTP interactions to JSON for test replay (
recordingfeature)
Usage
[]
= "0.0"
use CloudClient;
// Bearer token (any provider)
let client = new_with_token;
let resp = client.get.send.await?;
// Provider credentials from a key/value config
let client = new_aws?;
let client = new_azure?;
Recording
With the recording feature, captured interactions are written as
0000.json, 0001.json, … with sensitive headers (Authorization,
x-amz-security-token, …) automatically redacted:
let mut client = new_unauthenticated;
client.set_recording_dir?;
License
Apache-2.0