S3 Directory Uploader
A simple TUI to upload the files of a directory into an S3 bucket.
Setup
go mod tidy
Set your environment variables to connect to your s3 bucket.
cp .env.example .env
Usage
Run the program with:
go run .
or build and run:
$ go build -o s3uploud main.go
$ chmod +x ./s3upload
$ ./s3upload
You will then be prompted for more details.
Bucket
Just the name of the bucket man. Just make sure it exists or you will be insulted.
Directory
The path to the directory that you want uploaded. You can do relative or absolute.
Prefix
If you want to prepend anything to the key of the object in s3. Remember that
directories are not real in s3, but prepending the key with a something like
/my/super/important/stuff/
will kind if act like a directory in the s3 UIs.
If you are using this prefix to act like a directory path, make sure to not
start it with a /
and make sure that you do end it with a /
Make sure to read the section that is literally right under this
Design & Limitations
- Does not handle nest directories at the moment.
- Will retry failed uploads once, retrys happen in bulk at the end of the process
- Does not overwrite files with the existing keys
- SSL is not enabled, nor is an env var made for it yet, as I built this to use inside
my own network. Set
useSSL
to true if usinghttps
for you endpoint