berks2env 0.1.1 → 0.2.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.
- checksums.yaml +8 -8
- data/Rakefile +5 -8
- data/berks2env.gemspec +4 -0
- data/lib/berks2env/version.rb +1 -1
- data/lib/berks2env.rb +40 -42
- data/spec/berks2env_spec.rb +13 -0
- data/spec/spec_helper.rb +1 -0
- metadata +63 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
N2JhNjJhY2NlOWUxOGNhODA4MGRiMDcxMTc2NDA3YTQzMjM5NDBiNg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NGE4NzUxODM2YmVlMDQzYWQ5NTE2YjkyNzMxNTBhMzY3YTlmZjU3NA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZDY4MjA0MmUxOGIwZjNjMDkwZWYyN2ViMGM2MjU1NjI1ODkyYzc5MDY2N2Nm
|
10
|
+
MmRhNGRmNDhlZjIzNmUxMTllOWVhM2I0ZjRmODUyZmQ0MDBjODBlYThiOWEz
|
11
|
+
YzEzYjFlM2M0YzNmOTdkZjYxN2QzZjUwZDI3YzNkMDEwNTQyNGM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MzRmN2U4MDU4MWIxNzMwYzhlMzcwNTExY2I1OTI3ZjEwYTAxZjdmNTA5OWNl
|
14
|
+
NzgxNjgxZWMzODQwZWQ4MzRjODU1MjY5MTZmMWY5ZjE0ZDQ3OWFkODA1ODcx
|
15
|
+
MTVhZTRiYjYwZTBhMTkwN2UzMGMwM2JhMmZmOGM0NjVmZjAyYWU=
|
data/Rakefile
CHANGED
@@ -1,10 +1,7 @@
|
|
1
|
-
require 'bundler'
|
2
|
-
require '
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
require 'rspec/core/rake_task'
|
3
3
|
|
4
|
-
|
4
|
+
RSpec::Core::RakeTask.new
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
end
|
9
|
-
|
10
|
-
task default: 'test'
|
6
|
+
task :default => :spec
|
7
|
+
task :test => :spec
|
data/berks2env.gemspec
CHANGED
@@ -23,5 +23,9 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.add_runtime_dependency('berkshelf', ['~> 3.1'])
|
24
24
|
s.add_development_dependency('rubocop', ['~> 0.21'])
|
25
25
|
s.add_development_dependency('rake', ['~> 0'])
|
26
|
+
s.add_development_dependency('rspec-core', ['~> 2.14.8'])
|
27
|
+
s.add_development_dependency('rspec-mocks', ['~> 2.14.6'])
|
28
|
+
s.add_development_dependency('rspec-expectations', ['~> 2.14.5'])
|
29
|
+
s.add_development_dependency('rspec', ['~> 0'])
|
26
30
|
|
27
31
|
end
|
data/lib/berks2env/version.rb
CHANGED
data/lib/berks2env.rb
CHANGED
@@ -3,55 +3,53 @@ require 'berks2env/version'
|
|
3
3
|
require 'berkshelf'
|
4
4
|
require 'chef/environment'
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
6
|
+
# This class takes and dumps out environment json files
|
7
|
+
class Convert
|
8
|
+
attr_reader :branch, :berkslockfile
|
9
|
+
|
10
|
+
def initialize(branch, berkslockfile)
|
11
|
+
@branch = branch
|
12
|
+
@berkslockfile = berkslockfile
|
13
|
+
@environment = Chef::Environment.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def run
|
17
|
+
clean_branch = self.sanitize_branch
|
18
|
+
@environment.name(clean_branch)
|
19
|
+
berksfile = Berkshelf::Lockfile.from_file(@berkslockfile)
|
20
|
+
locks = berksfile.graph.locks.inject({}) do |hash, (name, dependency)|
|
21
|
+
hash[name] = "= #{dependency.locked_version.to_s}"
|
22
|
+
hash
|
15
23
|
end
|
24
|
+
@environment.cookbook_versions(locks)
|
16
25
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
26
|
+
@environment.override_attributes({ :server_env => { :version => { :real => @branch, :virt => @branch }}})
|
27
|
+
envfile = File.open("#{clean_branch}.json", 'w')
|
28
|
+
envfile.write(@environment.to_json)
|
29
|
+
envfile.close
|
30
|
+
self.create_latest
|
31
|
+
end
|
32
|
+
|
33
|
+
def create_latest
|
34
|
+
if @branch.match(/\d+\.\d+\.\d+\z/)
|
35
|
+
xver = @branch.split('.')
|
36
|
+
xver = "#{xver[0]}.#{xver[1]}.LATEST"
|
37
|
+
# Create the major.minor.X environment to go with the major.minor.patch environment
|
38
|
+
@environment.name(xver.gsub('.', '_'))
|
39
|
+
@environment.override_attributes({ :server_env => { :version => { :real => @branch, :virt => xver }}})
|
40
|
+
envfile = File.open("#{xver.gsub('.', '_')}.json", 'w')
|
29
41
|
envfile.write(@environment.to_json)
|
30
42
|
envfile.close
|
31
|
-
self.create_latest
|
32
|
-
end
|
33
|
-
|
34
|
-
def create_latest
|
35
|
-
if @branch.match(/\d+\.\d+\.\d+\z/)
|
36
|
-
xver = @branch.split('.')
|
37
|
-
xver = "#{xver[0]}.#{xver[1]}.LATEST"
|
38
|
-
# Create the major.minor.X environment to go with the major.minor.patch environment
|
39
|
-
@environment.name(xver.gsub('.', '_'))
|
40
|
-
@environment.override_attributes({ :server_env => { :version => { :real => @branch, :virt => xver }}})
|
41
|
-
envfile = File.open("#{xver.gsub('.', '_')}.json", 'w')
|
42
|
-
envfile.write(@environment.to_json)
|
43
|
-
envfile.close
|
44
|
-
end
|
45
43
|
end
|
44
|
+
end
|
46
45
|
|
47
46
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
end
|
47
|
+
def sanitize_branch
|
48
|
+
if self.branch =~ /\d+\.\d+\.\d+/
|
49
|
+
self.branch.gsub('.','_')
|
50
|
+
else
|
51
|
+
self.branch.gsub(/[\-;:,.\/\\']/,'_')
|
54
52
|
end
|
55
|
-
|
56
53
|
end
|
54
|
+
|
57
55
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Convert do
|
4
|
+
before :each do
|
5
|
+
@convert = Convert.new("1.2.3", "Berksfile.stub")
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "#new" do
|
9
|
+
it "takes two parameters and returns a Convert object" do
|
10
|
+
@convert.should be_an_instance_of Convert
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'berks2env'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: berks2env
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pete Cheslock
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef
|
@@ -86,6 +86,62 @@ dependencies:
|
|
86
86
|
- - ~>
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rspec-core
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ~>
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 2.14.8
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ~>
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 2.14.8
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: rspec-mocks
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 2.14.6
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ~>
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 2.14.6
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: rspec-expectations
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ~>
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 2.14.5
|
124
|
+
type: :development
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ~>
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: 2.14.5
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: rspec
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ~>
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
type: :development
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - ~>
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '0'
|
89
145
|
description: Convert a Berkshelf Lockfile to a Chef Environment json
|
90
146
|
email: petecheslock@gmail.com
|
91
147
|
executables:
|
@@ -104,6 +160,8 @@ files:
|
|
104
160
|
- bin/berks2env
|
105
161
|
- lib/berks2env.rb
|
106
162
|
- lib/berks2env/version.rb
|
163
|
+
- spec/berks2env_spec.rb
|
164
|
+
- spec/spec_helper.rb
|
107
165
|
homepage: https://github.com/petecheslock/berks2env
|
108
166
|
licenses:
|
109
167
|
- MIT
|
@@ -128,4 +186,6 @@ rubygems_version: 2.2.2
|
|
128
186
|
signing_key:
|
129
187
|
specification_version: 4
|
130
188
|
summary: Solve Berks Lock file to Environment
|
131
|
-
test_files:
|
189
|
+
test_files:
|
190
|
+
- spec/berks2env_spec.rb
|
191
|
+
- spec/spec_helper.rb
|