# S3 Directory Uploader A simple TUI to upload the files of a directory into an S3 bucket. ## Setup ```bash go mod tidy ``` Set your environment variables to connect to your s3 bucket. ```bash cp .env.example .env ``` ## Usage Run the program with: ```bash go run . ``` or build and run: ```bash $ 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 using `https` for you endpoint