berkshelf-solo 0.0.2 → 0.0.3
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/README.md +78 -3
- data/Rakefile +2 -2
- data/lib/berkshelf/solo/version.rb +1 -1
- data/lib/berkshelf/solo.rb +1 -1
- metadata +17 -9
- checksums.yaml +0 -7
data/README.md
CHANGED
@@ -1,4 +1,79 @@
|
|
1
|
-
|
2
|
-
==============
|
1
|
+
# Berkshelf Solo
|
3
2
|
|
4
|
-
|
3
|
+
berkshelf-solo is an experimental project that acts as an adapter between [Berkshelf](http://berkshelf.com/) and [chef-solo](http://docs.opscode.com/chef_solo.html), it works by generating a chef-solo style layout and configuration files when executing the `berks vendor` command.
|
4
|
+
|
5
|
+
## Dependencies
|
6
|
+
* Ruby 1.9+
|
7
|
+
* latest Berkshelf beta ( currently 3.0.0.beta2 )
|
8
|
+
* Berksfile
|
9
|
+
|
10
|
+
## Installation
|
11
|
+
with `bundler` just add this line to your `Gemfile` and then execute `bundle install`
|
12
|
+
```
|
13
|
+
gem 'berkshelf-solo'
|
14
|
+
```
|
15
|
+
else you can manually install it by running
|
16
|
+
```
|
17
|
+
gem install berkshelf-solo
|
18
|
+
```
|
19
|
+
|
20
|
+
## Usage
|
21
|
+
### Compile cookbooks and prepare chef-solo layout
|
22
|
+
add this line at the top of your Berksfile
|
23
|
+
```ruby
|
24
|
+
require 'berkshelf-solo'
|
25
|
+
```
|
26
|
+
|
27
|
+
after loading berkshelf-solo you will able to specify recipes that you want to install, for example lets say we want to install mysql server and client
|
28
|
+
```ruby
|
29
|
+
cookbook 'mysql', :recipes => ["client", "server"]
|
30
|
+
```
|
31
|
+
run the berks vendor command and specify the cookbooks output folder, in this example we save the cookbooks under the chef/cookbooks directory inside our current directory
|
32
|
+
```
|
33
|
+
berks vendor chef/cookbooks
|
34
|
+
```
|
35
|
+
after the command was successfully run, look for the `chef-solo` configuration files and folders layout under the chef directory, should look something like this
|
36
|
+
|
37
|
+
```
|
38
|
+
$ ls -lrth chef/
|
39
|
+
drwxr-xr-x 2 wheel 68B Aug 14 15:52 roles
|
40
|
+
drwxr-xr-x 2 wheel 68B Aug 14 15:52 environments
|
41
|
+
drwxr-xr-x 2 wheel 68B Aug 14 15:52 data_bags
|
42
|
+
drwxr-xr-x 11 wheel 374B Aug 14 16:21 cookbooks
|
43
|
+
-rw-r--r-- 1 wheel 289B Aug 14 17:42 solo.rb
|
44
|
+
-rw-r--r-- 1 wheel 313B Aug 14 17:42 solo.json
|
45
|
+
|
46
|
+
$ cat chef/solo.json
|
47
|
+
{
|
48
|
+
"run_list": [
|
49
|
+
"recipe[mysql::client]",
|
50
|
+
"recipe[mysql::server]"
|
51
|
+
]
|
52
|
+
}
|
53
|
+
```
|
54
|
+
|
55
|
+
To override attributes just place them inside the `solo.json` at the root level, for example setting the root password for our mysql server
|
56
|
+
|
57
|
+
```
|
58
|
+
{
|
59
|
+
"run_list": [
|
60
|
+
"recipe[nginx::default]",
|
61
|
+
"recipe[mysql::default]",
|
62
|
+
"recipe[mysql::server]"
|
63
|
+
],
|
64
|
+
"mysql": {
|
65
|
+
"server_root_password": "password",
|
66
|
+
"server_debian_password": "password",
|
67
|
+
"server_repl_password": "password"
|
68
|
+
}
|
69
|
+
}
|
70
|
+
```
|
71
|
+
|
72
|
+
### Install cookbooks using chef-solo on your target machine
|
73
|
+
Now to actually install the recipes using chef-solo you will need to run this command on your target machine ( inside the main project folder, on `Berksfile` location )
|
74
|
+
```
|
75
|
+
chef-client -c `pwd`/chef/solo.rb -j `pwd`/chef/solo.json`
|
76
|
+
```
|
77
|
+
|
78
|
+
## Warranty
|
79
|
+
This software is provided “as is” and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.
|
data/Rakefile
CHANGED
@@ -9,11 +9,11 @@ Gem::PackageTask.new(eval File.read('berkshelf-solo.gemspec')) do |pkg|
|
|
9
9
|
pkg.need_tar = false
|
10
10
|
end
|
11
11
|
|
12
|
-
task :build
|
12
|
+
task :build do
|
13
13
|
`rake gem`
|
14
14
|
end
|
15
15
|
|
16
16
|
task :install => [:build] do
|
17
17
|
sh "gem install pkg/berkshelf-solo"
|
18
18
|
Rake::Task['clobber_package'].execute
|
19
|
-
end
|
19
|
+
end
|
data/lib/berkshelf/solo.rb
CHANGED
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: berkshelf-solo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Eran Barak Levi
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2014-02-25 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: minitest
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :development
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: mocha
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ~>
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,17 +46,19 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: berkshelf
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - '='
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.0.0.
|
53
|
+
version: 3.0.0.beta7
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - '='
|
53
60
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.0.0.
|
61
|
+
version: 3.0.0.beta7
|
55
62
|
description: Makes Berkshelf more friendly to chef-solo by generating chef-solo folder
|
56
63
|
layout
|
57
64
|
email: eran@kontera.com
|
@@ -65,25 +72,26 @@ files:
|
|
65
72
|
- lib/berkshelf/solo.rb
|
66
73
|
homepage: http://www.kontera.com
|
67
74
|
licenses: []
|
68
|
-
metadata: {}
|
69
75
|
post_install_message:
|
70
76
|
rdoc_options: []
|
71
77
|
require_paths:
|
72
78
|
- lib
|
73
79
|
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
+
none: false
|
74
81
|
requirements:
|
75
|
-
- - '>='
|
82
|
+
- - ! '>='
|
76
83
|
- !ruby/object:Gem::Version
|
77
84
|
version: 1.9.1
|
78
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
|
+
none: false
|
79
87
|
requirements:
|
80
|
-
- - '>='
|
88
|
+
- - ! '>='
|
81
89
|
- !ruby/object:Gem::Version
|
82
90
|
version: '0'
|
83
91
|
requirements: []
|
84
92
|
rubyforge_project: berkshelf-solo
|
85
|
-
rubygems_version:
|
93
|
+
rubygems_version: 1.8.24
|
86
94
|
signing_key:
|
87
|
-
specification_version:
|
95
|
+
specification_version: 3
|
88
96
|
summary: Makes Berkshelf more friendly to chef-solo
|
89
97
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 71406d7854eb29e1407c4765a1cedf155058db41
|
4
|
-
data.tar.gz: dfcd6cda0be4444778c2aed1061090effa49bae4
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 316e28826dc4fe529458fdba082d39618a1b30559e89597a03a5194ed378a14b6f7bbb54a51240a1d518dd9d9eb15c0c3a7df6b19e1b8f1cced67f021c4bb0dd
|
7
|
-
data.tar.gz: 54040b3f2797526a305e0831228da5e13f9810b8b418505bcaa13dec77e307f3b48c9f0887e9b52e0078300d827dc3f3b30e402c2d715180e4ab776ade3f5707
|