docker-builder 0.1.37 → 0.1.38

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2255579f59a5cfe1a5e1d927c00aee8b7f1202b9
4
- data.tar.gz: 0dfee3c6a95987db55800c0228d71febf642afda
3
+ metadata.gz: 63eb356b5708d5b8e8ced37c1e15e4d7d14f398b
4
+ data.tar.gz: 5b57b4dae9c1d1b5f89632766d9231190dfcb97e
5
5
  SHA512:
6
- metadata.gz: fe2cbc5967ce7caf926dcf6cad392046152951cf5f5d04592c5def566c4f3bd3a96e557ba96cabdd70e2f209bd02e9f20ba5bfa30e729987cfb820f00c96c9b7
7
- data.tar.gz: 4e68e3eba7c39406cadfc2df886507c826dd603335940a4778267934dfc1ad8cf58207e9f7a923dfdbda465ff11f5b1c1568d0574730470c6a8252b9d6e32500
6
+ metadata.gz: f3788f2a6a2fd7b557c659c377f18c0395a3a463348f19cd93930fafa330537327178b97a9027ddd6ddea462dba1db46903688aa836ac21b23c9e0b6b2a74ee9
7
+ data.tar.gz: ac143ecd8d1c3d712660f46ed49539e4c17f749d04effe5961429de8e29ef6e6e847e65a9baa84a50d6315d934835c6d7f78f3ac84444bb12a1d939896c3e1e3
@@ -1,2 +1,2 @@
1
1
  gem build docker-builder.gemspec
2
- gem install ./docker-builder-0.1.37.gem
2
+ gem install ./docker-builder-0.1.38.gem
@@ -54,7 +54,7 @@ module DockerBuilder
54
54
 
55
55
  res['builders'] = []
56
56
 
57
- bi = settings.attributes['build']['base_image']
57
+ bi = settings.properties['build']['base_image']
58
58
  base_image_name = "#{bi['name']}:#{bi['tag']}"
59
59
  builder1 = {
60
60
  pull: false,
@@ -64,7 +64,7 @@ module DockerBuilder
64
64
  }
65
65
 
66
66
  # changes
67
- entrypoint = settings.attributes['build']['entrypoint']
67
+ entrypoint = settings.properties['build']['entrypoint']
68
68
  if entrypoint
69
69
  builder1['changes'] ||= []
70
70
  builder1['changes'] << "ENTRYPOINT #{entrypoint}"
@@ -82,7 +82,7 @@ module DockerBuilder
82
82
  type: "chef-solo",
83
83
  prevent_sudo: true,
84
84
  cookbook_paths: cookbook_paths,
85
- json: settings.attributes['attributes'],
85
+ json: settings.properties['attributes'],
86
86
  run_list: ["recipe[#{settings.name}::#{recipe_name}]"]
87
87
  },
88
88
  ]
@@ -30,7 +30,7 @@ class Manager
30
30
  def self.build_image(server_name, settings=nil)
31
31
  puts "building image for #{server_name}..."
32
32
  #puts "settings: #{settings}"
33
- #puts "debug: #{settings['attributes']}"
33
+ #puts "debug: #{settings['properties']}"
34
34
 
35
35
  #settings = load_settings(server_name)
36
36
 
@@ -169,15 +169,6 @@ class Manager
169
169
  end
170
170
 
171
171
 
172
- # ??? TODO: remove it ?
173
- # run some provision scripts - for chef
174
- bootstrap_type = (settings['install']['bootstrap']['type'] rescue nil)
175
-
176
- # before start
177
- if bootstrap_type && bootstrap_type=='chef'
178
- _bootstrap_container_prepare(settings)
179
- end
180
-
181
172
 
182
173
  ### START && run provision after start
183
174
  start_container(name, settings)
@@ -217,6 +208,11 @@ class Manager
217
208
 
218
209
 
219
210
  def self.start_container(name, settings)
211
+ # prepare before start
212
+ prepare_before_start(settings)
213
+
214
+
215
+
220
216
  # start
221
217
  cmd %Q(docker start #{settings.container_name})
222
218
 
@@ -246,6 +242,34 @@ class Manager
246
242
  assert res, "Container #{container_name} is not running"
247
243
  end
248
244
 
245
+ def self.prepare_before_start(settings)
246
+ puts "prepare_before_start"
247
+
248
+ #
249
+ bootstrap_scripts = (settings['provision']['bootstrap'] rescue [])
250
+
251
+ # before start
252
+ if bootstrap_scripts
253
+ bootstrap_scripts.each do |script|
254
+ if script['type']=='chef'
255
+ _prepare_provision_before_start_chef(settings, script)
256
+ end
257
+ end
258
+ end
259
+
260
+ end
261
+
262
+ def self._prepare_provision_before_start_chef(settings, script)
263
+ puts "_prepare_provision_before_start_chef"
264
+
265
+ require_relative '../../lib/docker_builder/provisioner/provisioner_chef'
266
+
267
+ provisioner = DockerBuilder::Provisioner::ProvisionerChef.new(settings)
268
+ provisioner.copy_config_file
269
+
270
+ end
271
+
272
+
249
273
  def self.setup_container_after_start(settings)
250
274
 
251
275
  # default gateway
@@ -387,13 +411,7 @@ class Manager
387
411
  end
388
412
 
389
413
 
390
- def self._bootstrap_container_prepare(settings)
391
- require_relative '../../lib/docker_builder/provisioner/provisioner_chef'
392
-
393
- provisioner = DockerBuilder::Provisioner::ProvisionerChef.new(settings)
394
- provisioner.copy_config_file
395
414
 
396
- end
397
415
 
398
416
  def self._provision_container_chef_recipe(settings)
399
417
  puts "provisioning container #{settings.container_name}"
@@ -23,7 +23,7 @@ module DockerBuilder
23
23
  create_volumes_dirs(settings)
24
24
 
25
25
  # create service
26
- docker_opts = settings.attributes['docker']
26
+ docker_opts = settings.properties['docker']
27
27
 
28
28
  run_opts = []
29
29
  run_opts << "--network #{docker_opts['swarm_network']}" if docker_opts['swarm_network']
@@ -53,7 +53,7 @@ module DockerBuilder
53
53
  def build_config
54
54
  res = {}
55
55
 
56
- attr = settings.attributes['attributes']
56
+ attr = settings.properties['attributes']
57
57
  res = attr
58
58
 
59
59
  #res = settings.all_attributes
@@ -0,0 +1 @@
1
+
@@ -1,3 +1,3 @@
1
1
  module DockerBuilder
2
- VERSION = "0.1.37"
2
+ VERSION = "0.1.38"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docker-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.37
4
+ version: 0.1.38
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Ivak
@@ -154,6 +154,7 @@ files:
154
154
  - lib/docker_builder/manager_swarm.rb
155
155
  - lib/docker_builder/provisioner/provisioner_chef.rb
156
156
  - lib/docker_builder/server_settings.rb
157
+ - lib/docker_builder/temp.rb
157
158
  - lib/docker_builder/version.rb
158
159
  - lib/templates/example-chef/.chef/knife.rb
159
160
  - lib/templates/example-chef/config.rb.erb