sup is a tool for uploading files to S3 in a repeatable manner. Like aws s3 sync
it only uploads files that have changed. Unlike that tool it uses a
configuration file that allows you to specify per-object metadata and
transformations. It is intended for use in deployment pipelines, especially for
uploading static web content.
Prepackaged binaries may be provided in the future. Until then:
- Install Go.
- Clone the repository
- Inside the checkout run
go generate ./... && go build ./cmd/sup
This will generate a static executable called sup
.
Assuming you want to upload files from a directory called 'www', start by creating a config file:
echo 'source = "www"' > sup.hcl
Then run sup with the path to the config file and the URL of an S3 bucket:
sup sup.hcl s3://bucket/prefix
For more documentation, including all supported configuration options, run sup --help
sup is licensed under the MIT license. For information on the licenses of all included modules run sup --credits
.