Balrog is the software that runs the server side component of the update system used by Firefox and other Mozilla products.
To run a development environment you must have Docker and docker-compose installed (if you're on Windows or Mac you need "Docker for Windows" or "Docker for Mac" at least v1.12.0)
If you have access to it, set up the machine token for the Agent. If you don't have access to it, just skip this step. The Agent will not function, but everything else will work.
$ export AUTH0_M2M_CLIENT_SECRET=abcdef123456
Run the following command to create and run the necessary containers:
$ docker-compose up
Note
On ARM (M1) chips
Make sure you are running a recent version of docker compose:
$ docker-compose version Docker Compose version v2.2.3
Then, run the following command to create and run the necessary containers:
$ docker-compose -f docker-compose.yml -f docker-compose.arm.yml up
Once it completes, you should be able to access
- http://localhost:9010 - The public API
- https://localhost:8010 - The admin API
- https://localhost:9000 - The admin interface
You'll need to accept the self signed SSL certificates in your browser for each of the links above for everything (especially the UI) to function correctly.
You'll need to use the "Sign in..." button to do anything useful with the admin interface, which will ask you to sign in with a third party provider (eg: gmail, github). Once you've done that, run the following to create a local admin user to gain write access:
$ export LOCAL_ADMIN=<email address you signed in with> $ docker-compose run balrogadmin create-local-admin
To execute all tests, simply run:
$ tox
This will run all unit tests within a Docker container.
Balrog's documentation is hosted at http://mozilla-balrog.readthedocs.io/en/latest/index.html
Balrog is released under Mozilla Public License 2.0.