last-seen-recipes-handler 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ *.gem
@@ -0,0 +1,30 @@
1
+ # last-seen-recipes-handler
2
+
3
+ A Chef handler that will add a new node attribute called "last\_seen\_recipes" which contains the list of all recipes run on the node _including_ the included recipes. This can then be used to search nodes for included recipes.
4
+
5
+ ## Installation
6
+
7
+ #### Gem install
8
+
9
+ last-seen-recipe-handler is available on rubygems.org - if you have that source in your gemrc, you can simply use:
10
+
11
+ gem install last-seen-recipe-handler
12
+
13
+ #### Configure the Handler
14
+
15
+ in /etc/chef/client.rb
16
+
17
+ ```
18
+ # seen recipes handler
19
+ require "last_seen_recipes"
20
+ last_seen_recipes_handler = LastSeenRecipesHandler.new
21
+ report_handlers << last_seen_recipes_handler
22
+ ```
23
+
24
+ ## Usage
25
+
26
+ Now simply use knife search to find your included recipe
27
+
28
+ ```
29
+ knife search node 'last_seen_recipes:mycookbook\:\:myrecipe' -i
30
+ ```
@@ -0,0 +1,18 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "last-seen-recipes-handler/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'last-seen-recipes-handler'
7
+ s.version = LastSeenRecipesHandler::VERSION
8
+ s.date = '2012-06-26'
9
+ s.summary = "A plugin for Chef::Knife which displays node metadata about the last chef run."
10
+ s.description = s.summary
11
+ s.authors = ["John Goulah"]
12
+ s.email = ["jgoulah@gmail.com"]
13
+ s.homepage = "https://github.com/jgoulah/last-seen-recipes-handler"
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+ s.require_paths = ["lib"]
18
+ end
@@ -0,0 +1,3 @@
1
+ module LastSeenRecipesHandler
2
+ VERSION = "0.0.2"
3
+ end
@@ -0,0 +1,14 @@
1
+
2
+ class LastSeenRecipesHandler < Chef::Handler
3
+ def report
4
+ last_seen_recipes = node.run_state[:seen_recipes].keys
5
+ Chef::Log.debug("seen recipes handler recipe dump");
6
+ Chef::Log.debug(last_seen_recipes)
7
+
8
+ node.set[:last_seen_recipes] = []
9
+ unless last_seen_recipes.empty?
10
+ node.set[:last_seen_recipes] = last_seen_recipes
11
+ end
12
+ node.save
13
+ end
14
+ end
metadata ADDED
@@ -0,0 +1,59 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: last-seen-recipes-handler
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.2
6
+ platform: ruby
7
+ authors:
8
+ - John Goulah
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2012-06-26 00:00:00 Z
14
+ dependencies: []
15
+
16
+ description: A plugin for Chef::Knife which displays node metadata about the last chef run.
17
+ email:
18
+ - jgoulah@gmail.com
19
+ executables: []
20
+
21
+ extensions: []
22
+
23
+ extra_rdoc_files: []
24
+
25
+ files:
26
+ - .gitignore
27
+ - README.md
28
+ - last-seen-recipes-handler.gemspec
29
+ - lib/last-seen-recipes-handler/version.rb
30
+ - lib/last_seen_recipes.rb
31
+ homepage: https://github.com/jgoulah/last-seen-recipes-handler
32
+ licenses: []
33
+
34
+ post_install_message:
35
+ rdoc_options: []
36
+
37
+ require_paths:
38
+ - lib
39
+ required_ruby_version: !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: "0"
45
+ required_rubygems_version: !ruby/object:Gem::Requirement
46
+ none: false
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: "0"
51
+ requirements: []
52
+
53
+ rubyforge_project:
54
+ rubygems_version: 1.8.24
55
+ signing_key:
56
+ specification_version: 3
57
+ summary: A plugin for Chef::Knife which displays node metadata about the last chef run.
58
+ test_files: []
59
+