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 +8 -8
- data/lib/dapp.rb +1 -0
- data/lib/dapp/build/stage/chef_cookbooks.rb +23 -0
- data/lib/dapp/build/stage/source_4.rb +5 -1
- data/lib/dapp/builder/chef.rb +27 -4
- data/lib/dapp/builder/shell.rb +7 -0
- data/lib/dapp/helper/shellout.rb +1 -1
- data/lib/dapp/helper/streaming.rb +3 -3
- data/lib/dapp/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NTQ5NzZmNDM5NTE5OWU5ZDcyMmRkZWE4YzU1MDZhNDVkYzI0ZmFlNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZjFlYjI4ZTNmZWY4ODU1ZTcxZTYxYWRlNDhjNTc5ZGQzMzk2NGE1Yw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDEzNmU1NDY0MmIyZGVkYzViNjg5ZGM0YzYyYTU0N2U3NGNiYjA1NmQyNzIy
|
10
|
+
Zjg0NGQyN2Y3ODdlY2RjNTdmNDA4ODdiMDUzZmJkMzEyMTM0MjQ0ZDY4N2Q0
|
11
|
+
MTZmOTkzMDQxMTA5OWQ1ZWNlOWFhY2Y1MjI1MWE5N2VlNDA5ZTI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
Yjc0ZDI5NDhmNDRlMTU2ZjMwZmFiODYzZDk3NjBjYzRkYjMwNTQ0MGRiYTIx
|
14
|
+
MDZlZTcwZDYxMDZmMGI0ZjEzMzQzZTNlM2IwOTFmNWIwNmEyOTE2MzI3YWQ3
|
15
|
+
Y2VhMmI5NzdmN2JkZDA2MjczYjQ4NTJkY2JjNDE5NWRjZmZhNmI=
|
data/lib/dapp.rb
CHANGED
@@ -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 =
|
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
|
data/lib/dapp/builder/chef.rb
CHANGED
@@ -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
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
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
|
data/lib/dapp/builder/shell.rb
CHANGED
data/lib/dapp/helper/shellout.rb
CHANGED
@@ -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.
|
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
|
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
|
data/lib/dapp/version.rb
CHANGED
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
|
+
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-
|
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
|