Ansible setup for deploying the CCE Search Flask app
 
Go to file
Dylan DiGeronimo 043dc3e40e update-frontend-prod now works whether the app is already running or not 2020-04-21 03:06:14 -04:00
group_vars/production Pushing further changes, still not complete 2020-04-20 18:49:41 -04:00
roles/cce_frontend_prod Reorganize main playbook, not yet done 2020-04-20 17:38:22 -04:00
.gitignore Began work on main production tasks 2019-12-11 23:20:40 -05:00
README.md update-frontend-prod now works whether the app is already running or not 2020-04-21 03:06:14 -04:00
hosts Revert "Revert "Rename host"" 2020-04-08 19:06:01 -04:00
refresh-frontend-cert.yml Pushing further changes, still not complete 2020-04-20 18:49:41 -04:00
setup-frontend-prod.yml Revert "Revert "Rename host"" 2020-04-08 19:06:01 -04:00
update-frontend-prod.yml update-frontend-prod now works whether the app is already running or not 2020-04-21 03:06:14 -04:00

README.md

CCE Search Ansible Setup

Frontend Server (cce.ebookfoundation.org)

Pre-requisites

  1. Install ansible on your local machine
  2. Ensure you have obtained the SSH key for the server
  3. Ensure Python 3.7 and pip3 are installed on the server you wish to deploy to

Complete Playbooks

Updating and redeploying

Once new changes have been added to the master branch of the frontend repo, run the update-frontend-prod playbook:

$ ansible-playbook -i hosts update-frontend-prod.yml --key-file="/path/to/key/on/your/machine"

In-progress Playbooks

Initial bootstrapping and deployment

To deploy, run the setup-frontend-prod playbook from within the directory containing this repository:

$ ansible-playbook -i hosts setup-frontend-prod.yml --key-file="/path/to/key/on/your/machine"

Manually renewing HTTPS cert

If Certbot does not automatically renew the HTTPS certificate, run the refresh-frontend-cert playbook:

$ ansible-playbook -i hosts refresh-frontend-cert.yml --key-file="/path/to/key/on/your/machine"

TODO

  1. Complete setup-frontend-prod.yml
  2. Automate installation of Python 3.7 and pip3
  3. Setup Ansible Vault to handle keys