dapp 0.6.12 → 0.6.13
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 +4 -4
- data/config/en/net_status.yml +1 -1
- data/lib/dapp/application.rb +9 -1
- data/lib/dapp/build/stage/base.rb +9 -2
- data/lib/dapp/build/stage/from.rb +1 -5
- data/lib/dapp/builder/chef.rb +4 -4
- data/lib/dapp/cli/mrproper.rb +4 -0
- data/lib/dapp/config/application.rb +8 -0
- data/lib/dapp/project/command/mrproper.rb +22 -12
- data/lib/dapp/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac903d46c75ee71f1711f2a080a716189ed2f98e
|
4
|
+
data.tar.gz: 70bb61f90a9766f85fdf80cf20fad99d35cbdee2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 615cf91696adb6ff687070cce23a2db2151df9d7d3c74934845444f879f246c5d8bc53e59759425be0b1f468cbd2e59593af8288cde1c11c50de1f228387af57
|
7
|
+
data.tar.gz: a8693e0f43ee95b3260903414515b884a6450ad9904eb7bf7999db9b5463feced29562fc7ade3867c60dc1e08d7ffa9a0ee6b9e9aae9756940fa103673306180
|
data/config/en/net_status.yml
CHANGED
@@ -24,7 +24,7 @@ en:
|
|
24
24
|
dappfile_not_found: "Dappfile not found!"
|
25
25
|
cannot_run_ssh_agent: "Cannot run ssh-agent"
|
26
26
|
ssh_key_not_found: "Ssh key '%{path}' not exist!"
|
27
|
-
mrproper_required_option: "Expected command option '--
|
27
|
+
mrproper_required_option: "Expected command option '--improper-dev-mode-cache', '--improper-cache-version-stages' or '--all'!"
|
28
28
|
config:
|
29
29
|
builder_type_conflict: 'Conflict between builder types!'
|
30
30
|
builder_type_unsupported: "Defined unsupported builder type `%{type}`!"
|
data/lib/dapp/application.rb
CHANGED
@@ -30,7 +30,7 @@ module Dapp
|
|
30
30
|
begin
|
31
31
|
last_stage.build!
|
32
32
|
ensure
|
33
|
-
last_stage.save_in_cache! if last_stage.image.built? ||
|
33
|
+
last_stage.save_in_cache! if last_stage.image.built? || dev_mode?
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
@@ -126,6 +126,14 @@ module Dapp
|
|
126
126
|
config._docker._from.nil?
|
127
127
|
end
|
128
128
|
|
129
|
+
def dev_mode?
|
130
|
+
config._dev_mode || project.dev_mode?
|
131
|
+
end
|
132
|
+
|
133
|
+
def build_cache_version
|
134
|
+
[Dapp::BUILD_CACHE_VERSION, dev_mode? ? 1 : 0]
|
135
|
+
end
|
136
|
+
|
129
137
|
protected
|
130
138
|
|
131
139
|
def should_be_built?
|
@@ -80,6 +80,7 @@ module Dapp
|
|
80
80
|
image_add_tmp_volumes(:build)
|
81
81
|
image.add_service_change_label dapp: application.stage_dapp_label
|
82
82
|
image.add_service_change_label 'dapp-cache-version'.to_sym => Dapp::BUILD_CACHE_VERSION
|
83
|
+
image.add_service_change_label 'dapp-dev-mode'.to_sym => true if application.dev_mode?
|
83
84
|
|
84
85
|
if application.project.ssh_auth_sock
|
85
86
|
image.add_volume "#{application.project.ssh_auth_sock}:/tmp/dapp-ssh-agent"
|
@@ -91,7 +92,7 @@ module Dapp
|
|
91
92
|
(application.config.public_send("_#{type}_dir")._store +
|
92
93
|
from_image.labels.select { |l, _| l == "dapp-#{type}-dir" }.map { |_, value| value.split(';') }.flatten).each do |path|
|
93
94
|
absolute_path = File.expand_path(File.join('/', path))
|
94
|
-
tmp_path = application.send("#{type}_path", absolute_path[1..-1]).tap(&:mkpath)
|
95
|
+
tmp_path = application.send("#{type}_path", 'mount', absolute_path[1..-1]).tap(&:mkpath)
|
95
96
|
image.add_volume "#{tmp_path}:#{absolute_path}"
|
96
97
|
end
|
97
98
|
end
|
@@ -112,7 +113,13 @@ module Dapp
|
|
112
113
|
if empty?
|
113
114
|
prev_stage.signature
|
114
115
|
else
|
115
|
-
|
116
|
+
args = []
|
117
|
+
args << prev_stage.signature unless prev_stage.nil?
|
118
|
+
args << application.build_cache_version
|
119
|
+
args << builder_checksum
|
120
|
+
args.concat(dependencies.flatten)
|
121
|
+
|
122
|
+
hashsum args
|
116
123
|
end
|
117
124
|
end
|
118
125
|
|
@@ -3,12 +3,8 @@ module Dapp
|
|
3
3
|
module Stage
|
4
4
|
# From
|
5
5
|
class From < Base
|
6
|
-
def signature
|
7
|
-
hashsum [*dependencies.flatten]
|
8
|
-
end
|
9
|
-
|
10
6
|
def dependencies
|
11
|
-
[from_image_name, application.config._docker._from_cache_version
|
7
|
+
[from_image_name, application.config._docker._from_cache_version]
|
12
8
|
end
|
13
9
|
|
14
10
|
protected
|
data/lib/dapp/builder/chef.rb
CHANGED
@@ -156,7 +156,7 @@ module Dapp
|
|
156
156
|
application.hashsum [
|
157
157
|
application.paths_content_hashsum(paths),
|
158
158
|
*paths.map { |p| p.relative_path_from(berksfile.home_path).to_s }.sort,
|
159
|
-
(berksfile_lock_checksum unless application.
|
159
|
+
(berksfile_lock_checksum unless application.dev_mode?),
|
160
160
|
*enabled_recipes,
|
161
161
|
*enabled_modules
|
162
162
|
].compact
|
@@ -197,7 +197,7 @@ module Dapp
|
|
197
197
|
|
198
198
|
application.project.log_secondary_process(application.project.t(code: process_code)) do
|
199
199
|
before_vendor_commands = [].tap do |commands|
|
200
|
-
unless application.
|
200
|
+
unless application.dev_mode? || chef_cookbooks_stage
|
201
201
|
commands.push(
|
202
202
|
['if [ ! -f Berksfile.lock ] ; then ',
|
203
203
|
"echo \"Berksfile.lock not found\" 1>&2 ; ",
|
@@ -208,7 +208,7 @@ module Dapp
|
|
208
208
|
end
|
209
209
|
|
210
210
|
after_vendor_commands = [].tap do |commands|
|
211
|
-
if application.
|
211
|
+
if application.dev_mode?
|
212
212
|
commands.push(
|
213
213
|
["#{application.project.install_path} -o #{Process.uid} -g #{Process.gid} ",
|
214
214
|
"--mode $(#{application.project.stat_path} -c %a Berksfile.lock) ",
|
@@ -287,7 +287,7 @@ module Dapp
|
|
287
287
|
application.project.lock(lock_name, default_timeout: 120) do
|
288
288
|
@install_cookbooks ||= {}
|
289
289
|
@install_cookbooks[chef_cookbooks_stage] ||= begin
|
290
|
-
install_cookbooks(_cookbooks_path, chef_cookbooks_stage: chef_cookbooks_stage) unless _cookbooks_path.join('.created_at').exist? && !application.
|
290
|
+
install_cookbooks(_cookbooks_path, chef_cookbooks_stage: chef_cookbooks_stage) unless _cookbooks_path.join('.created_at').exist? && !application.dev_mode?
|
291
291
|
true
|
292
292
|
end
|
293
293
|
end
|
data/lib/dapp/cli/mrproper.rb
CHANGED
@@ -81,6 +81,10 @@ module Dapp
|
|
81
81
|
@_build_dir
|
82
82
|
end
|
83
83
|
|
84
|
+
def dev_mode
|
85
|
+
@_dev_mode = true
|
86
|
+
end
|
87
|
+
|
84
88
|
def _name
|
85
89
|
(@_name || @_basename).tap do |name|
|
86
90
|
reg = '^[[[:alnum:]]_.-]*$'
|
@@ -88,6 +92,10 @@ module Dapp
|
|
88
92
|
end
|
89
93
|
end
|
90
94
|
|
95
|
+
def _dev_mode
|
96
|
+
!!@_dev_mode
|
97
|
+
end
|
98
|
+
|
91
99
|
def _apps
|
92
100
|
@_apps.empty? ? [self] : @_apps.flatten
|
93
101
|
end
|
@@ -8,12 +8,13 @@ module Dapp
|
|
8
8
|
def mrproper
|
9
9
|
log_step_with_indent(:mrproper) do
|
10
10
|
if proper_all?
|
11
|
-
|
12
|
-
|
11
|
+
flush_by_label('dapp')
|
12
|
+
elsif proper_dev_mode_cache?
|
13
|
+
flush_by_label('dapp-dev-mode')
|
13
14
|
elsif proper_cache_version?
|
14
15
|
log_proper_cache do
|
15
16
|
proper_cache_images = proper_cache_all_images
|
16
|
-
remove_images(
|
17
|
+
remove_images(dapp_images_by_label('dapp').lines.select { |id| !proper_cache_images.lines.include?(id) }.map(&:strip))
|
17
18
|
end
|
18
19
|
else
|
19
20
|
raise Error::Project, code: :mrproper_required_option
|
@@ -23,25 +24,34 @@ module Dapp
|
|
23
24
|
|
24
25
|
protected
|
25
26
|
|
27
|
+
def flush_by_label(label)
|
28
|
+
log_step_with_indent(:containers) { dapp_containers_flush_by_label(label) }
|
29
|
+
log_step_with_indent(:images) { dapp_images_flush_be_label(label) }
|
30
|
+
end
|
31
|
+
|
26
32
|
def proper_all?
|
27
33
|
!!cli_options[:proper_all]
|
28
34
|
end
|
29
35
|
|
30
|
-
def
|
31
|
-
|
36
|
+
def proper_dev_mode_cache?
|
37
|
+
!!cli_options[:proper_dev_mode_cache]
|
38
|
+
end
|
39
|
+
|
40
|
+
def dapp_containers_flush_by_label(label)
|
41
|
+
remove_containers_by_query(%(docker ps -a -f "label=#{label}" -q), force: true)
|
32
42
|
end
|
33
43
|
|
34
|
-
def
|
35
|
-
remove_images_by_query(
|
44
|
+
def dapp_dangling_images_flush_by_label(label)
|
45
|
+
remove_images_by_query(%(docker images -f "dangling=true" -f "label=#{label}" -q), force: true)
|
36
46
|
end
|
37
47
|
|
38
|
-
def
|
39
|
-
|
40
|
-
remove_images(
|
48
|
+
def dapp_images_flush_be_label(label)
|
49
|
+
dapp_dangling_images_flush_by_label(label)
|
50
|
+
remove_images(dapp_images_by_label(label).lines.map(&:strip), force: true)
|
41
51
|
end
|
42
52
|
|
43
|
-
def
|
44
|
-
@dapp_images ||= shellout!(
|
53
|
+
def dapp_images_by_label(label)
|
54
|
+
@dapp_images ||= shellout!(%(docker images -f "dangling=false" --format="{{.Repository}}:{{.Tag}}" -f "label=#{label}")).stdout.strip
|
45
55
|
end
|
46
56
|
|
47
57
|
def proper_cache_all_images
|
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.6.
|
4
|
+
version: 0.6.13
|
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-11-
|
11
|
+
date: 2016-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-shellout
|