Balrog is the software that runs the server side component of the update system used by Firefox and other Mozilla products.
Clone from git using
$ git clone https://github.com/mozilla/balrog
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
Now, run the following command to create and run the necessary images:
$ docker-compose up
Once it completes, you should be able to access
- The admin interface at https://localhost:8010
- The public interface at http://localhost:9010
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, run
$ ./run-tests.sh
For executing test only for backend, run
$ ./run-tests.sh backend
For executing test only for frontend, run
$ ./run-tests.sh frontend
The run-tests.sh
script runs tests inside a Docker container,
which is convenient but can be slow. You can also set up a virtualenv
yourself and run tests "locally" using tox:
$ tox
or py.test:
$ py.test -n2 --cov=. --doctest-modules auslib
Note that Docker may have set files to be owned by root, so you may
need to chmod -R $(whoami) .
to make them writable by tox and
hypothesis.
Balrog's documentation is hosted at http://mozilla-balrog.readthedocs.io/en/latest/index.html
If you like to get involved in the development of Balrog there're lots of areas where we could use some help. To start with, it's recommended that you look at a Good First Bug. Once you're more comfortable with Balrog, we've got a long list of other bugs ready to be worked on.
Come talk to us in #balrog if you're interested!
If you find a problem and wish to report it, please file a bug .
Balrog is released under Mozilla Public License 2.0.