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.
# 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=...
Static binary with zero runtime dependencies. Replaces managed runtime overhead with instantaneous native execution.
Uploading a folder automatically bundles it into a zip archive while excluding .git, bin, obj, and node_modules.
Generates read-only SAS tokens with customizable expiration dates (--expires YYYY-MM-DD) or durations in hours (--expiry-hours N).
Secrets never touch plaintext disk files. Storage keys are secured via macOS Keychain, Windows DPAPI, or Linux Secret Service.
Supplying --json produces clean, structured JSON output for tool loops and jq, backed by standard numeric exit codes.
Every operation explicitly resolves against a configured profile or --account, preventing accidental data writes to the wrong container.
# 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 | 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 |