dapp 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
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