Skip to content

srfraser/balrog

 
 

Repository files navigation

Balrog

CI Coverage

Balrog is the software that runs the server side component of the update system used by Firefox and other Mozilla products.

Download

Clone from git using

$ git clone https://github.com/mozilla/balrog

Installation

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

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

Tests

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.

Documentation

Balrog's documentation is hosted at http://mozilla-balrog.readthedocs.io/en/latest/index.html

Getting Involved

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 .

License

Balrog is released under Mozilla Public License 2.0.

About

Next generation update service for Mozilla products

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 73.1%
  • JavaScript 18.7%
  • HTML 6.8%
  • Other 1.4%