dapp 0.1.4 → 0.1.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
- MmRiODBmZjM2MTk5NWQ5YmYwZjk4Yjg3OGEzOTVmNjc1M2VkOGQ4YQ==
4
+ NTQ5NzZmNDM5NTE5OWU5ZDcyMmRkZWE4YzU1MDZhNDVkYzI0ZmFlNA==
5
5
  data.tar.gz: !binary |-
6
- Zjg3MjhhMWRmOTUyZjYwNjNjODBkOWFiZGU3NjRhM2JiNDFlYTU3YQ==
6
+ ZjFlYjI4ZTNmZWY4ODU1ZTcxZTYxYWRlNDhjNTc5ZGQzMzk2NGE1Yw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZjE2ODY2MDIyM2UxMGE5OGY4ZmYxNWI2ODk0ZWRjYTA2ODAzYmUzMjc2MDRl
10
- MmI0NzM4MTZlNjk5ZTkwNjgxYjE0NjZiNDZkYzUxYTc3OTgzOGRkM2RiYzRl
11
- MzJhNDU4ZmZmMzExZWJhMzdlMWJlZWEyZDNhNzU0ZTg5NmI5OGQ=
9
+ MDEzNmU1NDY0MmIyZGVkYzViNjg5ZGM0YzYyYTU0N2U3NGNiYjA1NmQyNzIy
10
+ Zjg0NGQyN2Y3ODdlY2RjNTdmNDA4ODdiMDUzZmJkMzEyMTM0MjQ0ZDY4N2Q0
11
+ MTZmOTkzMDQxMTA5OWQ1ZWNlOWFhY2Y1MjI1MWE5N2VlNDA5ZTI=
12
12
  data.tar.gz: !binary |-
13
- NjRjYzk5MzExOTY3ZGNhYzJiNmI0NTg2ZGFlMDM2MWUwMWFkMTViNDFhZjI4
14
- YWFlZmI2NDc2MzM3ZDMwMGNjYjIwNmM5MDk5ZmNlMjk1NTY2ZWMwMjhiYWVl
15
- OTQ1ZWYwYTE1Mjc4NDc1ZjgzZDdmNDk3OTgwZTU4OWVmNWRiNjE=
13
+ Yjc0ZDI5NDhmNDRlMTU2ZjMwZmFiODYzZDk3NjBjYzRkYjMwNTQ0MGRiYTIx
14
+ MDZlZTcwZDYxMDZmMGI0ZjEzMzQzZTNlM2IwOTFmNWIwNmEyOTE2MzI3YWQ3
15
+ Y2VhMmI5NzdmN2JkZDA2MjczYjQ4NTJkY2JjNDE5NWRjZmZhNmI=
@@ -52,6 +52,7 @@ require 'dapp/build/stage/infra_install'
52
52
  require 'dapp/build/stage/infra_setup'
53
53
  require 'dapp/build/stage/app_install'
54
54
  require 'dapp/build/stage/app_setup'
55
+ require 'dapp/build/stage/chef_cookbooks'
55
56
  require 'dapp/build/stage/source_1_archive'
56
57
  require 'dapp/build/stage/source_1'
57
58
  require 'dapp/build/stage/source_2'
@@ -0,0 +1,23 @@
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
@@ -6,10 +6,14 @@ module Dapp
6
6
  MAX_PATCH_SIZE = 1024 * 1024
7
7
 
8
8
  def initialize(application, next_stage)
9
- @prev_stage = AppSetup.new(application, self)
9
+ @prev_stage = ChefCookbooks.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
+
13
17
  def next_source_stage
14
18
  next_stage
15
19
  end
@@ -37,6 +37,17 @@ 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
+
40
51
  private
41
52
 
42
53
  def project_name
@@ -125,11 +136,18 @@ module Dapp
125
136
  else
126
137
  install_cookbooks
127
138
 
128
- application.hashsum([_paths_checksum(stage_cookbooks_vendored_paths(stage, with_files: true)),
129
- *application.config._chef._modules,
130
- stage == :infra_install ? chefdk_image : nil].compact).tap do |checksum|
131
- stage_cookbooks_checksum_path(stage).write "#{checksum}\n"
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
132
147
  end
148
+
149
+ stage_cookbooks_checksum_path(stage).write "#{checksum}\n"
150
+ checksum
133
151
  end
134
152
  end
135
153
 
@@ -179,6 +197,7 @@ module Dapp
179
197
  '--volume /etc:/etc:ro',
180
198
  '--volume /usr:/usr:ro',
181
199
  '--volume /lib:/lib:ro',
200
+ '--volume /lib64:/lib64:ro',
182
201
  '--volume /home:/home',
183
202
  '--volume /tmp:/tmp',
184
203
  ("--volume #{ssh_auth_socket_path.dirname}:#{ssh_auth_socket_path.dirname}" if ssh_auth_socket_path),
@@ -225,6 +244,10 @@ module Dapp
225
244
  application.build_path('chef', 'vendored_cookbooks').join(*path)
226
245
  end
227
246
 
247
+ def container_cookbooks_vendor_path(*path)
248
+ application.container_build_path('chef', 'vendored_cookbooks').join(*path)
249
+ end
250
+
228
251
  def stage_build_path(stage, *path)
229
252
  application.build_path(application.config._name, stage).join(*path)
230
253
  end
@@ -11,6 +11,13 @@ 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
14
21
  end
15
22
  end
16
23
  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.inspect }
33
+ data: { stream: stream.show }
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 inspect
16
- buffer.join
15
+ def show
16
+ buffer.join.strip
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, :warning)
43
+ "#{Paint.paint_string(super.strip, :warning)}\n"
44
44
  end
45
45
  end
46
46
  end
@@ -1,5 +1,5 @@
1
1
  # Version
2
2
  module Dapp
3
- VERSION = '0.1.4'.freeze
3
+ VERSION = '0.1.5'.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.1.4
4
+ version: 0.1.5
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-27 00:00:00.000000000 Z
11
+ date: 2016-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mixlib-shellout
@@ -334,6 +334,7 @@ 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
337
338
  - lib/dapp/build/stage/from.rb
338
339
  - lib/dapp/build/stage/infra_install.rb
339
340
  - lib/dapp/build/stage/infra_setup.rb