opskeleton 0.9.8 → 0.9.9
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/.gitignore +1 -0
- data/Gemfile.lock +67 -151
- data/README.md +3 -3
- data/autocomplete/_opsk +11 -0
- data/bin/opsk +3 -3
- data/docs/doc.adoc +27 -135
- data/lib/opskeleton.rb +2 -2
- data/lib/opskeleton/analyze.rb +18 -0
- data/lib/opskeleton/clean.rb +0 -8
- data/lib/opskeleton/package.rb +4 -18
- data/lib/opskeleton/thorable.rb +1 -2
- data/lib/opskeleton/update.rb +27 -0
- data/lib/opskeleton/version.rb +1 -1
- data/opskeleton.gemspec +6 -8
- data/test/test_helper.rb +0 -1
- metadata +20 -61
- data/lib/opskeleton/dockerize.rb +0 -29
- data/lib/opskeleton/generate_chef.rb +0 -85
- data/templates/chef/Cheffile +0 -3
- data/templates/chef/Gemfile.erb +0 -21
- data/templates/chef/Rakefile.erb +0 -76
- data/templates/chef/boot.sh +0 -4
- data/templates/chef/dna.json.erb +0 -5
- data/templates/chef/environments/dev.rb +0 -4
- data/templates/chef/gitignore +0 -5
- data/templates/chef/opsk.yaml +0 -18
- data/templates/chef/roles.erb +0 -2
- data/templates/chef/run.sh +0 -1
- data/templates/chef/solo.rb +0 -6
- data/templates/chef/ubuntu_docker.erb +0 -15
- data/templates/chef/vagrant.erb +0 -28
- data/templates/fig.yml.erb +0 -5
- data/test/chef_package_test.rb +0 -41
data/lib/opskeleton.rb
CHANGED
@@ -6,12 +6,10 @@ require 'yaml'
|
|
6
6
|
require 'ostruct'
|
7
7
|
require 'git'
|
8
8
|
require 'opskeleton/thorable'
|
9
|
-
require 'opskeleton/dockerize'
|
10
9
|
require 'opskeleton/package'
|
11
10
|
require 'opskeleton/clean'
|
12
11
|
require 'opskeleton/bump'
|
13
12
|
require 'opskeleton/generate_puppet'
|
14
|
-
require 'opskeleton/generate_chef'
|
15
13
|
require 'opskeleton/deploy_bintray'
|
16
14
|
require 'opskeleton/deploy_s3'
|
17
15
|
require 'opskeleton/deploy_scp'
|
@@ -20,4 +18,6 @@ require 'opskeleton/commit'
|
|
20
18
|
require 'opskeleton/uncommited'
|
21
19
|
require 'opskeleton/push'
|
22
20
|
require 'opskeleton/git'
|
21
|
+
require 'opskeleton/update'
|
22
|
+
require 'opskeleton/analyze'
|
23
23
|
|
@@ -0,0 +1,18 @@
|
|
1
|
+
|
2
|
+
module Opsk
|
3
|
+
class Analyze < Thor::Group
|
4
|
+
include Thorable, Thor::Actions
|
5
|
+
|
6
|
+
argument :file, :type => :string, :desc => 'the puppet log input file'
|
7
|
+
class_option :threshold, :type=> :string, :desc => 'minimum run time filter'
|
8
|
+
|
9
|
+
def report
|
10
|
+
threshold = options['threshold'] || '0.01'
|
11
|
+
rs = File.readlines(file).find_all{|line| line.include?('Evaluated')}
|
12
|
+
top = rs.collect {|r| r.split(' ').values_at(3 , 7)}.find_all{|r| r[1].to_f > threshold.to_f}
|
13
|
+
top.sort_by{|r| r[1].to_f}.reverse.each {|r|
|
14
|
+
say("#{r[0]} #{r[1]}")
|
15
|
+
}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/opskeleton/clean.rb
CHANGED
@@ -17,14 +17,6 @@ module Opsk
|
|
17
17
|
|
18
18
|
def cleanup
|
19
19
|
remove_dir('pkg')
|
20
|
-
if(File.exists?('dockerfiles'))
|
21
|
-
images = Dir['dockerfiles/*'].select{|file| File.ftype(file) == 'directory'}
|
22
|
-
images.each do |path|
|
23
|
-
if(File.ftype(path) == 'directory')
|
24
|
-
remove_dir("#{path}/pkg")
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
20
|
end
|
29
21
|
|
30
22
|
end
|
data/lib/opskeleton/package.rb
CHANGED
@@ -14,7 +14,7 @@ module Opsk
|
|
14
14
|
meta.includes.each {|f|
|
15
15
|
if(File.directory?("#{path}/#{f}"))
|
16
16
|
directory "#{path}/#{f}", "#{artifact_path}/#{f}", :verbose => false
|
17
|
-
elsif(File.
|
17
|
+
elsif(File.exist?("#{path}/#{f}"))
|
18
18
|
copy_file "#{path}/#{f}", "#{artifact_path}/#{f}"
|
19
19
|
else
|
20
20
|
raise Exception.new("#{f} not found please validate opks.yaml includes section")
|
@@ -23,16 +23,16 @@ module Opsk
|
|
23
23
|
|
24
24
|
meta.excludes.each {|f| remove_file("#{artifact_path}/#{f}") } if(meta.excludes)
|
25
25
|
|
26
|
-
unless(File.
|
26
|
+
unless(File.exist?("#{artifact_path}/manifests/site.pp"))
|
27
27
|
template('templates/puppet/site.erb', "#{artifact_path}/manifests/site.pp")
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
31
|
def scripts
|
32
32
|
empty_directory("#{artifact_path}/scripts")
|
33
|
-
files = {:puppet => %w(lookup.rb run.sh)
|
33
|
+
files = {:puppet => %w(lookup.rb run.sh) }
|
34
34
|
files[type_of].each do |s|
|
35
|
-
unless(File.
|
35
|
+
unless(File.exist?("#{artifact_path}/scripts/#{s}"))
|
36
36
|
template("templates/#{type_of}/scripts/#{s}", "#{artifact_path}/scripts/#{s}")
|
37
37
|
chmod("#{artifact_path}/scripts/#{s}", 0755)
|
38
38
|
end
|
@@ -42,7 +42,6 @@ module Opsk
|
|
42
42
|
def package
|
43
43
|
ignored = IO.readlines('.gitignore').map(&:chomp)
|
44
44
|
ignored.delete('modules')
|
45
|
-
ignored.delete('cookbooks')
|
46
45
|
ignored = ignored.select {|ig| !meta.includes.include?(ig)}
|
47
46
|
excludes = ignored.map{|f| "'#{f}'"}.join(" --exclude=") << ' --exclude-backups --exclude-vcs --exclude=pkg'
|
48
47
|
tar = "#{artifact}.tar.gz"
|
@@ -53,19 +52,6 @@ module Opsk
|
|
53
52
|
|
54
53
|
end
|
55
54
|
|
56
|
-
def dockercopy
|
57
|
-
tar = "#{artifact}.tar.gz"
|
58
|
-
if(File.exists?('dockerfiles'))
|
59
|
-
images = Dir['dockerfiles/*'].select{|file| File.ftype(file) == 'directory'}
|
60
|
-
images.each do |path|
|
61
|
-
if(File.ftype(path) == 'directory')
|
62
|
-
empty_directory "#{path}/pkg"
|
63
|
-
FileUtils.copy "pkg/#{tar}", "#{path}/pkg/#{tar}"
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
55
|
end
|
70
56
|
|
71
57
|
end
|
data/lib/opskeleton/thorable.rb
CHANGED
@@ -17,8 +17,7 @@ module Opsk
|
|
17
17
|
|
18
18
|
def type_of
|
19
19
|
return :puppet if meta.includes.include?('Puppetfile')
|
20
|
-
|
21
|
-
raise Exception.new('no matching provisoner type found, make sure to include Cheffile or Pupppetfile in opsk.yaml')
|
20
|
+
raise Exception.new('no matching provisoner type found, make sure to include Pupppetfile in opsk.yaml')
|
22
21
|
end
|
23
22
|
|
24
23
|
def name
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Opsk
|
2
|
+
class Update < Thor::Group
|
3
|
+
include Thorable, Thor::Actions
|
4
|
+
class_option :module, :type=> :string, :desc => 'module to update'
|
5
|
+
|
6
|
+
def update
|
7
|
+
Dir["./*"].reject{|o| not File.directory?(o)}.each do |d|
|
8
|
+
resp = yes?("Update #{d}? (y/n)") unless options['all']
|
9
|
+
if File.exists?("#{d}/Puppetfile") and resp
|
10
|
+
inside(d) do
|
11
|
+
run("librarian-puppet update #{options['module']}")
|
12
|
+
end
|
13
|
+
resp = yes?("Commit Puppetfile.lock#{d}? (y/n)") unless options['all']
|
14
|
+
if resp
|
15
|
+
git = Opsk::Git.new(d,self)
|
16
|
+
git.add("#{d}/Puppetfile.lock")
|
17
|
+
git.commit("Opsk: updating #{options['module']}")
|
18
|
+
git.push
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
data/lib/opskeleton/version.rb
CHANGED
data/opskeleton.gemspec
CHANGED
@@ -8,27 +8,25 @@ Gem::Specification.new do |gem|
|
|
8
8
|
gem.version = Opskeleton::VERSION
|
9
9
|
gem.authors = ["narkisr"]
|
10
10
|
gem.email = ["narkisr@gmail.com"]
|
11
|
-
gem.description = %q{
|
12
|
-
gem.summary = %q{
|
11
|
+
gem.description = %q{Managing services lifecycle from Development to production using Vagrant and Puppet}
|
12
|
+
gem.summary = %q{Managing services lifecycle from Development to production using Vagrant and Puppet}
|
13
13
|
gem.homepage = "https://github.com/narkisr/opskeleton"
|
14
14
|
gem.add_dependency('thor')
|
15
15
|
gem.add_dependency('bintray_deploy')
|
16
16
|
gem.add_dependency('aws-sdk', '~> 2')
|
17
17
|
gem.add_dependency('net-scp')
|
18
18
|
gem.add_dependency('git')
|
19
|
-
gem.add_dependency('git_clone_url')
|
20
|
-
gem.add_development_dependency('puppet','=3.7
|
21
|
-
gem.add_development_dependency('chef')
|
19
|
+
gem.add_dependency('git_clone_url', '~> 1.0')
|
20
|
+
gem.add_development_dependency('puppet','=3.8.7')
|
22
21
|
gem.add_development_dependency('rspec-puppet')
|
23
22
|
gem.add_development_dependency('librarian-puppet', '= 2.1.0')
|
24
23
|
gem.add_development_dependency('puppetlabs_spec_helper', '>= 0.1.0')
|
25
|
-
gem.add_development_dependency('pry')
|
26
24
|
gem.add_development_dependency('asciidoctor')
|
27
25
|
gem.add_development_dependency('pygments.rb')
|
28
|
-
gem.add_development_dependency('guard')
|
26
|
+
gem.add_development_dependency('guard', '= 2.13.0')
|
29
27
|
gem.add_development_dependency('guard-shell')
|
30
28
|
gem.add_development_dependency('guard-minitest')
|
31
|
-
|
29
|
+
|
32
30
|
gem.files = `git ls-files`.split($/)
|
33
31
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
34
32
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
data/test/test_helper.rb
CHANGED
@@ -7,7 +7,6 @@ require 'opskeleton'
|
|
7
7
|
module Opsk
|
8
8
|
class Root < Thor
|
9
9
|
register Opsk::GeneratePuppet, 'generate_puppet', 'generate_puppet [name] [box]', 'generates opskelaton project structure'
|
10
|
-
register Opsk::GenerateChef, 'generate_chef', 'generate_chef [name] [box]', 'generates opskelaton project structure'
|
11
10
|
register Opsk::Package, 'package', 'package', 'packages current module for celestial'
|
12
11
|
register Opsk::Commit, 'commit', 'commit', 'commits current module for celestial'
|
13
12
|
register Opsk::Push, 'push', 'push', 'push changed repos'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opskeleton
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- narkisr
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -84,44 +84,30 @@ dependencies:
|
|
84
84
|
name: git_clone_url
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
89
|
+
version: '1.0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
96
|
+
version: '1.0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: puppet
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - '='
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 3.7
|
103
|
+
version: 3.8.7
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - '='
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 3.7
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: chef
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
110
|
+
version: 3.8.7
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
112
|
name: rspec-puppet
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,20 +150,6 @@ dependencies:
|
|
164
150
|
- - ">="
|
165
151
|
- !ruby/object:Gem::Version
|
166
152
|
version: 0.1.0
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: pry
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - ">="
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '0'
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - ">="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
181
153
|
- !ruby/object:Gem::Dependency
|
182
154
|
name: asciidoctor
|
183
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,16 +182,16 @@ dependencies:
|
|
210
182
|
name: guard
|
211
183
|
requirement: !ruby/object:Gem::Requirement
|
212
184
|
requirements:
|
213
|
-
- -
|
185
|
+
- - '='
|
214
186
|
- !ruby/object:Gem::Version
|
215
|
-
version:
|
187
|
+
version: 2.13.0
|
216
188
|
type: :development
|
217
189
|
prerelease: false
|
218
190
|
version_requirements: !ruby/object:Gem::Requirement
|
219
191
|
requirements:
|
220
|
-
- -
|
192
|
+
- - '='
|
221
193
|
- !ruby/object:Gem::Version
|
222
|
-
version:
|
194
|
+
version: 2.13.0
|
223
195
|
- !ruby/object:Gem::Dependency
|
224
196
|
name: guard-shell
|
225
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -248,7 +220,8 @@ dependencies:
|
|
248
220
|
- - ">="
|
249
221
|
- !ruby/object:Gem::Version
|
250
222
|
version: '0'
|
251
|
-
description:
|
223
|
+
description: Managing services lifecycle from Development to production using Vagrant
|
224
|
+
and Puppet
|
252
225
|
email:
|
253
226
|
- narkisr@gmail.com
|
254
227
|
executables:
|
@@ -268,6 +241,7 @@ files:
|
|
268
241
|
- README.md
|
269
242
|
- Rakefile
|
270
243
|
- TODOS
|
244
|
+
- autocomplete/_opsk
|
271
245
|
- autocomplete/opsk_bash_completion
|
272
246
|
- bin/opsk
|
273
247
|
- docs/chef.md
|
@@ -280,14 +254,13 @@ files:
|
|
280
254
|
- img/puppet-cycle.png
|
281
255
|
- img/puppet-layout.png
|
282
256
|
- lib/opskeleton.rb
|
257
|
+
- lib/opskeleton/analyze.rb
|
283
258
|
- lib/opskeleton/bump.rb
|
284
259
|
- lib/opskeleton/clean.rb
|
285
260
|
- lib/opskeleton/commit.rb
|
286
261
|
- lib/opskeleton/deploy_bintray.rb
|
287
262
|
- lib/opskeleton/deploy_s3.rb
|
288
263
|
- lib/opskeleton/deploy_scp.rb
|
289
|
-
- lib/opskeleton/dockerize.rb
|
290
|
-
- lib/opskeleton/generate_chef.rb
|
291
264
|
- lib/opskeleton/generate_puppet.rb
|
292
265
|
- lib/opskeleton/git.rb
|
293
266
|
- lib/opskeleton/module.rb
|
@@ -295,25 +268,12 @@ files:
|
|
295
268
|
- lib/opskeleton/push.rb
|
296
269
|
- lib/opskeleton/thorable.rb
|
297
270
|
- lib/opskeleton/uncommited.rb
|
271
|
+
- lib/opskeleton/update.rb
|
298
272
|
- lib/opskeleton/version.rb
|
299
273
|
- opskeleton.gemspec
|
300
274
|
- templates/LICENSE-2.0.txt
|
301
275
|
- templates/README.erb
|
302
|
-
- templates/chef/Cheffile
|
303
|
-
- templates/chef/Gemfile.erb
|
304
|
-
- templates/chef/Rakefile.erb
|
305
|
-
- templates/chef/boot.sh
|
306
|
-
- templates/chef/dna.json.erb
|
307
|
-
- templates/chef/environments/dev.rb
|
308
|
-
- templates/chef/gitignore
|
309
|
-
- templates/chef/opsk.yaml
|
310
|
-
- templates/chef/roles.erb
|
311
|
-
- templates/chef/run.sh
|
312
|
-
- templates/chef/solo.rb
|
313
|
-
- templates/chef/ubuntu_docker.erb
|
314
|
-
- templates/chef/vagrant.erb
|
315
276
|
- templates/clean.yaml
|
316
|
-
- templates/fig.yml.erb
|
317
277
|
- templates/gitignore
|
318
278
|
- templates/hiera.yaml
|
319
279
|
- templates/hiera_vagrant.yaml
|
@@ -338,7 +298,6 @@ files:
|
|
338
298
|
- templates/ruby-gemset.erb
|
339
299
|
- templates/ruby-version.erb
|
340
300
|
- templates/spec.erb
|
341
|
-
- test/chef_package_test.rb
|
342
301
|
- test/git_test.rb
|
343
302
|
- test/puppet_package_test.rb
|
344
303
|
- test/test_helper.rb
|
@@ -361,12 +320,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
361
320
|
version: '0'
|
362
321
|
requirements: []
|
363
322
|
rubyforge_project:
|
364
|
-
rubygems_version: 2.
|
323
|
+
rubygems_version: 2.4.8
|
365
324
|
signing_key:
|
366
325
|
specification_version: 4
|
367
|
-
summary:
|
326
|
+
summary: Managing services lifecycle from Development to production using Vagrant
|
327
|
+
and Puppet
|
368
328
|
test_files:
|
369
|
-
- test/chef_package_test.rb
|
370
329
|
- test/git_test.rb
|
371
330
|
- test/puppet_package_test.rb
|
372
331
|
- test/test_helper.rb
|
data/lib/opskeleton/dockerize.rb
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
module Opsk
|
2
|
-
class Dockerize < Thor::Group
|
3
|
-
include Thorable, Thor::Actions
|
4
|
-
|
5
|
-
argument :from, :type => :string, :desc => 'Which source image to use'
|
6
|
-
argument :os_type, :type=> :string, :desc => 'Flavor of container Ubuntu/Centos'
|
7
|
-
|
8
|
-
|
9
|
-
desc 'Creates a docker image using the current opsk sandbox'
|
10
|
-
|
11
|
-
def validate
|
12
|
-
check_root
|
13
|
-
end
|
14
|
-
|
15
|
-
|
16
|
-
def create_dockerfiles
|
17
|
-
empty_directory('dockerfiles')
|
18
|
-
machines.each {|m|
|
19
|
-
empty_directory("dockerfiles/#{m}/")
|
20
|
-
template("templates/#{type_of}/docker/#{os_type}_docker.erb", "dockerfiles/#{m}/Dockerfile")
|
21
|
-
}
|
22
|
-
end
|
23
|
-
|
24
|
-
def fig
|
25
|
-
template("templates/fig.yml.erb", 'fig.yml')
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
end
|
@@ -1,85 +0,0 @@
|
|
1
|
-
module Opsk
|
2
|
-
class GenerateChef < Thor::Group
|
3
|
-
include Thorable, Thor::Actions
|
4
|
-
|
5
|
-
argument :name, :type => :string, :desc => 'project name'
|
6
|
-
argument :box, :type => :string, :desc => 'Vagrant box type'
|
7
|
-
class_option :box_url, :type=> :string, :desc => 'vagrant box url'
|
8
|
-
class_option :os_type, :type=> :string, :desc => 'Operating system type (bsd/linux)'
|
9
|
-
class_option :bench_enable, :type=> :boolean, :desc => 'Control if to enable benchmarking support'
|
10
|
-
|
11
|
-
desc 'Generate a Vagrant, Chef librarian and fpm project'
|
12
|
-
|
13
|
-
def path
|
14
|
-
"#{name}-sandbox"
|
15
|
-
end
|
16
|
-
|
17
|
-
def create_vagrant_file
|
18
|
-
empty_directory(path)
|
19
|
-
template('templates/chef/vagrant.erb', "#{path}/Vagrantfile")
|
20
|
-
end
|
21
|
-
|
22
|
-
def create_gemfile
|
23
|
-
template('templates/chef/Gemfile.erb', "#{path}/Gemfile")
|
24
|
-
end
|
25
|
-
|
26
|
-
def create_rakefile
|
27
|
-
template('templates/chef/Rakefile.erb', "#{path}/Rakefile")
|
28
|
-
end
|
29
|
-
|
30
|
-
def create_version
|
31
|
-
template('templates/chef/opsk.yaml', "#{path}/opsk.yaml")
|
32
|
-
end
|
33
|
-
|
34
|
-
def create_rvmrc
|
35
|
-
remove_file("#{path}/.rvmrc")
|
36
|
-
template('templates/ruby-gemset.erb', "#{path}/.ruby-gemset")
|
37
|
-
template('templates/ruby-version.erb', "#{path}/.ruby-version")
|
38
|
-
end
|
39
|
-
|
40
|
-
def create_environment
|
41
|
-
empty_directory("#{path}/environments")
|
42
|
-
copy_file('templates/chef/environments/dev.rb', "#{path}/environments/dev.rb")
|
43
|
-
end
|
44
|
-
|
45
|
-
def create_chef_base
|
46
|
-
empty_directory("#{path}/static-cookbooks/")
|
47
|
-
copy_file('templates/chef/Cheffile', "#{path}/Cheffile")
|
48
|
-
empty_directory("#{path}/roles/")
|
49
|
-
template('templates/chef/roles.erb', "#{path}/roles/#{name}.rb")
|
50
|
-
template('templates/chef/dna.json.erb', "#{path}/dna.json")
|
51
|
-
copy_file('templates/chef/run.sh', "#{path}/run.sh")
|
52
|
-
copy_file('templates/chef/solo.rb', "#{path}/solo.rb")
|
53
|
-
copy_file('templates/chef/boot.sh', "#{path}/boot.sh")
|
54
|
-
chmod("#{path}/run.sh", 0755)
|
55
|
-
chmod("#{path}/boot.sh", 0755)
|
56
|
-
end
|
57
|
-
|
58
|
-
def readme
|
59
|
-
template('templates/README.erb', "#{path}/README.md")
|
60
|
-
copy_file('templates/LICENSE-2.0.txt',"#{path}/LICENSE-2.0.txt")
|
61
|
-
end
|
62
|
-
|
63
|
-
def travis
|
64
|
-
template('templates/parent/travis.erb', "#{path}/.travis.yml")
|
65
|
-
end
|
66
|
-
|
67
|
-
def server_spec
|
68
|
-
empty_directory("#{path}/spec")
|
69
|
-
template('templates/parent/spec/spec_helper.erb', "#{path}/spec/spec_helper.rb")
|
70
|
-
directory('templates/parent/spec/default', "#{path}/spec/default")
|
71
|
-
end
|
72
|
-
|
73
|
-
def git
|
74
|
-
if(!File.exists?("#{path}/.git"))
|
75
|
-
copy_file('templates/gitignore', "#{path}/.gitignore")
|
76
|
-
inside(path) do
|
77
|
-
run('git init .')
|
78
|
-
run('git add -A')
|
79
|
-
run("git commit -m 'initial sandbox import'")
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
end
|
85
|
-
end
|