Storify
A unified command-line tool for managing object storage with HDFS-like interface.
Features
- Multi-cloud support: OSS, S3, MinIO, COS, and local filesystem
- HDFS-compatible commands: Familiar interface for Hadoop users
- Unified configuration: Single tool for all storage providers
- High performance: Async I/O with progress reporting
- Cross-platform: Works on Linux, macOS, and Windows
Installation
From Source
The binary will be available at target/release/storify.
From Cargo (when published)
Configuration
Set your storage provider and credentials using environment variables:
# Choose provider: oss, s3, minio, cos, or fs
# Common configuration
# Optional
Provider-specific variables (legacy support)
# OSS
# AWS S3
# MinIO
# COS
# Filesystem
STORAGE_ROOT_PATH=./storage
Usage
# List directory contents
# Download files/directories
# Upload files/directories
# Copy within storage
# Mv within storage
# Display file contents
# Show disk usage
# Delete files/directories
# Show object metadata
Command Reference
| Command | Description | Options |
|---|---|---|
ls |
List directory contents | -L (detailed), -R (recursive) |
get |
Download files from remote | |
put |
Upload files to remote | -R (recursive) |
cp |
Copy files within storage | |
mv |
Rename files, or move files | |
mkdir |
Create directories | -p (parents) |
cat |
Display file contents | |
rm |
Delete files/directories | -R (recursive), -f (force) |
du |
Show disk usage | -s (summary only) |
stat |
Show object metadata | --json, --raw |
Architecture
Built on OpenDAL for unified storage access.
┌───────────────────────┐
│ Storify CLI │
├───────────────────────┤
│ Storage Client │
├───────────────────────┤
│ OpenDAL │
├───────────────────────┤
│ OSS │ S3 │ COS │ MinIO│
└───────────────────────┘
Development
Prerequisites
- Rust 1.80+
- Cargo
- Git
Building
# Debug build
# Release build
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
Apache License 2.0 - see LICENSE for details.