dapp 0.11.0 → 0.12.0
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 +36 -4
- data/lib/dapp.rb +84 -36
- data/lib/dapp/cli.rb +3 -2
- data/lib/dapp/cli/command/base.rb +69 -0
- data/lib/dapp/config/config.rb +17 -0
- data/lib/dapp/config/directive/base.rb +90 -3
- data/lib/dapp/dapp.rb +6 -14
- data/lib/dapp/dapp/dappfile.rb +20 -27
- data/lib/dapp/dapp/deps/base.rb +2 -2
- data/lib/dapp/dapp/lock.rb +1 -1
- data/lib/dapp/dapp/logging/base.rb +11 -7
- data/lib/dapp/dapp/logging/process.rb +4 -2
- data/lib/dapp/dapp/shellout/base.rb +2 -2
- data/lib/dapp/dapp/ssh_agent.rb +2 -2
- data/lib/dapp/deployment.rb +1 -0
- data/lib/dapp/deployment/app.rb +120 -0
- data/lib/dapp/deployment/cli/cli.rb +1 -0
- data/lib/dapp/deployment/cli/command/base.rb +14 -0
- data/lib/dapp/deployment/cli/command/deployment.rb +21 -0
- data/lib/dapp/deployment/cli/command/deployment/apply.rb +26 -0
- data/lib/dapp/deployment/cli/command/deployment/minikube_setup.rb +13 -0
- data/lib/dapp/deployment/cli/command/deployment/mrproper.rb +13 -0
- data/lib/dapp/deployment/cli/command/deployment/secret_generate.rb +13 -0
- data/lib/dapp/deployment/cli/command/deployment/secret_key_generate.rb +13 -0
- data/lib/dapp/deployment/config/config.rb +46 -0
- data/lib/dapp/deployment/config/directive/app.rb +28 -0
- data/lib/dapp/deployment/config/directive/app/instance_methods.rb +51 -0
- data/lib/dapp/deployment/config/directive/base.rb +13 -0
- data/lib/dapp/deployment/config/directive/deployment.rb +11 -0
- data/lib/dapp/deployment/config/directive/expose.rb +68 -0
- data/lib/dapp/deployment/config/directive/group.rb +27 -0
- data/lib/dapp/deployment/config/directive/job.rb +28 -0
- data/lib/dapp/deployment/config/directive/mod/group.rb +22 -0
- data/lib/dapp/deployment/config/directive/mod/jobs.rb +26 -0
- data/lib/dapp/deployment/config/directive/namespace.rb +26 -0
- data/lib/dapp/deployment/config/directive/namespace/instance_methods.rb +37 -0
- data/lib/dapp/deployment/core_ext/hash.rb +19 -0
- data/lib/dapp/deployment/dapp/command/apply.rb +83 -0
- data/lib/dapp/deployment/dapp/command/common.rb +17 -0
- data/lib/dapp/deployment/dapp/command/minikube_setup.rb +393 -0
- data/lib/dapp/deployment/dapp/command/mrproper.rb +12 -0
- data/lib/dapp/deployment/dapp/command/secret_generate.rb +17 -0
- data/lib/dapp/deployment/dapp/command/secret_key_generate.rb +13 -0
- data/lib/dapp/deployment/dapp/dapp.rb +18 -0
- data/lib/dapp/deployment/dapp/dappfile.rb +23 -0
- data/lib/dapp/deployment/deployment.rb +46 -0
- data/lib/dapp/deployment/error/app.rb +7 -0
- data/lib/dapp/deployment/error/base.rb +7 -0
- data/lib/dapp/deployment/error/command.rb +7 -0
- data/lib/dapp/deployment/error/config.rb +7 -0
- data/lib/dapp/deployment/error/deployment.rb +7 -0
- data/lib/dapp/deployment/error/kubernetes.rb +7 -0
- data/lib/dapp/deployment/kube_app.rb +277 -0
- data/lib/dapp/deployment/kube_base.rb +97 -0
- data/lib/dapp/deployment/kube_deployment.rb +51 -0
- data/lib/dapp/deployment/kubernetes.rb +174 -0
- data/lib/dapp/deployment/kubernetes/error.rb +20 -0
- data/lib/dapp/deployment/mod/jobs.rb +37 -0
- data/lib/dapp/deployment/mod/namespace.rb +58 -0
- data/lib/dapp/deployment/mod/system_environments.rb +30 -0
- data/lib/dapp/deployment/secret.rb +93 -0
- data/lib/dapp/dimg/artifact.rb +1 -1
- data/lib/dapp/dimg/build/stage/artifact_default.rb +35 -23
- data/lib/dapp/dimg/build/stage/base.rb +1 -1
- data/lib/dapp/dimg/build/stage/before_setup.rb +0 -2
- data/lib/dapp/dimg/build/stage/build_artifact.rb +0 -2
- data/lib/dapp/dimg/build/stage/ga_latest_patch.rb +2 -2
- data/lib/dapp/dimg/build/stage/install/install.rb +0 -1
- data/lib/dapp/dimg/build/stage/setup/setup.rb +0 -1
- data/lib/dapp/dimg/cli/cli.rb +1 -1
- data/lib/dapp/dimg/cli/command/base.rb +14 -0
- data/lib/dapp/dimg/cli/{dimg.rb → command/dimg.rb} +5 -7
- data/lib/dapp/dimg/cli/{bp.rb → command/dimg/bp.rb} +3 -3
- data/lib/dapp/dimg/cli/{build.rb → command/dimg/build.rb} +3 -3
- data/lib/dapp/dimg/cli/{build_context.rb → command/dimg/build_context.rb} +3 -3
- data/lib/dapp/dimg/cli/{build_context → command/dimg/build_context}/export.rb +4 -4
- data/lib/dapp/dimg/cli/{build_context → command/dimg/build_context}/import.rb +4 -4
- data/lib/dapp/dimg/cli/{cleanup.rb → command/dimg/cleanup.rb} +3 -3
- data/lib/dapp/dimg/cli/{list.rb → command/dimg/list.rb} +3 -3
- data/lib/dapp/dimg/cli/{mrproper.rb → command/dimg/mrproper.rb} +4 -4
- data/lib/dapp/dimg/cli/{push.rb → command/dimg/push.rb} +5 -5
- data/lib/dapp/dimg/cli/{run.rb → command/dimg/run.rb} +8 -8
- data/lib/dapp/dimg/cli/{spush.rb → command/dimg/spush.rb} +4 -4
- data/lib/dapp/dimg/cli/{stage_image.rb → command/dimg/stage_image.rb} +3 -3
- data/lib/dapp/dimg/cli/{stages.rb → command/dimg/stages.rb} +3 -3
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/cleanup_local.rb +6 -6
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/cleanup_repo.rb +5 -5
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/flush_local.rb +5 -5
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/flush_repo.rb +6 -6
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/pull.rb +6 -6
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/push.rb +6 -6
- data/lib/dapp/dimg/cli/{tag.rb → command/dimg/tag.rb} +6 -6
- data/lib/dapp/dimg/config/config.rb +20 -0
- data/lib/dapp/dimg/config/directive/artifact_dimg.rb +19 -0
- data/lib/dapp/dimg/config/directive/artifact_group.rb +45 -0
- data/lib/dapp/dimg/config/directive/dimg.rb +36 -0
- data/lib/dapp/dimg/config/directive/dimg/instance_methods.rb +149 -0
- data/lib/dapp/dimg/config/directive/dimg/validation.rb +128 -0
- data/lib/dapp/dimg/config/directive/dimg_group.rb +64 -0
- data/lib/dapp/dimg/config/directive/dimg_group_base.rb +46 -0
- data/lib/dapp/dimg/config/directive/docker/dimg.rb +4 -4
- data/lib/dapp/dimg/config/directive/shell/dimg.rb +1 -1
- data/lib/dapp/dimg/dapp/command/bp.rb +4 -4
- data/lib/dapp/dimg/dapp/command/build.rb +2 -2
- data/lib/dapp/dimg/dapp/command/build_context/common.rb +2 -2
- data/lib/dapp/dimg/dapp/command/build_context/export.rb +1 -1
- data/lib/dapp/dimg/dapp/command/build_context/import.rb +1 -1
- data/lib/dapp/dimg/dapp/command/cleanup.rb +1 -1
- data/lib/dapp/dimg/dapp/command/common.rb +19 -4
- data/lib/dapp/dimg/dapp/command/list.rb +1 -1
- data/lib/dapp/dimg/dapp/command/mrproper.rb +3 -3
- data/lib/dapp/dimg/dapp/command/push.rb +6 -5
- data/lib/dapp/dimg/dapp/command/run.rb +1 -1
- data/lib/dapp/dimg/dapp/command/spush.rb +4 -3
- data/lib/dapp/dimg/dapp/command/stage_image.rb +2 -2
- data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +1 -1
- data/lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb +3 -3
- data/lib/dapp/dimg/dapp/command/stages/common.rb +4 -4
- data/lib/dapp/dimg/dapp/command/stages/flush_local.rb +1 -1
- data/lib/dapp/dimg/dapp/command/stages/flush_repo.rb +1 -1
- data/lib/dapp/dimg/dapp/command/stages/pull.rb +5 -4
- data/lib/dapp/dimg/dapp/command/stages/push.rb +4 -3
- data/lib/dapp/dimg/dapp/command/tag.rb +3 -2
- data/lib/dapp/dimg/dapp/dapp.rb +33 -0
- data/lib/dapp/dimg/dapp/dappfile.rb +25 -0
- data/lib/dapp/dimg/dimg.rb +3 -3
- data/lib/dapp/dimg/dimg/path.rb +1 -1
- data/lib/dapp/dimg/dimg/stages.rb +1 -1
- data/lib/dapp/dimg/dimg/tags.rb +5 -5
- data/lib/dapp/dimg/docker_registry.rb +3 -7
- data/lib/dapp/dimg/git_artifact.rb +30 -14
- data/lib/dapp/dimg/git_repo/base.rb +13 -1
- data/lib/dapp/dimg/git_repo/own.rb +9 -1
- data/lib/dapp/dimg/image/docker.rb +9 -3
- data/lib/dapp/helper/cli.rb +3 -1
- data/lib/dapp/helper/net_status.rb +5 -1
- data/lib/dapp/helper/trivia.rb +1 -1
- data/lib/dapp/version.rb +2 -2
- metadata +84 -38
- data/lib/dapp/cli/base.rb +0 -63
- data/lib/dapp/config/base.rb +0 -54
- data/lib/dapp/dimg/build/stage/mod/git_artifact_dependencies.rb +0 -23
- data/lib/dapp/dimg/cli/base.rb +0 -16
- data/lib/dapp/dimg/config/artifact_dimg.rb +0 -17
- data/lib/dapp/dimg/config/artifact_group.rb +0 -43
- data/lib/dapp/dimg/config/base.rb +0 -7
- data/lib/dapp/dimg/config/dimg.rb +0 -24
- data/lib/dapp/dimg/config/dimg/instance_methods.rb +0 -179
- data/lib/dapp/dimg/config/dimg/validation.rb +0 -126
- data/lib/dapp/dimg/config/dimg_group.rb +0 -61
- data/lib/dapp/dimg/config/dimg_group_base.rb +0 -54
- data/lib/dapp/dimg/config/dimg_group_main.rb +0 -22
- data/lib/dapp/dimg/dapp/command.rb +0 -21
@@ -0,0 +1,128 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Config
|
4
|
+
module Directive
|
5
|
+
class Dimg < Base
|
6
|
+
module Validation
|
7
|
+
def validate!
|
8
|
+
directives_validate!
|
9
|
+
validate_scratch!
|
10
|
+
validate_artifacts!
|
11
|
+
validate_artifacts_artifacts!
|
12
|
+
end
|
13
|
+
|
14
|
+
protected
|
15
|
+
|
16
|
+
def validate_scratch!
|
17
|
+
if _docker._from.nil?
|
18
|
+
validate_scratch_directives!
|
19
|
+
validate_scratch_artifacts!
|
20
|
+
else
|
21
|
+
raise Error::Config, code: :stage_artifact_not_associated unless _import_artifact.empty?
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def directives_validate!
|
26
|
+
passed_directives.each do |v|
|
27
|
+
next if (value = instance_variable_get(v)).nil?
|
28
|
+
Array(value).each do |elm|
|
29
|
+
elm.validate! if elm.respond_to?(:validate!)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def validate_scratch_directives!
|
35
|
+
directives = [[:_shell, :shell], [:_chef, :chef], [:_git_artifact, :git],
|
36
|
+
[:_tmp_dir_mount, :mount], [:_build_dir_mount, :mount]]
|
37
|
+
directives.each do |name, user_name|
|
38
|
+
raise Error::Config,
|
39
|
+
code: :scratch_unsupported_directive,
|
40
|
+
data: { directive: user_name } unless public_send(name).empty?
|
41
|
+
end
|
42
|
+
|
43
|
+
docker_directives = [:_expose, :_env, :_cmd, :_onbuild, :_workdir, :_user, :_entrypoint]
|
44
|
+
docker_directives.each do |directive|
|
45
|
+
value = _docker.public_send(directive)
|
46
|
+
raise Error::Config,
|
47
|
+
code: :scratch_unsupported_directive,
|
48
|
+
data: { directive: "docker.#{directive}" } unless value.nil? || value.empty?
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def validate_scratch_artifacts!
|
53
|
+
raise Error::Config, code: :scratch_artifact_associated unless _associated_artifacts.empty?
|
54
|
+
raise Error::Config, code: :scratch_artifact_required if _import_artifact.empty?
|
55
|
+
_import_artifact.each do |artifact|
|
56
|
+
raise Error::Config, code: :scratch_artifact_docker_from if artifact._config._docker._from.nil?
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def validate_artifacts_artifacts!
|
61
|
+
_artifact.each { |artifact_dimg| artifact_dimg._config.validate! }
|
62
|
+
end
|
63
|
+
|
64
|
+
def validate_artifacts!
|
65
|
+
artifacts = validate_artifact_format(validated_artifacts)
|
66
|
+
loop do
|
67
|
+
break if artifacts.empty?
|
68
|
+
verifiable_artifact = artifacts.shift
|
69
|
+
artifacts.select { |a| a[:to] == verifiable_artifact[:to] }.each do |artifact|
|
70
|
+
next if verifiable_artifact[:index] == artifact[:index]
|
71
|
+
validate_artifact!(verifiable_artifact, artifact)
|
72
|
+
validate_artifact!(artifact, verifiable_artifact)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def validate_artifact_format(artifacts)
|
78
|
+
artifacts.map do |a|
|
79
|
+
path_format = proc { |path| File.expand_path(File.join('/', path, '/'))[1..-1] }
|
80
|
+
|
81
|
+
path_format.call(a._to) =~ %r{^([^\/]*)\/?(.*)$}
|
82
|
+
to = Regexp.last_match(1)
|
83
|
+
include_paths = a._include_paths.dup
|
84
|
+
include_paths << Regexp.last_match(2) unless Regexp.last_match(2).empty?
|
85
|
+
exclude_paths = a._exclude_paths.dup
|
86
|
+
|
87
|
+
{
|
88
|
+
index: artifacts.index(a),
|
89
|
+
to: to,
|
90
|
+
include_paths: include_paths.map(&path_format),
|
91
|
+
exclude_paths: exclude_paths.map(&path_format)
|
92
|
+
}
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
def validate_artifact!(verifiable_artifact, artifact)
|
97
|
+
verifiable_artifact[:include_paths].each do |verifiable_path|
|
98
|
+
potential_conflicts = artifact[:include_paths].select { |path| path.start_with?(verifiable_path) }
|
99
|
+
validate_artifact_path!(verifiable_artifact, potential_conflicts)
|
100
|
+
end.empty? && verifiable_artifact[:exclude_paths].empty? && raise(Error::Config, code: :artifact_conflict)
|
101
|
+
validate_artifact_path!(verifiable_artifact, artifact[:include_paths]) if verifiable_artifact[:include_paths].empty?
|
102
|
+
end
|
103
|
+
|
104
|
+
def validate_artifact_path!(verifiable_artifact, potential_conflicts)
|
105
|
+
potential_conflicts.all? do |path|
|
106
|
+
loop do
|
107
|
+
break if verifiable_artifact[:exclude_paths].include?(path) || ((path = File.dirname(path)) == '.')
|
108
|
+
end
|
109
|
+
verifiable_artifact[:exclude_paths].include?(path)
|
110
|
+
end.tap { |res| res || raise(Error::Config, code: :artifact_conflict) }
|
111
|
+
end
|
112
|
+
|
113
|
+
def _associated_artifacts
|
114
|
+
_artifact.select do |art|
|
115
|
+
!(art._before.nil? && art._after.nil?)
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
def validated_artifacts
|
120
|
+
_artifact + _git_artifact._local + _git_artifact._remote
|
121
|
+
end
|
122
|
+
end # Validation
|
123
|
+
# rubocop:enable Metrics/ModuleLength
|
124
|
+
end # Dimg
|
125
|
+
end # Directive
|
126
|
+
end # Config
|
127
|
+
end # Dimg
|
128
|
+
end # Dapp
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Config
|
4
|
+
module Directive
|
5
|
+
class DimgGroup < Base
|
6
|
+
include DimgGroupBase
|
7
|
+
include Dimg::InstanceMethods
|
8
|
+
|
9
|
+
def chef(&blk)
|
10
|
+
check_dimg_directive_order(:chef)
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
def shell(&blk)
|
15
|
+
check_dimg_directive_order(:shell)
|
16
|
+
super
|
17
|
+
end
|
18
|
+
|
19
|
+
def docker(&blk)
|
20
|
+
check_dimg_directive_order(:docker)
|
21
|
+
super
|
22
|
+
end
|
23
|
+
|
24
|
+
def artifact(&blk)
|
25
|
+
check_dimg_group_directive_order(:artifact)
|
26
|
+
super
|
27
|
+
end
|
28
|
+
|
29
|
+
def git(url = nil, &blk)
|
30
|
+
check_dimg_directive_order(:git)
|
31
|
+
super
|
32
|
+
end
|
33
|
+
|
34
|
+
def mount(to, &blk)
|
35
|
+
check_dimg_directive_order(:mount)
|
36
|
+
super
|
37
|
+
end
|
38
|
+
|
39
|
+
protected
|
40
|
+
|
41
|
+
def before_dimg_eval(dimg)
|
42
|
+
pass_to(dimg)
|
43
|
+
end
|
44
|
+
|
45
|
+
def before_dimg_group_eval(dimg_group)
|
46
|
+
pass_to(dimg_group)
|
47
|
+
end
|
48
|
+
|
49
|
+
def check_dimg_directive_order(directive)
|
50
|
+
dapp.log_config_warning(desc: { code: 'wrong_using_base_directive',
|
51
|
+
data: { directive: directive },
|
52
|
+
context: 'warning' }) if _dimg.any? || _dimg_group.any? || _artifact.any?
|
53
|
+
end
|
54
|
+
|
55
|
+
def check_dimg_group_directive_order(directive)
|
56
|
+
dapp.log_config_warning(desc: { code: 'wrong_using_directive',
|
57
|
+
data: { directive: directive },
|
58
|
+
context: 'warning' }) if _dimg.any? || _dimg_group.any?
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Config
|
4
|
+
module Directive
|
5
|
+
module DimgGroupBase
|
6
|
+
def dimg(name = nil, &blk)
|
7
|
+
Dimg.new(name, dapp: dapp).tap do |dimg|
|
8
|
+
before_dimg_eval(dimg)
|
9
|
+
dimg.instance_eval(&blk) if block_given?
|
10
|
+
@_dimg << dimg
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def dimg_group(&blk)
|
15
|
+
DimgGroup.new(dapp: dapp).tap do |dimg_group|
|
16
|
+
before_dimg_group_eval(dimg_group)
|
17
|
+
dimg_group.instance_eval(&blk) if block_given?
|
18
|
+
@_dimg_group << dimg_group
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def _dimg
|
23
|
+
(@_dimg + @_dimg_group.map(&:_dimg)).flatten
|
24
|
+
end
|
25
|
+
|
26
|
+
def _dimg_group
|
27
|
+
@_dimg_group
|
28
|
+
end
|
29
|
+
|
30
|
+
protected
|
31
|
+
|
32
|
+
def before_dimg_eval(dimg)
|
33
|
+
end
|
34
|
+
|
35
|
+
def before_dimg_group_eval(dimg_group)
|
36
|
+
end
|
37
|
+
|
38
|
+
def dimg_group_init_variables!
|
39
|
+
@_dimg = []
|
40
|
+
@_dimg_group = []
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -18,11 +18,11 @@ module Dapp
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def volume(*args)
|
21
|
-
sub_directive_eval { @_volume.concat(args) }
|
21
|
+
sub_directive_eval { @_volume.concat(args.flatten) }
|
22
22
|
end
|
23
23
|
|
24
24
|
def expose(*args)
|
25
|
-
sub_directive_eval { @_expose.concat(args) }
|
25
|
+
sub_directive_eval { @_expose.concat(args.flatten) }
|
26
26
|
end
|
27
27
|
|
28
28
|
def env(**options)
|
@@ -34,11 +34,11 @@ module Dapp
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def cmd(*args)
|
37
|
-
sub_directive_eval { @_cmd.concat(args) }
|
37
|
+
sub_directive_eval { @_cmd.concat(args.flatten) }
|
38
38
|
end
|
39
39
|
|
40
40
|
def onbuild(*args)
|
41
|
-
sub_directive_eval { @_onbuild.concat(args) }
|
41
|
+
sub_directive_eval { @_onbuild.concat(args.flatten) }
|
42
42
|
end
|
43
43
|
|
44
44
|
def workdir(path)
|
@@ -1,12 +1,12 @@
|
|
1
1
|
module Dapp
|
2
2
|
module Dimg
|
3
|
-
|
3
|
+
module Dapp
|
4
4
|
module Command
|
5
5
|
module Bp
|
6
|
-
def bp
|
6
|
+
def bp
|
7
7
|
bp_step(:build)
|
8
|
-
bp_step(:push
|
9
|
-
bp_step(:stages_cleanup_by_repo
|
8
|
+
bp_step(:push)
|
9
|
+
bp_step(:stages_cleanup_by_repo)
|
10
10
|
bp_step(:cleanup)
|
11
11
|
end
|
12
12
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Dapp
|
2
2
|
module Dimg
|
3
|
-
|
3
|
+
module Dapp
|
4
4
|
module Command
|
5
5
|
module Build
|
6
6
|
def build
|
@@ -12,7 +12,7 @@ module Dapp
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
rescue ::Dapp::Error::Shellout, Error::Base
|
15
|
-
build_context_export unless
|
15
|
+
build_context_export unless options[:build_context_directory].nil?
|
16
16
|
raise
|
17
17
|
end
|
18
18
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Dapp
|
2
2
|
module Dimg
|
3
|
-
|
3
|
+
module Dapp
|
4
4
|
module Command
|
5
5
|
module BuildContext
|
6
6
|
module Common
|
@@ -17,7 +17,7 @@ module Dapp
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def build_context_directory
|
20
|
-
File.expand_path(
|
20
|
+
File.expand_path(options[:build_context_directory].to_s)
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Dapp
|
2
2
|
module Dimg
|
3
|
-
|
3
|
+
module Dapp
|
4
4
|
module Command
|
5
5
|
module Common
|
6
6
|
protected
|
@@ -61,12 +61,20 @@ module Dapp
|
|
61
61
|
name
|
62
62
|
end
|
63
63
|
|
64
|
-
def validate_repo_name(repo)
|
65
|
-
raise
|
64
|
+
def validate_repo_name!(repo)
|
65
|
+
raise Error::Command, code: :repo_name_incorrect, data: { name: repo } unless ::Dapp::Dimg::DockerRegistry.repo_name?(repo)
|
66
|
+
end
|
67
|
+
|
68
|
+
def validate_image_name!(image)
|
69
|
+
raise Error::Command, code: :image_name_incorrect, data: { name: image } unless ::Dapp::Dimg::Image::Docker.image_name?(image)
|
70
|
+
end
|
71
|
+
|
72
|
+
def validate_tag_name!(tag)
|
73
|
+
raise Error::Command, code: :tag_name_incorrect, data: { name: tag } unless ::Dapp::Dimg::Image::Docker.tag?(tag)
|
66
74
|
end
|
67
75
|
|
68
76
|
def proper_cache_version?
|
69
|
-
!!
|
77
|
+
!!options[:proper_cache_version]
|
70
78
|
end
|
71
79
|
|
72
80
|
def log_proper_cache(&blk)
|
@@ -89,6 +97,13 @@ module Dapp
|
|
89
97
|
def spush_format
|
90
98
|
'%{repo}:%{tag}'
|
91
99
|
end
|
100
|
+
|
101
|
+
def option_repo
|
102
|
+
unless options[:repo].nil?
|
103
|
+
return "localhost:5000/#{name}" if options[:repo] == ':minikube'
|
104
|
+
options[:repo]
|
105
|
+
end
|
106
|
+
end
|
92
107
|
end
|
93
108
|
end
|
94
109
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Dapp
|
2
2
|
module Dimg
|
3
|
-
|
3
|
+
module Dapp
|
4
4
|
module Command
|
5
5
|
module Mrproper
|
6
6
|
# rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
|
@@ -32,11 +32,11 @@ module Dapp
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def proper_all?
|
35
|
-
!!
|
35
|
+
!!options[:proper_all]
|
36
36
|
end
|
37
37
|
|
38
38
|
def proper_dev_mode_cache?
|
39
|
-
!!
|
39
|
+
!!options[:proper_dev_mode_cache]
|
40
40
|
end
|
41
41
|
|
42
42
|
def dapp_containers_flush_by_label(label)
|
@@ -1,11 +1,12 @@
|
|
1
1
|
module Dapp
|
2
2
|
module Dimg
|
3
|
-
|
3
|
+
module Dapp
|
4
4
|
module Command
|
5
5
|
module Push
|
6
|
-
def push
|
7
|
-
|
8
|
-
|
6
|
+
def push
|
7
|
+
repo = option_repo
|
8
|
+
validate_repo_name!(repo)
|
9
|
+
log_step_with_indent(:stages) { stages_push } if with_stages?
|
9
10
|
build_configs.each do |config|
|
10
11
|
log_dimg_name_with_indent(config) do
|
11
12
|
Dimg.new(config: config, dapp: self, ignore_git_fetch: true, should_be_built: true).tap do |dimg|
|
@@ -18,7 +19,7 @@ module Dapp
|
|
18
19
|
protected
|
19
20
|
|
20
21
|
def with_stages?
|
21
|
-
!!
|
22
|
+
!!options[:with_stages]
|
22
23
|
end
|
23
24
|
end
|
24
25
|
end
|