cookbook 'hubot', '~> 2.0.1'
The hubot cookbook has been deprecated
Author provided reason for deprecation:
The hubot cookbook has been deprecated and is no longer being maintained by its authors. Use of the hubot cookbook is no longer recommended.
hubot (8) Versions 2.0.1 Follow13
Deploys and manages an instance of Github's Hubot.
cookbook 'hubot', '~> 2.0.1', :supermarket
knife supermarket install hubot
knife supermarket download hubot
hubot cookbook
Deploys and manages an instance of GitHub's Hubot.
Requirements
Platforms
- Debian/Ubuntu
- RHEL/CentOS/Scientific/Amazon/Oracle
Chef
- Chef 12.1+
Cookbooks
Recipes
default
- Ensures that Node.js is installed and available using the
- nodejs cookbook.
- Ensures git is installed and available using the
- git cookbook.
- Ensures runit is installed and available using the
- runit cookbook.
- Creates a user and group to install and run the Hubot instance under.
- Installs the specified Hubot version from git.
- Renders instance-specific
package.json
,external-scripts.json
,hubot-scripts.json
, and -
hubot.conf
files. - Creates and enables a
hubot
runit service to run the Hubot instance under. - The runit service reads the
hubot.conf
file and passes the contents onto - the underlying hubot process as configuration.
Attributes
Attribute | Description | Type | Default |
---|---|---|---|
version | Hubot version to install. | String | 2.11.0 |
scripts_version | Version of hubot-scripts (community collection of hubot scripts) to install. | String | 2.5.16 |
install_dir | Directory the Hubot instance will be installed to. | String | /opt/hubot |
user | The user to install and run the Hubot instance under. | String | hubot |
group | The group to install and run the Hubot instance under. | String | hubot |
name | The name of the robot in chat. | String | hubot |
adapter | The Hubot adapter to use. | String | campfire |
config | Hash of values that will be converted into environment variables and passed to the Hubot process. | Hash | Hash.new |
dependencies | Hash in form dep_name => dep_version that will be rendered into Hubot instance's package.json . A common dep to set in this attribute is non-Campfire adapters. |
Hash | Hash.new |
hubot_scripts | Scripts to enable from the community collection of hubot scripts. | Array | Array.new |
external_scripts | External scripts to enable. | Array | Array.new |
Usage
Include recipe[hubot]
in your run_list and override the defaults you want changed. See below for more details. Hubot instances are configured using environment variables passed to the Hubot process. These environment variables can be set using the node['hubot']['config']
attribute.
I highly recommend integrating this cookbook into your own infrastructure using the library/application cookbook pattern. You would start by creating a YOURCOMPANY-hubot
cookbook with a proper metadata dependency on the hubot
(this) cookbook. A concrete example can be found on this gist which was created from bits of the internal opscode-hubot
cookbook which we use to deploy, Paula Deen, Chef's hubot instance.
One important item to note is the use of the remote_directory resource to distribute our internal hubot scripts to the install:
remote_directory "#{node['hubot']['install_dir']}/scripts" do source "scripts" files_backup 0 files_owner node['hubot']['user'] files_group node['hubot']['group'] files_mode '0644' owner node['hubot']['user'] group node['hubot']['group'] overwrite true mode '0755' notifies :restart, "service[hubot]", :delayed end
License & Authors
Author: [Seth Chisamore][schisamo] (schisamo@gmail.com)
Author: [Tim Smith][tas50] (tsmith@chef.io)
Copyright: 2013-2015, Seth Chisamore
Copyright: 2015, Tim Smith Copyright: 2016, Chef Software, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Dependent cookbooks
git >= 0.0.0 |
nodejs >= 0.0.0 |
runit >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
hubot Cookbook CHANGELOG
This file is used to list changes made in each version of the hubot cookbook.
2.0.1 (2017-04-26)
- Rename and update the dokken config
- Fix the notifications in the default recipe
2.0.0 (2017-04-26)
- Switch to delivery local for testing
- Remove support for the Supervisor init system
1.1.0 (2017-04-26)
- Require Chef 12.1+
- Add basic chefspec convergence spec
- Add issues_url and source_url metadata
- Update to 2.16 hubot
- Fix extended metadata
- Test with docker in travis
- Resolve cookstyle warnings
- Add testing.md file
- Remove vagrantfile
- Transfer ownership back to Chef
- Remove usage of node.set
- Use SPDX standard license string
1.0.6
- Allowing runit to use default log template (logging into /var/log/hubot)
- Rubocop & Foocritic compliance
- Chef & npm dependencies updated
- Now using hubot 2.12.0 in defaults
- Allowing to choose Hubot git source repo ('v' is still appended in the version tag)
- Using nodejs_npm LWRP (from nodejs cookbook) instead of execute resources
- Adding supervisor init system capability (runit is still the default one)
- No longer using --create for new versions of Hubot
- Updated base dependencies for the latest Hubot releases
- Added a new attribute for managing external scripts file
- Remove the chmod of the hubot bin file
- Fixes to the Readme to properly document attributes and requirements
1.0.4
Many thanks to Seth for creating this cookbook and for being kind enough to pass the cookbook maintenance onto me. I hope to keep things up to date for all the Hubot users out there.
- Updated Gem dependencies to the latest releases of upstream projects
- Removed Ubuntu 12.10 from test kitchen
- Added a Rubocop config and resolved all rubocop warnings
- Removed the use of Thor
- Use strings for file modes to ensure that the leading 0 is respected
- Don't set nodejs install attributes based on platform. Let users decide how to install NodeJS
- Use https for the git checkout not GIT to work around strict firewalls
- Defaulting package.json "private": true with a new attribute: default['hubot']['private']
- Quote all config vars so that spaces don't cause kabooms
- Use runit's env param so that environment variables can handle numeric values and values with spaces
- Use standard OS baseboxes in kitchen.yml
1.0.2
Bug Fixes
- recursively create the install dir
- install exact version of hubot and hubot-scripts
New features
- Add
kitchen-ec2
to the Gemfile (allows testing against EC2)
Improvements
- Sort and append newline to the entries in hubot-scripts.json
- Flesh out the 'Usage' section of the README
- Silence
:rubygems
Bundler deprecation notice. - Download Ubuntu base boxes from cloud-images.ubuntu.com. Thanks @jeremiahsnapp!
1.0.1
Bug Fixes
- Install node.js from source on all platform families except Debian. This is a workaround for issue mdxp/nodejs-cookbook#19 in the upstream
nodejs
cookbook. Installing node.js from RPM is no longer possible on Fedora/RHEL/CentOS as the packages are no longer maintained.
New features
- test-kitchen 1.0 support
Improvements
- A CHANGELOG!
- Pull request #1: Fix typo in README. (@streeter)
- Remove references to CentOS 5.5 support
- Add proper supports fields to metadata
1.0.0
- The initial release. Cookbooks was inspired by internal cookbook Opscode uses to deploy our instance of
hubot
, but refactored/modenerized based on current cookbook development best practices.
Collaborator Number Metric
2.0.1 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
2.0.1 passed this metric
No Binaries Metric
2.0.1 passed this metric
Testing File Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
2.0.1 failed this metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
2.0.1 passed this metric
No Binaries Metric
2.0.1 passed this metric
Testing File Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
2.0.1 passed this metric
2.0.1 passed this metric
Testing File Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
2.0.1 failed this metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number