Skip to content

knowsis/chef-cabot

 
 

Repository files navigation

cabot-cookbook

travis build status

Cabot is a self-hosted watchdog for your websites and infrastructure. This cookbook installs and configures a basic setup.

Supported Platforms

Made with love for Ubuntu (12.04, 14.04)

Dependencies

This cookbook depends on community versions of the following cookbooks:

  • build-essential
  • git
  • nginx
  • nodejs
  • npm
  • python
  • redis

Additionally, it will install Ruby from default APT repos, and Foreman.

Attributes

All keys below live under the cabot namespace. Eg. user is available as node[:cabot][:user]

Key Type Description Default
user String User to run Cabot as cabot
group String Group to run Cabot as cabot
home_dir String Home dir /opt/cabot
log_dir String Log dir /var/log/cabot
repo_url String GitHub repository to pull Cabot code from. https://github.com/arachnys/cabot.git
environment String Sets the environment type (development or production). This sets whether to use SQLite or PostgreSQL databases. production
database_url String Sets the Django database URL sqlite:///cabot.db
port Integer Sets the port on which Cabot UI listens for requests 5000
admin_email String Emails sent from Django are sent to you@example.com
from_email String From address to send emails with cabot@example.com
ical_url String URL of calendar to synchronise rota with http://www.google.com/calendar/ical/example.ics
celery_broker_url String Django setting redis://:yourrediskey@localhost:6379/1
django_secret_key String Django setting 2FL6ORhHwr5eX34pP9mMugnIOd3jzVuT45f7w430Mt5PnEwbcJgma0q8zUXNZ68A
graphite_api_url String Hostname of Graphite server instance http://graphite.example.com/
graphite_username String Username used to authenticate with Graphite username
graphite_password String Password used to authenticate with Graphite password
hipchat_room_id String Hipchat room ID (find it at https://hipchat.com/admin/rooms) 123456
hipchat_api_key String Hipchat API key (get one at https://hipchat.com/admin/api) your_hipchat_api_key
jenkins_api_url String Jenkins server URL https://jenkins.example.com/
jenkins_username String Username used to authenticate with Jenkins (optiona/td> username
jenkins_password String Password used to authenticate with Jenkins password
smtp_host String SMTP hostname to use for sending emails email-smtp.us-east-1.amazonaws.com
smtp_username String SMTP username username
smtp_password String SMTP password password
smtp_port String SMTP port 465
twilio_account_sid String Your Twilio account SID your_twilio_account_sid
twilio_auth_token String Your Twilio auth token your_twilio_auth_token
twilio_outgoing_number String Your Twilio number for outbound calls +1234567890
www_http_host String Used for pointing links back in alerts, etc. localhost
www_scheme String Which URL scheme to use (http or https) http
www_port Integer Port to set reverse proxy on 80

Usage

cabot::default

Include cabot in your node's run_list:

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

cabot::proxy

Include cabot::proxy in your node's run_list to have Nginx as a reverse proxy to Cabot on port 80.

Contributing

  1. Fork the repository on Github
  2. Create a named feature branch (i.e. add-new-recipe)
  3. Write your 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

Author:: Rafael Fonseca (rafael.magu@gmail.com)

About

A Chef cookbook to install and configure Cabot, the self-hosted watchdog for your websites and infrastructure.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 90.5%
  • HTML 9.5%