dapp 0.22.6 → 0.22.7

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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/bin/dapp +9 -5
  3. data/config/en/common.yml +2 -0
  4. data/config/en/net_status.yml +9 -12
  5. data/lib/dapp.rb +12 -47
  6. data/lib/dapp/cli/command/options/tag.rb +39 -0
  7. data/lib/dapp/config/directive/base.rb +2 -1
  8. data/lib/dapp/dapp.rb +6 -9
  9. data/lib/dapp/dapp/command/common.rb +9 -4
  10. data/lib/dapp/dapp/logging/i18n.rb +5 -1
  11. data/lib/dapp/dapp/logging/process.rb +2 -2
  12. data/lib/dapp/deployment/config/config.rb +5 -5
  13. data/lib/dapp/deployment/config/directive/expose.rb +1 -1
  14. data/lib/dapp/deployment/config/directive/namespace/instance_methods.rb +1 -1
  15. data/lib/dapp/deployment/error/app.rb +1 -1
  16. data/lib/dapp/deployment/error/{base.rb → default.rb} +1 -1
  17. data/lib/dapp/deployment/error/deployment.rb +1 -1
  18. data/lib/dapp/deployment/error/kubernetes.rb +1 -1
  19. data/lib/dapp/deployment/kubernetes.rb +3 -3
  20. data/lib/dapp/deployment/kubernetes/error.rb +4 -4
  21. data/lib/dapp/deployment/secret.rb +1 -1
  22. data/lib/dapp/dimg/cli/command/dimg.rb +2 -1
  23. data/lib/dapp/dimg/cli/command/dimg/build_context/export.rb +5 -0
  24. data/lib/dapp/dimg/cli/command/dimg/flush_local.rb +24 -0
  25. data/lib/dapp/dimg/cli/command/dimg/push.rb +2 -26
  26. data/lib/dapp/dimg/cli/command/dimg/stages/base.rb +2 -2
  27. data/lib/dapp/dimg/cli/command/dimg/tag.rb +11 -4
  28. data/lib/dapp/dimg/config/config.rb +1 -1
  29. data/lib/dapp/dimg/config/directive/artifact.rb +5 -5
  30. data/lib/dapp/dimg/config/directive/artifact_base.rb +5 -5
  31. data/lib/dapp/dimg/config/directive/dimg/instance_methods.rb +1 -1
  32. data/lib/dapp/dimg/config/directive/dimg/validation.rb +11 -13
  33. data/lib/dapp/dimg/config/directive/docker/artifact.rb +1 -1
  34. data/lib/dapp/dimg/config/directive/docker/base.rb +1 -1
  35. data/lib/dapp/dimg/config/directive/git_artifact_local.rb +19 -3
  36. data/lib/dapp/dimg/config/directive/git_artifact_remote.rb +3 -1
  37. data/lib/dapp/dimg/config/directive/mount.rb +3 -3
  38. data/lib/dapp/dimg/dapp/command/build.rb +1 -1
  39. data/lib/dapp/dimg/dapp/command/build_context/export.rb +17 -13
  40. data/lib/dapp/dimg/dapp/command/build_context/import.rb +24 -17
  41. data/lib/dapp/dimg/dapp/command/cleanup_repo.rb +26 -33
  42. data/lib/dapp/dimg/dapp/command/common.rb +53 -56
  43. data/lib/dapp/dimg/dapp/command/flush_local.rb +18 -0
  44. data/lib/dapp/dimg/dapp/command/mrproper.rb +1 -1
  45. data/lib/dapp/dimg/dapp/command/push.rb +2 -8
  46. data/lib/dapp/dimg/dapp/command/spush.rb +2 -4
  47. data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +41 -46
  48. data/lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb +35 -39
  49. data/lib/dapp/dimg/dapp/command/stages/common.rb +13 -3
  50. data/lib/dapp/dimg/dapp/command/stages/flush_local.rb +1 -3
  51. data/lib/dapp/dimg/dapp/command/stages/flush_repo.rb +3 -3
  52. data/lib/dapp/dimg/dapp/command/stages/pull.rb +2 -12
  53. data/lib/dapp/dimg/dapp/command/stages/push.rb +2 -8
  54. data/lib/dapp/dimg/dapp/command/tag.rb +3 -6
  55. data/lib/dapp/dimg/dapp/dapp.rb +1 -0
  56. data/lib/dapp/dimg/dapp/dappfile.rb +11 -1
  57. data/lib/dapp/dimg/dimg.rb +39 -31
  58. data/lib/dapp/dimg/error/build.rb +1 -1
  59. data/lib/dapp/dimg/error/chef.rb +1 -5
  60. data/lib/dapp/dimg/error/{command.rb → default.rb} +1 -1
  61. data/lib/dapp/dimg/error/dimg.rb +1 -1
  62. data/lib/dapp/dimg/error/lock.rb +1 -1
  63. data/lib/dapp/dimg/error/registry.rb +1 -1
  64. data/lib/dapp/dimg/error/rugged.rb +1 -1
  65. data/lib/dapp/dimg/error/tar_writer.rb +1 -1
  66. data/lib/dapp/dimg/git_artifact.rb +3 -1
  67. data/lib/dapp/dimg/image/argument.rb +3 -1
  68. data/lib/dapp/dimg/image/dimg.rb +15 -0
  69. data/lib/dapp/dimg/image/stage.rb +0 -9
  70. data/lib/dapp/error/base.rb +1 -5
  71. data/lib/dapp/error/command.rb +5 -0
  72. data/lib/dapp/error/config.rb +5 -0
  73. data/lib/dapp/error/dapp.rb +1 -1
  74. data/lib/dapp/error/dappfile.rb +1 -1
  75. data/lib/dapp/error/default.rb +11 -0
  76. data/lib/dapp/error/mod/user.rb +11 -0
  77. data/lib/dapp/error/shellout.rb +1 -1
  78. data/lib/dapp/exception/base.rb +1 -1
  79. data/lib/dapp/helper/yaml.rb +3 -2
  80. data/lib/dapp/kube/cli/command/kube/deploy.rb +2 -26
  81. data/lib/dapp/kube/cli/command/kube/lint.rb +1 -26
  82. data/lib/dapp/kube/cli/command/kube/render.rb +2 -26
  83. data/lib/dapp/kube/cli/command/kube/secret_key_generate.rb +2 -2
  84. data/lib/dapp/kube/dapp/command/common.rb +19 -23
  85. data/lib/dapp/kube/dapp/command/deploy.rb +16 -9
  86. data/lib/dapp/kube/dapp/command/dismiss.rb +1 -1
  87. data/lib/dapp/kube/dapp/command/lint.rb +4 -10
  88. data/lib/dapp/kube/dapp/command/minikube_setup.rb +12 -18
  89. data/lib/dapp/kube/dapp/command/secret_edit.rb +2 -2
  90. data/lib/dapp/kube/error/{command.rb → default.rb} +1 -1
  91. data/lib/dapp/kube/error/kubernetes.rb +1 -1
  92. data/lib/dapp/kube/helm/release.rb +7 -33
  93. data/lib/dapp/kube/helm/values.rb +140 -0
  94. data/lib/dapp/kube/kubernetes/client.rb +9 -10
  95. data/lib/dapp/kube/kubernetes/client/error.rb +14 -8
  96. data/lib/dapp/kube/kubernetes/error.rb +15 -0
  97. data/lib/dapp/kube/kubernetes/manager/deployment.rb +2 -2
  98. data/lib/dapp/kube/secret.rb +1 -1
  99. data/lib/dapp/version.rb +1 -1
  100. metadata +15 -11
  101. data/lib/dapp/config/error/config.rb +0 -7
  102. data/lib/dapp/deployment/error/command.rb +0 -7
  103. data/lib/dapp/deployment/error/config.rb +0 -7
  104. data/lib/dapp/dimg/error/base.rb +0 -7
  105. data/lib/dapp/dimg/error/config.rb +0 -7
  106. data/lib/dapp/kube/error/base.rb +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 657b2271dc5a641fcd90ed720470a81ce478f73a
4
- data.tar.gz: 5b4201a16c7da7be4cdddc0b9b3a2a697c7e59b9
3
+ metadata.gz: 8d39108e47246ec97bcdb25fd0464b58772efc23
4
+ data.tar.gz: 0d0262e3bd5675b69bc988e4c25588523e6881d0
5
5
  SHA512:
6
- metadata.gz: 9ddad23ac4121cec7218dbaef4b2353710eef0d62bbe618cd07a25e89f1ea21b9b49e89e7282198f8a3d767cd8f85291fc854e38161c3bc05683443530ba09b4
7
- data.tar.gz: bdc290374d797d1d5632226fa20e168c2f14350f988e60bc53c6e7966c9ff9795bc03bc863974cdff8136f24319ef5ea06223aace8f8b59f3e3067babbaa0093
6
+ metadata.gz: 5e182c079f4848bbf817d2380c1b3dae904eb6c69beebc541fcfaad6d480060608b5d3ecd126faa94cd2146345b57afdd96ba03aca8bd1b954db90b5192b7e7d
7
+ data.tar.gz: ac6a75467e166fa1a20c360cb2cb82846d8de06e3c3ba187cbcd281010a767309e2eef0ac3fb754d97e701bb80422b8f485703485b7184cfd42422f119cbf31e
data/bin/dapp CHANGED
@@ -16,8 +16,8 @@ begin
16
16
 
17
17
  raise
18
18
  end
19
- rescue ::SystemExit
20
- raise
19
+ rescue ::SystemExit then raise
20
+ rescue Errno::EPIPE then nil
21
21
  rescue ::Exception => e
22
22
  "/tmp/dapp-stacktrace-#{SecureRandom.uuid}.out".tap do |filename|
23
23
  ::File.open(filename, 'w') do |dapp_stacktrace|
@@ -31,9 +31,13 @@ begin
31
31
  rescue Dapp::Error::Shellout => e
32
32
  $stderr.puts(Dapp::Helper::NetStatus.message(e))
33
33
  exit 1
34
- rescue Dapp::Error::Base, NetStatus::Exception => e
35
- $stderr.puts(Dapp::Dapp.paint_string(Dapp::Helper::NetStatus.message(e), :warning))
36
- exit 1
34
+ rescue Dapp::Error::Base, Dapp::Dapp::Logging::I18n::I18nError => e
35
+ if e.respond_to?(:user?) && e.user?
36
+ $stderr.puts(Dapp::Dapp.paint_string(Dapp::Helper::NetStatus.message(e), :warning))
37
+ exit 1
38
+ else
39
+ raise
40
+ end
37
41
  rescue Interrupt => _e
38
42
  $stderr.puts(Dapp::Dapp.paint_string('Interrupted', :warning))
39
43
  exit 1
@@ -27,6 +27,7 @@ en:
27
27
  status:
28
28
  process:
29
29
  pushing: '[PUSHING]'
30
+ exporting: '[EXPORTING]'
30
31
  pulling: '[PULLING]'
31
32
  building: '[BUILDING]'
32
33
  default: '[RUNNING]'
@@ -42,6 +43,7 @@ en:
42
43
  rebuild: '[REBUILD]'
43
44
  build: '[BUILD]'
44
45
  push: '[PUSH]'
46
+ export: '[EXPORT]'
45
47
  pull: '[PULL]'
46
48
  tag: '[TAG]'
47
49
  warning:
@@ -6,9 +6,6 @@ en:
6
6
  dimg:
7
7
  dimg_not_built: "Dimg hasn't been built yet!"
8
8
  dimg_not_run: "Dimg run failed!"
9
- kube:
10
- deploy_timeout: "Deploy timeout!"
11
- connect_timeout: "Connect timeout when connecting to kube API."
12
9
  dappfile:
13
10
  incorrect: "Dappfile with `%{error}`:\n%{message}"
14
11
  build:
@@ -45,6 +42,8 @@ en:
45
42
  incorrect_yaml_structure: "Incorrect YAML structure in `%{path}`!"
46
43
  editor_not_found: "Editor not found!"
47
44
  expected_only_one_tag: 'Expected only one tag (`%{tags}`)!'
45
+ kube_deploy_timeout: "Deploy timeout!"
46
+ kube_connect_timeout: "Connect timeout when connecting to kube API."
48
47
  dapp:
49
48
  no_such_dimg: "No such dimg: `%{dimgs_patterns}`!"
50
49
  no_such_app: "No such app: `%{apps_patterns}`!"
@@ -52,7 +51,7 @@ en:
52
51
  cannot_run_ssh_agent: "Can't run ssh-agent!"
53
52
  ssh_key_not_found: "Ssh key `%{path}` doesn't exist!"
54
53
  docker_not_found: "Docker not found!"
55
- docker_version: "Required docker version (`%{version}`): `%{min_version}` <= VERSION <= `%{max_version}`!"
54
+ docker_version: "Required docker version (`%{version}`): VERSION must be newer than `%{min_version}`!"
56
55
  dapp_config_file_incorrect: "%{message}"
57
56
  yaml_file_incorrect: "Yaml file `%{file}`: `%{message}`"
58
57
  yaml_incorrect: "`%{message}`"
@@ -127,15 +126,13 @@ en:
127
126
  app:
128
127
  namespace_not_found: "App `%{name}`: namespace `%{namespace}` not found!"
129
128
  namespace_not_defined: "App `%{name}`: namespace not defined!"
130
- deployment:
131
- namespace_not_found: "Deployment `%{name}`: namespace `%{namespace}` not found!"
132
- namespace_not_defined: "Deployment `%{name}`: namespace not defined!"
133
- bootstrap_failed: "Bootstrap failed:\n phase: `%{phase}`\n message: `%{message}`"
134
- bootstrap_command_failed: "Bootstrap failed:\n reason: `%{reason}`\n message: `%{message}`\n exit_code: `%{exit_code}`"
135
- bootstrap_image_not_found: "Bootstrap failed because `%{reason}`: `%{message}`"
136
129
  kubernetes:
137
- kube_config_not_found: "Kube config `%{path}` not found!"
138
- kube_server_connection_refused: "Kube server `%{url}` connection refused: %{error}"
130
+ config_not_found: "Kube config `%{config_path}` not found!"
131
+ user_config_not_found: "User's `%{user}` config is not found in config %{config_path}"
132
+ cluster_config_not_found: "Cluster's `%{cluster}` config is not found in config %{config_path}"
133
+ config_context_not_found: "Context `%{context_name}` is not found in config %{config_path}"
134
+ server_connection_refused: "Kube server `%{url}` connection refused: %{error}"
135
+ server_error: "Kube respond with server error code %{response_http_status}, request parameters: `%{request_parameters}`, response: `%{response_raw_body}`"
139
136
  secret:
140
137
  bad_data: "Data `%{data}` can't be decrypted: check encryption key and data!"
141
138
  key_length_too_short: "Encryption key isn't valid (required size %{required_size} bytes)!"
@@ -36,19 +36,23 @@ require 'dapp/helper/net_status'
36
36
  require 'dapp/helper/tar'
37
37
  require 'dapp/helper/yaml'
38
38
  require 'dapp/prctl'
39
+ require 'dapp/error/mod/user'
39
40
  require 'dapp/error/base'
41
+ require 'dapp/error/default'
40
42
  require 'dapp/error/dapp'
41
43
  require 'dapp/error/dappfile'
44
+ require 'dapp/error/command'
45
+ require 'dapp/error/config'
42
46
  require 'dapp/error/shellout'
43
47
  require 'dapp/exception/base'
44
48
  require 'dapp/cli'
49
+ require 'dapp/cli/command/options/tag'
45
50
  require 'dapp/cli/command/base'
46
51
  require 'dapp/cli/command/update'
47
52
  require 'dapp/cli/command/slug'
48
53
  require 'dapp/cli/cli'
49
54
  require 'dapp/config/directive/base'
50
55
  require 'dapp/config/config'
51
- require 'dapp/config/error/config'
52
56
  require 'dapp/dapp/lock'
53
57
  require 'dapp/dapp/ssh_agent'
54
58
  require 'dapp/dapp/git_artifact'
@@ -69,53 +73,12 @@ require 'dapp/dapp/shellout/base'
69
73
  require 'dapp/dapp/command/common'
70
74
  require 'dapp/dapp/command/slug'
71
75
  require 'dapp/dapp'
72
- require 'dapp/deployment'
73
- require 'dapp/deployment/config/directive/mod/group'
74
- require 'dapp/deployment/config/directive/mod/jobs'
75
- require 'dapp/deployment/error/base'
76
- require 'dapp/deployment/error/config'
77
- require 'dapp/deployment/error/app'
78
- require 'dapp/deployment/error/command'
79
- require 'dapp/deployment/error/kubernetes'
80
- require 'dapp/deployment/error/deployment'
81
- require 'dapp/deployment/config/directive/base'
82
- require 'dapp/deployment/config/directive/expose'
83
- require 'dapp/deployment/config/directive/namespace/instance_methods'
84
- require 'dapp/deployment/config/directive/namespace'
85
- require 'dapp/deployment/config/directive/app/instance_methods'
86
- require 'dapp/deployment/config/directive/app'
87
- require 'dapp/deployment/config/directive/group'
88
- require 'dapp/deployment/config/directive/deployment'
89
- require 'dapp/deployment/config/directive/job'
90
- require 'dapp/deployment/config/config'
91
- require 'dapp/deployment/core_ext/hash'
92
- require 'dapp/deployment/mod/namespace'
93
- require 'dapp/deployment/mod/system_environments'
94
- require 'dapp/deployment/mod/jobs'
95
- require 'dapp/deployment/app'
96
- require 'dapp/deployment/deployment'
97
- require 'dapp/deployment/kube_base'
98
- require 'dapp/deployment/kube_app'
99
- require 'dapp/deployment/kube_deployment'
100
- require 'dapp/deployment/kubernetes'
101
- require 'dapp/deployment/kubernetes/error'
102
- require 'dapp/deployment/cli/command/base'
103
- require 'dapp/deployment/cli/command/deployment'
104
- require 'dapp/deployment/cli/command/deployment/apply'
105
- require 'dapp/deployment/cli/command/deployment/mrproper'
106
- require 'dapp/deployment/cli/cli'
107
- require 'dapp/deployment/dapp/command/mrproper'
108
- require 'dapp/deployment/dapp/command/apply'
109
- require 'dapp/deployment/dapp/command/common'
110
- require 'dapp/deployment/dapp/dappfile'
111
- require 'dapp/deployment/dapp/dapp'
112
- require 'dapp/deployment/secret'
113
76
  require 'dapp/kube'
114
- require 'dapp/kube/error/base'
115
- require 'dapp/kube/error/command'
77
+ require 'dapp/kube/error/default'
116
78
  require 'dapp/kube/error/kubernetes'
117
79
  require 'dapp/kube/secret'
118
80
  require 'dapp/kube/kubernetes'
81
+ require 'dapp/kube/kubernetes/error'
119
82
  require 'dapp/kube/kubernetes/client'
120
83
  require 'dapp/kube/kubernetes/client/error'
121
84
  require 'dapp/kube/kubernetes/client/resource/base'
@@ -130,6 +93,7 @@ require 'dapp/kube/kubernetes/manager/container'
130
93
  require 'dapp/kube/kubernetes/manager/job'
131
94
  require 'dapp/kube/kubernetes/manager/deployment'
132
95
  require 'dapp/kube/helm'
96
+ require 'dapp/kube/helm/values'
133
97
  require 'dapp/kube/helm/release'
134
98
  require 'dapp/kube/cli/command/base'
135
99
  require 'dapp/kube/cli/command/kube'
@@ -213,6 +177,7 @@ require 'dapp/dimg/cli/command/dimg/stages/push'
213
177
  require 'dapp/dimg/cli/command/dimg/stages/pull'
214
178
  require 'dapp/dimg/cli/command/dimg/run'
215
179
  require 'dapp/dimg/cli/command/dimg/cleanup_repo'
180
+ require 'dapp/dimg/cli/command/dimg/flush_local'
216
181
  require 'dapp/dimg/cli/command/dimg/flush_repo'
217
182
  require 'dapp/dimg/cli/command/dimg/cleanup'
218
183
  require 'dapp/dimg/cli/command/dimg/bp'
@@ -243,6 +208,7 @@ require 'dapp/dimg/dapp/command/common'
243
208
  require 'dapp/dimg/dapp/command/build'
244
209
  require 'dapp/dimg/dapp/command/bp'
245
210
  require 'dapp/dimg/dapp/command/cleanup_repo'
211
+ require 'dapp/dimg/dapp/command/flush_local'
246
212
  require 'dapp/dimg/dapp/command/flush_repo'
247
213
  require 'dapp/dimg/dapp/command/cleanup'
248
214
  require 'dapp/dimg/dapp/command/mrproper'
@@ -270,7 +236,7 @@ require 'dapp/dimg/docker_registry/base/authorization'
270
236
  require 'dapp/dimg/docker_registry/base'
271
237
  require 'dapp/dimg/docker_registry/dimg'
272
238
  require 'dapp/dimg/docker_registry/default'
273
- require 'dapp/dimg/error/base'
239
+ require 'dapp/dimg/error/default'
274
240
  require 'dapp/dimg/error/dimg'
275
241
  require 'dapp/dimg/error/build'
276
242
  require 'dapp/dimg/error/tar_writer'
@@ -278,8 +244,6 @@ require 'dapp/dimg/error/rugged'
278
244
  require 'dapp/dimg/error/registry'
279
245
  require 'dapp/dimg/error/chef'
280
246
  require 'dapp/dimg/error/lock'
281
- require 'dapp/dimg/error/config'
282
- require 'dapp/dimg/error/command'
283
247
  require 'dapp/dimg/exception/base'
284
248
  require 'dapp/dimg/exception/introspect_image'
285
249
  require 'dapp/dimg/exception/registry'
@@ -293,6 +257,7 @@ require 'dapp/dimg/git_artifact'
293
257
  require 'dapp/dimg/image/argument'
294
258
  require 'dapp/dimg/image/docker'
295
259
  require 'dapp/dimg/image/stage'
260
+ require 'dapp/dimg/image/dimg'
296
261
  require 'dapp/dimg/image/scratch'
297
262
  require 'dapp/dimg/dimg/git_artifact'
298
263
  require 'dapp/dimg/dimg/path'
@@ -0,0 +1,39 @@
1
+ module Dapp
2
+ class CLI
3
+ module Command
4
+ module Options
5
+ module Tag
6
+ def self.extended(klass)
7
+ klass.class_eval do
8
+ option :tag,
9
+ long: '--tag TAG',
10
+ description: 'Add tag (can be used one or more times)',
11
+ default: [],
12
+ proc: proc { |v| composite_options(:tags) << v }
13
+
14
+ option :tag_branch,
15
+ long: '--tag-branch',
16
+ description: 'Tag by git branch',
17
+ boolean: true
18
+
19
+ option :tag_build_id,
20
+ long: '--tag-build-id',
21
+ description: 'Tag by CI build id',
22
+ boolean: true
23
+
24
+ option :tag_ci,
25
+ long: '--tag-ci',
26
+ description: 'Tag by CI branch and tag',
27
+ boolean: true
28
+
29
+ option :tag_commit,
30
+ long: '--tag-commit',
31
+ description: 'Tag by git commit',
32
+ boolean: true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -23,7 +23,8 @@ module Dapp
23
23
  end
24
24
 
25
25
  def validate_compliance!(pattern, value, error_code)
26
- raise Error::Config, code: error_code, data: { value: value, pattern: pattern } unless /^#{pattern}$/ =~ value
26
+ return if /^#{pattern}$/ =~ value
27
+ raise ::Dapp::Error::Config, code: error_code, data: { value: value, pattern: pattern }
27
28
  end
28
29
 
29
30
  def initialize_variables
@@ -152,15 +152,12 @@ module Dapp
152
152
  raise Error::Dapp, code: :docker_not_found if (res = shellout('which docker')).exitstatus.nonzero?
153
153
  docker_bin = res.stdout.strip
154
154
 
155
- current_docker_version = shellout!("#{docker_bin} --version").stdout.strip
156
- required_min_docker_version = '1.10.0'
157
- required_max_docker_version = '17.09.0'
158
-
159
- if Gem::Version.new(required_min_docker_version) > Gem::Version.new(current_docker_version[/(\d+\.)+\d+/]) ||
160
- Gem::Version.new(required_max_docker_version) < Gem::Version.new(current_docker_version[/(\d+\.)+\d+/])
161
- raise Error::Dapp, code: :docker_version, data: { min_version: required_min_docker_version,
162
- max_version: required_max_docker_version,
163
- version: current_docker_version[/(\d+\.)+\d+/] }
155
+ current_docker_version = Gem::Version.new(shellout!("#{docker_bin} --version").stdout.strip[/(\d+\.)+\d+(?=\.\d+)/])
156
+ required_min_docker_version = Gem::Version.new('1.10')
157
+
158
+ if required_min_docker_version >= current_docker_version
159
+ raise Error::Dapp, code: :docker_version, data: { min_version: required_min_docker_version.to_s,
160
+ version: current_docker_version.to_s }
164
161
  end
165
162
 
166
163
  [].tap do |cmd|
@@ -3,10 +3,15 @@ module Dapp
3
3
  module Command
4
4
  module Common
5
5
  def option_repo
6
- unless options[:repo].nil?
7
- return "localhost:5000/#{name}" if options[:repo] == ':minikube'
8
- options[:repo]
9
- end
6
+ shortcut_or_key(options[:repo])
7
+ end
8
+
9
+ def shortcut_or_key(key)
10
+ shortcuts[key] || key
11
+ end
12
+
13
+ def shortcuts
14
+ { ':minikube' => "localhost:5000/#{name}" }
10
15
  end
11
16
 
12
17
  def dimg_registry(repo)
@@ -2,6 +2,10 @@ module Dapp
2
2
  class Dapp
3
3
  module Logging
4
4
  module I18n
5
+ class I18nError < ::NetStatus::Exception
6
+ include ::Dapp::Error::Mod::User
7
+ end
8
+
5
9
  def self.initialize
6
10
  ::I18n.load_path << Dir[File.join(::Dapp.root, 'config', '**', '*')].select { |path| File.file?(path) }
7
11
  ::I18n.reload!
@@ -16,7 +20,7 @@ module Dapp
16
20
  paths << [:common, code].join('.')
17
21
  ::I18n.t(*paths, **data, raise: true)
18
22
  rescue ::I18n::MissingTranslationData => _e
19
- raise ::NetStatus::Exception, code: :missing_translation, data: { code: code }
23
+ raise I18nError, code: :missing_translation, data: { code: code }
20
24
  end
21
25
  end
22
26
  end # Helper
@@ -53,7 +53,7 @@ module Dapp
53
53
 
54
54
  def log_process_quiet(message, style: {}, status: {})
55
55
  yield
56
- rescue Error::Base => e
56
+ rescue Error::Default => e
57
57
  info = paint_string(slice(message), style[:message])
58
58
  failed_message = paint_string(rjust(status[:failed], info), style[:failed])
59
59
  before_error_messages = [log_indent + info + failed_message, e.net_status[:data][:before_error_messages]].flatten
@@ -81,7 +81,7 @@ module Dapp
81
81
  message = success_message
82
82
  start = Time.now
83
83
  with_log_indent { yield }
84
- rescue Error::Base, SignalException, StandardError => _e
84
+ rescue Error::Default, SignalException, StandardError => _e
85
85
  message = failed_message
86
86
  raise
87
87
  ensure
@@ -15,11 +15,11 @@ module Dapp
15
15
  protected
16
16
 
17
17
  def deployment_config_validate!
18
- raise Error::Config, code: :app_name_required if _app.any? { |app| app._name.nil? } && _app.size > 1
18
+ raise ::Dapp::Error::Config, code: :app_name_required if _app.any? { |app| app._name.nil? } && _app.size > 1
19
19
  _app.each do |app|
20
- raise Error::Config, code: :app_dimg_not_defined, data: { app: app._name } if app._dimg.nil? && !_dimg.map(&:_name).compact.empty?
20
+ raise ::Dapp::Error::Config, code: :app_dimg_not_defined, data: { app: app._name } if app._dimg.nil? && !_dimg.map(&:_name).compact.empty?
21
21
  unless _dimg.map(&:_name).include?(app._dimg)
22
- raise Error::Config, code: :app_dimg_not_found, data: { app: app._name, dimg: app._dimg }
22
+ raise ::Dapp::Error::Config, code: :app_dimg_not_found, data: { app: app._name, dimg: app._dimg }
23
23
  end
24
24
  end
25
25
 
@@ -29,10 +29,10 @@ module Dapp
29
29
  next if (job_config = obj.public_send("_#{job}")).empty?
30
30
  job_dimg = job_config._dimg || obj._dimg
31
31
  if job_dimg.nil? && !_dimg.map(&:_name).compact.empty?
32
- raise Error::Config, code: :"#{directive}_#{job}_dimg_not_defined"
32
+ raise ::Dapp::Error::Config, code: :"#{directive}_#{job}_dimg_not_defined"
33
33
  end
34
34
  unless _dimg.map(&:_name).include?(job_dimg)
35
- raise Error::Config, code: :"#{directive}_#{job}_dimg_not_found", data: { dimg: job_dimg }
35
+ raise ::Dapp::Error::Config, code: :"#{directive}_#{job}_dimg_not_found", data: { dimg: job_dimg }
36
36
  end
37
37
  end
38
38
  end
@@ -57,7 +57,7 @@ module Dapp
57
57
 
58
58
  def define_number(number, code)
59
59
  number.to_i.tap do |n|
60
- raise Error::Config, code: code, data: { number: number } unless (0..65536).cover?(n)
60
+ raise ::Dapp::Error::Config, code: code, data: { number: number } unless (0..65536).cover?(n)
61
61
  end
62
62
  end
63
63
  end
@@ -17,7 +17,7 @@ module Dapp
17
17
  def scale(value)
18
18
  sub_directive_eval do
19
19
  value.to_i.tap do |v|
20
- raise Error::Config, code: :unsupported_scale_value, data: { value: value } unless v > 0
20
+ raise ::Dapp::Error::Config, code: :unsupported_scale_value, data: { value: value } unless v > 0
21
21
  @_scale = v
22
22
  end
23
23
  end
@@ -1,7 +1,7 @@
1
1
  module Dapp
2
2
  module Deployment
3
3
  module Error
4
- class App < Base; end
4
+ class App < Default; end
5
5
  end
6
6
  end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module Dapp
2
2
  module Deployment
3
3
  module Error
4
- class Base < ::Dapp::Error::Base; end
4
+ class Default < ::Dapp::Error::Default; end
5
5
  end
6
6
  end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module Dapp
2
2
  module Deployment
3
3
  module Error
4
- class Deployment < Base; end
4
+ class Deployment < Default; end
5
5
  end
6
6
  end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module Dapp
2
2
  module Deployment
3
3
  module Error
4
- class Kubernetes < Base; end
4
+ class Kubernetes < Default; end
5
5
  end
6
6
  end
7
7
  end