-
-
Notifications
You must be signed in to change notification settings - Fork 112
Provisioning
Provisioning is the process of configuring a server with the software required to run Open Food Network.
The provision.yml
playbook installs packages such as curl and git, then installs:
Important
For all ofn-install tasks make sure you update your local repos ofn-install and ofn-secrets (see fetch secrets below). Ensure correct version of dependencies and roles are installed.
If the server you are provisioning has not been set up or provisioned before, you can run the site.yml
playbook. This will run through the three main playbooks for: setup
, provision
, and deploy
. The setup
playbook includes adding the correct user accounts to the server.
ansible-playbook site.yml --limit=au_staging
Tip
Hosted Ubuntu servers often have remote access to root
disabled, so for first-time setup, use the ubuntu
user like so: -e "ansible_user=ubuntu"
This step can take a long time. And you might need to tweak your SSH configuration to prevent timeouts.
Add -vvvv
for greater debug output.
To provision you just need to run the following command (ensuring secrets are up to date):
ansible-playbook playbooks/provision.yml --limit=<host> -e "@../ofn-secrets/<host>-prod/secrets.yml" --ask-vault-pass
A more convenient way to include up-to-date secrets for one or many servers is the fetch_secrets.yml playbook.
To provision all globally managed servers, you can use the all-prod
group:
ansible-playbook playbooks/fetch_secrets.yml && ansible-playbook playbooks/provision.yml --limit=all-prod
Provisioning
Deployment
Sysadmin
External services
- Sending emails from OFN
- Email Deliverability
- SSL certificates
- Google Maps
- File storage
- Backups
- Server monitoring
- Issue reporting (Bugsnag)
Contributing