docker-builder 0.1.37 → 0.1.38

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 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