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.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/config/en/net_status.yml +36 -4
  3. data/lib/dapp.rb +84 -36
  4. data/lib/dapp/cli.rb +3 -2
  5. data/lib/dapp/cli/command/base.rb +69 -0
  6. data/lib/dapp/config/config.rb +17 -0
  7. data/lib/dapp/config/directive/base.rb +90 -3
  8. data/lib/dapp/dapp.rb +6 -14
  9. data/lib/dapp/dapp/dappfile.rb +20 -27
  10. data/lib/dapp/dapp/deps/base.rb +2 -2
  11. data/lib/dapp/dapp/lock.rb +1 -1
  12. data/lib/dapp/dapp/logging/base.rb +11 -7
  13. data/lib/dapp/dapp/logging/process.rb +4 -2
  14. data/lib/dapp/dapp/shellout/base.rb +2 -2
  15. data/lib/dapp/dapp/ssh_agent.rb +2 -2
  16. data/lib/dapp/deployment.rb +1 -0
  17. data/lib/dapp/deployment/app.rb +120 -0
  18. data/lib/dapp/deployment/cli/cli.rb +1 -0
  19. data/lib/dapp/deployment/cli/command/base.rb +14 -0
  20. data/lib/dapp/deployment/cli/command/deployment.rb +21 -0
  21. data/lib/dapp/deployment/cli/command/deployment/apply.rb +26 -0
  22. data/lib/dapp/deployment/cli/command/deployment/minikube_setup.rb +13 -0
  23. data/lib/dapp/deployment/cli/command/deployment/mrproper.rb +13 -0
  24. data/lib/dapp/deployment/cli/command/deployment/secret_generate.rb +13 -0
  25. data/lib/dapp/deployment/cli/command/deployment/secret_key_generate.rb +13 -0
  26. data/lib/dapp/deployment/config/config.rb +46 -0
  27. data/lib/dapp/deployment/config/directive/app.rb +28 -0
  28. data/lib/dapp/deployment/config/directive/app/instance_methods.rb +51 -0
  29. data/lib/dapp/deployment/config/directive/base.rb +13 -0
  30. data/lib/dapp/deployment/config/directive/deployment.rb +11 -0
  31. data/lib/dapp/deployment/config/directive/expose.rb +68 -0
  32. data/lib/dapp/deployment/config/directive/group.rb +27 -0
  33. data/lib/dapp/deployment/config/directive/job.rb +28 -0
  34. data/lib/dapp/deployment/config/directive/mod/group.rb +22 -0
  35. data/lib/dapp/deployment/config/directive/mod/jobs.rb +26 -0
  36. data/lib/dapp/deployment/config/directive/namespace.rb +26 -0
  37. data/lib/dapp/deployment/config/directive/namespace/instance_methods.rb +37 -0
  38. data/lib/dapp/deployment/core_ext/hash.rb +19 -0
  39. data/lib/dapp/deployment/dapp/command/apply.rb +83 -0
  40. data/lib/dapp/deployment/dapp/command/common.rb +17 -0
  41. data/lib/dapp/deployment/dapp/command/minikube_setup.rb +393 -0
  42. data/lib/dapp/deployment/dapp/command/mrproper.rb +12 -0
  43. data/lib/dapp/deployment/dapp/command/secret_generate.rb +17 -0
  44. data/lib/dapp/deployment/dapp/command/secret_key_generate.rb +13 -0
  45. data/lib/dapp/deployment/dapp/dapp.rb +18 -0
  46. data/lib/dapp/deployment/dapp/dappfile.rb +23 -0
  47. data/lib/dapp/deployment/deployment.rb +46 -0
  48. data/lib/dapp/deployment/error/app.rb +7 -0
  49. data/lib/dapp/deployment/error/base.rb +7 -0
  50. data/lib/dapp/deployment/error/command.rb +7 -0
  51. data/lib/dapp/deployment/error/config.rb +7 -0
  52. data/lib/dapp/deployment/error/deployment.rb +7 -0
  53. data/lib/dapp/deployment/error/kubernetes.rb +7 -0
  54. data/lib/dapp/deployment/kube_app.rb +277 -0
  55. data/lib/dapp/deployment/kube_base.rb +97 -0
  56. data/lib/dapp/deployment/kube_deployment.rb +51 -0
  57. data/lib/dapp/deployment/kubernetes.rb +174 -0
  58. data/lib/dapp/deployment/kubernetes/error.rb +20 -0
  59. data/lib/dapp/deployment/mod/jobs.rb +37 -0
  60. data/lib/dapp/deployment/mod/namespace.rb +58 -0
  61. data/lib/dapp/deployment/mod/system_environments.rb +30 -0
  62. data/lib/dapp/deployment/secret.rb +93 -0
  63. data/lib/dapp/dimg/artifact.rb +1 -1
  64. data/lib/dapp/dimg/build/stage/artifact_default.rb +35 -23
  65. data/lib/dapp/dimg/build/stage/base.rb +1 -1
  66. data/lib/dapp/dimg/build/stage/before_setup.rb +0 -2
  67. data/lib/dapp/dimg/build/stage/build_artifact.rb +0 -2
  68. data/lib/dapp/dimg/build/stage/ga_latest_patch.rb +2 -2
  69. data/lib/dapp/dimg/build/stage/install/install.rb +0 -1
  70. data/lib/dapp/dimg/build/stage/setup/setup.rb +0 -1
  71. data/lib/dapp/dimg/cli/cli.rb +1 -1
  72. data/lib/dapp/dimg/cli/command/base.rb +14 -0
  73. data/lib/dapp/dimg/cli/{dimg.rb → command/dimg.rb} +5 -7
  74. data/lib/dapp/dimg/cli/{bp.rb → command/dimg/bp.rb} +3 -3
  75. data/lib/dapp/dimg/cli/{build.rb → command/dimg/build.rb} +3 -3
  76. data/lib/dapp/dimg/cli/{build_context.rb → command/dimg/build_context.rb} +3 -3
  77. data/lib/dapp/dimg/cli/{build_context → command/dimg/build_context}/export.rb +4 -4
  78. data/lib/dapp/dimg/cli/{build_context → command/dimg/build_context}/import.rb +4 -4
  79. data/lib/dapp/dimg/cli/{cleanup.rb → command/dimg/cleanup.rb} +3 -3
  80. data/lib/dapp/dimg/cli/{list.rb → command/dimg/list.rb} +3 -3
  81. data/lib/dapp/dimg/cli/{mrproper.rb → command/dimg/mrproper.rb} +4 -4
  82. data/lib/dapp/dimg/cli/{push.rb → command/dimg/push.rb} +5 -5
  83. data/lib/dapp/dimg/cli/{run.rb → command/dimg/run.rb} +8 -8
  84. data/lib/dapp/dimg/cli/{spush.rb → command/dimg/spush.rb} +4 -4
  85. data/lib/dapp/dimg/cli/{stage_image.rb → command/dimg/stage_image.rb} +3 -3
  86. data/lib/dapp/dimg/cli/{stages.rb → command/dimg/stages.rb} +3 -3
  87. data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/cleanup_local.rb +6 -6
  88. data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/cleanup_repo.rb +5 -5
  89. data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/flush_local.rb +5 -5
  90. data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/flush_repo.rb +6 -6
  91. data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/pull.rb +6 -6
  92. data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/push.rb +6 -6
  93. data/lib/dapp/dimg/cli/{tag.rb → command/dimg/tag.rb} +6 -6
  94. data/lib/dapp/dimg/config/config.rb +20 -0
  95. data/lib/dapp/dimg/config/directive/artifact_dimg.rb +19 -0
  96. data/lib/dapp/dimg/config/directive/artifact_group.rb +45 -0
  97. data/lib/dapp/dimg/config/directive/dimg.rb +36 -0
  98. data/lib/dapp/dimg/config/directive/dimg/instance_methods.rb +149 -0
  99. data/lib/dapp/dimg/config/directive/dimg/validation.rb +128 -0
  100. data/lib/dapp/dimg/config/directive/dimg_group.rb +64 -0
  101. data/lib/dapp/dimg/config/directive/dimg_group_base.rb +46 -0
  102. data/lib/dapp/dimg/config/directive/docker/dimg.rb +4 -4
  103. data/lib/dapp/dimg/config/directive/shell/dimg.rb +1 -1
  104. data/lib/dapp/dimg/dapp/command/bp.rb +4 -4
  105. data/lib/dapp/dimg/dapp/command/build.rb +2 -2
  106. data/lib/dapp/dimg/dapp/command/build_context/common.rb +2 -2
  107. data/lib/dapp/dimg/dapp/command/build_context/export.rb +1 -1
  108. data/lib/dapp/dimg/dapp/command/build_context/import.rb +1 -1
  109. data/lib/dapp/dimg/dapp/command/cleanup.rb +1 -1
  110. data/lib/dapp/dimg/dapp/command/common.rb +19 -4
  111. data/lib/dapp/dimg/dapp/command/list.rb +1 -1
  112. data/lib/dapp/dimg/dapp/command/mrproper.rb +3 -3
  113. data/lib/dapp/dimg/dapp/command/push.rb +6 -5
  114. data/lib/dapp/dimg/dapp/command/run.rb +1 -1
  115. data/lib/dapp/dimg/dapp/command/spush.rb +4 -3
  116. data/lib/dapp/dimg/dapp/command/stage_image.rb +2 -2
  117. data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +1 -1
  118. data/lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb +3 -3
  119. data/lib/dapp/dimg/dapp/command/stages/common.rb +4 -4
  120. data/lib/dapp/dimg/dapp/command/stages/flush_local.rb +1 -1
  121. data/lib/dapp/dimg/dapp/command/stages/flush_repo.rb +1 -1
  122. data/lib/dapp/dimg/dapp/command/stages/pull.rb +5 -4
  123. data/lib/dapp/dimg/dapp/command/stages/push.rb +4 -3
  124. data/lib/dapp/dimg/dapp/command/tag.rb +3 -2
  125. data/lib/dapp/dimg/dapp/dapp.rb +33 -0
  126. data/lib/dapp/dimg/dapp/dappfile.rb +25 -0
  127. data/lib/dapp/dimg/dimg.rb +3 -3
  128. data/lib/dapp/dimg/dimg/path.rb +1 -1
  129. data/lib/dapp/dimg/dimg/stages.rb +1 -1
  130. data/lib/dapp/dimg/dimg/tags.rb +5 -5
  131. data/lib/dapp/dimg/docker_registry.rb +3 -7
  132. data/lib/dapp/dimg/git_artifact.rb +30 -14
  133. data/lib/dapp/dimg/git_repo/base.rb +13 -1
  134. data/lib/dapp/dimg/git_repo/own.rb +9 -1
  135. data/lib/dapp/dimg/image/docker.rb +9 -3
  136. data/lib/dapp/helper/cli.rb +3 -1
  137. data/lib/dapp/helper/net_status.rb +5 -1
  138. data/lib/dapp/helper/trivia.rb +1 -1
  139. data/lib/dapp/version.rb +2 -2
  140. metadata +84 -38
  141. data/lib/dapp/cli/base.rb +0 -63
  142. data/lib/dapp/config/base.rb +0 -54
  143. data/lib/dapp/dimg/build/stage/mod/git_artifact_dependencies.rb +0 -23
  144. data/lib/dapp/dimg/cli/base.rb +0 -16
  145. data/lib/dapp/dimg/config/artifact_dimg.rb +0 -17
  146. data/lib/dapp/dimg/config/artifact_group.rb +0 -43
  147. data/lib/dapp/dimg/config/base.rb +0 -7
  148. data/lib/dapp/dimg/config/dimg.rb +0 -24
  149. data/lib/dapp/dimg/config/dimg/instance_methods.rb +0 -179
  150. data/lib/dapp/dimg/config/dimg/validation.rb +0 -126
  151. data/lib/dapp/dimg/config/dimg_group.rb +0 -61
  152. data/lib/dapp/dimg/config/dimg_group_base.rb +0 -54
  153. data/lib/dapp/dimg/config/dimg_group_main.rb +0 -22
  154. 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)
@@ -48,7 +48,7 @@ module Dapp
48
48
  end
49
49
 
50
50
  def run(*args)
51
- sub_directive_eval { @_run.concat(args) }
51
+ sub_directive_eval { @_run.concat(args.flatten) }
52
52
  end
53
53
 
54
54
  def version(value)
@@ -1,12 +1,12 @@
1
1
  module Dapp
2
2
  module Dimg
3
- class Dapp
3
+ module Dapp
4
4
  module Command
5
5
  module Bp
6
- def bp(repo)
6
+ def bp
7
7
  bp_step(:build)
8
- bp_step(:push, repo)
9
- bp_step(:stages_cleanup_by_repo, 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
- class Dapp
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 cli_options[:build_context_directory].nil?
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
- class Dapp
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(cli_options[:build_context_directory].to_s)
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
- class Dapp
3
+ module Dapp
4
4
  module Command
5
5
  module BuildContext
6
6
  module Export
@@ -1,6 +1,6 @@
1
1
  module Dapp
2
2
  module Dimg
3
- class Dapp
3
+ module Dapp
4
4
  module Command
5
5
  module BuildContext
6
6
  module Import
@@ -1,6 +1,6 @@
1
1
  module Dapp
2
2
  module Dimg
3
- class Dapp
3
+ module Dapp
4
4
  module Command
5
5
  module Cleanup
6
6
  def cleanup
@@ -1,6 +1,6 @@
1
1
  module Dapp
2
2
  module Dimg
3
- class Dapp
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(Error::Command, code: :repo_name_incorrect, data: { name: repo }) unless ::Dapp::Dimg::DockerRegistry.repo_name?(repo)
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
- !!cli_options[:proper_cache_version]
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
- class Dapp
3
+ module Dapp
4
4
  module Command
5
5
  module List
6
6
  def list
@@ -1,6 +1,6 @@
1
1
  module Dapp
2
2
  module Dimg
3
- class Dapp
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
- !!cli_options[:proper_all]
35
+ !!options[:proper_all]
36
36
  end
37
37
 
38
38
  def proper_dev_mode_cache?
39
- !!cli_options[:proper_dev_mode_cache]
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
- class Dapp
3
+ module Dapp
4
4
  module Command
5
5
  module Push
6
- def push(repo)
7
- validate_repo_name(repo)
8
- log_step_with_indent(:stages) { stages_push(repo) } if with_stages?
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
- !!cli_options[:with_stages]
22
+ !!options[:with_stages]
22
23
  end
23
24
  end
24
25
  end