zappa_settings: enable upload overwrite

Enable the upload overwrite feature since we seem to re-uploading
new files over the top of existing ones instead of breaking things
up by version for this deployment.

Change-Id: I5d60551e345363633edfca2b6b108a27ecf84834
1 file changed
tree: 58ed6d654e5ec7c12369bf728a878ba3236f3799
  1. Pipfile
  2. Pipfile.lock
  3. README.md
  4. zappa_init.py
  5. zappa_settings.yml
README.md

This repository uses Zappa, TuxPut, and pipenv to deploy an upload server to S3!

Installing

This will create Pipfile and Pipfile.lock.

$ pipenv install zappa
$ pipenv install -e git+ssh://git@gitlab.com/kspoon-linaro/tuxput.git@master#egg=tuxput

Updating

This will update Pipfile.lock based on the most current version of the things listed in Pipfile.

$ pipenv update

Once it's already been deployed, changes (such as tuxput updates) are deployed using 'zappa update'.

$ pipenv run zappa update dev
$ # test/validate dev
$ pipenv run zappa update prod

Running Locally

$ S3_BUCKET=testing-tuxpub.ctt.linaro.org S3_REGION=us-east-1 S3_ROOT=projects FLASK_APP=tuxput pipenv run flask run

Deploying

For the time being, there is only one environment: production. The deploy and update verbs require an environment argument.

$ pipenv run zappa deploy prod

Certifying

To associate a zappa deploy with a domain name, as defined in zappa_settings.yml, run zappa certify. We use ACM certificates to terminate https, which were manually created and are automatically renewed.

$ pipenv run zappa certify prod

API Gateway

You will also need to setup the AWS API Gateway and Route 53 entry for your site. The API Gateway should be tied to the project_name value in zappa_settings.yml.