dapp 0.0.4 → 0.0.5

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YTNlMjdkNDQxZTM1ZmMxZTA3NzU4MTIyMGRmZWUwMWFmZmE1MDgwOA==
4
+ N2E1Mzg3YzlmYzUyMDQ2ZDViNDZlMDU3ZDYxOGEyZWEwNzJlYTZhMA==
5
5
  data.tar.gz: !binary |-
6
- ZDdmYmNhYjc4ZjQxMzBhZTE1MzBkN2Y2YjVjOTRlNmNmYTRmNWI2MA==
6
+ OTkzMzA3NzVlNmIyNTk4MjdkMzYxMmJjOWQ4Yjc4OTNjZmEyODljOQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZjM2ODRiZmRlNzM3NTQ2OGE0NjY0OGQzYjlkODIwNjBkNGI3MTYyYTQwZWUy
10
- YTVmZWViZjVmNmVhNWFjOWU1ZWQwNGY1ZGJjNGZmNjA2OTc4NGVjYjcwMGUx
11
- YmZjMTI3MDgwYmY2YzQ1YWJmODZkYThlNTZiMWE5NGIyYjNmMDM=
9
+ YWJhNWIyYTZlOWZkOGY2M2E3ZTA2MDc1NmNlYzhjZGNjNDY3ZmZjMzcxZTZh
10
+ NDZmOGMzMmE1NDllMjE3YTdmZGU1N2UwMzA5ZTI0OGI2MzcxYTMzNjA4Y2My
11
+ NDZiOTE3ODFkM2Y1MTUyYzE5ZmYxZGViNDZmMDljMzk0M2NhOTA=
12
12
  data.tar.gz: !binary |-
13
- Y2VhMTRlYzg4MGY2ODJkYzU5YjIyNWNjOGIzN2NiMDhhMmUxZDA4MTBmNjI2
14
- NGE0MzBhMDM1OWJlNTBmZTdjNDczZDdmODljZTkwMDdiNzE0NWM3YTQzMGMz
15
- ZjA2ZTRlZjAzZjBmYTg2ZWQ3MTBmOGRiYmIzMWQ5ZDE1MWU1NDA=
13
+ Y2U4NWNjZmM5YmQ4MGY3MzJjOTEzZGQ3NGUxNTBhZWI1NzE3ZjVjYjA0MmFi
14
+ MzQzNjBmMDhhMDFlZmI1ZWI0ZDAwNDY4Yjc1MDY3ZTEwZDM5NDhlY2EzYTE0
15
+ NjdkOTlkMmNiZGI2NTg3NTJjM2YzNmI5ZDc4NGU0NDI2MzNlYmU=
@@ -186,13 +186,6 @@ module Dapp
186
186
  end
187
187
  # rubocop:enable Metrics/AbcSize
188
188
 
189
- def tag(image_id, name: nil, tag: nil, registry: nil)
190
- return unless name && tag
191
-
192
- new = { name: name, tag: tag, registry: registry }
193
- docker.tag image_id, new
194
- end
195
-
196
189
  def register_atomizer(atomizer)
197
190
  atomizers << atomizer
198
191
  end
@@ -4,43 +4,43 @@ module Dapp
4
4
  module CascadeTagging
5
5
  # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
6
6
  def tag_cascade(image_id)
7
- return unless opts[:cascade_tagging]
7
+ return unless opts[:tag_cascade]
8
8
 
9
9
  log 'Applying cascade tagging'
10
10
 
11
11
  opts[:build_history_length] ||= 10
12
12
 
13
- i = {
13
+ spec = {
14
14
  name: name,
15
15
  tag: home_branch,
16
16
  registry: opts[:docker_registry]
17
17
  }
18
18
 
19
19
  # return if nothing changed
20
- return if image_id == docker.image_id(i)
20
+ return if image_id == docker.image_id(spec)
21
21
 
22
22
  # remove excess tags
23
- tags_to_remove = docker.images(name: i[:name], registry: i[:registry])
24
- .map { |image| image[:tag] }
25
- .select { |tag| tag.start_with?("#{i[:tag]}_") && tag.sub(/^#{i[:tag]}_/, '').to_i >= opts[:build_history_length] }
23
+ tags_to_remove = docker.images(name: spec[:name], registry: spec[:registry])
24
+ tags_to_remove.map! { |image| image[:tag] }
25
+ tags_to_remove.select! { |tag| tag.start_with?("#{spec[:tag]}_") && tag.sub(/^#{spec[:tag]}_/, '').to_i >= opts[:build_history_length] }
26
26
  tags_to_remove.each do |tag_to_remove|
27
- docker.rmi i.merge(tag: tag_to_remove)
27
+ docker.rmi spec.merge(tag: tag_to_remove)
28
28
  end
29
29
 
30
30
  # shift old images: 1 -> 2, 2 -> 3, ..., n -> n+1
31
31
  (opts[:build_history_length] - 1).downto(1).each do |n|
32
- origin = i.merge(tag: "#{i[:tag]}_#{n}")
32
+ origin = spec.merge(tag: "#{spec[:tag]}_#{n}")
33
33
 
34
34
  if docker.image_exist?(**origin)
35
- docker.tag origin, i.merge(tag: "#{i[:tag]}_#{n + 1}")
35
+ docker.tag origin, spec.merge(tag: "#{spec[:tag]}_#{n + 1}")
36
36
  end
37
37
  end
38
38
 
39
39
  # shift top -> 1
40
- docker.tag i, i.merge(tag: "#{i[:tag]}_1") if docker.image_exist?(**i)
40
+ docker.tag spec, spec.merge(tag: "#{spec[:tag]}_1") if docker.image_exist?(**spec)
41
41
 
42
42
  # tag top
43
- docker.tag image_id, i
43
+ docker.tag image_id, spec
44
44
  end
45
45
  # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
46
46
  end
@@ -12,16 +12,14 @@ module Dapp
12
12
  # run chef-solo for extra dapps
13
13
  extra_dapps.each do |extra_dapp|
14
14
  if dapp_chef_cookbooks_artifact.exist_in_step? "cookbooks/#{extra_dapp}/recipes/#{step}.rb", step
15
- # FIXME: env ???
16
- docker.run "chef-solo -c /usr/share/dapp/chef_solo.rb -o #{extra_dapp}::#{step},env-#{opts[:basename]}::void", step: step
15
+ docker.run "chef-solo -c /usr/share/dapp/chef_solo.rb -o mdapp-#{extra_dapp}::#{step},dapp-#{opts[:basename]}::void", step: step
17
16
  end
18
17
  end
19
18
 
20
19
  # run chef-solo for app
21
20
  recipe = [opts[:name], step].compact.join '-'
22
- # FIXME: env ???
23
- if dapp_chef_cookbooks_artifact.exist_in_step? "cookbooks/env-#{opts[:basename]}/recipes/#{recipe}.rb", step
24
- docker.run "chef-solo -c /usr/share/dapp/chef_solo.rb -o env-#{opts[:basename]}::#{recipe}", step: step
21
+ if dapp_chef_cookbooks_artifact.exist_in_step? "cookbooks/dapp-#{opts[:basename]}/recipes/#{recipe}.rb", step
22
+ docker.run "chef-solo -c /usr/share/dapp/chef_solo.rb -o dapp-#{opts[:basename]}::#{recipe}", step: step
25
23
  end
26
24
  end
27
25
  end
@@ -41,12 +39,14 @@ module Dapp
41
39
  # init cronicler
42
40
  repo = GitRepo::Chronicler.new(self, 'dapp_cookbooks', build_path: home_branch)
43
41
 
42
+ # verify berks lock
43
+ shellout "berks verify --berksfile=#{home_path 'Berksfile'}"
44
+
44
45
  # vendor cookbooks
45
46
  shellout "berks vendor --berksfile=#{home_path 'Berksfile'} #{repo.chronodir_path 'cookbooks'}", log_verbose: true
46
47
 
47
48
  # create void receipt
48
- # FIXME: env ???
49
- FileUtils.touch repo.chronodir_path 'cookbooks', "env-#{opts[:basename]}", 'recipes', 'void.rb'
49
+ FileUtils.touch repo.chronodir_path 'cookbooks', "dapp-#{opts[:basename]}", 'recipes', 'void.rb'
50
50
 
51
51
  # commit (if smth changed)
52
52
  repo.commit!
@@ -72,8 +72,7 @@ module Dapp
72
72
  def run_chef_solo_for_dapp_common
73
73
  [:prepare, :build, :setup].each do |step|
74
74
  if dapp_chef_cookbooks_artifact.exist_in_step? "cookbooks/dapp-common/recipes/#{step}.rb", step
75
- # FIXME: env ???
76
- docker.run "chef-solo -c /usr/share/dapp/chef_solo.rb -o dapp-common::#{step},env-#{opts[:basename]}::void", step: step
75
+ docker.run "chef-solo -c /usr/share/dapp/chef_solo.rb -o mdapp-common::#{step},dapp-#{opts[:basename]}::void", step: step
77
76
  end
78
77
  end
79
78
  end
@@ -8,16 +8,12 @@ module Dapp
8
8
  registry: opts[:docker_registry]
9
9
  }
10
10
 
11
- if opts[:tag_commit]
12
- log 'Applying git commit tag'
11
+ { commit: 'rev-parse HEAD', branch: 'rev-parse --abbrev-ref HEAD' }.each do |tag_type, git_command|
12
+ next unless opts[:"tag_#{tag_type}"]
13
13
 
14
- docker.tag image_id, spec.merge(tag: shellout("git -C #{home_path} rev-parse HEAD").stdout.strip)
15
- end
16
-
17
- if opts[:tag_branch]
18
- log 'Applying git branch tag'
14
+ log "Applying git #{tag_type} tag"
19
15
 
20
- docker.tag image_id, spec.merge(tag: shellout("git -C #{home_path} rev-parse --abbrev-ref HEAD").stdout.strip)
16
+ docker.tag image_id, spec.merge(tag: shellout("git -C #{home_path} #{git_command}").stdout.strip)
21
17
  end
22
18
  end
23
19
  end
@@ -20,11 +20,11 @@ BANNER
20
20
  class << self
21
21
  def option(name, args)
22
22
  if args.delete :builder_opt
23
- args[:proc] ||= if args[:boolean]
24
- proc { Dapp::Builder.default_opts[name] = true }
25
- else
26
- proc { |v| Dapp::Builder.default_opts[name] = v }
27
- end
23
+ args[:proc] = if args[:boolean]
24
+ proc { Dapp::Builder.default_opts[name] = true }
25
+ else
26
+ proc { |v| Dapp::Builder.default_opts[name] = v }
27
+ end
28
28
  end
29
29
 
30
30
  super(name, args)
@@ -82,8 +82,8 @@ BANNER
82
82
  boolean: true,
83
83
  builder_opt: true
84
84
 
85
- option :cascade_tagging,
86
- long: '--cascade-tagging',
85
+ option :tag_cascade,
86
+ long: '--tag-cascade',
87
87
  description: 'Use cascade tagging',
88
88
  boolean: true,
89
89
  builder_opt: true
@@ -103,7 +103,6 @@ BANNER
103
103
  option :tag,
104
104
  long: '--tag TAG',
105
105
  description: 'Add tag (can be used one or more times)',
106
- on: :tail,
107
106
  proc: proc { |v| (Dapp::Builder.default_opts[:tags] ||= []) << v }
108
107
 
109
108
  option :tag_commit,
@@ -1,3 +1,3 @@
1
1
  module Dapp
2
- VERSION = '0.0.4'.freeze
2
+ VERSION = '0.0.5'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dapp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Stolyarov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-04-03 00:00:00.000000000 Z
12
+ date: 2016-04-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mixlib-shellout