Skip to content

Streaming S3 uploader optimized for tiny memory and CPU usage. Ideal for constrained systems.

License

Notifications You must be signed in to change notification settings

envirobly/tinyups3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tinyups3

Streaming S3 uploader optimized for minimum CPU and RAM usage. Ideal for constrained systems.

tinyups3-logo

Installation

Download the relevant binary for your platform from the Releases section and make it executable. For example:

sudo curl -fSsL -o /usr/local/bin/tinyups3 https://github.com/envirobly/tinyups3/releases/download/v1.0.3/tinyups3_linux_arm64
sudo chmod +x /usr/local/bin/tinyups3
tinyups3 --help

Usage

tinyups3 [--partSize=MB] [--inputSize=bytes] s3://bucket/key
  -inputSize int
        Exact input size in bytes (required)
  -partSize int
        Part size in MB for multipart upload (min 5MB) (default 5)

Example

cat largefile | tinyups3 --inputSize $(stat -c%s largefile) s3://... 

Note: On MacOS use gstat instead of the outdated stat.

Building from source

GOOS=linux GOARCH=arm64 go build -o dist/arm64/tinyups3 .

Development

Running tests

go test ./...

Formatting

Apply Go formatting:

go fmt ./...

Running in development

# Install dependencies
go mod tidy

go run main.go ...

Upgrading dependencies

go get -u ./...
go mod tidy 

About

Streaming S3 uploader optimized for tiny memory and CPU usage. Ideal for constrained systems.

Topics

Resources

License

Stars

Watchers

Forks

Languages