diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b1051998..85822984 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,8 +1,22 @@ # Contributing Guidelines # Thanks for contributing to SmartStack! -If you're opening a new PR, please ask for a merge into our `pull_requests` branch -- *not* `master`. -This will allow us avoid a back-and-forth by quickly accepting your PR and then making minor changes or doing testing before merging into `master`. + +If you are opening a new PR, please ask for a merge into the `master` branch. + +## Writing Reporters ## +Nerve supports *pluggable* reporters, which means that you can easily add +a reporter by making your own gem that contains your reporter available for +require at ``nerve/reporter/#{name.downcase}``. If you do this please do +submit a PR with a link to your gem/repo and we can reference it from the +README. + +In general it is preferred to keep reporters that require specific dependencies +out of nerve because that way you can select the version of dependencies that +you need (for example if you have a particular version of the docker api or +etcd). That being said, if your reporter has no external dependencies +(e.g. files) or is extremely common (e.g. zookeeper, etcd), we may choose to +support it in the repo itself. ## Writing Checks ## diff --git a/README.md b/README.md index 393c59fc..0f02588a 100644 --- a/README.md +++ b/README.md @@ -19,17 +19,27 @@ The information it reports can be used to take action from a centralized automat ## Installation ## -Add this line to your application's Gemfile: - - gem 'nerve' - -And then execute: - - $ bundle - -Or install it yourself as: - - $ gem install nerve +To download and run the nerve binary, first install a version of ruby. Then, +install nerve with: + +```bash +$ mkdir -p /opt/smartstack/nerve + +# If you want to install specific versions of dependencies such as an older +# version of the aws-sdk, the docker-api, etc, gem install that here *before* +# gem installing nerve. This is also where you would gem install +# custom reporters. + +# If you are on Ruby 2.X use --no-document instead of --no-ri --no-rdoc +$ gem install nerve --install-dir /opt/smartstack/nerve --no-ri --no-rdoc +``` + +This will download nerve and its dependencies into /opt/smartstack/nerve. You +might wish to omit the `--install-dir` flag to use your system's default gem +path, however this will require you to run `gem install nerve` with root +permissions. You can also install via bundler, but keep in mind you'll pick up +Nerve's version of library dependencies and possibly not the ones you need +for your infra/apps. ## Configuration ##