kitchenplan 2.1.12 → 2.1.13
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.
- checksums.yaml +4 -4
- data/lib/kitchenplan/config.rb +30 -0
- data/templates/Cheffile.erb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4bb1eb5ec11dbe1b94ec47ef3bacb87b0ed8aa1b
|
|
4
|
+
data.tar.gz: b5cdffa26657ac57c55f580d040e32b8b4116cb9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b9a9301a9acd053ee4d8e190b0a461a1ed0f08d7e21ce3a2191326e5fd2c3f6b5433e0cf74ce458c5c057eeda3a39737f168b38e4645f1abe5705f0faf1c4ca3
|
|
7
|
+
data.tar.gz: 24542e71583d389a136e176b31b911471307da1f65652cd3e54191cdd45e6f9bd06ad6549d00ee7de2c453327d66f6ed687534dd3f172e257f8587f909295463
|
data/lib/kitchenplan/config.rb
CHANGED
|
@@ -11,12 +11,14 @@ module Kitchenplan
|
|
|
11
11
|
attr_reader :platform
|
|
12
12
|
attr_reader :default_config
|
|
13
13
|
attr_reader :people_config
|
|
14
|
+
attr_reader :system_config
|
|
14
15
|
attr_reader :group_configs
|
|
15
16
|
|
|
16
17
|
def initialize
|
|
17
18
|
self.detect_platform
|
|
18
19
|
self.parse_default_config
|
|
19
20
|
self.parse_people_config
|
|
21
|
+
# self.parse_system_config
|
|
20
22
|
self.parse_group_configs
|
|
21
23
|
end
|
|
22
24
|
|
|
@@ -28,6 +30,10 @@ module Kitchenplan
|
|
|
28
30
|
@platform = 'mac_os_x' # We only support osx at the moment, and it saves a large dependency
|
|
29
31
|
end
|
|
30
32
|
|
|
33
|
+
# def hardware_model
|
|
34
|
+
# `system_profiler SPHardwareDataType | awk '/Identifier/ {print $3}' | tr -d '\n'`
|
|
35
|
+
# end
|
|
36
|
+
|
|
31
37
|
def parse_default_config
|
|
32
38
|
default_config_path = 'config/default.yml'
|
|
33
39
|
@default_config = (YAML.load(ERB.new(File.read(default_config_path)).result) if File.exist?(default_config_path)) || {}
|
|
@@ -38,6 +44,11 @@ module Kitchenplan
|
|
|
38
44
|
@people_config = (YAML.load(ERB.new(File.read(people_config_path)).result) if File.exist?(people_config_path)) || {}
|
|
39
45
|
end
|
|
40
46
|
|
|
47
|
+
# def parse_system_config
|
|
48
|
+
# system_config_path = "config/system/#{hardware_model}.yml"
|
|
49
|
+
# @system_config = (YAML.load(ERB.new(File.read(system_config_path)).result) if File.exist?(system_config_path)) || {}
|
|
50
|
+
# end
|
|
51
|
+
|
|
41
52
|
def parse_group_configs(group = (( @default_config['groups'] || [] ) | ( @people_config['groups'] || [] )))
|
|
42
53
|
@group_configs = @group_configs || {}
|
|
43
54
|
defined_groups = group || []
|
|
@@ -69,13 +80,32 @@ module Kitchenplan
|
|
|
69
80
|
people_recipes = @people_config['recipes'] || {}
|
|
70
81
|
config['recipes'] |= people_recipes['global'] || []
|
|
71
82
|
config['recipes'] |= people_recipes[@platform] || []
|
|
83
|
+
|
|
84
|
+
# First take the attributes from default.yml
|
|
72
85
|
config['attributes'] = {}
|
|
73
86
|
config['attributes'].deep_merge!(@default_config['attributes'] || {}) { |key, old, new| Array.wrap(old) + Array.wrap(new) }
|
|
87
|
+
|
|
88
|
+
# then override and extend them with the group attributes
|
|
74
89
|
@group_configs.each do |group_name, group_config|
|
|
75
90
|
config['attributes'].deep_merge!(group_config['attributes']) { |key, old, new| Array.wrap(old) + Array.wrap(new) } unless group_config['attributes'].nil?
|
|
76
91
|
end
|
|
92
|
+
|
|
93
|
+
# then override and extend them with the people attributes
|
|
77
94
|
people_attributes = @people_config['attributes'] || {}
|
|
78
95
|
config['attributes'].deep_merge!(people_attributes) { |key, old, new| Array.wrap(old) + Array.wrap(new) }
|
|
96
|
+
|
|
97
|
+
# lastly override from the system files
|
|
98
|
+
# system_recipes = @system_config['recipes'] || {}
|
|
99
|
+
# config['recipes'] |= system_recipes['global'] || []
|
|
100
|
+
# config['recipes'] |= system_recipes[@platform] || []
|
|
101
|
+
# config['attributes'] = {}
|
|
102
|
+
# config['attributes'].deep_merge!(@default_config['attributes'] || {}) { |key, old, new| Array.wrap(old) + Array.wrap(new) }
|
|
103
|
+
# @group_configs.each do |group_name, group_config|
|
|
104
|
+
# config['attributes'].deep_merge!(group_config['attributes']) { |key, old, new| Array.wrap(old) + Array.wrap(new) } unless group_config['attributes'].nil?
|
|
105
|
+
# end
|
|
106
|
+
# system_attributes = @system_config['attributes'] || {}
|
|
107
|
+
# config['attributes'].deep_merge!(system_attributes) { |key, old, new| Array.wrap(old) + Array.wrap(new) }
|
|
108
|
+
|
|
79
109
|
config
|
|
80
110
|
end
|
|
81
111
|
|
data/templates/Cheffile.erb
CHANGED
|
@@ -4,7 +4,7 @@ cookbook "homebrewalt", :github => "kitchenplan/chef-homebrewalt",
|
|
|
4
4
|
cookbook "nodejs", :github => "kitchenplan/chef-nodejs", :ref => "v1.2"
|
|
5
5
|
cookbook "applications", :github => "kitchenplan/chef-applications", :ref => "v2.0.5"
|
|
6
6
|
cookbook "osxdefaults", :github => "kitchenplan/chef-osxdefaults", :ref => "v1.0.3"
|
|
7
|
-
cookbook "dotfiles", :github => "kitchenplan/chef-dotfiles", :ref => "v1.3"
|
|
7
|
+
cookbook "dotfiles", :github => "kitchenplan/chef-dotfiles", :ref => "v1.3.1"
|
|
8
8
|
cookbook "drivers", :github => "kitchenplan/chef-drivers", :ref => "v1.0"
|
|
9
9
|
cookbook "sudoalt", :github => "kitchenplan/chef-sudoalt", :ref => "v2.4"
|
|
10
10
|
cookbook "dmg", :github => "opscode-cookbooks/dmg", :ref => "v2.1.4"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kitchenplan
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.1.
|
|
4
|
+
version: 2.1.13
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Roderik van der Veer
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-08-
|
|
11
|
+
date: 2014-08-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: thor
|