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 +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
|