-
-
Notifications
You must be signed in to change notification settings - Fork 116
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_stagingTip
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 (this will automatically load secrets from the host_vars subfolder):
ansible-playbook playbooks/provision.yml --limit=<host>
Ensuring secrets are up to date (see Configuration on how to build a new secrets file). If you are a member of the core dev team, you can use a more convenient way to include up-to-date secrets, see 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-prodProvisioning
Deployment
Sysadmin
External services
- Sending emails from OFN
- Email Deliverability
- SSL certificates
- Maps
- File storage
- Backups
- Server monitoring
- Issue reporting (Bugsnag)
Contributing