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 sub-projects:
camp
: the components for a server which speaks the CAMP REST API and which understands the CAMP YAML plan languageapi
: 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 morelocations
: specific location integrationsjclouds
: integration with many cloud APIs and providers, via Apache jcloudspolicies
: 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 MQ, RabbitMQmonitoring
: monitoring tools, including Monitosgi
: OSGi serversutils
: projects which lower level utilitiesusage
: 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!