Skip to content

torchbox/buckup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5c5ac6b · Feb 6, 2025

History

69 Commits
Feb 6, 2025
Feb 6, 2025
Aug 10, 2018
Feb 6, 2025
Feb 6, 2025
Jun 15, 2018
Feb 6, 2025
Mar 29, 2023
Feb 6, 2025
Jun 26, 2018
Feb 6, 2025
Jun 26, 2018
Feb 6, 2025
Feb 6, 2025

Repository files navigation

Buckup logo

buckup

Create S3 bucket, policy and user with one command. After creation it is ready to use on your project.

Features

  • Create bucket
  • Enable versioning
  • Set CORS
  • Create user and generate access key pair and give it permissions to the bucket.
  • Set policy to enable s3:GetObject permission on every object in your bucket to the public.

Dependencies

Installation

PyPI (pip)

python3 -m pip install buckup

Arch User Repository

Buckup can be found on AUR.

cd /tmp
git clone https://aur.archlinux.org/buckup.git
cd buckup
makepkg -si

Homebrew

Buckup can be installed from Torchbox's Homebrew tap.

brew tap torchbox/tap
brew install buckup

Development build

You can easily install buckup inside a virtual environment and work on it there, e.g.

git clone git@github.com:torchbox/buckup.git
cd buckup
python3 -m venv venv
source venv/bin/activate
pip install -e .
buckup

Usage

  1. First you need an AWS account. You need programmatic access key to use it with buckup.

    • If you have AWS CLI installed, you can save your credentials with aws configure; or
    • you can set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variable containing your credentials.

    Read boto3 documentation for more detail.

    1. If you want to restrict your access only to essential credentials to use buckup, please set them to:
      • iam:ListAccountAliases (not required to use)
      • s3:PutBucketPolicy
      • s3:CreateBucket
      • iam:GetUser
      • iam:CreateUser
      • s3:PutBucketCORS
      • s3:PutBucketVersioning
      • iam:CreateAccessKey
  2. After you set that up, you can type buckup and that should open the prompt.

    1. If you want to specify other than the default region, please use --region flag with buckup, e.g. buckup --region eu-west-2.
  3. After you answer all the questions you should obtain your bucket details that are ready to use in your application.

Screenshot of buckup’s command line output, showing the creation of a test bucket