dapp 0.2.4 → 0.2.6

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
- NWVjYjY0MmM4ZDBlYzIyMDJmNWM0YjkxNDY0ZmUxN2VhZDZhNzZjMw==
4
+ MTIyNTY4OTdmNjMxOGJjYzE1NmI2ZmRhNGQ5ZmQ1YzAyNzQ1YWU3ZA==
5
5
  data.tar.gz: !binary |-
6
- MjBiNDMyMmQ1NmY5MTQxMTU0YWQ3NWI5OWEyNjNlMDM2OTc4YzhlYw==
6
+ YWViZjQ0NjA5ZWNlYzYwMGQ5MDU2MDZjOGE3NTc5MDczNDFjNGNiMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZjE4Y2ZlNDI1ZjU3MzczMTQ0NzJlNjI1NWYzMGNlZjI1ZTMyYTBlNjk0NDAw
10
- OWE5OTExYjIxODU3Y2Q3YzMzMjRmN2FlYzJmMTYwMzcyYzdlMDc1NWQzNDcx
11
- YWZmN2E4MTgwZjIxOTllYTU1Nzk5MDk4OWRhZTY0M2Y4YzYxZTI=
9
+ MDRiOTcwMDRiZDc1YzNhZTQ5NDM0NzFkNTRiMzZmM2YyNGQ2ZjdkMWUyMjc1
10
+ OTY1ZDBjMGY2Y2VhMTkyMjhiOTIwMGRhYjE4YzU4YzgzYTlmODNhMzdkZWQ5
11
+ MGIyYzQ2NDI4MmI3MGEyYzU5MThlNTM5OWNlZGY5NDk3NDA3YzI=
12
12
  data.tar.gz: !binary |-
13
- NzVmY2ZlNjdmMzVjZmI0Y2FhNzdhZTY2OGM5NDljOGQ1NDZlMmFiYzNiYzk5
14
- NWIyMWI1MWU3MDllMjY2YjUyOTRlZjAyM2JhZmMxZWI1YmQ2NWY2NmU5MjNi
15
- ZjI4ZTNkYjE1ZTdkNWMzMzU5ODA2MTE4YmE0MjhmZTgzYTJlYzg=
13
+ Njc0ZTllM2NjMjA1YjI0ZTY4NDU2Mjk1M2JlYWQzNjM3NWY1OTcxZTU5ODAz
14
+ MmM2NTQwOWQwMjk2ZDAwODY0ODVmYTYxYmE5YWU2MWMzMmYwYWMzOTIyZjE3
15
+ ZTg5YmM3NjgyYmYzOGU3NDJkOGNmNDIwYmQ4NmFlMGQxZmM0Y2Q=
@@ -53,7 +53,6 @@ require 'dapp/build/stage/infra_install'
53
53
  require 'dapp/build/stage/infra_setup'
54
54
  require 'dapp/build/stage/app_install'
55
55
  require 'dapp/build/stage/app_setup'
56
- require 'dapp/build/stage/chef_cookbooks'
57
56
  require 'dapp/build/stage/source_1_archive'
58
57
  require 'dapp/build/stage/source_1'
59
58
  require 'dapp/build/stage/source_2'
@@ -6,14 +6,10 @@ module Dapp
6
6
  MAX_PATCH_SIZE = 1024 * 1024
7
7
 
8
8
  def initialize(application, next_stage)
9
- @prev_stage = ChefCookbooks.new(application, self)
9
+ @prev_stage = AppSetup.new(application, self)
10
10
  super
11
11
  end
12
12
 
13
- def prev_source_stage
14
- prev_stage.prev_stage.prev_stage
15
- end
16
-
17
13
  def next_source_stage
18
14
  next_stage
19
15
  end
@@ -12,8 +12,8 @@ module Dapp
12
12
  metadata.json
13
13
  recipes/%{stage}.rb
14
14
  recipes/*_%{stage}.rb
15
- files/default/%{stage}/*
16
- templates/default/%{stage}/*
15
+ files/%{stage}/*
16
+ templates/%{stage}/*
17
17
  ).freeze
18
18
 
19
19
  DEFAULT_CHEFDK_IMAGE = 'dappdeps/chefdk:0.15.16-3'.freeze # TODO: config, DSL, DEFAULT_CHEFDK_IMAGE
@@ -37,17 +37,6 @@ module Dapp
37
37
  end
38
38
  end
39
39
 
40
- def chef_cookbooks_checksum
41
- stage_cookbooks_checksum(:chef_cookbooks)
42
- end
43
-
44
- def chef_cookbooks(image)
45
- image.add_commands(
46
- "mkdir -p /usr/share/dapp/chef_repo",
47
- "cp -a #{container_cookbooks_vendor_path} /usr/share/dapp/chef_repo/cookbooks"
48
- )
49
- end
50
-
51
40
  private
52
41
 
53
42
  def project_name
@@ -89,11 +78,9 @@ module Dapp
89
78
  to_runlist_entrypoint[name, stage]
90
79
  end.compact)
91
80
 
92
- project_main_entry = to_runlist_entrypoint[project_name, stage]
93
- res << project_main_entry if project_main_entry
94
-
95
- res.concat(application.config._app_runlist.map do |app_component|
96
- to_runlist_entrypoint[project_name, [app_component, stage].join('_')]
81
+ res.concat(application.config._app_runlist.map(&:_name).map do |name|
82
+ subname_parts = name.split(project_name, 2)[1].split('-')
83
+ to_runlist_entrypoint[project_name, [*subname_parts, stage].join('_')]
97
84
  end.compact)
98
85
  end
99
86
  end
@@ -136,18 +123,11 @@ module Dapp
136
123
  else
137
124
  install_cookbooks
138
125
 
139
- if stage == :chef_cookbooks
140
- checksum = cookbooks_checksum
141
- else
142
- checksum = application.hashsum [
143
- _paths_checksum(stage_cookbooks_vendored_paths(stage, with_files: true)),
144
- *application.config._chef._modules,
145
- stage == :infra_install ? chefdk_image : nil
146
- ].compact
126
+ application.hashsum([_paths_checksum(stage_cookbooks_vendored_paths(stage, with_files: true)),
127
+ *application.config._chef._modules,
128
+ stage == :infra_install ? chefdk_image : nil].compact).tap do |checksum|
129
+ stage_cookbooks_checksum_path(stage).write "#{checksum}\n"
147
130
  end
148
-
149
- stage_cookbooks_checksum_path(stage).write "#{checksum}\n"
150
- checksum
151
131
  end
152
132
  end
153
133
 
@@ -197,7 +177,6 @@ module Dapp
197
177
  '--volume /etc:/etc:ro',
198
178
  '--volume /usr:/usr:ro',
199
179
  '--volume /lib:/lib:ro',
200
- '--volume /lib64:/lib64:ro',
201
180
  '--volume /home:/home',
202
181
  '--volume /tmp:/tmp',
203
182
  ("--volume #{ssh_auth_socket_path.dirname}:#{ssh_auth_socket_path.dirname}" if ssh_auth_socket_path),
@@ -244,10 +223,6 @@ module Dapp
244
223
  application.build_path('chef', 'vendored_cookbooks').join(*path)
245
224
  end
246
225
 
247
- def container_cookbooks_vendor_path(*path)
248
- application.container_build_path('chef', 'vendored_cookbooks').join(*path)
249
- end
250
-
251
226
  def stage_build_path(stage, *path)
252
227
  application.build_path(application.config._name, stage).join(*path)
253
228
  end
@@ -11,13 +11,6 @@ module Dapp
11
11
  image.add_commands(*application.config._shell.public_send("_#{m}"))
12
12
  end
13
13
  end
14
-
15
- def chef_cookbooks_checksum
16
- []
17
- end
18
-
19
- def chef_cookbooks(_image)
20
- end
21
14
  end
22
15
  end
23
16
  end
@@ -61,21 +61,12 @@ module Dapp
61
61
  @_apps.empty? ? [self] : @_apps.flatten
62
62
  end
63
63
 
64
- def _app_chain
65
- @_app_chain ||= (_parent ? _parent._app_chain : []) + [self]
66
- end
67
-
68
64
  def _app_runlist
69
- _app_chain.map(&:_name).map do |name|
70
- if subname = name.split("#{_root_app._name}-", 2)[1]
71
- subname_parts = subname.split('-')
72
- subname_parts.join('_') if subname_parts.any?
73
- end
74
- end.compact
65
+ @_app_runlist ||= (_parent ? _parent._app_runlist : []) + [self]
75
66
  end
76
67
 
77
68
  def _root_app
78
- _app_chain.first
69
+ _app_runlist.first
79
70
  end
80
71
 
81
72
  private
@@ -2,7 +2,7 @@ module Dapp
2
2
  module Config
3
3
  # Docker
4
4
  class Docker
5
- attr_reader :_volume, :_expose, :_env, :_label, :_cmd, :_onbuild, :_workdir, :_user, :_entrypoint
5
+ attr_reader :_volume, :_expose, :_env, :_label, :_cmd, :_onbuild, :_workdir, :_user
6
6
  attr_reader :_from_cache_version
7
7
 
8
8
  def initialize
@@ -27,12 +27,12 @@ module Dapp
27
27
  @_expose.concat(args)
28
28
  end
29
29
 
30
- def env(*args)
31
- @_env.concat(args)
30
+ def env(**options)
31
+ @_env.concat(options_to_args(options))
32
32
  end
33
33
 
34
- def label(*args)
35
- @_label.concat(args)
34
+ def label(**options)
35
+ @_label.concat(options_to_args(options))
36
36
  end
37
37
 
38
38
  def cmd(*args)
@@ -51,10 +51,6 @@ module Dapp
51
51
  @_user = val
52
52
  end
53
53
 
54
- def entrypoint(*cmd_with_args)
55
- @_entrypoint = cmd_with_args.flatten
56
- end
57
-
58
54
  def _from
59
55
  @_from || raise(Error::Config, code: :docker_from_not_defined)
60
56
  end
@@ -68,14 +64,19 @@ module Dapp
68
64
  cmd: _cmd,
69
65
  onbuild: _onbuild,
70
66
  workdir: _workdir,
71
- user: _user,
72
- entrypoint: _entrypoint
67
+ user: _user
73
68
  }
74
69
  end
75
70
 
76
71
  def clone
77
72
  Marshal.load(Marshal.dump(self))
78
73
  end
74
+
75
+ private
76
+
77
+ def options_to_args(options)
78
+ options.map {|key, value| "#{key.upcase}=#{value}" }
79
+ end
79
80
  end
80
81
  end
81
82
  end
@@ -30,7 +30,7 @@ module Dapp
30
30
  shellout(*args, **kwargs).tap(&:error!)
31
31
  rescue ::Mixlib::ShellOut::ShellCommandFailed => e
32
32
  raise Error::Shellout, code: Trivia.class_to_lowercase(e.class),
33
- data: { stream: stream.show }
33
+ data: { stream: stream.inspect }
34
34
  end
35
35
 
36
36
  def self.included(base)
@@ -12,8 +12,8 @@ module Dapp
12
12
  buffer << string
13
13
  end
14
14
 
15
- def show
16
- buffer.join.strip
15
+ def inspect
16
+ buffer.join
17
17
  end
18
18
  end
19
19
 
@@ -40,7 +40,7 @@ module Dapp
40
40
  # Error
41
41
  class Error < Base
42
42
  def format_string(str)
43
- "#{Paint.paint_string(super.strip, :warning)}\n"
43
+ Paint.paint_string(super, :warning)
44
44
  end
45
45
  end
46
46
  end
@@ -38,10 +38,6 @@ module Dapp
38
38
  add_change_option(:workdir, value)
39
39
  end
40
40
 
41
- def add_change_entrypoint(value)
42
- add_change_option(:entrypoint, value)
43
- end
44
-
45
41
  def add_change_user(value)
46
42
  add_change_option(:user, value)
47
43
  end
@@ -133,7 +129,7 @@ module Dapp
133
129
 
134
130
  def prepared_change
135
131
  prepared_options_default(change_options) do |k, vals|
136
- if [:cmd, :entrypoint].include? k
132
+ if k == :cmd
137
133
  %(-c '#{k.to_s.upcase} #{Array(vals)}')
138
134
  else
139
135
  Array(vals).map { |v| %(-c "#{k.to_s.upcase} #{v}") }.join(' ')
@@ -1,5 +1,5 @@
1
1
  # Version
2
2
  module Dapp
3
- VERSION = '0.2.4'.freeze
3
+ VERSION = '0.2.6'.freeze
4
4
  BUILD_CACHE_VERSION = 1
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dapp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Stolyarov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-29 00:00:00.000000000 Z
11
+ date: 2016-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mixlib-shellout
@@ -334,7 +334,6 @@ files:
334
334
  - lib/dapp/build/stage/app_install.rb
335
335
  - lib/dapp/build/stage/app_setup.rb
336
336
  - lib/dapp/build/stage/base.rb
337
- - lib/dapp/build/stage/chef_cookbooks.rb
338
337
  - lib/dapp/build/stage/from.rb
339
338
  - lib/dapp/build/stage/infra_install.rb
340
339
  - lib/dapp/build/stage/infra_setup.rb
@@ -1,23 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # ChefCookbooks
5
- class ChefCookbooks < Base
6
- def initialize(application, next_stage)
7
- @prev_stage = AppSetup.new(application, self)
8
- super
9
- end
10
-
11
- def signature
12
- hashsum [prev_stage.signature, *application.builder.chef_cookbooks_checksum]
13
- end
14
-
15
- def image
16
- super do |image|
17
- application.builder.chef_cookbooks(image)
18
- end
19
- end
20
- end # ChefCookbooks
21
- end # Stage
22
- end # Build
23
- end # Dapp