Brew View is the beer-garden application frontend. It uses Tornado to serve some REST endpoints and the AngularJS application, and it communicates with the beer-garden backend (Bartender) through Thrift.
The following steps are the easiest way to get Brew-view up and running from source.
- Python (2.7.9+ or 3.4+)
- Node.js (Stable, 6+) with yarn installed globally
- Connectivity to a MongoDB Server
- Connectivity to a RabbitMQ Server
Get Up and Running
A full installation guide for RabbitMQ and Mongo is outside the scope of this document. Below is a small snippet to get you up and running if you have docker installed..
$ docker run -d -p 27017:27017 --name bg-mongo mongo $ docker run -d -p 5672:5672 -p 15672:15672 --name bg-rmq rabbitmq:3-management-alpine
To do development locally, it is important to note that brew-view is a combination of a python API powered by tornado and an AngularJS App. So we will start them both up!
$ git clone https://github.com/beer-garden/brew-view.git $ cd brew-view $ make deps # just a simple way to do pip install -r requirements.txt and yarn install
$ cd brew_view/static $ yarn serve
Now start up the Python API:
$ cd /path/to/brew-view $ python -m brew_view -c ./dev_conf/config.yml
Sweet! Everything should now be up and running. Visit http://localhost:8080/ in a browser to check it out. Hit Ctrl-c to stop the web server.
There’s a conf/config.yml file that comes with the installation. It comes with sensible default values but feel free to change them if you’d like. You’ll need to restart the web server after making any changes.
Brew-view’s most visible job is to serve the frontend application, but it also provides a REST API. This API is used by the frontend (and the plugins) to interact with the rest of beer-garden. You’re more than welcome to use the REST API directly if you’d like - you can find Swagger documentation by navigating to the About page and clicking the Check it out! button.
Testing and Code Coverage
You can run the testing yourself.
$ make test
This will run the tests for the python application. You can run against multiple python versions using tox:
$ make test-all
To generate coverage:
$ make coverage
We use flake8 for linting:
$ make lint
$ make test
To run ESLint:
Creating the brew-view distribution is simple. Simply go to the git root directory and run the following:
$ make dist
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|brew_view-2.4.7-py2.py3-none-any.whl (8.2 MB) Copy SHA256 hash SHA256||Wheel||py2.py3|
|brew-view-2.4.7.tar.gz (8.1 MB) Copy SHA256 hash SHA256||Source||None|