dapp 0.35.45 → 0.36.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c5372629622460ff175556b4da5154fee8f80e6889e921c86d3889815e282621
4
- data.tar.gz: bac98672a3cbf52cadca4126d9d9add38ae4685ffa448360115501df4505a77c
3
+ metadata.gz: d135d54181359c7611f52b0ab468ad228d54965e2330ddd01e0ec93f76895960
4
+ data.tar.gz: 41f7fabca8433c1fc63a21d0046445c42e277bb1990a0fef61fff91426fd9fae
5
5
  SHA512:
6
- metadata.gz: 5fb1902feba8ec0e3cdced06130875818548dbdb0eeea112726280545692f631bfb68e6ba6b53f758d348b52d07eb3d053f35072967969ae4b61e79645e64857
7
- data.tar.gz: fa787766dac83d49c9fee9fc630928d90bc25c116d1c351e6b289bb1314fea8378a0db51ac1d5e6bd6ac67fd922e9d96f9d58b99164227dd72b65072eaaff046
6
+ metadata.gz: 0cc215bc2eea16d569556c5b63b5f68720bf24e99c7d2aece391a69b6093bf40f175773b19e7c1ad562b97f8c306b12eb7acb3b4c188e64f5f10149eeff2a66d
7
+ data.tar.gz: ce224f9c86f8211fd12ccd95022d178b8973a9eefc49c1686e6fab1a55bb8c49f06dc6b5331ed26f1ccad4221ae4c79783319949a27ad27a28be1ed1e888316d
data/bin/dapp CHANGED
@@ -75,29 +75,7 @@ set_gitlab_cancel_handler if ENV["GITLAB_CI"]
75
75
  begin
76
76
  begin
77
77
  begin
78
- begin
79
- Dapp::CLI.new.run
80
- ensure
81
- if Time.now.to_date < Date.parse("2019-11-01")
82
- STDERR.puts
83
- STDERR.puts ::Paint["###################################################################", :red, :bold]
84
- STDERR.puts ::Paint["### DEPRECATION WARNING! ###", :red, :bold]
85
- STDERR.puts ::Paint["### Dapp will be deprecated for use starting with 01.11.2019! ###", :red, :bold]
86
- STDERR.puts ::Paint["### Please port your project to werf: ###", :red, :bold]
87
- STDERR.puts ::Paint["### https://werf.io ###", :red, :bold]
88
- STDERR.puts ::Paint["###################################################################", :red, :bold]
89
- STDERR.puts
90
- else
91
- STDERR.puts
92
- STDERR.puts ::Paint["######################################################################", :red, :bold]
93
- STDERR.puts ::Paint["### DEPRECATION WARNING! ###", :red, :bold]
94
- STDERR.puts ::Paint["### Dapp is deprecated for use and will not receive any support! ###", :red, :bold]
95
- STDERR.puts ::Paint["### Please port your project to werf: ###", :red, :bold]
96
- STDERR.puts ::Paint["### https://werf.io ###", :red, :bold]
97
- STDERR.puts ::Paint["######################################################################", :red, :bold]
98
- STDERR.puts
99
- end
100
- end
78
+ Dapp::CLI.new.run
101
79
  rescue Dapp::Error::Base => e
102
80
  unless (message = Dapp::Helper::NetStatus.before_error_message(e)).empty?
103
81
  $stderr.puts(message)
@@ -53,6 +53,7 @@ en:
53
53
  kube_helm_failed: "Helm failed: %{output}"
54
54
  samples_directory_not_exist: "Samples directory `%{path}` not exist in repository `%{url}`!"
55
55
  sample_not_exist: "Sample `%{name}` not exist in repository `%{url}` (inside samples directory `%{path}`)!"
56
+ ruby2go_deploy_command_failed: "ruby2go_deploy command `%{command}` failed: `%{message}`!"
56
57
  dapp:
57
58
  no_such_dimg: "No such dimg: `%{dimgs_patterns}`!"
58
59
  no_such_app: "No such app: `%{apps_patterns}`!"
@@ -141,6 +141,7 @@ require 'dapp/kube/dapp/command/chart_create'
141
141
  require 'dapp/kube/dapp/command/render'
142
142
  require 'dapp/kube/dapp/command/lint'
143
143
  require 'dapp/kube/dapp/command/value_get'
144
+ require 'dapp/kube/dapp/command/ruby2go'
144
145
  require 'dapp/kube/dapp/dapp'
145
146
  require 'dapp/dimg'
146
147
  require 'dapp/dimg/error/default'
@@ -116,12 +116,12 @@ module Dapp
116
116
  return if File.exists? dappfile_yml_bin_path
117
117
 
118
118
  log_process("Downloading dappfile-yml dapp dependency") do
119
- location = URI("https://dl.bintray.com/dapp/ruby2go/#{::Dapp::VERSION}/dappfile-yml")
119
+ location = URI("https://dl.bintray.com/flant/dapp/#{::Dapp::VERSION}/dappfile-yml")
120
120
 
121
121
  tmp_bin_path = File.join(self.class.tmp_base_dir, "dappfile-yml-#{SecureRandom.uuid}")
122
122
  ::Dapp::Downloader.download(location, tmp_bin_path, show_progress: true, progress_titile: dappfile_yml_bin_path)
123
123
 
124
- checksum_location = URI("https://dl.bintray.com/dapp/ruby2go/#{::Dapp::VERSION}/dappfile-yml.sha")
124
+ checksum_location = URI("https://dl.bintray.com/flant/dapp/#{::Dapp::VERSION}/dappfile-yml.sha")
125
125
  tmp_bin_checksum_path = tmp_bin_path + ".checksum"
126
126
  ::Dapp::Downloader.download(checksum_location, tmp_bin_checksum_path)
127
127
 
@@ -40,6 +40,10 @@ module Dapp
40
40
  _ruby2go("deploy-watcher", args_hash, **kwargs)
41
41
  end
42
42
 
43
+ def ruby2go_deploy(args_hash)
44
+ _ruby2go("deploy", args_hash)
45
+ end
46
+
43
47
  def ruby2go_init
44
48
  @_call_after_before_terminate << proc {
45
49
  FileUtils.rmtree(@_ruby2go_tmp_dir) if @_ruby2go_tmp_dir
@@ -102,12 +106,12 @@ module Dapp
102
106
  return if File.exists? bin_path
103
107
 
104
108
  log_process("Downloading #{progname} dapp dependency") do
105
- location = URI("https://dl.bintray.com/dapp/ruby2go/#{::Dapp::VERSION}/#{progname}")
109
+ location = URI("https://dl.bintray.com/flant/dapp/#{::Dapp::VERSION}/#{progname}")
106
110
 
107
111
  tmp_bin_path = File.join(self.class.tmp_base_dir, "#{progname}-#{SecureRandom.uuid}")
108
112
  ::Dapp::Downloader.download(location, tmp_bin_path, show_progress: true, progress_titile: bin_path)
109
113
 
110
- checksum_location = URI("https://dl.bintray.com/dapp/ruby2go/#{::Dapp::VERSION}/#{progname}.sha")
114
+ checksum_location = URI("https://dl.bintray.com/flant/dapp/#{::Dapp::VERSION}/#{progname}.sha")
111
115
  tmp_bin_checksum_path = tmp_bin_path + ".checksum"
112
116
  ::Dapp::Downloader.download(checksum_location, tmp_bin_checksum_path)
113
117
 
@@ -74,65 +74,59 @@ module Dapp
74
74
  # pod items[] spec containers[] image
75
75
  def pod_images(client)
76
76
  client.pod_list['items'].map do |item|
77
- images_from_pod_spec(item)
77
+ item['spec']['containers'].map{ |cont| cont['image'] }
78
78
  end
79
79
  end
80
80
 
81
81
  # cronjob items[] spec jobTemplate spec template spec containers[] image
82
82
  def cronjob_images(client)
83
83
  client.cronjob_list['items'].map do |item|
84
- images_from_pod_spec(item['spec']['jobTemplate']['spec']['template'])
84
+ item['spec']['jobTemplate']['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
85
85
  end
86
86
  end
87
87
 
88
88
  # daemonsets items[] spec template spec containers[] image
89
89
  def daemonset_images(client)
90
90
  client.daemonset_list['items'].map do |item|
91
- images_from_pod_spec(item['spec']['template'])
91
+ item['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
92
92
  end
93
93
  end
94
94
 
95
95
  # deployment items[] spec template spec containers[] image
96
96
  def deployment_images(client)
97
97
  client.deployment_list['items'].map do |item|
98
- images_from_pod_spec(item['spec']['template'])
98
+ item['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
99
99
  end
100
100
  end
101
101
 
102
102
  # job items[] spec template spec containers[] image
103
103
  def job_images(client)
104
104
  client.job_list['items'].map do |item|
105
- images_from_pod_spec(item['spec']['template'])
105
+ item['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
106
106
  end
107
107
  end
108
108
 
109
109
  # replicasets items[] spec template spec containers[] image
110
110
  def replicaset_images(client)
111
111
  client.replicaset_list['items'].map do |item|
112
- images_from_pod_spec(item['spec']['template'])
112
+ item['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
113
113
  end
114
114
  end
115
115
 
116
116
  # replicasets items[] spec template spec containers[] image
117
117
  def statefulset_images(client)
118
118
  client.statefulset_list['items'].map do |item|
119
- images_from_pod_spec(item['spec']['template'])
119
+ item['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
120
120
  end
121
121
  end
122
122
 
123
123
  # replicationcontroller items[] spec template spec containers[] image
124
124
  def replicationcontroller_images(client)
125
125
  client.replicationcontroller_list['items'].map do |item|
126
- images_from_pod_spec(item['spec']['template'])
126
+ item['spec']['template']['spec']['containers'].map{ |cont| cont['image'] }
127
127
  end
128
128
  end
129
129
 
130
- def images_from_pod_spec(pod_spec)
131
- containers = Array(pod_spec['spec']['containers'])
132
- initContainers = Array(pod_spec['spec']['initContainers'])
133
- (containers + initContainers).map { |cont| cont['image'] }
134
- end
135
-
136
130
  def without_kube?
137
131
  !!options[:without_kube]
138
132
  end
@@ -4,6 +4,52 @@ module Dapp
4
4
  module Command
5
5
  module Deploy
6
6
  def kube_deploy
7
+ # TODO: move setup_ssh_agent to golang
8
+ setup_ssh_agent
9
+
10
+ command = "deploy"
11
+
12
+ # TODO: move option_tags logic to golang
13
+ tag = begin
14
+ raise ::Dapp::Error::Command, code: :expected_only_one_tag, data: { tags: option_tags.join(', ') } if option_tags.count > 1
15
+ option_tags.first
16
+ end
17
+
18
+ # TODO: move project name logic to golang
19
+ project_name = name.to_s
20
+
21
+ # TODO: move project dir logic to golang
22
+ project_dir = path.to_s
23
+
24
+ # TODO: move release name logic to golang
25
+ release_name = kube_release_name
26
+
27
+ # TODO: move repo logic to golang
28
+ repo = option_repo
29
+
30
+ dimgs = self.build_configs.map do |config|
31
+ d = self.dimg(config: config, ignore_signature_auto_calculation: true)
32
+ {"Name" => d.name, "ImageTag" => tag, "Repo" => repo}
33
+ end.uniq do |dimg|
34
+ dimg["Name"]
35
+ end
36
+
37
+ res = ruby2go_deploy(
38
+ "command" => command,
39
+ "projectName" => project_name,
40
+ "projectDir" => project_dir,
41
+ "tag" => tag,
42
+ "releaseName" => release_name,
43
+ "repo" => repo,
44
+ "dimgs" => JSON.dump(dimgs),
45
+ "rubyCliOptions" => JSON.dump(self.options),
46
+ options: { host_docker_config_dir: self.class.host_docker_config_dir },
47
+ )
48
+
49
+ raise ::Dapp::Error::Command, code: :ruby2go_deploy_command_failed, data: { command: command, message: res["error"] } unless res["error"].nil?
50
+ end
51
+
52
+ def kube_deploy_old
7
53
  setup_ssh_agent
8
54
 
9
55
  helm_release do |release|
@@ -4,6 +4,21 @@ module Dapp
4
4
  module Command
5
5
  module Dismiss
6
6
  def kube_dismiss
7
+ command = "dismiss"
8
+
9
+ # TODO: move release name logic to golang
10
+ release_name = kube_release_name
11
+
12
+ res = ruby2go_deploy(
13
+ "command" => command,
14
+ "releaseName" => release_name,
15
+ "rubyCliOptions" => JSON.dump(self.options),
16
+ )
17
+
18
+ raise ::Dapp::Error::Command, code: :ruby2go_deploy_command_failed, data: { command: command, message: res["error"] } unless res["error"].nil?
19
+ end
20
+
21
+ def kube_dismiss_old
7
22
  lock_helm_release do
8
23
  kube_check_helm!
9
24
  kube_check_helm_release!
@@ -3,6 +3,21 @@ module Dapp
3
3
  module Dapp
4
4
  module Command
5
5
  module Lint
6
+ def kube_lint
7
+ command = "lint"
8
+
9
+ # TODO: move project dir logic to golang
10
+ project_dir = path.to_s
11
+
12
+ res = ruby2go_deploy(
13
+ "command" => command,
14
+ "projectDir" => project_dir,
15
+ "rubyCliOptions" => JSON.dump(self.options),
16
+ )
17
+
18
+ raise ::Dapp::Error::Command, code: :ruby2go_deploy_command_failed, data: { command: command, message: res["error"] } unless res["error"].nil?
19
+ end
20
+
6
21
  def kube_chart_name
7
22
  chart_spec = yaml_load_file(kube_chart_yaml_path)
8
23
 
@@ -26,7 +41,7 @@ module Dapp
26
41
  end
27
42
  end
28
43
 
29
- def kube_lint
44
+ def kube_lint_old
30
45
  kube_check_helm_chart_yaml!
31
46
  with_kube_tmp_lint_chart_dir do
32
47
  helm_release(&:lint!)
@@ -4,6 +4,21 @@ module Dapp
4
4
  module Command
5
5
  module Render
6
6
  def kube_render
7
+ command = "render"
8
+
9
+ # TODO: move project dir logic to golang
10
+ project_dir = path.to_s
11
+
12
+ res = ruby2go_deploy(
13
+ "command" => command,
14
+ "projectDir" => project_dir,
15
+ "rubyCliOptions" => JSON.dump(self.options),
16
+ )
17
+
18
+ raise ::Dapp::Error::Command, code: :ruby2go_deploy_command_failed, data: { command: command, message: res["error"] } unless res["error"].nil?
19
+ end
20
+
21
+ def kube_render_old
7
22
  helm_release do |release|
8
23
  templates = begin
9
24
  if options[:templates].any?
@@ -0,0 +1,17 @@
1
+ module Dapp
2
+ module Kube
3
+ module Dapp
4
+ module Command
5
+ module Ruby2Go
6
+ def ruby2go_deploy_command(command:, raw_command_options: nil, **options)
7
+ (options[:options] ||= {}).merge!(project_dir: path.to_s, raw_command_options: raw_command_options)
8
+ ruby2go_deploy(command: command, **options).tap do |res|
9
+ raise ::Dapp::Error::Command, code: :ruby2go_deploy_command_failed, data: { command: command, message: res["error"] } unless res["error"].nil?
10
+ break res['data']
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -4,107 +4,15 @@ module Dapp
4
4
  module Command
5
5
  module SecretEdit
6
6
  def kube_secret_edit(file_path)
7
- secret_key_should_exist!
8
-
9
- with_kube_tmp_chart_dir do
10
- decoded_data = begin
11
- kube_secret_file_validate!(file_path)
12
-
13
- if options[:values]
14
- kube_extract_secret_values(file_path)
15
- else
16
- kube_extract_secret_file(file_path)
17
- end
18
- end
19
-
20
- tmp_file_path = kube_chart_path_for_helm(File.basename(file_path))
21
- tmp_file_path.binwrite(decoded_data)
22
-
23
- loop do
24
- begin
25
- system(kube_secret_editor, tmp_file_path.to_s)
26
-
27
- encoded_data = begin
28
- if options[:values]
29
- encoded_values = yaml_load_file(file_path)
30
-
31
- decoded_values = kube_helm_decode_json(secret, yaml_load_file(file_path))
32
- updated_decoded_values = yaml_load_file(tmp_file_path)
33
-
34
- deep_delete_if_key_not_exist(encoded_values, updated_decoded_values)
35
-
36
- modified_decoded_values = deep_select_modified_keys(updated_decoded_values, decoded_values)
37
- updated_encoded_values = deep_merge(encoded_values, kube_helm_encode_json(secret, modified_decoded_values))
38
- deep_sort_by_same_structure(updated_encoded_values, updated_decoded_values).to_yaml
39
- else
40
- kube_secret_file(tmp_file_path)
41
- end
42
- end
43
-
44
- IO.binwrite(file_path, "#{encoded_data}\n")
45
- break
46
- rescue ::Dapp::Error::Default => e
47
- log_warning(Helper::NetStatus.message(e))
48
- print 'Do you want to change file (Y/n)?'
49
- response = $stdin.getch.tap { print "\n" }
50
- return if response.strip == 'n'
51
- end
52
- end
53
- end
54
- end
55
-
56
- def kube_secret_editor
57
- return ENV['EDITOR'] unless ENV['EDITOR'].nil?
58
- %w(vim vi nano).each { |editor| return editor unless shellout("which #{editor}").exitstatus.nonzero? }
59
- raise ::Dapp::Error::Command, code: :editor_not_found
60
- end
61
-
62
- private
63
-
64
- def deep_merge(hash1, hash2)
65
- hash1.merge(hash2) do |_, v1, v2|
66
- if v1.is_a?(::Hash) && v2.is_a?(::Hash)
67
- deep_merge(v1, v2)
68
- else
69
- v2
70
- end
71
- end
72
- end
73
-
74
- def deep_select_modified_keys(hash1, hash2)
75
- {}.tap do |hash|
76
- hash1.each do |k, v|
77
- next if hash2[k] == v
78
- hash[k] = begin
79
- if hash2[k].is_a?(Hash) && v.is_a?(Hash)
80
- deep_select_modified_keys(v, hash2[k])
81
- else
82
- v
83
- end
84
- end
85
- end
86
- end
87
- end
88
-
89
- def deep_delete_if_key_not_exist(hash1, hash2)
90
- hash1.delete_if do |k, v|
91
- if hash2.key?(k)
92
- if hash2[k].is_a?(Hash) && v.is_a?(Hash)
93
- deep_delete_if_key_not_exist(v, hash2[k])
94
- end
95
- false
96
- else
97
- true
98
- end
99
- end
7
+ ruby2go_deploy_command(command: :secret_edit, options: kube_secret_edit_command_options(file_path))
100
8
  end
101
9
 
102
- def deep_sort_by_same_structure(hash1, hash2)
103
- hash1.sort_by { |k, _| hash2.keys.index(k) }.to_h.tap do |h|
104
- h.select { |_, v| v.is_a?(Hash) }.each do |k, _|
105
- h[k] = deep_sort_by_same_structure(h[k], hash2[k])
106
- end
107
- end
10
+ def kube_secret_edit_command_options(file_path)
11
+ {
12
+ tmp_dir: _ruby2go_tmp_dir,
13
+ file_path: file_path,
14
+ values: options[:values]
15
+ }
108
16
  end
109
17
  end
110
18
  end
@@ -4,53 +4,11 @@ module Dapp
4
4
  module Command
5
5
  module SecretExtract
6
6
  def kube_secret_extract(file_path)
7
- secret_key_should_exist!
8
-
9
- data = begin
10
- if file_path
11
- kube_secret_file_validate!(file_path)
12
-
13
- if options[:values]
14
- kube_extract_secret_values(file_path)
15
- else
16
- kube_extract_secret_file(file_path)
17
- end
18
- else
19
- kube_extract_secret
20
- end
21
- end
22
-
23
- if (output_file_path = options[:output_file_path])
24
- FileUtils.mkpath File.dirname(output_file_path)
25
- IO.binwrite(output_file_path, data)
26
- else
27
- puts data
28
- end
29
- end
30
-
31
- def kube_extract_secret
32
- data = begin
33
- if $stdin.tty?
34
- print 'Enter secret: '
35
- $stdin.gets
36
- else
37
- $stdin.read
38
- end.to_s.chomp
39
- end
40
-
41
- if data.empty?
42
- exit 0
43
- else
44
- secret.extract(data)
45
- end
46
- end
47
-
48
- def kube_extract_secret_values(file_path)
49
- kube_helm_decode_json(secret, yaml_load_file(file_path)).to_yaml
7
+ ruby2go_deploy_command(command: :secret_extract, raw_command_options: kube_secret_extract_raw_command_options(file_path))
50
8
  end
51
9
 
52
- def kube_extract_secret_file(file_path)
53
- secret.extract(IO.binread(file_path).chomp("\n"))
10
+ def kube_secret_extract_raw_command_options(file_path)
11
+ kube_secret_generate_raw_command_options(file_path)
54
12
  end
55
13
  end
56
14
  end
@@ -4,53 +4,15 @@ module Dapp
4
4
  module Command
5
5
  module SecretGenerate
6
6
  def kube_secret_generate(file_path)
7
- secret_key_should_exist!
8
-
9
- data = begin
10
- if file_path
11
- kube_secret_file_validate!(file_path)
12
-
13
- if options[:values]
14
- kube_secret_values(file_path)
15
- else
16
- kube_secret_file(file_path)
17
- end
18
- else
19
- kube_secret
20
- end
21
- end
22
-
23
- if (output_file_path = options[:output_file_path])
24
- FileUtils.mkpath File.dirname(output_file_path)
25
- IO.binwrite(output_file_path, "#{data}\n")
26
- else
27
- puts data
28
- end
29
- end
30
-
31
- def kube_secret
32
- data = begin
33
- if $stdin.tty?
34
- print 'Enter secret: '
35
- $stdin.noecho(&:gets).tap { print "\n" }
36
- else
37
- $stdin.read
38
- end.to_s.chomp
39
- end
40
-
41
- if data.empty?
42
- exit 0
43
- else
44
- secret.generate(data)
45
- end
46
- end
47
-
48
- def kube_secret_values(file_path)
49
- kube_helm_encode_json(secret, yaml_load_file(file_path)).to_yaml
7
+ ruby2go_deploy_command(command: :secret_generate, raw_command_options: kube_secret_generate_raw_command_options(file_path))
50
8
  end
51
9
 
52
- def kube_secret_file(file_path)
53
- secret.generate(IO.binread(file_path))
10
+ def kube_secret_generate_raw_command_options(file_path)
11
+ JSON.dump({
12
+ file_path: file_path,
13
+ output_file_path: options[:output_file_path],
14
+ values: options[:values]
15
+ })
54
16
  end
55
17
  end
56
18
  end
@@ -4,7 +4,7 @@ module Dapp
4
4
  module Command
5
5
  module SecretKeyGenerate
6
6
  def kube_secret_key_generate
7
- puts "DAPP_SECRET_KEY=#{Secret.generate_key}"
7
+ ruby2go_deploy_command(command: :secret_key_generate)
8
8
  end
9
9
  end
10
10
  end
@@ -4,33 +4,7 @@ module Dapp
4
4
  module Command
5
5
  module SecretRegenerate
6
6
  def kube_secret_regenerate(*secret_values_paths)
7
- regenerated_data = {}
8
-
9
- secret_values_paths << kube_chart_path('secret-values.yaml') if kube_chart_path('secret-values.yaml').file?
10
- secret_values_paths.each do |file_path|
11
- kube_secret_file_validate!(file_path)
12
- regenerated_data[file_path] = kube_regenerate_secret_values(file_path)
13
- end
14
-
15
- Dir.glob(kube_chart_secret_path('**/*'), File::FNM_DOTMATCH).each do |file_path|
16
- next if File.directory?(file_path)
17
- kube_secret_file_validate!(file_path)
18
- regenerated_data[file_path] = kube_regenerate_secret_file(file_path)
19
- end
20
-
21
- regenerated_data.each { |file_path, data| IO.binwrite(file_path, "#{data}\n") }
22
- end
23
-
24
- def kube_regenerate_secret_file(file_path)
25
- secret.generate(old_secret.extract(IO.binread(file_path).chomp("\n")))
26
- end
27
-
28
- def kube_regenerate_secret_values(file_path)
29
- kube_helm_encode_json(secret, kube_helm_decode_json(old_secret, yaml_load_file(file_path))).to_yaml
30
- end
31
-
32
- def old_secret
33
- @old_secret ||= Secret.new(options[:old_secret_key])
7
+ ruby2go_deploy_command(command: :secret_regenerate, options: { old_key: options[:old_secret_key], secret_values_paths: secret_values_paths })
34
8
  end
35
9
  end
36
10
  end
@@ -17,6 +17,7 @@ module Dapp
17
17
  include Command::Lint
18
18
  include Command::ValueGet
19
19
  include Command::Common
20
+ include Command::Ruby2Go
20
21
  end
21
22
  end
22
23
  end
@@ -1,4 +1,4 @@
1
1
  module Dapp
2
- VERSION = "0.35.45"
2
+ VERSION = "0.36.0"
3
3
  BUILD_CACHE_VERSION = 33
4
4
  end
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.35.45
4
+ version: 0.36.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: 2019-08-08 00:00:00.000000000 Z
11
+ date: 2018-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mixlib-shellout
@@ -692,6 +692,7 @@ files:
692
692
  - lib/dapp/kube/dapp/command/lint.rb
693
693
  - lib/dapp/kube/dapp/command/minikube_setup.rb
694
694
  - lib/dapp/kube/dapp/command/render.rb
695
+ - lib/dapp/kube/dapp/command/ruby2go.rb
695
696
  - lib/dapp/kube/dapp/command/secret_edit.rb
696
697
  - lib/dapp/kube/dapp/command/secret_extract.rb
697
698
  - lib/dapp/kube/dapp/command/secret_generate.rb
@@ -742,7 +743,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
742
743
  version: 2.5.0
743
744
  requirements: []
744
745
  rubyforge_project:
745
- rubygems_version: 2.7.6
746
+ rubygems_version: 2.7.7
746
747
  signing_key:
747
748
  specification_version: 4
748
749
  summary: Build docker packaged apps using chef or shell