buckup
buckup copied to clipboard
Creating S3 buckets for your site with ease.
.. image:: https://raw.githubusercontent.com/torchbox/buckup/master/logo.png :alt: 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 <https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html>
_ - Set
CORS <https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html>
_ - Create user and generate access key pair and give it permissions to the bucket.
- Set policy to enable
s3:GetObject <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html>
_ permission on every object in your bucket to the public.
Dependencies
- Python 3
-
boto3 <https://pypi.org/project/boto3/>
_
Installation
PyPI (pip)
.. code:: sh
python3 -m pip install buckup
Arch User Repository
Buckup can be found on AUR <https://aur.archlinux.org/packages/buckup>
_.
.. code:: sh
cd /tmp git clone https://aur.archlinux.org/buckup.git cd buckup makepkg -si
Homebrew
Buckup can be installed from Torchbox's `Homebrew tap <https://github.com/torchbox/homebrew-tap>`_.
.. code:: sh
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.
.. code:: sh
git clone [email protected]:torchbox/buckup.git cd buckup python3 -m venv venv source venv/bin/activate pip install -e . buckup
Usage
-
First you need an AWS account. You need programmatic access key to use it with buckup.
- If you have
AWS CLI <https://aws.amazon.com/cli/>
_ installed, you can save your credentials withaws configure <https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html>
_; or - you can set
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
environment variable containing your credentials.
Read
boto3 documentation <https://boto3.readthedocs.io/en/latest/guide/configuration.html>
_ for more detail.-
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
-
- If you have
-
After you set that up, you can type
buckup
and that should open the prompt.- If you want to specify other than the default region, please use
--region
flag withbuckup
, e.g.buckup --region eu-west-2
.
- If you want to specify other than the default region, please use
-
After you answer all the questions you should obtain your bucket details that are ready to use in your application.
.. image:: https://raw.githubusercontent.com/torchbox/buckup/master/screenshot.png :alt: Screenshot of buckup’s command line output, showing the creation of a test bucket