dapp 0.30.10 → 0.31.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/dapp +1 -23
- data/lib/dapp.rb +1 -0
- data/lib/dapp/cli/command/sample/list.rb +4 -0
- data/lib/dapp/dimg/build/stage/before_install.rb +1 -15
- data/lib/dapp/dimg/build/stage/before_setup.rb +1 -19
- data/lib/dapp/dimg/build/stage/build_artifact.rb +1 -19
- data/lib/dapp/dimg/build/stage/ga_related_base.rb +1 -1
- data/lib/dapp/dimg/build/stage/install/install.rb +1 -19
- data/lib/dapp/dimg/build/stage/instructions.rb +27 -0
- data/lib/dapp/dimg/build/stage/setup/setup.rb +1 -19
- data/lib/dapp/dimg/builder/ansible.rb +11 -8
- data/lib/dapp/dimg/builder/base.rb +5 -0
- data/lib/dapp/dimg/builder/shell.rb +8 -4
- data/lib/dapp/dimg/dapp/command/cleanup_repo.rb +8 -14
- data/lib/dapp/kube/helm/values.rb +1 -2
- data/lib/dapp/kube/kubernetes/client.rb +0 -6
- data/lib/dapp/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5589825e906db3c287d0abc4cd312c9fcc8efc96e36945cb7e3655370d8b288d
|
4
|
+
data.tar.gz: a0164e08a37faf5f8c03bba714da833458ae7081549085e8aecf6a089f51f003
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bafb007a39acc411b6add0c23a6f437120e7dd8235aeb9382de3ad025d8800e4cc1f7acd586d6eca933f0f45ef1d52e09bc358977f8d05f869098ffd0ba1076e
|
7
|
+
data.tar.gz: ea5c715b0f06b4170b424ec2231504e951e9b12f54a783dee04327cd662a802316a2274313d9cf61fd42eb0140d7be798643b17127f8230e7e33dd2cb6a44a16
|
data/bin/dapp
CHANGED
@@ -10,29 +10,7 @@ Thread.abort_on_exception = true
|
|
10
10
|
begin
|
11
11
|
begin
|
12
12
|
begin
|
13
|
-
|
14
|
-
Dapp::CLI.new.run
|
15
|
-
ensure
|
16
|
-
if Time.now.to_date < Date.parse("2019-11-01")
|
17
|
-
STDERR.puts
|
18
|
-
STDERR.puts ::Paint["###################################################################", :red, :bold]
|
19
|
-
STDERR.puts ::Paint["### DEPRECATION WARNING! ###", :red, :bold]
|
20
|
-
STDERR.puts ::Paint["### Dapp will be deprecated for use starting with 01.11.2019! ###", :red, :bold]
|
21
|
-
STDERR.puts ::Paint["### Please port your project to werf: ###", :red, :bold]
|
22
|
-
STDERR.puts ::Paint["### https://werf.io ###", :red, :bold]
|
23
|
-
STDERR.puts ::Paint["###################################################################", :red, :bold]
|
24
|
-
STDERR.puts
|
25
|
-
else
|
26
|
-
STDERR.puts
|
27
|
-
STDERR.puts ::Paint["######################################################################", :red, :bold]
|
28
|
-
STDERR.puts ::Paint["### DEPRECATION WARNING! ###", :red, :bold]
|
29
|
-
STDERR.puts ::Paint["### Dapp is deprecated for use and will not receive any support! ###", :red, :bold]
|
30
|
-
STDERR.puts ::Paint["### Please port your project to werf: ###", :red, :bold]
|
31
|
-
STDERR.puts ::Paint["### https://werf.io ###", :red, :bold]
|
32
|
-
STDERR.puts ::Paint["######################################################################", :red, :bold]
|
33
|
-
STDERR.puts
|
34
|
-
end
|
35
|
-
end
|
13
|
+
Dapp::CLI.new.run
|
36
14
|
rescue Dapp::Error::Base => e
|
37
15
|
unless (message = Dapp::Helper::NetStatus.before_error_message(e)).empty?
|
38
16
|
$stderr.puts(message)
|
data/lib/dapp.rb
CHANGED
@@ -166,6 +166,7 @@ require 'dapp/dimg/build/stage/mod/group'
|
|
166
166
|
require 'dapp/dimg/build/stage/base'
|
167
167
|
require 'dapp/dimg/build/stage/ga_base'
|
168
168
|
require 'dapp/dimg/build/stage/ga_related_base'
|
169
|
+
require 'dapp/dimg/build/stage/instructions'
|
169
170
|
require 'dapp/dimg/build/stage/artifact_base'
|
170
171
|
require 'dapp/dimg/build/stage/artifact_default'
|
171
172
|
require 'dapp/dimg/build/stage/from'
|
@@ -2,30 +2,16 @@ module Dapp
|
|
2
2
|
module Dimg
|
3
3
|
module Build
|
4
4
|
module Stage
|
5
|
-
class BeforeInstall <
|
5
|
+
class BeforeInstall < Instructions
|
6
6
|
def initialize(dimg, next_stage)
|
7
7
|
@prev_stage = From.new(dimg, self)
|
8
8
|
super
|
9
9
|
end
|
10
10
|
|
11
|
-
def empty?
|
12
|
-
!dimg.builder.before_install?
|
13
|
-
end
|
14
|
-
|
15
11
|
def dependencies
|
16
12
|
[builder_checksum]
|
17
13
|
end
|
18
14
|
|
19
|
-
def builder_checksum
|
20
|
-
dimg.builder.before_install_checksum
|
21
|
-
end
|
22
|
-
|
23
|
-
def prepare_image
|
24
|
-
super do
|
25
|
-
dimg.builder.before_install(image)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
15
|
def image_should_be_untagged_condition
|
30
16
|
false
|
31
17
|
end
|
@@ -2,29 +2,11 @@ module Dapp
|
|
2
2
|
module Dimg
|
3
3
|
module Build
|
4
4
|
module Stage
|
5
|
-
class BeforeSetup <
|
5
|
+
class BeforeSetup < Instructions
|
6
6
|
def initialize(dimg, next_stage)
|
7
7
|
@prev_stage = AfterInstallArtifact.new(dimg, self)
|
8
8
|
super
|
9
9
|
end
|
10
|
-
|
11
|
-
def empty?
|
12
|
-
!dimg.builder.before_setup?
|
13
|
-
end
|
14
|
-
|
15
|
-
def context
|
16
|
-
[git_artifacts_dependencies, builder_checksum]
|
17
|
-
end
|
18
|
-
|
19
|
-
def builder_checksum
|
20
|
-
dimg.builder.before_setup_checksum
|
21
|
-
end
|
22
|
-
|
23
|
-
def prepare_image
|
24
|
-
super do
|
25
|
-
dimg.builder.before_setup(image)
|
26
|
-
end
|
27
|
-
end
|
28
10
|
end # BeforeSetup
|
29
11
|
end # Stage
|
30
12
|
end # Build
|
@@ -2,29 +2,11 @@ module Dapp
|
|
2
2
|
module Dimg
|
3
3
|
module Build
|
4
4
|
module Stage
|
5
|
-
class BuildArtifact <
|
5
|
+
class BuildArtifact < Instructions
|
6
6
|
def initialize(dimg)
|
7
7
|
@prev_stage = GAArtifactPatch.new(dimg, self)
|
8
8
|
@dimg = dimg
|
9
9
|
end
|
10
|
-
|
11
|
-
def empty?
|
12
|
-
!dimg.builder.build_artifact?
|
13
|
-
end
|
14
|
-
|
15
|
-
def context
|
16
|
-
[git_artifacts_dependencies, builder_checksum]
|
17
|
-
end
|
18
|
-
|
19
|
-
def builder_checksum
|
20
|
-
dimg.builder.build_artifact_checksum
|
21
|
-
end
|
22
|
-
|
23
|
-
def prepare_image
|
24
|
-
super do
|
25
|
-
dimg.builder.build_artifact(image)
|
26
|
-
end
|
27
|
-
end
|
28
10
|
end # BuildArtifact
|
29
11
|
end # Stage
|
30
12
|
end # Build
|
@@ -3,31 +3,13 @@ module Dapp
|
|
3
3
|
module Build
|
4
4
|
module Stage
|
5
5
|
module Install
|
6
|
-
class Install <
|
6
|
+
class Install < Instructions
|
7
7
|
include Mod::Group
|
8
8
|
|
9
9
|
def initialize(dimg, next_stage)
|
10
10
|
@prev_stage = GAPreInstallPatch.new(dimg, self)
|
11
11
|
super
|
12
12
|
end
|
13
|
-
|
14
|
-
def empty?
|
15
|
-
!dimg.builder.install?
|
16
|
-
end
|
17
|
-
|
18
|
-
def context
|
19
|
-
[git_artifacts_dependencies, builder_checksum]
|
20
|
-
end
|
21
|
-
|
22
|
-
def builder_checksum
|
23
|
-
dimg.builder.install_checksum
|
24
|
-
end
|
25
|
-
|
26
|
-
def prepare_image
|
27
|
-
super do
|
28
|
-
dimg.builder.install(image)
|
29
|
-
end
|
30
|
-
end
|
31
13
|
end # Install
|
32
14
|
end # Install
|
33
15
|
end # Stage
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class Instructions < Base
|
6
|
+
def empty?
|
7
|
+
!dimg.builder.public_send(:"#{name}?")
|
8
|
+
end
|
9
|
+
|
10
|
+
def context
|
11
|
+
[git_artifacts_dependencies, builder_checksum]
|
12
|
+
end
|
13
|
+
|
14
|
+
def builder_checksum
|
15
|
+
dimg.builder.public_send(:"#{name}_checksum")
|
16
|
+
end
|
17
|
+
|
18
|
+
def prepare_image
|
19
|
+
super do
|
20
|
+
dimg.builder.public_send(name, image)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end # Instructions
|
24
|
+
end # Stage
|
25
|
+
end # Build
|
26
|
+
end # Dimg
|
27
|
+
end # Dapp
|
@@ -3,31 +3,13 @@ module Dapp
|
|
3
3
|
module Build
|
4
4
|
module Stage
|
5
5
|
module Setup
|
6
|
-
class Setup <
|
6
|
+
class Setup < Instructions
|
7
7
|
include Mod::Group
|
8
8
|
|
9
9
|
def initialize(dimg, next_stage)
|
10
10
|
@prev_stage = GAPreSetupPatch.new(dimg, self)
|
11
11
|
super
|
12
12
|
end
|
13
|
-
|
14
|
-
def empty?
|
15
|
-
!dimg.builder.setup?
|
16
|
-
end
|
17
|
-
|
18
|
-
def context
|
19
|
-
[git_artifacts_dependencies, builder_checksum]
|
20
|
-
end
|
21
|
-
|
22
|
-
def builder_checksum
|
23
|
-
dimg.builder.setup_checksum
|
24
|
-
end
|
25
|
-
|
26
|
-
def prepare_image
|
27
|
-
super do
|
28
|
-
dimg.builder.setup(image)
|
29
|
-
end
|
30
|
-
end
|
31
13
|
end # Setup
|
32
14
|
end # Setup
|
33
15
|
end # Stage
|
@@ -137,11 +137,14 @@ module Dapp
|
|
137
137
|
}
|
138
138
|
|
139
139
|
define_method("#{stage}_checksum") do
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
140
|
+
checksum_args = []
|
141
|
+
checksum_args << JSON.dump(stage_config(stage)['tasks']) unless stage_config(stage)['tasks'].empty?
|
142
|
+
checksum_args << public_send("#{stage}_version_checksum")
|
143
|
+
_checksum checksum_args
|
144
|
+
end
|
145
|
+
|
146
|
+
define_method("#{stage}_version_checksum") do
|
147
|
+
_checksum(dimg.config._ansible["#{stage}_version"], dimg.config._ansible['version'])
|
145
148
|
end
|
146
149
|
|
147
150
|
define_method(stage.to_s) do |image|
|
@@ -171,14 +174,14 @@ module Dapp
|
|
171
174
|
end
|
172
175
|
|
173
176
|
def stage_empty?(stage)
|
174
|
-
stage_config(stage)['tasks'].empty?
|
177
|
+
stage_config(stage)['tasks'].empty? && public_send("#{stage}_version_checksum").nil?
|
175
178
|
end
|
176
179
|
|
177
180
|
# host directory in tmp_dir with directories structure
|
178
181
|
def host_workdir(stage)
|
179
182
|
@host_workdirs ||= {}
|
180
183
|
@host_workdirs[stage.to_s] ||= begin
|
181
|
-
dimg.tmp_path(dimg.dapp.consistent_uniq_slugify(dimg.config._name || "nameless"), "ansible-workdir-#{stage
|
184
|
+
dimg.tmp_path(dimg.dapp.consistent_uniq_slugify(dimg.config._name || "nameless"), "ansible-workdir-#{stage}").tap {|p| p.mkpath}
|
182
185
|
end
|
183
186
|
end
|
184
187
|
|
@@ -186,7 +189,7 @@ module Dapp
|
|
186
189
|
def host_tmpdir(stage)
|
187
190
|
@host_tmpdirs ||= {}
|
188
191
|
@host_tmpdirs[stage.to_s] ||= begin
|
189
|
-
dimg.tmp_path(dimg.dapp.consistent_uniq_slugify(dimg.config._name || "nameless"), "ansible-tmpdir-#{stage
|
192
|
+
dimg.tmp_path(dimg.dapp.consistent_uniq_slugify(dimg.config._name || "nameless"), "ansible-tmpdir-#{stage}").tap do |p|
|
190
193
|
p.mkpath
|
191
194
|
p.join('local').mkpath
|
192
195
|
p.join('remote').mkpath
|
@@ -72,6 +72,11 @@ module Dapp
|
|
72
72
|
def build_artifact_checksum
|
73
73
|
raise
|
74
74
|
end
|
75
|
+
|
76
|
+
def _checksum(*args)
|
77
|
+
return if args.flatten.compact.delete_if { |val| val.respond_to?(:empty?) && val.empty? }.empty?
|
78
|
+
dimg.hashsum args
|
79
|
+
end
|
75
80
|
end # Builder::Base
|
76
81
|
end # Dimg
|
77
82
|
end # Dapp
|
@@ -3,9 +3,13 @@ module Dapp
|
|
3
3
|
class Builder::Shell < Builder::Base
|
4
4
|
[:before_install, :before_setup, :install, :setup, :build_artifact].each do |stage|
|
5
5
|
define_method("#{stage}_checksum") do
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
_checksum(
|
7
|
+
dimg.config._shell.public_send("_#{stage}_command"),
|
8
|
+
public_send("#{stage}_version_checksum")
|
9
|
+
)
|
10
|
+
end
|
11
|
+
define_method("#{stage}_version_checksum") do
|
12
|
+
_checksum(dimg.config._shell.public_send("_#{stage}_version"), dimg.config._shell._version)
|
9
13
|
end
|
10
14
|
define_method("#{stage}?") { !stage_empty?(stage) }
|
11
15
|
define_method(stage.to_s) do |image|
|
@@ -14,7 +18,7 @@ module Dapp
|
|
14
18
|
end
|
15
19
|
|
16
20
|
def stage_empty?(stage)
|
17
|
-
stage_commands(stage).empty?
|
21
|
+
stage_commands(stage).empty? && public_send("#{stage}_version_checksum").nil?
|
18
22
|
end
|
19
23
|
|
20
24
|
def stage_commands(stage)
|
@@ -180,65 +180,59 @@ module Dapp
|
|
180
180
|
# pod items[] spec containers[] image
|
181
181
|
def pod_images(client)
|
182
182
|
client.pod_list['items'].map do |item|
|
183
|
-
|
183
|
+
item['spec']['containers'].map{ |cont| cont['image'] }
|
184
184
|
end
|
185
185
|
end
|
186
186
|
|
187
187
|
# cronjob items[] spec jobTemplate spec template spec containers[] image
|
188
188
|
def cronjob_images(client)
|
189
189
|
client.cronjob_list['items'].map do |item|
|
190
|
-
|
190
|
+
item['spec']['jobTemplate']['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
|
191
191
|
end
|
192
192
|
end
|
193
193
|
|
194
194
|
# daemonsets items[] spec template spec containers[] image
|
195
195
|
def daemonset_images(client)
|
196
196
|
client.daemonset_list['items'].map do |item|
|
197
|
-
|
197
|
+
item['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
|
198
198
|
end
|
199
199
|
end
|
200
200
|
|
201
201
|
# deployment items[] spec template spec containers[] image
|
202
202
|
def deployment_images(client)
|
203
203
|
client.deployment_list['items'].map do |item|
|
204
|
-
|
204
|
+
item['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
|
205
205
|
end
|
206
206
|
end
|
207
207
|
|
208
208
|
# job items[] spec template spec containers[] image
|
209
209
|
def job_images(client)
|
210
210
|
client.job_list['items'].map do |item|
|
211
|
-
|
211
|
+
item['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
|
212
212
|
end
|
213
213
|
end
|
214
214
|
|
215
215
|
# replicasets items[] spec template spec containers[] image
|
216
216
|
def replicaset_images(client)
|
217
217
|
client.replicaset_list['items'].map do |item|
|
218
|
-
|
218
|
+
item['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
|
219
219
|
end
|
220
220
|
end
|
221
221
|
|
222
222
|
# replicasets items[] spec template spec containers[] image
|
223
223
|
def statefulset_images(client)
|
224
224
|
client.statefulset_list['items'].map do |item|
|
225
|
-
|
225
|
+
item['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
|
226
226
|
end
|
227
227
|
end
|
228
228
|
|
229
229
|
# replicationcontroller items[] spec template spec containers[] image
|
230
230
|
def replicationcontroller_images(client)
|
231
231
|
client.replicationcontroller_list['items'].map do |item|
|
232
|
-
|
232
|
+
item['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
|
233
233
|
end
|
234
234
|
end
|
235
235
|
|
236
|
-
def images_from_pod_spec(pod_spec)
|
237
|
-
containers = Array(pod_spec['spec']['containers'])
|
238
|
-
initContainers = Array(pod_spec['spec']['initContainers'])
|
239
|
-
(containers + initContainers).map { |cont| cont['image'] }
|
240
|
-
end
|
241
|
-
|
242
236
|
def without_kube?
|
243
237
|
!!options[:without_kube]
|
244
238
|
end
|
@@ -17,8 +17,7 @@ module Dapp
|
|
17
17
|
"repo" => repo,
|
18
18
|
"docker_tag" => docker_tag,
|
19
19
|
},
|
20
|
-
|
21
|
-
# "ci" => ENV.select { |k, _| k.start_with?('CI_') && k != "CI_ENVIRONMENT_URL" },
|
20
|
+
"ci" => ENV.select { |k, _| k.start_with?('CI_') && k != "CI_ENVIRONMENT_URL" },
|
22
21
|
}
|
23
22
|
}
|
24
23
|
|
@@ -35,12 +35,6 @@ module Dapp
|
|
35
35
|
'/apis/batch/v1' => [:job, ],
|
36
36
|
'/apis/batch/v1beta1' => [:cronjob, ],
|
37
37
|
},
|
38
|
-
'1.11' => {
|
39
|
-
'/api/v1' => [:service, :replicationcontroller, :pod, :podtemplate, ],
|
40
|
-
'/apis/apps/v1' => [:daemonset, :deployment, :replicaset, :statefulset, ],
|
41
|
-
'/apis/batch/v1' => [:job, ],
|
42
|
-
'/apis/batch/v1beta1' => [:cronjob, ],
|
43
|
-
},
|
44
38
|
'stable' => {
|
45
39
|
'/api/v1' => [:service, :replicationcontroller, :pod, :podtemplate, ],
|
46
40
|
'/apis/batch/v1' => [:job, ],
|
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.
|
4
|
+
version: 0.31.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Stolyarov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-shellout
|
@@ -527,6 +527,7 @@ files:
|
|
527
527
|
- lib/dapp/dimg/build/stage/install/ga_post_install_patch.rb
|
528
528
|
- lib/dapp/dimg/build/stage/install/ga_pre_install_patch.rb
|
529
529
|
- lib/dapp/dimg/build/stage/install/install.rb
|
530
|
+
- lib/dapp/dimg/build/stage/instructions.rb
|
530
531
|
- lib/dapp/dimg/build/stage/mod/group.rb
|
531
532
|
- lib/dapp/dimg/build/stage/mod/logging.rb
|
532
533
|
- lib/dapp/dimg/build/stage/setup/ga_post_setup_patch.rb
|
@@ -743,7 +744,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
743
744
|
version: 2.5.0
|
744
745
|
requirements: []
|
745
746
|
rubyforge_project:
|
746
|
-
rubygems_version: 2.7.
|
747
|
+
rubygems_version: 2.7.7
|
747
748
|
signing_key:
|
748
749
|
specification_version: 4
|
749
750
|
summary: Build docker packaged apps using chef or shell
|