Looking for better documentation? Check out our home page beer-garden.io
Beer Garden is a Framework that provides a standardized interface for Command and Control of systems through the use of plugins or services. In general, Beer Garden Services should be stateless (or as stateless as it can be) and should operate in terms of requests, systems and commands.
If you would like to run your own Beer Garden, you may follow these steps. If you are a Beer Garden Developer, you will probably want to work on the individual submodules.
- Python2.7 or 3.6
- MongoDB Server >= 3.2.0
- Rabbitmq-Server >= 3.0.0
Get Up and Running
We are going to use
docker-compose to install and run beer-garden.
The first step is to clone the git repository that contains the
git clone email@example.com:beer-garden/beer-garden.git cd beer-garden/docker/docker-compose
Beer Garden needs to inform remote plugins the hostname of the RabbitMQ instance that they should connect to for message. This value is set as the
BG_AMQ_PUBLISH_HOST in the environment or
amq_publish_host in config/command-line arguments. By default in the
docker-compose.yml it will be
rabbitmq. This will work for containers running on the same network, but if a truly remote plugin exists, you may need to change the value to a resolvable hostname or IP address on the network.
Run this command to start beer-garden:
docker-compose up -d
This will create the necessary docker containers and then run them in the background. Run the folloing command to see the log output from the containers starting:
docker-compose logs -f
Look for a line that says "Bartender started" - once you see that beer-garden is up and running. Use
ctrl-C to exit.
beer-garden starts by default on port 2337, so point a browser at
http://<IP-ADDRESS>:2337. You'll see a message saying beer-garden couldn't find any systems. You're ready to start writing plugins!
The Rest services beer-garden provides is documented by swagger which will come installed by default on the server you stood up. Go to the About section and click on
Rest API Documentation for more information.
Each of the individual submodules has ways to test individual portions of the application.