health_inspector 0.3.1 → 0.4.0

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.
data/HISTORY.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 0.4.0 ( 2012-09-28 )
2
+
3
+ * Make `inspect` the default task
4
+ * Add ability to specify individual components:
5
+
6
+ health_inspector inspect cookbooks
7
+
1
8
  ## 0.3.1 ( 2012-09-27 )
2
9
 
3
10
  * Stop shelling out for knife commands, use Chef API directly for everything.
@@ -10,9 +10,39 @@ module HealthInspector
10
10
  :default => ".chef/knife.rb",
11
11
  :banner => "Path to your knife config file."
12
12
 
13
- desc "inspect", "Inspect a chef server repo"
14
- def inspect
15
- Inspector.inspect(options[:repopath], options[:configpath])
13
+ default_task :inspect
14
+
15
+ desc "inspect [COMPONENT]", <<-EOS
16
+ Inspect a chef repo. Optionally, specify one component to inspect:
17
+ [ cookbooks, databags, environments, roles ]
18
+ EOS
19
+
20
+ def inspect(component=nil)
21
+ checklists = component_to_checklists(component)
22
+ Inspector.inspect( checklists ,options[:repopath], options[:configpath])
16
23
  end
24
+
25
+ protected
26
+
27
+ def component_to_checklists(component)
28
+ all = %w[ Cookbooks DataBags DataBagItems Environments Roles ]
29
+
30
+ case component.downcase
31
+ when "cookbooks"
32
+ ["Cookbooks"]
33
+ when "databags"
34
+ ["DataBags", "DataBagItems"]
35
+ when "environments"
36
+ ["Environments"]
37
+ when "roles"
38
+ ["Roles"]
39
+ when nil, "all"
40
+ all
41
+ else
42
+ shell.say "I did not understand which component you wanted me to inspect. Running all checks."
43
+ all
44
+ end
45
+ end
46
+
17
47
  end
18
- end
48
+ end
@@ -1,7 +1,7 @@
1
1
  module HealthInspector
2
2
  class Inspector
3
- def self.inspect(repo_path, config_path)
4
- new(repo_path, config_path).inspect
3
+ def self.inspect(checklists, repo_path, config_path)
4
+ new(repo_path, config_path).inspect( checklists )
5
5
  end
6
6
 
7
7
  def initialize(repo_path, config_path)
@@ -9,12 +9,10 @@ module HealthInspector
9
9
  @context.configure
10
10
  end
11
11
 
12
- def inspect
13
- Checklists::Cookbooks.run(@context)
14
- Checklists::DataBags.run(@context)
15
- Checklists::DataBagItems.run(@context)
16
- Checklists::Environments.run(@context)
17
- Checklists::Roles.run(@context)
12
+ def inspect(checklists)
13
+ checklists.each do |checklist|
14
+ Checklists.const_get(checklist).run(@context) if Checklists.const_defined?(checklist)
15
+ end
18
16
  end
19
17
  end
20
18
  end
@@ -1,3 +1,3 @@
1
1
  module HealthInspector
2
- VERSION = "0.3.1"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: health_inspector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-27 00:00:00.000000000 Z
12
+ date: 2012-09-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
16
- requirement: &70329253887600 !ruby/object:Gem::Requirement
16
+ requirement: &70141609412100 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70329253887600
24
+ version_requirements: *70141609412100
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: mocha
27
- requirement: &70329253886680 !ruby/object:Gem::Requirement
27
+ requirement: &70141609411180 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70329253886680
35
+ version_requirements: *70141609411180
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: thor
38
- requirement: &70329253886140 !ruby/object:Gem::Requirement
38
+ requirement: &70141609410640 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70329253886140
46
+ version_requirements: *70141609410640
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: chef
49
- requirement: &70329253885600 !ruby/object:Gem::Requirement
49
+ requirement: &70141609410100 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '10.14'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70329253885600
57
+ version_requirements: *70141609410100
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: yajl-ruby
60
- requirement: &70329253885180 !ruby/object:Gem::Requirement
60
+ requirement: &70141609409680 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70329253885180
68
+ version_requirements: *70141609409680
69
69
  description: A tool to inspect your chef repo as is compares to what is on your chef
70
70
  server
71
71
  email: