Brooklyn is available at GitHub brooklyncentral/brooklyn. Check it out using:
{% highlight bash %} git clone git@github.com:brooklyncentral/brooklyn.git cd brooklyn {% endhighlight %}
Build it with:
{% highlight bash %} mvn clean install {% endhighlight %}
And launch it with:
{% highlight bash %} cd usage/dist/target/brooklyn-dist/ bin/brooklyn launch {% endhighlight %}
Plenty of examples are in the examples sub-dir, described here, and pushed to the brooklyn-examples GitHub project when a version is released.
Information on using Brooklyn -- configuring locations (in brooklyn.properties
) and adding new projects to a catalog -- can be found in the User's Guide. This document is intended to help people become familiar with the codebase.
Brooklyn is split into the following projects and subprojects:
api
: the pure-Java interfaces for interacting with the systemcore
: the base class implementations for entities and applications, entity traits, locations, policies, sensor and effector support, tasks, and morepolicies
: collection of useful policies for automating entity activitysoftware
: entities which are mainly launched by launched software processes on machines, and collections thereofbase
: software process lifecycle abstract classes and drivers (e.g. SSH)webapp
: web servers (JBoss, Tomcat), load-balancers (Nginx), and DNS (Geoscaling)database
: relational databases (SQL)nosql
: datastores other than RDBMS/SQL (often better in distributed environments)messaging
: messaging systems, including Qpid, Apache MQsystems
: entities which are mainly created or managed by other systems, where Brooklyn integrates with those (multi-machine) systems and is removed from the processeswhirr
: base
Whirr integration, and entities built on Whirr such as the configurable hadoop
deploymentusage
: projects which make Brooklyn easier to use, either for end-users or Brooklyn developerstest
docs
: the markdown source code for this documentation, as described hereexamples
: some canonical examples, as listed heresandbox
: various projects, entities, and policies which the Brooklyn Project is incubatingIf you're interested in building and editing the code, check out:
If you want to start writing your own policies and entities, have a look at:
Where things aren't documented please ask us at the brooklyn mailing list so we can remedy this!