Run-book¶
push-dev-dashboard is written as a monolithic django application with 2 processes. It’s written with 12 factor methodology, so it is configured almost entirely by environment variables.
Travis CI is used for unit, docs, l10n, and coding style tests before code lands in master.
Circle CI is used to build docker containers for deployment.
Jenkins is used to run the selenium integration tests on deployments to the stage and production servers.
Processes¶
Web¶
The web process is a django web app run by gunicorn. It is defined as the
CMD instruction in the Dockerfile.
clock¶
The clock process is a python script run by the django_extensions
runscript command defined in Procfile. It uses APScheduler to call
the start_recording_push_apps django command.
Environment Variables¶
- REQUIRED
DATABASE_URL- database connection url. See thedj-database-urlURL schema reference - REQUIRED
PUSH_MESSAGES_API_ENDPOINT- endpoint for Push Messages API. - REQUIRED
FXA_OAUTH_ENDPOINT- endpoint for FxA oauth provider. See thedjango-allauthFirefox Accounts reference. - REQUIRED
FXA_PROFILE_ENDPOINT- endpoint for FxA profile. See thedjango-allauthFirefox Accounts reference.