Ansible setup for deploying the CCE Search Flask app
 
Go to file
Dylan DiGeronimo 9906ac0691 Pushing further changes, still not complete 2020-04-20 18:49:41 -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 Pushing further changes, still not complete 2020-04-20 18:49:41 -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 Pushing further changes, still not complete 2020-04-20 18:49:41 -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. Fix error in update-frontend-prod where playbook fails if Flask app isn't already running
  2. Complete setup-frontend-prod.yml
  3. Automate installation of Python 3.7 and pip3
  4. Setup Ansible Vault to handle keys