http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/style/deps/octicons/sprockets-octicons.scss ---------------------------------------------------------------------- diff --git a/docs/style/deps/octicons/sprockets-octicons.scss b/docs/style/deps/octicons/sprockets-octicons.scss new file mode 100644 index 0000000..0e518fc --- /dev/null +++ b/docs/style/deps/octicons/sprockets-octicons.scss @@ -0,0 +1,230 @@ +@font-face { + font-family: 'octicons'; + src: font-url('octicons.eot?#iefix') format('embedded-opentype'), + font-url('octicons.woff') format('woff'), + font-url('octicons.ttf') format('truetype'), + font-url('octicons.svg#octicons') format('svg'); + font-weight: normal; + font-style: normal; +} + +// .octicon is optimized for 16px. +// .mega-octicon is optimized for 32px but can be used larger. +.octicon, .mega-octicon { + font: normal normal normal 16px/1 octicons; + display: inline-block; + text-decoration: none; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mega-octicon { font-size: 32px; } + +.octicon-alert:before { content: '\f02d'} /* ï */ +.octicon-alignment-align:before { content: '\f08a'} /* ï */ +.octicon-alignment-aligned-to:before { content: '\f08e'} /* ï */ +.octicon-alignment-unalign:before { content: '\f08b'} /* ï */ +.octicon-arrow-down:before { content: '\f03f'} /* ï¿ */ +.octicon-arrow-left:before { content: '\f040'} /* ï */ +.octicon-arrow-right:before { content: '\f03e'} /* ï¾ */ +.octicon-arrow-small-down:before { content: '\f0a0'} /* ï */ +.octicon-arrow-small-left:before { content: '\f0a1'} /* ï¡ */ +.octicon-arrow-small-right:before { content: '\f071'} /* ï± */ +.octicon-arrow-small-up:before { content: '\f09f'} /* ï */ +.octicon-arrow-up:before { content: '\f03d'} /* ï½ */ +.octicon-beer:before { content: '\f069'} /* ï© */ +.octicon-book:before { content: '\f007'} /* ï */ +.octicon-bookmark:before { content: '\f07b'} /* ï» */ +.octicon-briefcase:before { content: '\f0d3'} /* ï */ +.octicon-broadcast:before { content: '\f048'} /* ï */ +.octicon-browser:before { content: '\f0c5'} /* ï */ +.octicon-bug:before { content: '\f091'} /* ï */ +.octicon-calendar:before { content: '\f068'} /* ï¨ */ +.octicon-check:before { content: '\f03a'} /* ïº */ +.octicon-checklist:before { content: '\f076'} /* ï¶ */ +.octicon-chevron-down:before { content: '\f0a3'} /* ï£ */ +.octicon-chevron-left:before { content: '\f0a4'} /* ï¤ */ +.octicon-chevron-right:before { content: '\f078'} /* ï¸ */ +.octicon-chevron-up:before { content: '\f0a2'} /* ï¢ */ +.octicon-circle-slash:before { content: '\f084'} /* ï */ +.octicon-circuit-board:before { content: '\f0d6'} /* ï */ +.octicon-clippy:before { content: '\f035'} /* ïµ */ +.octicon-clock:before { content: '\f046'} /* ï */ +.octicon-cloud-download:before { content: '\f00b'} /* ï */ +.octicon-cloud-upload:before { content: '\f00c'} /* ï */ +.octicon-code:before { content: '\f05f'} /* ï */ +.octicon-color-mode:before { content: '\f065'} /* ï¥ */ +.octicon-comment-add:before, +.octicon-comment:before { content: '\f02b'} /* ï« */ +.octicon-comment-discussion:before { content: '\f04f'} /* ï */ +.octicon-credit-card:before { content: '\f045'} /* ï */ +.octicon-dash:before { content: '\f0ca'} /* ï */ +.octicon-dashboard:before { content: '\f07d'} /* ï½ */ +.octicon-database:before { content: '\f096'} /* ï */ +.octicon-device-camera:before { content: '\f056'} /* ï */ +.octicon-device-camera-video:before { content: '\f057'} /* ï */ +.octicon-device-desktop:before { content: '\f27c'} /* ï¼ */ +.octicon-device-mobile:before { content: '\f038'} /* ï¸ */ +.octicon-diff:before { content: '\f04d'} /* ï */ +.octicon-diff-added:before { content: '\f06b'} /* ï« */ +.octicon-diff-ignored:before { content: '\f099'} /* ï */ +.octicon-diff-modified:before { content: '\f06d'} /* ï */ +.octicon-diff-removed:before { content: '\f06c'} /* ï¬ */ +.octicon-diff-renamed:before { content: '\f06e'} /* ï® */ +.octicon-ellipsis:before { content: '\f09a'} /* ï */ +.octicon-eye-unwatch:before, +.octicon-eye-watch:before, +.octicon-eye:before { content: '\f04e'} /* ï */ +.octicon-file-binary:before { content: '\f094'} /* ï */ +.octicon-file-code:before { content: '\f010'} /* ï */ +.octicon-file-directory:before { content: '\f016'} /* ï */ +.octicon-file-media:before { content: '\f012'} /* ï */ +.octicon-file-pdf:before { content: '\f014'} /* ï */ +.octicon-file-submodule:before { content: '\f017'} /* ï */ +.octicon-file-symlink-directory:before { content: '\f0b1'} /* ï± */ +.octicon-file-symlink-file:before { content: '\f0b0'} /* ï° */ +.octicon-file-text:before { content: '\f011'} /* ï */ +.octicon-file-zip:before { content: '\f013'} /* ï */ +.octicon-flame:before { content: '\f0d2'} /* ï */ +.octicon-fold:before { content: '\f0cc'} /* ï */ +.octicon-gear:before { content: '\f02f'} /* ï¯ */ +.octicon-gift:before { content: '\f042'} /* ï */ +.octicon-gist:before { content: '\f00e'} /* ï */ +.octicon-gist-secret:before { content: '\f08c'} /* ï */ +.octicon-git-branch-create:before, +.octicon-git-branch-delete:before, +.octicon-git-branch:before { content: '\f020'} /* ï */ +.octicon-git-commit:before { content: '\f01f'} /* ï */ +.octicon-git-compare:before { content: '\f0ac'} /* ï¬ */ +.octicon-git-merge:before { content: '\f023'} /* ï£ */ +.octicon-git-pull-request-abandoned:before, +.octicon-git-pull-request:before { content: '\f009'} /* ï */ +.octicon-globe:before { content: '\f0b6'} /* ï¶ */ +.octicon-graph:before { content: '\f043'} /* ï */ +.octicon-heart:before { content: '\2665'} /* ⥠*/ +.octicon-history:before { content: '\f07e'} /* ï¾ */ +.octicon-home:before { content: '\f08d'} /* ï */ +.octicon-horizontal-rule:before { content: '\f070'} /* ï° */ +.octicon-hourglass:before { content: '\f09e'} /* ï */ +.octicon-hubot:before { content: '\f09d'} /* ï */ +.octicon-inbox:before { content: '\f0cf'} /* ï */ +.octicon-info:before { content: '\f059'} /* ï */ +.octicon-issue-closed:before { content: '\f028'} /* ï¨ */ +.octicon-issue-opened:before { content: '\f026'} /* ï¦ */ +.octicon-issue-reopened:before { content: '\f027'} /* ï§ */ +.octicon-jersey:before { content: '\f019'} /* ï */ +.octicon-jump-down:before { content: '\f072'} /* ï² */ +.octicon-jump-left:before { content: '\f0a5'} /* ï¥ */ +.octicon-jump-right:before { content: '\f0a6'} /* ï¦ */ +.octicon-jump-up:before { content: '\f073'} /* ï³ */ +.octicon-key:before { content: '\f049'} /* ï */ +.octicon-keyboard:before { content: '\f00d'} /* ï */ +.octicon-law:before { content: '\f0d8'} /* */ +.octicon-light-bulb:before { content: '\f000'} /* ï */ +.octicon-link:before { content: '\f05c'} /* ï */ +.octicon-link-external:before { content: '\f07f'} /* ï¿ */ +.octicon-list-ordered:before { content: '\f062'} /* ï¢ */ +.octicon-list-unordered:before { content: '\f061'} /* ï¡ */ +.octicon-location:before { content: '\f060'} /* ï */ +.octicon-gist-private:before, +.octicon-mirror-private:before, +.octicon-git-fork-private:before, +.octicon-lock:before { content: '\f06a'} /* ïª */ +.octicon-logo-github:before { content: '\f092'} /* ï */ +.octicon-mail:before { content: '\f03b'} /* ï» */ +.octicon-mail-read:before { content: '\f03c'} /* ï¼ */ +.octicon-mail-reply:before { content: '\f051'} /* ï */ +.octicon-mark-github:before { content: '\f00a'} /* ï */ +.octicon-markdown:before { content: '\f0c9'} /* ï */ +.octicon-megaphone:before { content: '\f077'} /* ï· */ +.octicon-mention:before { content: '\f0be'} /* ï¾ */ +.octicon-microscope:before { content: '\f089'} /* ï */ +.octicon-milestone:before { content: '\f075'} /* ïµ */ +.octicon-mirror-public:before, +.octicon-mirror:before { content: '\f024'} /* ï¤ */ +.octicon-mortar-board:before { content: '\f0d7'} /* */ +.octicon-move-down:before { content: '\f0a8'} /* ï¨ */ +.octicon-move-left:before { content: '\f074'} /* ï´ */ +.octicon-move-right:before { content: '\f0a9'} /* ï© */ +.octicon-move-up:before { content: '\f0a7'} /* ï§ */ +.octicon-mute:before { content: '\f080'} /* ï */ +.octicon-no-newline:before { content: '\f09c'} /* ï */ +.octicon-octoface:before { content: '\f008'} /* ï */ +.octicon-organization:before { content: '\f037'} /* ï· */ +.octicon-package:before { content: '\f0c4'} /* ï */ +.octicon-paintcan:before { content: '\f0d1'} /* ï */ +.octicon-pencil:before { content: '\f058'} /* ï */ +.octicon-person-add:before, +.octicon-person-follow:before, +.octicon-person:before { content: '\f018'} /* ï */ +.octicon-pin:before { content: '\f041'} /* ï */ +.octicon-playback-fast-forward:before { content: '\f0bd'} /* ï½ */ +.octicon-playback-pause:before { content: '\f0bb'} /* ï» */ +.octicon-playback-play:before { content: '\f0bf'} /* ï¿ */ +.octicon-playback-rewind:before { content: '\f0bc'} /* ï¼ */ +.octicon-plug:before { content: '\f0d4'} /* ï */ +.octicon-repo-create:before, +.octicon-gist-new:before, +.octicon-file-directory-create:before, +.octicon-file-add:before, +.octicon-plus:before { content: '\f05d'} /* ï */ +.octicon-podium:before { content: '\f0af'} /* ï¯ */ +.octicon-primitive-dot:before { content: '\f052'} /* ï */ +.octicon-primitive-square:before { content: '\f053'} /* ï */ +.octicon-pulse:before { content: '\f085'} /* ï */ +.octicon-puzzle:before { content: '\f0c0'} /* ï */ +.octicon-question:before { content: '\f02c'} /* ï¬ */ +.octicon-quote:before { content: '\f063'} /* ï£ */ +.octicon-radio-tower:before { content: '\f030'} /* ï° */ +.octicon-repo-delete:before, +.octicon-repo:before { content: '\f001'} /* ï */ +.octicon-repo-clone:before { content: '\f04c'} /* ï */ +.octicon-repo-force-push:before { content: '\f04a'} /* ï */ +.octicon-gist-fork:before, +.octicon-repo-forked:before { content: '\f002'} /* ï */ +.octicon-repo-pull:before { content: '\f006'} /* ï */ +.octicon-repo-push:before { content: '\f005'} /* ï */ +.octicon-rocket:before { content: '\f033'} /* ï³ */ +.octicon-rss:before { content: '\f034'} /* ï´ */ +.octicon-ruby:before { content: '\f047'} /* ï */ +.octicon-screen-full:before { content: '\f066'} /* ï¦ */ +.octicon-screen-normal:before { content: '\f067'} /* ï§ */ +.octicon-search-save:before, +.octicon-search:before { content: '\f02e'} /* ï® */ +.octicon-server:before { content: '\f097'} /* ï */ +.octicon-settings:before { content: '\f07c'} /* ï¼ */ +.octicon-log-in:before, +.octicon-sign-in:before { content: '\f036'} /* ï¶ */ +.octicon-log-out:before, +.octicon-sign-out:before { content: '\f032'} /* ï² */ +.octicon-split:before { content: '\f0c6'} /* ï */ +.octicon-squirrel:before { content: '\f0b2'} /* ï² */ +.octicon-star-add:before, +.octicon-star-delete:before, +.octicon-star:before { content: '\f02a'} /* ïª */ +.octicon-steps:before { content: '\f0c7'} /* ï */ +.octicon-stop:before { content: '\f08f'} /* ï */ +.octicon-repo-sync:before, +.octicon-sync:before { content: '\f087'} /* ï */ +.octicon-tag-remove:before, +.octicon-tag-add:before, +.octicon-tag:before { content: '\f015'} /* ï */ +.octicon-telescope:before { content: '\f088'} /* ï */ +.octicon-terminal:before { content: '\f0c8'} /* ï */ +.octicon-three-bars:before { content: '\f05e'} /* ï */ +.octicon-tools:before { content: '\f031'} /* ï± */ +.octicon-trashcan:before { content: '\f0d0'} /* ï */ +.octicon-triangle-down:before { content: '\f05b'} /* ï */ +.octicon-triangle-left:before { content: '\f044'} /* ï */ +.octicon-triangle-right:before { content: '\f05a'} /* ï */ +.octicon-triangle-up:before { content: '\f0aa'} /* ïª */ +.octicon-unfold:before { content: '\f039'} /* ï¹ */ +.octicon-unmute:before { content: '\f0ba'} /* ïº */ +.octicon-versions:before { content: '\f064'} /* ï¤ */ +.octicon-remove-close:before, +.octicon-x:before { content: '\f081'} /* ï */ +.octicon-zap:before { content: '\26A1'} /* â¡ */
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/committers.md ---------------------------------------------------------------------- diff --git a/docs/website/community/committers.md b/docs/website/community/committers.md deleted file mode 100644 index 944ad0b..0000000 --- a/docs/website/community/committers.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -layout: website-normal -title: Committer's Guide -navgroup: community ---- - -The Apache Brooklyn Git repositories are hosted in the ASF infrastructure and mirrored to Github. This is the current -repository layout: - -- [Apache](https://git-wip-us.apache.org/repos/asf?s=incubator-brooklyn) - the main and official repository -- [GitHub](https://github.com/apache/incubator-brooklyn) - mirror of the ASF repository, used to accept contributions - and do code reviews - - -Before ------- - -For everything except the most trivial changes, the submitter must have a CLA on file. Check the [list of Apache -committers, and non-commiters with ICLAs on record](https://people.apache.org/committer-index.html) and prompt the -contributor to file an appropriate CLA if required. - -For all significant changes, there must be a Jira issue. If a Jira issue is not referenced in the PR and/or commit -messages, prompt the contributor to open a Jira issue. - - -Rules of thumb --------------- - -1. Every contribution is a piece of intellectual property. This is the precious sustenance that nourishes our - project. Please treat it with respect. -2. Always give credit where it is due, ensure every merged commit reflects properly the individual who authored that - commit. Preserve both the name and email address. -3. Ensure your name and email address are there as the committer prior to pushing it to the Apache repositories. -4. Always strive for linear commit history, avoid merge commits while pulling in contributor's changes. - - -Setting up your repository --------------------------- - -Clone the canonical ASF repo using this command. The `--origin` option tells git to name the remote `apache` instead -of the default, `origin`; this will reduce ambiguity when we later add a second remote upstream. - - git clone --origin apache https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git - -Add a second remote, for the GitHub repository. - - git remote add github https://github.com/apache/incubator-brooklyn.git - -For the GitHub remote, add an additional `fetch` reference which will cause -every pull request to be made available as a remote branch in your workspace. - - git config --local --add remote.github.fetch '+refs/pull/*/head:refs/remotes/github/pr/*' - -Finally, run `git fetch --all` to update from all remote repositories - you will see all the pull requests appear: - - * [new ref] refs/pull/98/head -> github/pr/98 - * [new ref] refs/pull/99/head -> github/pr/99 - - -Merging a pull request ----------------------- - -Fetch the latest remote branches, which will cause a remote branch for the PR to become available to you. - - git fetch --all - -If you want to inspect the PR and/or run tests, check out the branch: - - git checkout github/pr/1234 - -To perform the merge, first update your master branch to the latest: - - git checkout master - git pull --rebase - -Then merge and push: - - git merge --no-ff -m 'This closes #1234' github/pr/1234 - git push apache master - -Note that this commit message is important, as this is what will trigger the -pull request to be automatically closed, and the `--no-ff` means that a merge -commit will always be created. - - -Alternative options -------------------- - -### Adding the remote reference to the contributor's repository - -Fetch the branch of the user you want to merge from - - git fetch https://github.com/user-to-merge-from/incubator-brooklyn.git branch-to-merge-from - -If you commonly merge from a particular user, you'll want to add their repo as a remote to make fetching branches easier. - - git remote add user-to-merge-from https://github.com/user-to-merge-from/incubator-brooklyn.git - git fetch user-to-merge-from - - -### Merging from a patch file - -Save the patch from the Github patch link (just append '.patch' to the pull request link to get it). This patch will -keep the authorship of the commit, so we should use it instead of the diff. - -Apply the patch preserving the original author: - - git am pull-request-9876.patch - - -Additional information ----------------------- - -Particularly for new committers, you may find the following information useful: - -* [Guide for new project - committers](https://www.apache.org/dev/new-committers-guide.html) -* [Committers FAQ](https://www.apache.org/dev/committers.html) -* [Git at Apache](https://git-wip-us.apache.org/) http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/fork-after.png ---------------------------------------------------------------------- diff --git a/docs/website/community/fork-after.png b/docs/website/community/fork-after.png deleted file mode 100644 index 3148ff3..0000000 Binary files a/docs/website/community/fork-after.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/fork-before.png ---------------------------------------------------------------------- diff --git a/docs/website/community/fork-before.png b/docs/website/community/fork-before.png deleted file mode 100644 index 276eb9d..0000000 Binary files a/docs/website/community/fork-before.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/fork-new.png ---------------------------------------------------------------------- diff --git a/docs/website/community/fork-new.png b/docs/website/community/fork-new.png deleted file mode 100644 index 34c2053..0000000 Binary files a/docs/website/community/fork-new.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/how-to-contribute.md ---------------------------------------------------------------------- diff --git a/docs/website/community/how-to-contribute.md b/docs/website/community/how-to-contribute.md deleted file mode 100644 index 0f2ce1e..0000000 --- a/docs/website/community/how-to-contribute.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -layout: website-normal -title: How to Contribute ---- - -Welcome and thank you for your interest in contributing to Apache Brooklyn! This guide will take you through the -process of making contributions to the Apache Brooklyn code base. - - -Contributor license agreement ------------------------------ - -Apache Brooklyn is licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). All -contributions will be under this license, so please read and understand this license before contributing. - -For all but the most trivial patches, you are required to file a Contributor License Agreement with the Apache -Software Foundation. Please read the [guide to CLAs](https://www.apache.org/licenses/#clas) to find out how to file a -CLA with the Foundation. - - -Before you start ----------------- - -### Join the community - -If it's your first contribution or it's a particularly big or complex contribution, things typically go much more -smoothly when they start off with a conversation. Visit our [Community](index.html) page to see how you can contact -us via IRC or email. - -### Create an issue in Jira - -Your first step is to create or find an issue in [Brooklyn's Jira](https://issues.apache.org/jira/browse/BROOKLYN) -for your feature request or fix. For small changes this isn't necessary, but it's good to see if your change fixes an -existing issue anyway. - - -### Contributing using GitHub - -This is our preferred way for contributing code. Our GitHub repository is located at -[https://github.com/apache/incubator-brooklyn](https://github.com/apache/incubator-brooklyn) - -Your commit messages must properly describes the changes that have been made and their purpose -([here are some guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)). If your -contributions fix a Jira issue, then ensure that you reference the issue (like `BROOKLYN-9876`) in the commit message. - -Create a pull request (PR) in GitHub for the change you're interested in making. The comment section of the PR must -contain a link to the Jira issue (if it has one). - -Some good references for working with GitHub are below. We ask that you keep your change rebased to master as much -as possible, and we will ask you to rebase again if master has moved before accepting your patch. - -- [Setting Up Git with GitHub](https://help.github.com/articles/set-up-git) -- [Forking a Repository](https://help.github.com/articles/fork-a-repo) -- [Submitting Pull Requests](https://help.github.com/articles/using-pull-requests) -- [Rebasing your Branch](https://help.github.com/articles/interactive-rebase) - -Finally, add a comment in the Jira issue with a link to the pull request so we know the code is ready to be reviewed. - -### Reviews - -The Apache Brooklyn community will review your pull request before it is merged. This process can take a while, so -please be patient. If we are slow to respond, please feel free to post a reminder to the PR, Jira issue, IRC channel -or mailing list - see the [Community](index.html) page to see how to contact us. - -During the review process you may be asked to make some changes to your submission. While working through feedback, -it can be beneficial to create new commits so the incremental change is obvious. This can also lead to a complex set -of commits, and having an atomic change per commit is preferred in the end. Use your best judgement and work with -your reviewer as to when you should revise a commit or create a new one. - -A pull request is considered ready to be merged once it gets at lease one +1 from a committer. Once all the changes -have been completed and the pull request is accepted, you may be asked to rebase it against the latest code. You may -also wish to squash some commits together and make other history revisions, to leave the commit history clean and -easily understood. - - -### Contributing without using GitHub - -If you prefer to not use GitHub, then that is fine - we are also happy to accept patches attached to a Jira issue. -Our canonical repository is located at `https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git`; for example: - - $ git clone https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git - -When producing patches, please use `git format-patch` or a similar mechanism - this will ensure that you are properly -attributed as the author of the patch when a committer merges it. - - -Handy Places ------------- - -Development bookmarks are available [here](links.html). http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/index.md ---------------------------------------------------------------------- diff --git a/docs/website/community/index.md b/docs/website/community/index.md index e998e69..29fe46c 100644 --- a/docs/website/community/index.md +++ b/docs/website/community/index.md @@ -2,85 +2,72 @@ layout: website-normal title: Community children: -- { path: how-to-contribute.md } -- { path: migrate-to-apache.md } -- { path: committers.md } +- mailing-lists.md +- irc.md +- { link: 'https://issues.apache.org/jira/browse/BROOKLYN', title: 'Bug Tracker (JIRA)' } - { path: how-to-contribute-docs.md } --- <div class="row"> <div class="col-md-6" markdown="1"> -## Mailing lists +<div class="panel panel-default"> + <div class="panel-heading" markdown="1"> +#### [Mailing lists](mailing-lists.html) + </div> + <div class="panel-body" markdown="1"> +Our mailing lists is where most of the action around Brooklyn happens and is stored for posterity - here you can ask +questions about how to use Brooklyn and learn from the experiences of others. It's also the place where discussions +about the future of Brooklyn happen. -Our main discussion list is our *dev* list - here you can ask questions and get -help with issues, ranging from basic getting started through to detailed -questions about Brooklyn's internals. - -To subscribe, send an email to: -[[email protected]](mailto:[email protected]) - -You can also [read and search the dev list -archives](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-dev/) on -Apache's list archiver. - - -### Other lists - -We also have a *commits* list - a read-only list which automatically posts as -commits are made to our source repositories. Subscribe by sending an email to -[[email protected]](mailto:[email protected]), -and [read the archives here](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-commits/). - - -### Historical lists - -Before Brooklyn joined the Apache Incubator, we had lists hosted on Google -Groups. These lists are now deprecated and it's no longer possible to subscribe -or post, but you may find useful information in the archives. - -- [Old Brooklyn users list archive](https://groups.google.com/forum/#!forum/brooklyn-dev) -- [Old Brooklyn dev list archive](https://groups.google.com/forum/#!forum/brooklyn-dev) - -Once again, these lists are deprecated, so please subscribe to the Apache-hosted -lists to receive new messages. +<div class="text-center"><a class="btn btn-primary" href="mailing-lists.html" role="button">Mailing Lists</a></div> + </div> +</div> </div><!-- col --> <div class="col-md-6" markdown="1"> -## Issue tracker +<div class="panel panel-default"> + <div class="panel-heading" markdown="1"> +#### [Issue tracker](https://issues.apache.org/jira/browse/BROOKLYN) + </div> + <div class="panel-body" markdown="1"> +Search for known issues, and report new bugs, using the `BROOKLYN` project on the Apache JIRA. -We have a [Jira instance at Apache](https://issues.apache.org/jira/browse/BROOKLYN) +<div class="text-center"><a class="btn btn-primary" href="https://issues.apache.org/jira/browse/BROOKLYN" role="button">JIRA Bug Tracker</a></div> + </div> +</div> +</div><!-- col --> +</div><!-- row --> -## Contributing source code - -If you have changes or additions to the Brooklyn source code, we would love to -see them! Please read our guide on [how to contribute](how-to-contribute.html). - -If you have used the *brooklyncentral* repository prior to Brooklyn's move to -Apache, you can read the guide on -[how to migrate your brooklyncentral fork to Apache](migrate-to-apache.html). - -Committers can read the corresponding [guide for committers](committers.html) -to see how to review and merge contributions. - +<div class="row"> +<div class="col-md-6" markdown="1"> -## Contributing to the website and documentation +<div class="panel panel-default"> + <div class="panel-heading" markdown="1"> +#### [IRC](irc.html) + </div> + <div class="panel-body" markdown="1"> +Find us on `#brooklyncentral` on Freenode, or click below for more information. -We would also be very happy to receive contributions to our website and -documentation. You can read our [How to contribute -documentation](how-to-contribute-docs.html) guide or, if you are impatient, -simply click on the *Edit this page* button at the bottom of most pages on this -site and follow the instructions. +<div class="text-center"><a class="btn btn-primary" href="irc.html" role="button">IRC Information</a></div> + </div> +</div> +</div><!-- col --> +<div class="col-md-6" markdown="1"> -## IRC +<div class="panel panel-default"> + <div class="panel-heading" markdown="1"> +#### [Developer community](../developers/) + </div> + <div class="panel-body" markdown="1"> +Want to contribute code to our project? Head over to our developer's section. Warning, bleeding edge code ahead! -Join channel `#brooklyncentral` on the [Freenode](https://freenode.net/) IRC -network. Many of the Brooklyn dev team can be found here. Note that the team -is predominantly Europe-based, and channel activity is usually centered -around European daylight hours. +<div class="text-center"><a class="btn btn-warning" href="../developers/index.html" role="button">Developer's Section</a></div> + </div> +</div> </div><!-- col --> </div><!-- row --> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/irc.md ---------------------------------------------------------------------- diff --git a/docs/website/community/irc.md b/docs/website/community/irc.md new file mode 100644 index 0000000..0c33048 --- /dev/null +++ b/docs/website/community/irc.md @@ -0,0 +1,14 @@ +--- +layout: website-normal +title: IRC +--- + +Join channel `#brooklyncentral` on the [Freenode](https://freenode.net/) IRC +network for instant chat with the Brooklyn community. Use your favourite IRC client, or use the embedded IRC web chat +client here: + +<iframe src="http://webchat.freenode.net?channels=%23brooklyncentral&uio=MTE9MTIz7c" width="647" height="400"></iframe> + +Many of the Brooklyn dev team can be found here. Note that the team +is predominantly Europe-based, and channel activity is usually centered +around European daylight hours. http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/links.md ---------------------------------------------------------------------- diff --git a/docs/website/community/links.md b/docs/website/community/links.md deleted file mode 100644 index 20a062d..0000000 --- a/docs/website/community/links.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: website-normal -title: Development Bookmarks -menu_proxy_for: how-to-contribute.md ---- - -{% include fields.md %} - -Handy places: - -* **Code** is in Github at [https://github.com/apache/incubator-brooklyn/](https://github.com/apache/incubator-brooklyn/) - -* **Issues** are in Jira at [https://issues.apache.org/jira/browse/BROOKLYN/](https://issues.apache.org/jira/browse/BROOKLYN/) - -* **Maven repositories** are: - * [Apache releases]({{ apache_releases_repo_groupid_url }}) - * [Apache snapshots]({{ apache_snapshots_repo_groupid_url }}) - * Other repositories are at [http://developers.cloudsoftcorp.com/download/maven2/](http://developers.cloudsoftcorp.com/download/maven2/) for releases - and [http://ccweb.cloudsoftcorp.com/maven/libs-snapshot-local/](http://ccweb.cloudsoftcorp.com/maven/libs-snapshot-local/) for snapshots - -* **CI server** is a jenkins server at: [https://builds.apache.org/job/incubator-brooklyn-master-build/](https://builds.apache.org/job/incubator-brooklyn-master-build/) - http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/mailing-lists.md ---------------------------------------------------------------------- diff --git a/docs/website/community/mailing-lists.md b/docs/website/community/mailing-lists.md new file mode 100644 index 0000000..40cb72b --- /dev/null +++ b/docs/website/community/mailing-lists.md @@ -0,0 +1,36 @@ +--- +layout: website-normal +title: Mailing Lists +--- + +Our main discussion list is our *dev* list - here you can ask questions and get +help with issues, ranging from basic getting started through to detailed +questions about Brooklyn's internals. + +To subscribe, send an email to: +[[email protected]](mailto:[email protected]) + +You can also [read and search the dev list +archives](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-dev/) on +Apache's list archiver. + + +### Other lists + +We also have a *commits* list - a read-only list which automatically posts as +commits are made to our source repositories. Subscribe by sending an email to +[[email protected]](mailto:[email protected]), +and [read the archives here](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-commits/). + + +### Historical lists + +Before Brooklyn joined the Apache Incubator, we had lists hosted on Google +Groups. These lists are now deprecated and it's no longer possible to subscribe +or post, but you may find useful information in the archives. + +- [Old Brooklyn users list archive](https://groups.google.com/forum/#!forum/brooklyn-dev) +- [Old Brooklyn dev list archive](https://groups.google.com/forum/#!forum/brooklyn-dev) + +Once again, these lists are deprecated, so please subscribe to the Apache-hosted +lists to receive new messages. http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/migrate-to-apache.md ---------------------------------------------------------------------- diff --git a/docs/website/community/migrate-to-apache.md b/docs/website/community/migrate-to-apache.md deleted file mode 100644 index ece385d..0000000 --- a/docs/website/community/migrate-to-apache.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -layout: website-normal -title: How to Migrate ---- - -Prior to our adoption by the Apache Incubator, Brooklyn was developed in a -GitHub repository at `https://github.com/brooklyncentral/brooklyn`. If you -already have a fork of this repository, follow this guide to smoothly shift -your repository references to the new repository at Apache. - -If you have not forked or cloned the `brooklyncentral/brooklyn` repository, -then this is not the right guide for you. Instead, you should refer to the -[How to contribute](how-to-contribute.html) page, and possibly refer to -[GitHub Help - Fork A Repo](https://help.github.com/articles/fork-a-repo) for -further help. - - -Assumptions ------------ - -This guides assumes that you have followed the standard GitHub workflow, as -describe in [GitHub Help - Fork A Repo](https://help.github.com/articles/fork-a-repo). -In particular: - -- You have forked the `brooklyncentral/brooklyn` repository into your own - username: - - - -- You have used `git clone` to clone this fork onto your own computer; -- You have added an additional remote, `upstream`, to refer to the original - `brooklyncentral/brooklyn` repository. - -In short, if you can recognise the above screenshot, and the output of the -`git remote -v` command looks similar to below, then this guide should work -for you. (Replace `rdowner` with your own GitHub username.) - - origin https://github.com/rdowner/brooklyn.git (fetch) - origin https://github.com/rdowner/brooklyn.git (push) - upstream https://github.com/brooklyncentral/brooklyn (fetch) - upstream https://github.com/brooklyncentral/brooklyn (push) - -Or, if you are using SSH to access your remote repositories, it may look like -this: - - origin [email protected]:rdowner/brooklyn.git (fetch) - origin [email protected]:rdowner/brooklyn.git (push) - upstream [email protected]:brooklyncentral/brooklyn.git (fetch) - upstream [email protected]:brooklyncentral/brooklyn (push) - - - -Procedure ---------- - -The new repository has a mirror in GitHub, located at -[https://github.com/apache/incubator-brooklyn](https://github.com/apache/incubator-brooklyn). -Go to this page now, and fork it: - - - -This will now create a fork of this repository under your own username: - - - -So previously you referred to repositories named `brooklyn` under the -`brooklyncentral` organization and your own username. Now, you will need to -refer to repositories named `incubator-brooklyn` under the `Apache` -organization and your own username. - -To update the cloned repository on your computer to point to the new -repositories instead of the old ones, use these commands, replacing `rdowner` -with your own GitHub username. - - git remote set-url origin https://github.com/rdowner/incubator-brooklyn.git - git remote set-url upstream https://github.com/apache/incubator-brooklyn.git - -Or, if you would prefer to use SSH to access your remote repositories: - - git remote set-url origin [email protected]:rdowner/incubator-brooklyn.git - git remote set-url upstream [email protected]:apache/incubator-brooklyn.git - -Finally, fetch everything: - - git fetch --all - - -Existing pull requests ----------------------- - -If you have submitted a pull request at `brooklyncentral/brooklyn`, this pull -request will be closed, unmerged, with a message pointing you to this page. You -will need to re-submit your pull request against the -`apache/incubator-brooklyn`. - -If you have followed the above procedure, all you will need to do is identify -the branch in your local repository on your computer that you used to make the -original pull request, and push this to your new fork: - -``` -git push origin my-new-feature-branch -``` - -Now, go to your `incubator-brooklyn` fork on the GitHub website, and you should -see the **Compare & pull request** button; click this, and it will set up a -pull request against the new repository. - - - - -Any problems? -------------- - -If you are not sure how to do this, perhaps because you have a slightly -different arrangement in your repositories, or is something unusual happens, -please ask our community for help. You can find details of our IRC channel -and mailing lists on our [Community](index.html) page. http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/pull-request.png ---------------------------------------------------------------------- diff --git a/docs/website/community/pull-request.png b/docs/website/community/pull-request.png deleted file mode 100644 index 70407f2..0000000 Binary files a/docs/website/community/pull-request.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/code-standards.md ---------------------------------------------------------------------- diff --git a/docs/website/developers/code-standards.md b/docs/website/developers/code-standards.md new file mode 100644 index 0000000..4d18ca9 --- /dev/null +++ b/docs/website/developers/code-standards.md @@ -0,0 +1,14 @@ +--- +layout: website-normal +title: Code Standards +--- + +Without being too restrictive about how you have to code as part of Brooklyn, +there are some style points that really make life easier when sharing code +among ourselves: + +* Use spaces (not tabs!) with 4 spaces indentation +* Keep line length <=128 +* Don't reformat code or organize imports unless there's very good + reason (this makes history and merges much harder) + http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/committers/index.md ---------------------------------------------------------------------- diff --git a/docs/website/developers/committers/index.md b/docs/website/developers/committers/index.md new file mode 100644 index 0000000..abd4781 --- /dev/null +++ b/docs/website/developers/committers/index.md @@ -0,0 +1,10 @@ +--- +layout: website-normal +title: Committer Guide +children: +- merging-contributed-code.md +--- + +These pages contain information that is relevant to people with "committer" status in our project. + +{% include list-children.html %} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/committers/merging-contributed-code.md ---------------------------------------------------------------------- diff --git a/docs/website/developers/committers/merging-contributed-code.md b/docs/website/developers/committers/merging-contributed-code.md new file mode 100644 index 0000000..02cbd07 --- /dev/null +++ b/docs/website/developers/committers/merging-contributed-code.md @@ -0,0 +1,118 @@ +--- +layout: website-normal +title: Merging Contributed Code +--- + +The Apache Brooklyn Git repositories are hosted in the ASF infrastructure and mirrored to Github. This is the current +repository layout: + +- [Apache](https://git-wip-us.apache.org/repos/asf?s=incubator-brooklyn) - the main and official repository +- [GitHub](https://github.com/apache/incubator-brooklyn) - mirror of the ASF repository, used to accept contributions + and do code reviews + + +Before +------ + +For everything except the most trivial changes, the submitter must have a CLA on file. Check the [list of Apache +committers, and non-commiters with ICLAs on record](https://people.apache.org/committer-index.html) and prompt the +contributor to file an appropriate CLA if required. + +For all significant changes, there must be a Jira issue. If a Jira issue is not referenced in the PR and/or commit +messages, prompt the contributor to open a Jira issue. + + +Rules of thumb +-------------- + +1. Every contribution is a piece of intellectual property. This is the precious sustenance that nourishes our + project. Please treat it with respect. +2. Always give credit where it is due, ensure every merged commit reflects properly the individual who authored that + commit. Preserve both the name and email address. +3. Ensure your name and email address are there as the committer prior to pushing it to the Apache repositories. +4. Always strive for linear commit history, avoid merge commits while pulling in contributor's changes. + + +Setting up your repository +-------------------------- + +Clone the canonical ASF repo using this command. The `--origin` option tells git to name the remote `apache` instead +of the default, `origin`; this will reduce ambiguity when we later add a second remote upstream. + + git clone --origin apache https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git + +Add a second remote, for the GitHub repository. + + git remote add github https://github.com/apache/incubator-brooklyn.git + +For the GitHub remote, add an additional `fetch` reference which will cause +every pull request to be made available as a remote branch in your workspace. + + git config --local --add remote.github.fetch '+refs/pull/*/head:refs/remotes/github/pr/*' + +Finally, run `git fetch --all` to update from all remote repositories - you will see all the pull requests appear: + + * [new ref] refs/pull/98/head -> github/pr/98 + * [new ref] refs/pull/99/head -> github/pr/99 + + +Merging a pull request +---------------------- + +Fetch the latest remote branches, which will cause a remote branch for the PR to become available to you. + + git fetch --all + +If you want to inspect the PR and/or run tests, check out the branch: + + git checkout github/pr/1234 + +To perform the merge, first update your master branch to the latest: + + git checkout master + git pull --rebase + +Then merge and push: + + git merge --no-ff -m 'This closes #1234' github/pr/1234 + git push apache master + +Note that this commit message is important, as this is what will trigger the +pull request to be automatically closed, and the `--no-ff` means that a merge +commit will always be created. + + +Alternative options +------------------- + +### Adding the remote reference to the contributor's repository + +Fetch the branch of the user you want to merge from + + git fetch https://github.com/user-to-merge-from/incubator-brooklyn.git branch-to-merge-from + +If you commonly merge from a particular user, you'll want to add their repo as a remote to make fetching branches easier. + + git remote add user-to-merge-from https://github.com/user-to-merge-from/incubator-brooklyn.git + git fetch user-to-merge-from + + +### Merging from a patch file + +Save the patch from the Github patch link (just append '.patch' to the pull request link to get it). This patch will +keep the authorship of the commit, so we should use it instead of the diff. + +Apply the patch preserving the original author: + + git am pull-request-9876.patch + + +Additional information +---------------------- + +Particularly for new committers, you may find the following information useful: + +* [Guide for new project + committers](https://www.apache.org/dev/new-committers-guide.html) +* [Committers FAQ](https://www.apache.org/dev/committers.html) +* [Git at Apache](https://git-wip-us.apache.org/) http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/fork-after.png ---------------------------------------------------------------------- diff --git a/docs/website/developers/fork-after.png b/docs/website/developers/fork-after.png new file mode 100644 index 0000000..3148ff3 Binary files /dev/null and b/docs/website/developers/fork-after.png differ http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/fork-before.png ---------------------------------------------------------------------- diff --git a/docs/website/developers/fork-before.png b/docs/website/developers/fork-before.png new file mode 100644 index 0000000..276eb9d Binary files /dev/null and b/docs/website/developers/fork-before.png differ http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/fork-new.png ---------------------------------------------------------------------- diff --git a/docs/website/developers/fork-new.png b/docs/website/developers/fork-new.png new file mode 100644 index 0000000..34c2053 Binary files /dev/null and b/docs/website/developers/fork-new.png differ http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/how-to-contribute.md ---------------------------------------------------------------------- diff --git a/docs/website/developers/how-to-contribute.md b/docs/website/developers/how-to-contribute.md new file mode 100644 index 0000000..0c39521 --- /dev/null +++ b/docs/website/developers/how-to-contribute.md @@ -0,0 +1,109 @@ +--- +layout: website-normal +title: How to Contribute +children: +- { section: Contributor License Agreement, title: CLA } +- { section: Create an Issue in Jira, title: Jira } +- { section: Contributing using GitHub, title: GitHub } +- { section: Reviews } +- { section: Handy Places } +--- + +Welcome and thank you for your interest in contributing to Apache Brooklyn! This guide will take you through the +process of making contributions to the Apache Brooklyn code base. + +<div class="panel panel-info"> +<div class="panel-heading" markdown="1"> +#### TL;DR +</div> +<div class="panel-body" markdown="1"> + +* Pull request to [GitHub](http://github.com/apache/incubator-brooklyn). +* Sign the [Apache CLA](https://www.apache.org/licenses/#clas) if it's non-trivial. +* For bigger changes, open a [Jira](https://issues.apache.org/jira/browse/BROOKLYN) + and/or [email the list](../community/mailing-lists.html). + +</div> +</div> + +## Contributor License Agreement + +Apache Brooklyn is licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). All +contributions will be under this license, so please read and understand this license before contributing. + +For all but the most trivial patches, you are required to file a Contributor License Agreement with the Apache +Software Foundation. Please read the [guide to CLAs](https://www.apache.org/licenses/#clas) to find out how to file a +CLA with the Foundation. + + +## Before You Start + +### Join the Community + +If it's your first contribution or it's a particularly big or complex contribution, things typically go much more +smoothly when they start off with a conversation. +Significant changes are normally discussed on the mailing list in any case, +sometimes with a [feature proposal](https://drive.google.com/drive/#folders/0B3XurVLRa7pIUHNFV3NuVVRkRlE/0B3XurVLRa7pIblN4NGRNN2dYUGM/0B3XurVLRa7pIMlZQSUxrdTh4Wmc) document. + +Visit our [Community](index.html) page to see how to contact Brooklyners via IRC or email. + +### Create an Issue in Jira + +The first step is usually to create or find an issue in [Brooklyn's Jira](https://issues.apache.org/jira/browse/BROOKLYN) +for your feature request or fix. For small changes this isn't necessary, but it's good to see if your change fixes an +existing issue anyway. + + +### Contributing using GitHub + +This is our preferred way for contributing code. Our GitHub repository is located at +[https://github.com/apache/incubator-brooklyn](https://github.com/apache/incubator-brooklyn) + +Your commit messages must properly describes the changes that have been made and their purpose +([here are some guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)). If your +contributions fix a Jira issue, then ensure that you reference the issue (like `BROOKLYN-9876`) in the commit message. + +Create a pull request (PR) in GitHub for the change you're interested in making. The comment section of the PR must +contain a link to the Jira issue (if it has one). + +Some good references for working with GitHub are below. We ask that you keep your change rebased to master as much +as possible, and we will ask you to rebase again if master has moved before accepting your patch. + +- [Setting Up Git with GitHub](https://help.github.com/articles/set-up-git) +- [Forking a Repository](https://help.github.com/articles/fork-a-repo) +- [Submitting Pull Requests](https://help.github.com/articles/using-pull-requests) +- [Rebasing your Branch](https://help.github.com/articles/interactive-rebase) + +Finally, add a comment in the Jira issue with a link to the pull request so we know the code is ready to be reviewed. + +### Reviews + +The Apache Brooklyn community will review your pull request before it is merged. This process can take a while, so +please be patient. If we are slow to respond, please feel free to post a reminder to the PR, Jira issue, IRC channel +or mailing list - see the [Community](../community/) page to see how to contact us. + +During the review process you may be asked to make some changes to your submission. While working through feedback, +it can be beneficial to create new commits so the incremental change is obvious. This can also lead to a complex set +of commits, and having an atomic change per commit is preferred in the end. Use your best judgement and work with +your reviewer as to when you should revise a commit or create a new one. + +A pull request is considered ready to be merged once it gets at lease one +1 from a committer. Once all the changes +have been completed and the pull request is accepted, you may be asked to rebase it against the latest code. You may +also wish to squash some commits together and make other history revisions, to leave the commit history clean and +easily understood. + + +### Contributing without using GitHub + +If you prefer to not use GitHub, then that is fine - we are also happy to accept patches attached to a Jira issue. +Our canonical repository is located at `https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git`; for example: + + $ git clone https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git + +When producing patches, please use `git format-patch` or a similar mechanism - this will ensure that you are properly +attributed as the author of the patch when a committer merges it. + + +## Handy Places + +Development bookmarks are available [here](links.html). http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/index.md ---------------------------------------------------------------------- diff --git a/docs/website/developers/index.md b/docs/website/developers/index.md new file mode 100644 index 0000000..1d3ac4a --- /dev/null +++ b/docs/website/developers/index.md @@ -0,0 +1,42 @@ +--- +layout: website-normal +title: Developers +children: +- how-to-contribute.md +- /guide/dev/ +- committers/ +- code-standards.md +- { link: 'http://github.com/apache/incubator-brooklyn', title: 'GitHub' } +- { link: 'https://issues.apache.org/jira/browse/BROOKLYN', title: 'Bug Tracker (JIRA)' } +--- + +Hello developers! +These pages are aimed at people who want to get involved with reading, changing, testing and otherwise +working with the bleeding edge Brooklyn code. + +<div class="panel panel-danger"> +<div class="panel-heading" markdown="1"> +#### Caution +</div> +<div class="panel-body" markdown="1"> +As these pages contain information about accessing the bleeding edge code and artifacts produced from it, +you should be aware that the code and binaries you will encounter may be unstable. +The Apache Software Foundation has not performed the level of validation and due diligence done +on formally released artifacts. +Proceed only if you understand the potential consequences of using unreleased code +and are comfortable doing so. +</div> +</div> + + +Firstly, please see our [community resources](../community/index.html), in particular: + +- [Mailing lists](../community/mailing-lists.html) +- [IRC channel](../community/irc.html) +- [JIRA for bug tracking](https://issues.apache.org/jira/browse/BROOKLYN) + +Next, you may want to read the [Developer Guide]({{ site.path.guide }}/dev/). + +If you have changes or additions to the Brooklyn source code, we would love to +see them! Please read our guide on [how to contribute](how-to-contribute.html). + http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/links.md ---------------------------------------------------------------------- diff --git a/docs/website/developers/links.md b/docs/website/developers/links.md new file mode 100644 index 0000000..e684e1c --- /dev/null +++ b/docs/website/developers/links.md @@ -0,0 +1,22 @@ +--- +layout: website-normal +title: Development Bookmarks +menu_proxy_for: index.md +--- + +{% include fields.md %} + +Handy places: + +* **Code** is in Github at [https://github.com/apache/incubator-brooklyn/](https://github.com/apache/incubator-brooklyn/) + +* **Issues** are in Jira at [https://issues.apache.org/jira/browse/BROOKLYN/](https://issues.apache.org/jira/browse/BROOKLYN/) + +* **Maven repositories** are: + * [Apache releases]({{ apache_releases_repo_groupid_url }}) + * [Apache snapshots]({{ apache_snapshots_repo_groupid_url }}) + * Other repositories are at [http://developers.cloudsoftcorp.com/download/maven2/](http://developers.cloudsoftcorp.com/download/maven2/) for releases + and [http://ccweb.cloudsoftcorp.com/maven/libs-snapshot-local/](http://ccweb.cloudsoftcorp.com/maven/libs-snapshot-local/) for snapshots + +* **CI server** is a jenkins server at: [https://builds.apache.org/job/incubator-brooklyn-master-build/](https://builds.apache.org/job/incubator-brooklyn-master-build/) + http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/pull-request.png ---------------------------------------------------------------------- diff --git a/docs/website/developers/pull-request.png b/docs/website/developers/pull-request.png new file mode 100644 index 0000000..70407f2 Binary files /dev/null and b/docs/website/developers/pull-request.png differ http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/documentation/increase-entropy.md ---------------------------------------------------------------------- diff --git a/docs/website/documentation/increase-entropy.md b/docs/website/documentation/increase-entropy.md index bd0e8ea..53d5768 100644 --- a/docs/website/documentation/increase-entropy.md +++ b/docs/website/documentation/increase-entropy.md @@ -1,5 +1,5 @@ --- -title: Increase entropy +title: Increase Entropy layout: website-normal --- If you are installing AMP on a virtual machine, you may find it useful to increase the Linux kernel entropy to speed up the ssh connections to the managed entities. You can install and configure `rng-tools` or just use /dev/urandom`. http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/documentation/index.md ---------------------------------------------------------------------- diff --git a/docs/website/documentation/index.md b/docs/website/documentation/index.md index 67aaa9c..03f96b7 100644 --- a/docs/website/documentation/index.md +++ b/docs/website/documentation/index.md @@ -4,13 +4,14 @@ title: Documentation children: - /guide/ - /guide/dev/ -- faq.md - other-docs.md --- {% comment %} -This is redundant with versions page. Link to versions page? List more things including other docs? +TODO This is redundant with versions page. Link to versions page? List more things including other docs? Basically make this page pretty... + +TODO also add FAQ {% endcomment %} ## Official User Guide @@ -24,8 +25,10 @@ Our main user manual is organised by release version. Please pick the version th Please note that this release was made prior to entering the Apache Incubator, and therefore it is not endorsed by Apache. -From the links above you can also access the Developer Guide for the relevant versions. +- [Other versions]({{ site.path.website }}/meta/versions.html) + ## Other Docs -Many other mini-docs are available [here](other-docs.md). +Other mini-docs are available [here](other-docs.html), +or see the [Learn More]({{ site.path.website }}/learnmore) section of the site. http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/documentation/install-on-server.md ---------------------------------------------------------------------- diff --git a/docs/website/documentation/install-on-server.md b/docs/website/documentation/install-on-server.md index aeb44bf..67dc6da 100644 --- a/docs/website/documentation/install-on-server.md +++ b/docs/website/documentation/install-on-server.md @@ -16,7 +16,9 @@ There is a simple bash script available to help with the installation process. #### Script prerequisites The script assumes that the server is a recent *RHEL/CentOS 6.x Linux* or *Ubuntu 12.04* installation, but other Linux variants have been tested successfully. -The script will install Java 7 and other required packages if they are not present. You must have root access over [passwordless SSH]({{ site.path.website }}/documentation/passwordless-ssh.html) to install brooklyn, but the service runs as an ordinary user once installed. +The script will install Java 7 and other required packages if they are not present. +You must have root access over [passwordless SSH]({{ site.path.guide }}/ops/locations/ssh-keys.html) +to install brooklyn, but the service runs as an ordinary user once installed. To manage the brooklyn service you must also be able to connect to port 8081 remotely. @@ -37,18 +39,19 @@ $ ./brooklyn-install.sh -s -r <your-server-ip> ### <a id="prerequisites"></a>Set up the prerequisites -Before installing Apache Brooklyn, you will need to configure the host as follows. +Before installing Apache Brooklyn, it is recommented to configure the host as follows. * install Java JRE or SDK (version 6 or later) -* install [SSH key]({{ site.path.website }}/documentation//ssh-key.html), if not available. -* enable [passwordless ssh login]({{ site.path.website }}/documentation/passwordless-ssh.html). +* install an [SSH key]({{ site.path.guide }}/ops/locations/ssh-keys.html), if not available +* enable [passwordless ssh login]({{ site.path.guide }}/ops/locations/ssh-keys.html) * create a `~/.brooklyn` directory on the host with `$ mkdir ~/.brooklyn` -* Check your iptables service, and if enabled, make sure that it accepts all incoming connections to 8443+ ports. -* [optional] Increase [linux kernel entropy]({{ site.path.website }}/documentation//increase-entropy.html) for faster ssh connections. +* check your `iptables` or other firewall service, making sure that incoming connections on port 8443 is not blocked +* check that the [linux kernel entropy](increase-entropy.html) is sufficient + ## <a id="download"></a>Download Brooklyn -Download Brooklyn and obtain a binary build as described on [the download page]({{site.path.website}}/download.html). +Download Brooklyn and obtain a binary build as described on [the download page]({{site.path.website}}/download/). {% if brooklyn_version contains 'SNAPSHOT' %} Expand the `tar.gz` archive (note: as this is a -SNAPSHOT version, your filename will be slightly different): @@ -58,20 +61,20 @@ Expand the `tar.gz` archive: {% if brooklyn_version contains 'SNAPSHOT' %} {% highlight bash %} -$ tar -zxf brooklyn-dist-{{ site.data.brooklyn.version }}-timestamp-dist.tar.gz +$ tar -zxf brooklyn-dist-{{ site.brooklyn-stable-version }}-timestamp-dist.tar.gz {% endhighlight %} {% else %} {% highlight bash %} -$ tar -zxf brooklyn-{{ site.data.brooklyn.version }}-dist.tar.gz +$ tar -zxf brooklyn-{{ site.brooklyn-stable-version }}-dist.tar.gz {% endhighlight %} {% endif %} -This will create a `brooklyn-{{ site.data.brooklyn.version }}` folder. +This will create a `brooklyn-{{ site.brooklyn-stable-version }}` folder. Let's setup some paths for easy commands. {% highlight bash %} -$ cd brooklyn-{{ site.data.brooklyn.version }} +$ cd brooklyn-{{ site.brooklyn-stable-version }} $ BROOKLYN_DIR="$(pwd)" $ export PATH=$PATH:$BROOKLYN_DIR/bin/ {% endhighlight %} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/documentation/passwordless-ssh.md ---------------------------------------------------------------------- diff --git a/docs/website/documentation/passwordless-ssh.md b/docs/website/documentation/passwordless-ssh.md deleted file mode 100644 index 6cd3e5a..0000000 --- a/docs/website/documentation/passwordless-ssh.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Passwordless SSH login -layout: website-normal ---- -To enable passwordless SSH login to a *nix server, first you will need a pair of keys. If you don't already have a keypair generated you'll first of all need to create one. -To generate a new keypair you run the following command: - - your-user@host1:~$ ssh-keygen -t rsa - -This will prompt you for a location to save the keys, and a pass-phrase: - - Generating public/private rsa key pair. - Enter file in which to save the key (/home/skx/.ssh/id_rsa): - Enter passphrase (empty for no passphrase): - Enter same passphrase again: - Your identification has been saved in /home/skx/.ssh/id_rsa. - Your public key has been saved in /home/skx/.ssh/id_rsa.pub. - -Then, assuming that you want to enable passwordless SSH login to the `host2` server from `host1` with the `id_rsa` and `id_rsa.pub` files you've just generated you should run the following command: - - your-user@host1:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub username@host2 - -If `host1` doesn't have `ssh-copy-id` installed, you can either install `ssh-copy-id` or manually copy the `id_rsa.pub` key to the `host2` by issuing the following commands: - - host1# cat ~/.ssh/id_rsa.pub | ssh user@host2 'cat >> .ssh/authorized_keys' - -or if you need to make a `.ssh` directory on `host2` - - host1#cat ~/.ssh/id_rsa.pub | ssh user@host2 'mkdir .ssh; chmod 700 .ssh; cat >> .ssh/authorized_keys; chmod 644 .ssh/authorized_keys' http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/documentation/ssh-key.md ---------------------------------------------------------------------- diff --git a/docs/website/documentation/ssh-key.md b/docs/website/documentation/ssh-key.md deleted file mode 100644 index 9082af1..0000000 --- a/docs/website/documentation/ssh-key.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: SSH keys -layout: website-normal ---- -Brooklyn requires an SSH key, which will be used to connect to cloud VMs. By default Brooklyn will look for SSH keys named `~/.ssh/id_rsa` or `~/.ssh/id_dsa`. If you do not already have an SSH key installed, create a new key. - -{% highlight bash %} -$ ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa -{% endhighlight %} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/documentation/todo.md ---------------------------------------------------------------------- diff --git a/docs/website/documentation/todo.md b/docs/website/documentation/todo.md deleted file mode 100644 index 724cb8c..0000000 --- a/docs/website/documentation/todo.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: TODO -layout: website-normal ---- - -TODO - http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/download/index.md ---------------------------------------------------------------------- diff --git a/docs/website/download/index.md b/docs/website/download/index.md index 33f5d16..3008502 100644 --- a/docs/website/download/index.md +++ b/docs/website/download/index.md @@ -2,39 +2,32 @@ layout: website-normal title: Download children: -- { path: verify.md } +- verify.md +- ../meta/versions.md --- ## Latest Brooklyn Source Code Release -[Download Apache Brooklyn {{ site.data.brooklyn.version }} from our mirror sites](https://www.apache.org/dyn/closer.cgi/incubator/brooklyn/{{ site.data.brooklyn.version }}/apache-brooklyn-{{ site.data.brooklyn.version }}.tar.gz) +[Download Apache Brooklyn {{ site.brooklyn-stable-version }} from our mirror sites](https://www.apache.org/dyn/closer.cgi/incubator/brooklyn/{{ site.brooklyn-stable-version }}/apache-brooklyn-{{ site.brooklyn-stable-version }}.tar.gz) You can also verify that you build has not been tampered with by [verifying the hashes and signatures](verify.html). ## Build the Binary Package -We do not yet have an official binary package for Apache Brooklyn. We plan to address this in our next release. However, -it is relatively easy to create the binary package from source code, if you have a working JDK of at least version 6, -and Maven 3. +We do not yet have an official binary package for Apache Brooklyn. We plan to address this in our next release. -Unpack `apache-brooklyn-{{ site.data.brooklyn.version }}.tar.gz` and then execute this command in the `apache-brooklyn-{{ site.data.brooklyn.version }}` folder: +However, it is relatively easy to create the binary package from source code, if you have a working recent JDK and Maven 3. + +Unpack `apache-brooklyn-{{ site.brooklyn-stable-version }}.tar.gz` and then execute this command in the `apache-brooklyn-{{ site.brooklyn-stable-version }}` folder: {% highlight bash %} mvn clean install -DskipTests {% endhighlight %} -You can then find the binary distribution in the folder `usage/dist/target/brooklyn-dist`, or archived as `usage/dist/target/brooklyn-{{ site.data.brooklyn.version }}-dist.tar.gz`. +You should then find the binary distribution in the folder `usage/dist/target/brooklyn-dist`, or archived as `usage/dist/target/brooklyn-{{ site.brooklyn-stable-version }}-dist.tar.gz`. ## Get Started! Take a look at the [Get Started]({{ site.path.guide }}/start/running.html) page! - - -## Previous Versions - -Versions of Brooklyn prior to 0.7.0-M2 were all made prior to joining the Apache Incubator, therefore **they are not -endorsed by Apache** and are not hosted by Apache or their mirrors. You can obtain the source code by [inspecting the -branches of the pre-Apache GitHub repository](https://github.com/brooklyncentral/brooklyn/branches/stale) and binary -releases by [querying Maven Central for io.brooklyn:brooklyn.dist](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22io.brooklyn%22%20AND%20a%3A%22brooklyn-dist%22). http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/download/verify.md ---------------------------------------------------------------------- diff --git a/docs/website/download/verify.md b/docs/website/download/verify.md index 0feb4db..df0a516 100644 --- a/docs/website/download/verify.md +++ b/docs/website/download/verify.md @@ -3,48 +3,47 @@ layout: website-normal title: Verify the Integrity of Downloads --- -It is essential for security that you verify the integrity of the downloaded files using their PGP signatures or SHA-1 checksums. +You can verify the integrity of the downloaded files using their PGP signatures or SHA-1 checksums. -## Verifying hashes +## Verifying Hashes -You can download MD5, SHA1 and SHA256 hashes using these links. Note that these links are for first-class Apache -Software Foundation mirrors so there will be reduced opportunity for tampering with these files. +To verify the downloads, first get the MD5, SHA1 and/or SHA256 hashes using these links. +Note that all links are for first-class Apache Software Foundation mirrors +so there is already reduced opportunity for anyone maliciously tampering with these files. <table class="table"> <tr> <th>Artifact</th> -<th colspan="2">MD5 hash</th> -<th colspan="2">SHA1 hash</th> -<th colspan="2">SHA256 hash</th> +<th colspan="3">Hashes</th> </tr> + +{% for v in site.brooklyn-stable-versions %} <tr> -<td>apache-brooklyn-0.7.0-M2-incubating.tar.gz</td> -<td><a href="https://www.us.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.md5">US</a></td> -<td><a href="https://www.eu.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.md5">EU</a></td> -<td><a href="https://www.us.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.sha1">US</a></td> -<td><a href="https://www.eu.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.sha1">EU</a></td> -<td><a href="https://www.us.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.sha256">US</a></td> -<td><a href="https://www.eu.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.sha256">EU</a></td> +<td>apache-brooklyn-{{ v }}.tar.gz</td> +<td><a href="https://www.apache.org/dist/incubator/brooklyn/{{ v }}/apache-brooklyn-{{ v }}.tar.gz.md5">md5</a></td> +<td><a href="https://www.apache.org/dist/incubator/brooklyn/{{ v }}/apache-brooklyn-{{ v }}.tar.gz.sha1">sha1</a></td> +<td><a href="https://www.apache.org/dist/incubator/brooklyn/{{ v }}/apache-brooklyn-{{ v }}.tar.gz.sha256">sha256</a></td> </tr> +{% endfor %} </table> You can verify the SHA1 or SHA256 hashes easily by placing the files in the same folder as the download artifact and then running `shasum`, which is included in most UNIX-like systems: {% highlight bash %} -shasum -c apache-brooklyn-{{ site.data.brooklyn.version }}.tar.gz.sha1 -shasum -c apache-brooklyn-{{ site.data.brooklyn.version }}.tar.gz.sha256 +shasum -c apache-brooklyn-{{ site.brooklyn-stable-version }}.tar.gz.sha1 +shasum -c apache-brooklyn-{{ site.brooklyn-stable-version }}.tar.gz.sha256 {% endhighlight %} You can verify the MD5 hashes by running a command like this, and comparing the output to the contents of the `.md5` file: {% highlight bash %} -md5 apache-brooklyn-{{ site.data.brooklyn.version }}.tar.gz +md5 apache-brooklyn-{{ site.brooklyn-stable-version }}.tar.gz {% endhighlight %} -### Verifying PGP signatures using PGP or GPG +### Verifying PGP Signatures using PGP or GPG You can download PGP/GPG signatures using these links. Note that these links are for first-class Apache Software Foundation mirrors so there will be reduced opportunity for tampering with these files. @@ -52,18 +51,20 @@ Software Foundation mirrors so there will be reduced opportunity for tampering w <table class="table"> <tr> <th>Artifact</th> -<th colspan="2">Mirror</th> +<th colspan="2">Link</th> </tr> <tr> -<td>Release Manager's public keys (KEYS)</td> -<td><a href="https://www.us.apache.org/dist/incubator/brooklyn/KEYS">US</a></td> -<td><a href="https://www.eu.apache.org/dist/incubator/brooklyn/KEYS">EU</a></td> +<td>Release Manager's public keys</td> +<td><a href="https://www.apache.org/dist/incubator/brooklyn/KEYS">KEYS</a></td> </tr> + +{% for v in site.brooklyn-stable-versions %} <tr> -<td>apache-brooklyn-0.7.0-M2-incubating.tar.gz.asc</td> -<td><a href="https://www.us.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.asc">US</a></td> -<td><a href="https://www.eu.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.asc">EU</a></td> +<td>apache-brooklyn-{{ site.brooklyn-stable-version }}.tar.gz.asc</td> +<td><a href="https://www.apache.org/dist/incubator/brooklyn/{{ site.brooklyn-stable-version }}/apache-brooklyn-{{ site.brooklyn-stable-version }}.tar.gz.asc">asc</a></td> </tr> +{% endfor %} + </table> In order to validate the release signature, download both the release `.asc` file for the release, and the `KEYS` file @@ -71,15 +72,21 @@ which contains the public keys of key individuals in the Apache Brooklyn project Verify the signatures using one of the following commands: - pgpk -a KEYS - pgpv brooklyn-{{ site.brooklyn-version }}-dist.tar.gz.asc +{% highlight bash %} +pgpk -a KEYS +pgpv brooklyn-{{ site.brooklyn-stable-version }}-dist.tar.gz.asc +{% endhighlight %} or - pgp -ka KEYS - pgp brooklyn-{{ site.brooklyn-version }}-dist.zip.asc +{% highlight bash %} +pgp -ka KEYS +pgp brooklyn-{{ site.brooklyn-stable-version }}-dist.zip.asc +{% endhighlight %} or - gpg --import KEYS - gpg --verify brooklyn-{{ site.brooklyn-version }}-dist.tar.gz.asc +{% highlight bash %} +gpg --import KEYS +gpg --verify brooklyn-{{ site.brooklyn-stable-version }}-dist.tar.gz.asc +{% endhighlight %} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/index.md ---------------------------------------------------------------------- diff --git a/docs/website/index.md b/docs/website/index.md index bfb50fa..a23cac9 100644 --- a/docs/website/index.md +++ b/docs/website/index.md @@ -15,10 +15,10 @@ children: - { path: /guide/ops/index.md, title_in_menu: Operations, menu_customization: { dropdown_section_header: true } } - { path: /guide/dev/index.md, title_in_menu: Developer Guide } - - { path: documentation/faq.md, title_in_menu: FAQ, + - { path: documentation/other-docs.md, title_in_menu: Other Resources, menu_customization: { dropdown_new_section: true } } - - { path: documentation/other-docs.md, title_in_menu: Other Resources } - community/ +- developers/ --- <div class="jumbotron"> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/blueprint-tour.md ---------------------------------------------------------------------- diff --git a/docs/website/learnmore/blueprint-tour.md b/docs/website/learnmore/blueprint-tour.md new file mode 100644 index 0000000..e13fcd8 --- /dev/null +++ b/docs/website/learnmore/blueprint-tour.md @@ -0,0 +1,191 @@ +--- +layout: website-normal +title: A Quick Tour of a Brooklyn Blueprint +title_in_menu: Blueprint Tour +--- + +<div class="jumobotron annotated_blueprint" markdown="1"> + <div class="code_scroller"> + <div class="initial_notice"><div><div> + Hover over an element to learn more + <div class="ann_light">This message will go away in <span id="countdown">3s</span></div> + <div class="ann_play fa fa-play-circle-o"></div> + </div></div></div> + <div class="code_viewer"> + +<div class="block"> + <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div class="annotations"> + <div class="short"> + Describe your application + </div> + <div class="long"><p> + Start by giving it a name, + optionally adding a version and other metadata. + The format is YAML -- a human-friendly extension to JSON -- + following the + <a href="{{ site.path.website }}/learnmore/theory.html#standards">CAMP</a> standard. + </p><p> + Treat it like source code: use comments, version control it, test it with CI. + </p></div> + </div><div class="connector"><div> </div></div></div></div> +<div><span class="ann_highlight"># java chatroom with ruby chatbot and couchbase backend (example)</span> +name: Chatroom with Chatbot +services:</div></div> + +<div class="block"> + <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div class="annotations"> + <div class="short"> + Compose blueprints + </div> + <div class="long"><p> + Choose your building blocks from a large curated catalog, + and compose them together to form new blueprints + you can deploy and share. + </p><p> + Customize with config keys, such as the initial size + and, for Couchbase, the data buckets required. + </p></div> + </div><div class="connector"><div> </div></div></div></div> +<div><span class="ann_highlight">- type: couchbase-cluster</span> + initialSize: 3 + createBuckets: [{ bucket: chatroom }] + id: chat-couchbase</div></div> + +<div class="block"> + <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div class="annotations"> + <div class="short"> + Run scripts and recipes + </div> + <div class="long"><p> + Use bash, with variables supplied by Brooklyn; + or Chef recipes, with attributes passed from config; + or package managers, dockerfiles, etc. + </p></div> + </div><div class="connector"><div> </div></div></div></div> +<div>- type: bash-server + launch.command: | +<span class="ann_highlight"> wget http://example.com/couchbase-chat/chat-bot/{server.rb,Gemfile,install_ruby_and_libs.sh} + bash install_ruby_and_libs.sh + ruby ./server.rb $COUCHBASE_URL</span></div></div> + +<div class="block"> + <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div class="annotations"> + <div class="short"> + Configure locations + </div> + <div class="long"><p> + Give generic VM properties or specific images and flavors. + Networking topologies and geographic constraints are also supported. + </p></div> + </div><div class="connector"><div> </div></div></div></div> +<div> provisioning.properties: +<span class="ann_highlight"> osFamily: ubuntu + minRam: 4gb</span> +</div></div> + +<div class="block"> + <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div class="annotations"> + <div class="short"> + Inject dependencies + </div> + <div class="long"><p> + Connect entities with each other using + <i>sensors</i> published at runtime to give + just-in-time resolution for + shell variables, template expansion, REST calls, + and any other "happens-before" or "on-change" behaviour. + </p></div> + </div><div class="connector"><div> </div></div></div></div> +<div> shell.env: + COUCHBASE_URL: +<span class="ann_highlight"> $brooklyn:entity("chat-couchbase"). + attributeWhenReady("couchbase.cluster.connection.url")</span></div></div> + +<div class="block"> + <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div class="annotations"> + <div class="short"> + Extend using Java + </div> + <div class="long"><p> + Create new entities, policies, and "effector" operations + using Java or JVM bridges to many languages, workflow systems, + or PaaSes. + </p><p> + Add new blueprints to the catalog, dynamically, + with versions and libraries handled + under the covers automatically with OSGi. + </p></div> + </div><div class="connector"><div> </div></div></div></div> +<div>- type: <span class="ann_highlight">brooklyn.entity.webapp.ControlledDynamicWebAppCluster:1.1.0</span> + war: http://example.com/couchbase-chat/chatroom.war + java.sysprops: + chat.db.url: $brooklyn:entity("couchbase").attributeWhenReady("couchbase.cluster.connection.url")</div></div> + +<div class="block"> + <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div class="annotations"> + <div class="short"> + Attach management logic + </div> + <div class="long"><p> + Set up policies which subscribe to real-time metric sensors + to scale, throttle, failover, or follow-the-{sun,moon,action,etc}. + Cloud should be something that <i>applications</i> consume, not people! + </p></div> + </div><div class="connector"><div> </div></div></div></div> +<div> brooklyn.policies: + - type: <span class="ann_highlight">brooklyn.policy.autoscaling.AutoScalerPolicy</span> + brooklyn.config: + metric: $brooklyn:sensor("brooklyn.entity.webapp.DynamicWebAppCluster", "webapp.reqs.perSec.windowed.perNode") + metricLowerBound: 400 + metricUpperBound: 600</div></div> + +<div class="block"> + <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div class="annotations"> + <div class="short"> + Run across many locations + </div> + <div class="long"><p> + Blueprints are designed for portability. + Pick from dozens of clouds in hundreds of datacenters. + Or machines with fixed IP addresses, localhost, + Docker on <a href="http://clocker.io">Clocker</a>, etc. + </p><p> + And you're not limited to servers: + services, PaaS, even networks can be locations. + </p></div> + </div><div class="connector"><div> </div></div></div></div> +<div>location: + <span class="ann_highlight">jclouds:aws-ec2</span>: + region: us-east-1 + identity: <i>AKA_YOUR_ACCESS_KEY_ID</i> + credential: <i>[access-key-hex-digits]</i></div></div> + + </div></div> +</div> + +<script language="JavaScript" type="application/javascript"> + +{% comment %} +I've done all I could manage with pure CSS. Just one thing, the bg color +on hover doesn't apply full width to the row if it extends the code_scroller. +Fix it with JS. + +Also resize the warning to be full size, and after first hover get rid of it. +{% endcomment %} + +$(function() { + maxCodeWidth = Math.max.apply(Math, $(".annotated_blueprint div.block > div:last-child").map(function(){ return this.scrollWidth; }).get()); + $(".annotated_blueprint div.block").width(maxCodeWidth); +}) + +$(".annotated_blueprint .code_scroller .initial_notice > div").height($(".annotated_blueprint .code_scroller .code_viewer").height()); +$(".annotated_blueprint .code_scroller .initial_notice > div").width($(".annotated_blueprint .code_scroller").width()); +$(".annotated_blueprint .code_scroller").hover(function() { + $(".annotated_blueprint .initial_notice").css("display", "none"); +}); +$(function() { + setTimeout(function() { $(".annotated_blueprint .initial_notice").hide(400); }, 3000); + setTimeout(function() { $(".annotated_blueprint #countdown").text("2s"); }, 1000); + setTimeout(function() { $(".annotated_blueprint #countdown").text("1s"); }, 2000); +}); +</script> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/features/blueprint-compose.png ---------------------------------------------------------------------- diff --git a/docs/website/learnmore/features/blueprint-compose.png b/docs/website/learnmore/features/blueprint-compose.png new file mode 100644 index 0000000..b446c66 Binary files /dev/null and b/docs/website/learnmore/features/blueprint-compose.png differ http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/features/blueprint-machine-specs.png ---------------------------------------------------------------------- diff --git a/docs/website/learnmore/features/blueprint-machine-specs.png b/docs/website/learnmore/features/blueprint-machine-specs.png new file mode 100644 index 0000000..140f056 Binary files /dev/null and b/docs/website/learnmore/features/blueprint-machine-specs.png differ http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/features/blueprinting.md ---------------------------------------------------------------------- diff --git a/docs/website/learnmore/features/blueprinting.md b/docs/website/learnmore/features/blueprinting.md new file mode 100644 index 0000000..c79d98b --- /dev/null +++ b/docs/website/learnmore/features/blueprinting.md @@ -0,0 +1,24 @@ + +### Blueprinting + + +{% include feature-item.html title="Composable blueprints" %} + +A YAML service spec can refer to other blueprints, +either in the catalog or by URL, +and can supply custom configuration. + +{% include feature-image.html src="blueprint-compose.png" %} +{% include feature-item-end.html %} + + + +{% include feature-item.html title="Portable machines specs -- or location-specific identifiers" img="blueprint-machine-specs.png" %} + +<p> +Define machine specs using portable constraints, +or, when you need to, use specific <code>imageId</code>, hardware profiles, and more +</p> + +{% include feature-item-end.html img="blueprint-machine-specs.png" %} + http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/features/index.md ---------------------------------------------------------------------- diff --git a/docs/website/learnmore/features/index.md b/docs/website/learnmore/features/index.md new file mode 100644 index 0000000..fff6864 --- /dev/null +++ b/docs/website/learnmore/features/index.md @@ -0,0 +1,18 @@ +--- +layout: website-normal +title: Features +children: +- { section: Blueprinting } +- { section: Policy-based Management } +- { section: Operations } +- { section: Java } +--- + +<div class="feature-list"> + +{% readj blueprinting.md %} +{% readj policy-based-mgmt.md %} +{% readj operations.md %} +{% readj java.md %} + +</div> http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/features/java-hierarchy.png ---------------------------------------------------------------------- diff --git a/docs/website/learnmore/features/java-hierarchy.png b/docs/website/learnmore/features/java-hierarchy.png new file mode 100644 index 0000000..b2bd40b Binary files /dev/null and b/docs/website/learnmore/features/java-hierarchy.png differ http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/features/java.md ---------------------------------------------------------------------- diff --git a/docs/website/learnmore/features/java.md b/docs/website/learnmore/features/java.md new file mode 100644 index 0000000..6b31865 --- /dev/null +++ b/docs/website/learnmore/features/java.md @@ -0,0 +1,41 @@ + + +### Java + + +{% include feature-item.html title="Discoverable configuration" %} + +Config keys, sensors, and effectors can be defined on the classes +such that they are automatically discoverable at runtime. +Type information, parameters, documentation, and default values +are returned through the REST API and shown in the GUI. + +{% include feature-item-end.html %} + + + +{% include feature-item.html title="Type hierarchy" %} + +Use interfaces and mix-ins to share and inherit behavior in a strongly typed way. + +{% include feature-item-end.html img="java-hierarchy.png" %} + + + +{% include feature-item.html title="Sensor feeds" %} + +Fluent builder-style API's are included for collecting sensor information +from REST endpoints, SSH commands, JMX connectors, and more. + +{% include feature-item-end.html %} + + + +{% include feature-item.html title="Task libraries" %} + +Fluent builder-style task libraries are included for building activity +chains which run in parallel or sequentially, +executing SSH, REST, or arbitrary Java commands. +Task status, result, hierarchies, and errors are exposed through the REST API and in the GUI. + +{% include feature-item-end.html %}
