A Puppet report handler for sending notifications of Puppet runs to HipChat.
hipchat >= 0.12.0
puppet
-
Install the
hipchat
gem on your Puppet master$ sudo gem install hipchat
NOTE FOR PUPPET ENTERPRISE USERS: You must install the hipchat
gem using the
puppet-bundled gem library:
$ /opt/puppet/bin/gem install hipchat
-
Install puppet-hipchat as a module in your Puppet master's module path.
-
Create a HipChat API key here with a type of Admin. Record the API key that is generated.
-
Update the
hipchat_api
andhipchat_room
variables in thehipchat.yaml
file with your hipchat connection details and copy the file to/etc/puppet/
or for puppet enterpise '/etc/puppetlabs/puppet'. An option to notify users in the roomhipchat_notify
defaults tofalse
. You can also change the default notification color from yellow to red, green,purple or random. Thehipchat_statuses
should be an array of statuses to send notifications for and defaults to'failed'
. Specify'all'
to receive notifications from all Puppet runs. In order to send notifications through proxy server sethipchat_proxy
to http proxy url using this format'http://username:password@proxy_host:proxy_port'
. If you use Puppetboard (https://github.com/nedap/puppetboard) sethipchat_puppetboard
to the base URL of your Puppetboard installation, e.g.'http://puppetboard.example.com'
and a link to the node's latest report will be send with the message to hipchat. An example file is included. -
Enable pluginsync and reports on your master and clients in
puppet.conf
[master] report = true reports = hipchat pluginsync = true [agent] report = true pluginsync = true
-
Run the Puppet client and sync the report as a plugin
-
To temporarially disable HipChat notifications add a file named 'hipchat_disabled' in the same path as hipchat.yaml. (Removing it will re-enable notifications)
$ touch /etc/puppet/hipchat_disabled
James Turnbull james@lovedthanlost.net
Author:: James Turnbull (<james@lovedthanlost.net>)
Copyright:: Copyright (c) 2011 James Turnbull
License:: Apache License, Version 2.0
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.