Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

uptime (3) Versions 0.1.0

Installs/Configures fzaninotto/uptime

Policyfile
Berkshelf
Knife
cookbook 'uptime', '= 0.1.0', :supermarket
cookbook 'uptime', '= 0.1.0'
knife supermarket install uptime
knife supermarket download uptime
README
Dependencies
Quality -%

uptime cookbook

Build Status Linting test status

This cookbook installs and runs the uptime http service monitoring application and runs it as a non-privileged user.

Supported Platforms

ubuntu - see TODO for notes on running with other platforms

Attributes

<table>
<tr>
<th>Key</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr>
<tr>
<td><tt>['app_uptime']['repo']['url']</tt></td>
<td>String</td>
<td>Git URL for cloning the application source from</td>
<td><tt>"https://github.com/fzaninotto/uptime.git"</tt></td>
</tr>
<tr>
<td><tt>['app_uptime']['repo']['ref']</tt></td>
<td>String</td>
<td>Git Ref (branch/tag/commit sha) to be checked out</td>
<td><tt>"d9cc96cc835b65577e9bc8c94625eb2706a1b923"</tt></td>
</tr>
<tr>
<td><tt>['app_uptime']['url']</tt></td>
<td>String</td>
<td>URL (with optional port) to bind to - should be 1024 or higher as runs unprivileged</td>
<td><tt>"http://#{node['fqdn']}:3000"</tt></td>
</tr>
<tr>
<td><tt>['app_uptime']['plugins']</tt></td>
<td>Array</td>
<td>An array of bundled plugin names to load</td>
<td><tt>['console', 'patternMatcher', 'httpOptions', 'email']</tt></td>
</tr>
<tr>
<td><tt>['app_uptime']['monitor']</tt></td>
<td>Hash</td>
<td>Keys for any option under the 'monitor' section of config.yml may be set</td>
<td><tt>{"pollingInterval": 10000, "timeout": 5000}</tt></td>
</tr>
<tr>
<td><tt>['app_uptime']['analyzer']</tt></td>
<td>Hash</td>
<td>Keys for any option under the 'analyzer' section of config.yml may be set</td>
<td><tt>{"updateInterval": 60000, "qosAggregationInterval": 600000, "pingHistory": 8035200000}</tt></td>
</tr>
<tr>
<td><tt>['app_uptime']['mongo']['user']</tt></td>
<td>String</td>
<td>MongoDB username</td>
<td><tt>"uptime"</tt></td>
</tr>
<tr>
<td><tt>['app_uptime']['mongo']['password']</tt></td>
<td>String</td>
<td>MongoDB password</td>
<td><tt>A secure randomly generated value by openssl</tt></td>
</tr>
</table>

Usage

uptime::default

Include uptime::default in your node's run_list:

{
  "run_list": [
    "recipe[uptime::default]"
  ]
}

TODO

  • Support service configurations for running the uptime process on other platforms
  • Add an optional nginx proxy recipe

Testing

This cookbook is tested on ubuntu 12.04 and 14.04
This cookbook has a test kitchen setup to converge the recipes on those platforms locally.

To run those tests:

Setup:

  • Install the ruby development dependencies: gem install bundler && bundle install
  • Install vagrant
  • Install VirtualBox
  • vagrant plugin install vagrant-omnibus
  • vagrant plugin install vagrant-berkshelf

Run:

# Code linting (also run on CI)
rake style
# Integration tests (Not currently run on CI)
kitchen verify all

Contributing

  1. Fork the repository on Github
  2. Create a named feature branch (i.e. add-new-recipe)
  3. Write you change
  4. Write tests for your change (if applicable)
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request

License and Authors

License: Apachev2

Author:: Jeremy Olliver (jeremy.olliver@gmail.com)

Dependent cookbooks

build-essential >= 0.0.0
git >= 0.0.0
openssl >= 0.0.0
nodejs >= 0.0.0
mongodb >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

No quality metric results found