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 the dj-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 the django-allauth Firefox Accounts reference.
  • REQUIRED FXA_PROFILE_ENDPOINT - endpoint for FxA profile. See the django-allauth Firefox Accounts reference.