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-url
URL schema reference - REQUIRED
PUSH_MESSAGES_API_ENDPOINT
- endpoint for Push Messages API. - REQUIRED
FXA_OAUTH_ENDPOINT
- endpoint for FxA oauth provider. See thedjango-allauth
Firefox Accounts reference. - REQUIRED
FXA_PROFILE_ENDPOINT
- endpoint for FxA profile. See thedjango-allauth
Firefox Accounts reference.