A powerful plugin framework for converting your functions into composable, discoverable, production-ready services with minimal overhead.

Beer Garden is a plugin framework that helps developers to create useful, streamlined, event-driven applications in a composable, and easily extensible way. Beer Garden is written in Python and has several packaging formats including python distributions, RPMs, and docker images. Beer Garden is open source, hosted on GitHub and is released under the MIT license.

Beer Garden in a Nutshell

Beer Garden makes it easy to turn your functions into fully functional ReST interfaces that are ready for production use. In short, the goal is to take anybody that knows how to write a function, and create all the other boilerplate code for them. This includes backing that function by a type-safe, discoverable, ReST interface and a fully functional web form-based interface that is easy-to-use for developers and end-users alike.

Preview Plugin to HTML Form Screenshot

Requirements

Beer Garden depends on a few external services and requires the following to run:

  • Python (2.7 or >= 3.5)

  • Connectivity to MongoDB (>= 3.2.0)

  • Connectivity to RabbitMQ (>= 3)

Installation

Beer Garden can be installed using pip, yum, docker or docker-compose. Check out our Installation Guides for more information on the different ways to install Beer Garden.

You probably noticed that beer-garden needs MongoDB and RabbitMQ to work. That’s why we recommend using docker-compose if you want to get up and running quickly - the compose configuration will handle those things for you.

Usage

  • If you’re a developer and want to get your feet wet, we definitely recommend checking out the Quickstart section.

  • If you’re interested in administering your Beer Garden instance, the Installation Guides have advice for administering your installations.

  • If you already have Beer Garden and you want to figure out how to write plugins, checkout the Plugin Developer Guide for a detailed run-down of creating your very own plugins.

  • If you already have Beer Garden and you already have plugins and you just want an easy way to use those plugins be sure to check out our API Users Guide this will go over our REST Interface as well as python bindings that we provide.

Getting Help

We want Beer Garden to help you easily write and use plugins. If there’s anything that’s unclear or difficult (or broken!) we want to know about it! Here are the best ways to get in touch with us:

Contributing

Beer Garden is open-source, and in the spirit of open-source software everyone is encouraged to help improve this project. If you discover errors or omissions in the source code, documentation, or website content please don’t hesitate to submit an issue or open a merge request. New contributors are always welcome!

Check out the Contributing guide to get started.

Here are some ways you can contribute:

  • Use the pre-release (development) versions

  • Report bugs

  • Suggest new features

  • Write or edit the documentation

  • Write code - No patch is too small:

    • Fix typos

    • Add comments

    • Clean up whitespace

    • Write tests

    • Fix issues

    • Refactor

Credits

A huge shoutout to the Asciidoctor Project. This website is built with AsciiDoctor and was heavily influenced by the Asciidoctor website. It really is the best way to write documentation and we highly recommend you check it out!

This website is hosted by GitHub Pages. It makes deployment easy and cheap. You can use it for blogs, or documentation like this. You should really check it out if you haven’t.

Free use of this software is granted under the terms of the MIT License. See the LICENSE file for details.