kitchenplan 2.1.13 → 2.1.14
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/README.md +1 -1
- data/lib/kitchenplan/config.rb +18 -18
- data/templates/Cheffile.erb +4 -4
- 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: 50351efa8455e1c8c678e3c143da5f9efbd87b8c
|
4
|
+
data.tar.gz: d05791b51c58359e9b17cc77b79ddefc27164cea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca30b323b3b13a2a8637e8f8ac05e6dc456ed491625ac76b1733bb6c23fcbed550a4c3ec6be816611602cdf82b3975cf0d1df13ae5bebfb7a2122fc09652a877
|
7
|
+
data.tar.gz: 1c1014b98c8fa88245a1a1995f406c7a6e23d3a45bd10dde5a1acd881688b9f51d820ee1787bbfd4e11b09d834e8fee7c43567efec198e7765b7467769399ff2
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Kitchenplan
|
1
|
+
# Kitchenplan
|
2
2
|
|
3
3
|
Kitchenplan is a small tool to fully automate the installation and configuration of an OSX workstation (or server for that matter) using Chef. But while doing so manually is not a trivial undertaking, Kitchenplan has abstracted away all the hard parts.
|
4
4
|
|
data/lib/kitchenplan/config.rb
CHANGED
@@ -18,7 +18,7 @@ module Kitchenplan
|
|
18
18
|
self.detect_platform
|
19
19
|
self.parse_default_config
|
20
20
|
self.parse_people_config
|
21
|
-
|
21
|
+
self.parse_system_config
|
22
22
|
self.parse_group_configs
|
23
23
|
end
|
24
24
|
|
@@ -30,9 +30,9 @@ module Kitchenplan
|
|
30
30
|
@platform = 'mac_os_x' # We only support osx at the moment, and it saves a large dependency
|
31
31
|
end
|
32
32
|
|
33
|
-
|
34
|
-
|
35
|
-
|
33
|
+
def hardware_model
|
34
|
+
`sysctl -n hw.model | tr -d '\n'`
|
35
|
+
end
|
36
36
|
|
37
37
|
def parse_default_config
|
38
38
|
default_config_path = 'config/default.yml'
|
@@ -44,10 +44,10 @@ module Kitchenplan
|
|
44
44
|
@people_config = (YAML.load(ERB.new(File.read(people_config_path)).result) if File.exist?(people_config_path)) || {}
|
45
45
|
end
|
46
46
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
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
51
|
|
52
52
|
def parse_group_configs(group = (( @default_config['groups'] || [] ) | ( @people_config['groups'] || [] )))
|
53
53
|
@group_configs = @group_configs || {}
|
@@ -95,16 +95,16 @@ module Kitchenplan
|
|
95
95
|
config['attributes'].deep_merge!(people_attributes) { |key, old, new| Array.wrap(old) + Array.wrap(new) }
|
96
96
|
|
97
97
|
# lastly override from the system files
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
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
108
|
|
109
109
|
config
|
110
110
|
end
|
data/templates/Cheffile.erb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
site "http://community.opscode.com/api/v1"
|
2
2
|
|
3
|
-
cookbook "homebrewalt", :github => "kitchenplan/chef-homebrewalt", :ref => "v1.8.
|
3
|
+
cookbook "homebrewalt", :github => "kitchenplan/chef-homebrewalt", :ref => "v1.8.8"
|
4
4
|
cookbook "nodejs", :github => "kitchenplan/chef-nodejs", :ref => "v1.2"
|
5
|
-
cookbook "applications", :github => "kitchenplan/chef-applications", :ref => "v2.0.
|
6
|
-
cookbook "osxdefaults", :github => "kitchenplan/chef-osxdefaults", :ref => "v1.0.
|
7
|
-
cookbook "dotfiles", :github => "kitchenplan/chef-dotfiles", :ref => "v1.3.
|
5
|
+
cookbook "applications", :github => "kitchenplan/chef-applications", :ref => "v2.0.6"
|
6
|
+
cookbook "osxdefaults", :github => "kitchenplan/chef-osxdefaults", :ref => "v1.0.4"
|
7
|
+
cookbook "dotfiles", :github => "kitchenplan/chef-dotfiles", :ref => "v1.3.2"
|
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.14
|
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-
|
11
|
+
date: 2014-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|