⚡ Native Rust 2024 • v1.0.0

Fast Native Azure Blob Storage CLI

Upload files and folders to Azure Blob Storage with automated zip packaging and time-limited read-only SAS URLs. Built for developers and autonomous AI agents.

terminal — storage upload
# Upload a single file and generate a 30-day read-only SAS URL
$ storage upload ivy-tendril ./report.pdf

status: uploaded
account: stivytelemetry
container: ivy-tendril
blob: report.pdf
size_bytes: 124508
content_type: application/pdf
expires: 2026-10-24
url: https://stivytelemetry.blob.core.windows.net/ivy-tendril/report.pdf?se=2026-10-24&sp=r&sig=...

Core Capabilities

⚡ 1–3 ms Cold-Start

Static binary with zero runtime dependencies. Replaces managed runtime overhead with instantaneous native execution.

📦 Smart Directory Zipping

Uploading a folder automatically bundles it into a zip archive while excluding .git, bin, obj, and node_modules.

⏱️ Time-Limited SAS URLs

Generates read-only SAS tokens with customizable expiration dates (--expires YYYY-MM-DD) or durations in hours (--expiry-hours N).

🔐 Native OS Keystores

Secrets never touch plaintext disk files. Storage keys are secured via macOS Keychain, Windows DPAPI, or Linux Secret Service.

🤖 AI Agent Protocol

Supplying --json produces clean, structured JSON output for tool loops and jq, backed by standard numeric exit codes.

🛡️ Multi-Profile Safety

Every operation explicitly resolves against a configured profile or --account, preventing accidental data writes to the wrong container.

Installation

# Install from crates / git via Cargo
cargo install --git https://github.com/SpaceCorps/Storage-Cli --locked

# Or download precompiled binaries for macOS (ARM64 & x86_64), Linux, or Windows
# from GitHub Releases:
https://github.com/SpaceCorps/Storage-Cli/releases/latest

Command Reference

Command Description Options
storage upload <profile> <path> Upload a file or folder and output time-limited read-only SAS URL --zipped, --expires, --expiry-hours, --container, --json
storage login [name] Configure a storage profile and store credentials in the OS keystore --account-name, --container, --key, --key-stdin
storage accounts add <name> Register a storage profile and credentials --account-name, --container, --endpoint, --force
storage accounts list List all configured storage profiles --check, --json
storage accounts test <name> Verify profile configuration and SAS token generation --json
storage accounts remove <name> Delete a storage profile and purge credentials from vault --yes
storage agent-readme Self-documenting operating manual for autonomous agents --json