event-reporting-handler 0.1.11 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a61946ca1a0e2c45b7f1170c9510330a7b9d8a58
4
- data.tar.gz: a4761f9e898db3b43fe2ee44e4e991c8a83f68b7
3
+ metadata.gz: 0f4f0c775e3fec7b961f4ebc74dbc6ce02dd844f
4
+ data.tar.gz: e897db6be1413c14a9b5e11114a6f37fafe235c0
5
5
  SHA512:
6
- metadata.gz: 30305b58eb3d08ee88a7f4f8f3c8d8605d0cf06f13566dbf4f660c0de51e9a88ed4bb11754d8e09b2da2c4e7e2315d96bcfb56d127efc091c6f47fcae7a12bab
7
- data.tar.gz: 35ec9e1042d3f5f5324a970180031d1058dbbe85c8f22bb63f87236833f1a90fe04e2ad30fc7d258214eeebf919a3c7c608997fe34f517fbcddbec2fe7c6f025
6
+ metadata.gz: a6da9d937ea4aff4e30ce408ac78755fed97d7536290dd8752e141577e2a06b753476a742017f0326644725e936282ffce176b26e44c19addad0136f2f3578ee
7
+ data.tar.gz: 9ebc9ea704fdcebb9fc74cecce1a086a13e181d3e85a6de33e0e9edda3a35dad0bb605ae8348bcfa3694ec576820a96a759fa86b8cbefa901c91332123e8cece
data/README.md CHANGED
@@ -1,27 +1,30 @@
1
- # chef-events-handler
1
+ # event-reporting-handler
2
2
 
3
3
  Chef handler to send chef run events to a http url. Also reports chef run failures to sentry.
4
4
 
5
- ## Installation
5
+ ## Usage
6
6
 
7
- Add this line to your application's Gemfile:
7
+ StartHandler class requires two arguments to construct an object, a http url to send chef run events and a sentry config. The sentry config is a hash that should atleast include sentry dsn to send messages on a chef run failure.
8
8
 
9
+ The simplest way to use 'event-reporting-handler' is by adding 'event-reporting-handler' as start handler using [chef client cookbook](https://github.com/chef-cookbooks/chef-client).
10
+ For example,
9
11
  ```ruby
10
- gem 'chef-events-handler'
12
+ node.default['chef_client']['load_gems']['sentry-raven'] = {
13
+ :version => '0.9.4'
14
+ }
15
+ node.default['chef_client']['load_gems']['event-reporting-handler'] = {
16
+ :require_name => 'event_reporting_handler',
17
+ :version => '0.1.11'
18
+ }
19
+
20
+ node.default['chef_client']['config']['start_handlers'] = [
21
+ {
22
+ :class => "BloombergLP::EventReportingHandler::StartHandler",
23
+ :arguments => [ some_http_url, {dsn: some_sentry_dsn }]
24
+ }
25
+ ]
11
26
  ```
12
27
 
13
- And then execute:
14
-
15
- $ bundle
16
-
17
- Or install it yourself as:
18
-
19
- $ gem install chef-events-handler
20
-
21
- ## Usage
22
-
23
-
24
-
25
28
  ## Contributing
26
29
 
27
30
  Bug reports and pull requests are welcome on GitHub at https://github.com/sh9189/chef-events-handler.
@@ -3,13 +3,16 @@
3
3
  # Copyright 2015, Bloomberg Finance L.P.
4
4
  #
5
5
  require 'chef/event_dispatch/base'
6
+ require 'chef/whitelist'
6
7
  require 'raven'
7
8
 
9
+
8
10
  module BloombergLP
9
11
  module EventReportingHandler
10
12
  class HttpEventReporter < Chef::EventDispatch::Base
11
- def initialize(http_url, sentry_config, run_status)
12
- @http_url = http_url
13
+ def initialize(http_config, sentry_config, run_status)
14
+ @http_url = http_config['url']
15
+ @whitelist_attributes = Chef::Whitelist.filter(node, http_config['whitelist_attributes'])
13
16
  @node = run_status.node
14
17
  Raven.configure(true) do |config|
15
18
  config.ssl_verification = sentry_config['verify_ssl'] || true
@@ -58,7 +61,7 @@ module BloombergLP
58
61
  end
59
62
 
60
63
  def publish_event(event, custom_attributes = {})
61
- json_to_publish = get_json_from_event(event, custom_attributes)
64
+ json_to_publish = get_json_from_event(event, custom_attributes.merge(whitelist_attributes))
62
65
  uri = URI(@http_url)
63
66
  res = Net::HTTP.start(uri.host, uri.port) do |http|
64
67
  http.post(uri.path, json_to_publish, 'Content-Type' => 'application/json')
@@ -8,14 +8,14 @@ require 'chef/handler'
8
8
  module BloombergLP
9
9
  module EventReportingHandler
10
10
  class StartHandler < Chef::Handler
11
- def initialize(http_url = '', sentry_config = {})
12
- @http_url = http_url
11
+ def initialize(http_config = {}, sentry_config = {})
12
+ @http_config = http_config
13
13
  @sentry_config = sentry_config
14
14
  end
15
15
 
16
16
  def report
17
- Chef::Log.debug("Running start handler with http_url: #{@http_url} and sentry_config: #{@sentry_config} ")
18
- http_event_reporter = HttpEventReporter.new(@http_url, @sentry_config, @run_status)
17
+ Chef::Log.debug("Running start handler with http_config: #{@http_config} sentry_config: #{@sentry_config} ")
18
+ http_event_reporter = HttpEventReporter.new(@http_config, @sentry_config, @run_status)
19
19
  @run_status.events.register(http_event_reporter)
20
20
  end
21
21
  end
@@ -4,6 +4,6 @@
4
4
  #
5
5
  module BloombergLP
6
6
  module EventReportingHandler
7
- VERSION = '0.1.11'
7
+ VERSION = '0.1.13'
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: event-reporting-handler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shahul Khajamohideen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-21 00:00:00.000000000 Z
11
+ date: 2016-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -106,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  version: '0'
107
107
  requirements: []
108
108
  rubyforge_project:
109
- rubygems_version: 2.4.5.1
109
+ rubygems_version: 2.5.1
110
110
  signing_key:
111
111
  specification_version: 4
112
112
  summary: Chef handler to send events to http url. Also sends chef run failures to