GithubHelp home page GithubHelp logo

brooklyn's Introduction

Brooklyn

Apache Brooklyn helps to model, deploy, and manage systems.

It supports blueprints in YAML or Java, and deploys them to many clouds and other target environments. It monitors those deployments, maintains a live model, and runs autonomic policies to maintain their health.

For more information visit brooklyn.apache.org, where you'll find:

Quick Start

This is the uber-repo. To build the entire codebase, get this project and its sub-modules:

git clone https://github.com/apache/brooklyn/
cd brooklyn
git submodule init
git submodule update --remote --merge --recursive

And then, with jdk 1.8+ and maven 3.1+ installed:

mvn clean install

However, this will not build the RPM/DEB packages, as well as the CLI. That's why we would recommand to use the alternative: a docker container to build this project:

docker build -t brooklyn .
docker run -i --rm --name brooklyn -u $(id -u):$(id -g) \
      --mount type=bind,source="${HOME}/.m2/settings.xml",target=/var/maven/.m2/settings.xml,readonly \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v ${PWD}:/usr/build -w /usr/build \
      brooklyn mvn clean install -Duser.home=/var/maven -Duser.name=$(id -un) -Drpm -Ddeb -Dclient -Ddocker

You can speed this up by using your local .m2 cache:

docker run -i --rm --name brooklyn -u $(id -u):$(id -g) \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v ${HOME}/.m2:/var/maven/.m2 \
      -v ${PWD}:/usr/build -w /usr/build \
      brooklyn mvn clean install -Duser.home=/var/maven -Duser.name=$(id -un) -Drpm -Ddeb -Dclient -Ddocker

The results are in brooklyn-dist/dist/target/, including a tar and a zip. Or to run straight after the build, do:

pushd brooklyn-dist/karaf/apache-brooklyn/target/assembly/
./bin/start

Non-Git Build

If you are performing a build on code not in source control (e.g. from a ZIP of source code, or after deleting SCM metadata), you will need to manually set two variables that are normally inferred from the environment:

  • -DbuildNumber=manual
  • -DscmBranch=manual

You can set these properties to any value you wish. When using a checkout from git, the buildNumber is set to the SHA1 commit ID (short form) of the containing project, and the scmBranch is set to the git branch.

Resources

The Developers section of the main website contains more detail on working with the codebase. There is also a more Developer Guide specific to each version, including this branch (1.1.0-SNAPSHOT), latest stable, and older releases.

Useful topics include:

License

This software is distributed under the Apache License, version 2.0, copyright (c) The Apache Software Foundation and contributors. Please see the LICENSE file for (1) the full text of the Apache License, followed by (2) notices for bundled software and (3) licenses for bundled software.

brooklyn's People

Contributors

ahgittin avatar aledsage avatar anm avatar bostko avatar bradfora avatar brooklyn-images avatar cmoh avatar drigodwin avatar duncangrant avatar eirinikos avatar geomacy avatar grkvlt avatar infrastation avatar iuliana avatar jadelus avatar jcabrerizo avatar jdtoy avatar johnmccabe avatar kemitix avatar m4rkmckenna avatar nakomis avatar neykov avatar pveentjer avatar rdowner avatar richardcloudsoft avatar slachiewicz avatar tbouron avatar theambidextrousboy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.