helm-wrapper 1.7.2 → 1.7.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0faf78c64a0493547119ad800a1e61c689a219334117171fb933dbc27381cf76
4
- data.tar.gz: cdaa62c9e7f163e4b85ce57a0e4b324a6c15223d3a304da6da14361337058abc
3
+ metadata.gz: 10fea1f8e96fea9ba1aebbbab0ff1677082ab65e6203865423dd5306d5731227
4
+ data.tar.gz: f7f59f2ad0dd69bb40f5eff053c4d307dec467e85b916642887eb19135cef8f6
5
5
  SHA512:
6
- metadata.gz: 1fba730588a8ef8e9e7e846c8eae9c89c5c48bdd272d762c950596c39adb0de59f792d56e0c1cf873a453696d8c935c70f1f45be5b2919a56205aa8b0d2ac344
7
- data.tar.gz: '0836f6da655a96ba46019767c6adce3df1e5202519cac699af70cec2d83c7d97971a3cadd3f4b8fb6f811d0ae3ee82574c7a6b7aa1214dc0ed847956895ab0de'
6
+ metadata.gz: f2213f807e1c09d55fa671fbc4d1521fea4a13e567a1006dd16dfb73a667708117841301e0b664e7214d24c5c16ebaf2dab920a2e6a056b88254134d2f0e8d98
7
+ data.tar.gz: 265cc10cf924f79cbec060bb0389e56f7c792e766a3f991859183cdead17063aacc0b472884a85192a417931c2570382b97b83bfc5f6c0b9b9158d21b2f64486
@@ -5,36 +5,29 @@ require 'open3'
5
5
  ###############################################################################
6
6
 
7
7
  module HelmWrapper
8
-
9
- ###############################################################################
8
+ #############################################################################
10
9
 
11
10
  module Shared
12
-
13
- ###############################################################################
11
+ ###########################################################################
14
12
 
15
13
  class Runner
16
-
17
- ###############################################################################
14
+ #########################################################################
18
15
 
19
16
  include HelmWrapper::Shared::Logging
20
17
 
21
- ###############################################################################
18
+ #########################################################################
22
19
 
23
- @@repo_actions = [ "registry", "repo" ]
20
+ @@repo_actions = %w[registry repo]
24
21
 
25
- ###############################################################################
22
+ #########################################################################
26
23
 
27
24
  @auths_attempted = false
28
25
 
29
- ###############################################################################
26
+ #########################################################################
30
27
 
31
- attr_reader :auths
32
- attr_reader :binary
33
- attr_reader :chart
34
- attr_reader :config
35
- attr_reader :repos
28
+ attr_reader :auths, :binary, :chart, :config, :repos
36
29
 
37
- ###############################################################################
30
+ #########################################################################
38
31
 
39
32
  def initialize(binary:, chart:, config: nil)
40
33
  @binary = binary
@@ -45,10 +38,10 @@ module HelmWrapper
45
38
  @repos = false
46
39
  end
47
40
 
48
- ###############################################################################
41
+ #########################################################################
49
42
 
50
- def init_auths()
51
- logger.fatal("Cannot initialise authenticators without a valid configuration!") if @config.nil?
43
+ def init_auths
44
+ logger.fatal('Cannot initialise authenticators without a valid configuration!') if @config.nil?
52
45
 
53
46
  @auths_attempted = true
54
47
 
@@ -57,81 +50,84 @@ module HelmWrapper
57
50
  @auths = true
58
51
  end
59
52
 
60
- ###############################################################################
53
+ #########################################################################
61
54
 
62
55
  def init_repos(force: false)
63
- ENV["HELM_EXPERIMENTAL_OCI"] = "true"
64
-
65
56
  @chart.oci.each_with_index do |oci_repo, oci_index|
66
- logger.info("Logging into OCI repository: #{oci_repo["name"]}")
57
+ logger.info("Logging into OCI repository: #{oci_repo['name']}")
67
58
 
68
- username = from_environment(variable: oci_repo["username"])
69
- password = from_environment(variable: oci_repo["password"])
59
+ username = from_environment(variable: oci_repo['username'])
60
+ password = from_environment(variable: oci_repo['password'])
70
61
 
71
62
  @chart.oci_active(active: true, index: oci_index)
72
63
 
73
- parameters = Array.new
74
- parameters.append("login")
75
- parameters.append("\"#{oci_repo["url"]}\"")
64
+ parameters = []
65
+ parameters.append('login')
66
+ parameters.append("\"#{oci_repo['url']}\"")
76
67
  parameters.append("--username=\"#{username}\"")
77
- parameters.append("--password-stdin")
78
- logger.fatal("Failed to login to Helm OCI repository: #{oci_repo["name"]}, url: #{oci_repo["url"]}") unless run(action: "registry", parameters: parameters, stdin: password)
68
+ parameters.append('--password-stdin')
69
+ logger.fatal("Failed to login to Helm OCI repository: #{oci_repo['name']}, url: #{oci_repo['url']}") unless run(
70
+ action: 'registry', parameters: parameters, stdin: password
71
+ )
79
72
  end
80
73
 
81
- if @chart.artefact.length > 0 then
74
+ if @chart.artefact.length > 0
82
75
 
83
76
  @chart.artefact.each_with_index do |artefact_repo, artefact_index|
84
- logger.info("Adding artefact repository: #{artefact_repo["name"]}")
77
+ logger.info("Adding artefact repository: #{artefact_repo['name']}")
85
78
 
86
- username = artefact_repo["username"].nil? ? nil : from_environment(variable: artefact_repo["username"])
87
- password = artefact_repo["password"].nil? ? nil : from_environment(variable: artefact_repo["password"])
79
+ username = artefact_repo['username'].nil? ? nil : from_environment(variable: artefact_repo['username'])
80
+ password = artefact_repo['password'].nil? ? nil : from_environment(variable: artefact_repo['password'])
88
81
 
89
82
  @chart.artefact_active(active: true, index: artefact_index)
90
83
 
91
- parameters = Array.new
92
- parameters.append("add")
93
- parameters.append("\"#{artefact_repo["name"]}\"")
94
- parameters.append("\"#{artefact_repo["url"]}\"")
84
+ parameters = []
85
+ parameters.append('add')
86
+ parameters.append("\"#{artefact_repo['name']}\"")
87
+ parameters.append("\"#{artefact_repo['url']}\"")
95
88
  parameters.append("--username=\"#{username}\"") unless username.nil?
96
89
  parameters.append("--password=\"#{password}\"") unless password.nil?
97
- parameters.append("--force-update") if force
98
- logger.fatal("Failed to add Helm repository: #{artefact_repo["name"]}, url: #{artefact_repo["url"]}") unless run(action: "repo", parameters: parameters)
90
+ parameters.append('--force-update') if force
91
+ logger.fatal("Failed to add Helm repository: #{artefact_repo['name']}, url: #{artefact_repo['url']}") unless run(
92
+ action: 'repo', parameters: parameters
93
+ )
99
94
  end
100
95
 
101
- logger.info("Updating artefact repositories...")
102
- logger.fatal("Failed to update Helm artefact repositories!") unless run(action: "repo", parameters: Array.new([ "update" ]))
96
+ logger.info('Updating artefact repositories...')
97
+ logger.fatal('Failed to update Helm artefact repositories!') unless run(action: 'repo',
98
+ parameters: Array.new(['update']))
103
99
  end
104
100
 
105
101
  @repos = true
106
102
  end
107
103
 
108
- ###############################################################################
104
+ #########################################################################
109
105
 
110
106
  def clean(repos: true)
111
107
  clean_repos if repos
112
108
  clean_auths if @auths_attempted
113
109
  end
114
110
 
115
- ###############################################################################
111
+ #########################################################################
116
112
 
117
- def delete()
118
- logger.fatal("Cannot Helm delete without a valid configuration!") if @config.nil?
119
- logger.fatal("Cannot Helm delete before initialising authenticators!") unless auths
113
+ def delete
114
+ logger.fatal('Cannot Helm delete without a valid configuration!') if @config.nil?
115
+ logger.fatal('Cannot Helm delete before initialising authenticators!') unless auths
120
116
 
121
- parameters = Array.new
117
+ parameters = []
122
118
  parameters.append("--namespace=\"#{@config.namespace}\"")
123
119
  parameters.append("\"#{@config.release}\"")
124
120
 
125
- logger.fatal("Helm delete failed!") unless run(action: "delete", parameters: parameters)
121
+ logger.fatal('Helm delete failed!') unless run(action: 'delete', parameters: parameters)
126
122
  end
127
123
 
128
- ###############################################################################
124
+ #########################################################################
129
125
 
130
- def template()
131
- logger.fatal("Cannot Helm template without a valid configuration!") if @config.nil?
132
- logger.fatal("Cannot Helm template before initialising repositories!") unless repos
126
+ def template
127
+ logger.fatal('Cannot Helm template without a valid configuration!') if @config.nil?
128
+ logger.fatal('Cannot Helm template before initialising repositories!') unless repos
133
129
 
134
- parameters = Array.new
130
+ parameters = []
135
131
  parameters.append("--namespace=\"#{@config.namespace}\"")
136
132
  parameters.append("\"#{@config.release}\"")
137
133
  parameters.append("\"#{@chart.name}\"")
@@ -139,72 +135,72 @@ module HelmWrapper
139
135
  parameters.concat(variable_files)
140
136
  parameters.concat(variable_strings)
141
137
 
142
- logger.fatal("Helm template failed!") unless run(action: "template", parameters: parameters)
138
+ logger.fatal('Helm template failed!') unless run(action: 'template', parameters: parameters)
143
139
  end
144
140
 
145
- ###############################################################################
141
+ #########################################################################
146
142
 
147
143
  def upgrade(install: true)
148
- logger.fatal("Cannot Helm upgrade without a valid configuration!") if @config.nil?
149
- logger.fatal("Cannot Helm upgrade before initialising authenticators!") unless auths
150
- logger.fatal("Cannot Helm upgrade before initialising repositories!") unless repos
144
+ logger.fatal('Cannot Helm upgrade without a valid configuration!') if @config.nil?
145
+ logger.fatal('Cannot Helm upgrade before initialising authenticators!') unless auths
146
+ logger.fatal('Cannot Helm upgrade before initialising repositories!') unless repos
151
147
 
152
- parameters = Array.new
148
+ parameters = []
153
149
  parameters.append("--namespace=\"#{@config.namespace}\"")
154
- parameters.append("--install") if install
150
+ parameters.append('--install') if install
155
151
  parameters.append("\"#{@config.release}\"")
156
152
  parameters.append("\"#{@chart.name}\"")
157
- parameters.append("--atomic") if @config.atomic
158
- parameters.append("--wait") if @config.wait
159
- parameters.append("--timeout=\"#{@config.timeout}\"") if (@config.atomic or @config.wait)
153
+ parameters.append('--atomic') if @config.atomic
154
+ parameters.append('--wait') if @config.wait
155
+ parameters.append("--timeout=\"#{@config.timeout}\"") if @config.atomic or @config.wait
160
156
  parameters.append("--version=\"#{@chart.version}\"") unless @chart.version.strip.empty?
161
157
  parameters.concat(variable_files)
162
158
  parameters.concat(variable_strings)
163
159
 
164
- logger.fatal("Helm upgrade failed!") unless run(action: "upgrade", parameters: parameters)
160
+ logger.fatal('Helm upgrade failed!') unless run(action: 'upgrade', parameters: parameters)
165
161
  end
166
162
 
167
- ###############################################################################
163
+ #########################################################################
168
164
 
169
- def lint()
170
- parameters = Array.new
165
+ def lint
166
+ parameters = []
171
167
  parameters.append("\"#{@chart.path}\"")
172
168
 
173
- logger.fatal("Helm validate failed!") unless run(action: "lint", parameters: parameters)
169
+ logger.fatal('Helm validate failed!') unless run(action: 'lint', parameters: parameters)
174
170
  end
175
171
 
176
- ###############################################################################
172
+ #########################################################################
177
173
 
178
- def package(destination: ".")
179
- parameters = Array.new
174
+ def package(destination: '.')
175
+ parameters = []
180
176
  parameters.append("--destination=\"#{destination}\"")
181
177
  parameters.append("\"#{@chart.path}\"")
182
178
 
183
- logger.fatal("Helm package failed!") unless run(action: "package", parameters: parameters)
179
+ logger.fatal('Helm package failed!') unless run(action: 'package', parameters: parameters)
184
180
  end
185
181
 
186
- ###############################################################################
182
+ #########################################################################
187
183
 
188
- def push(source: ".", destination:)
189
- logger.fatal("Cannot Helm push before initialising repositories!") unless repos
184
+ def push(destination:, source: '.')
185
+ logger.fatal('Cannot Helm push before initialising repositories!') unless repos
190
186
 
191
187
  package_name = "#{@chart.name}-#{@chart.version}.tgz"
192
188
  package_path = File.join(source, package_name)
193
189
 
194
190
  logger.fatal("Must package before pushing! Package: #{package_path} not found!") unless File.file?(package_path)
195
191
 
196
- parameters = Array.new
192
+ parameters = []
197
193
  parameters.append("\"#{package_path}\"")
198
194
  parameters.append("\"#{destination}\"")
199
195
 
200
- logger.fatal("Helm push failed!") unless run(action: "push", parameters: parameters)
196
+ logger.fatal('Helm push failed!') unless run(action: 'push', parameters: parameters)
201
197
  end
202
198
 
203
- ###############################################################################
199
+ #########################################################################
204
200
 
205
- private
201
+ private
206
202
 
207
- ###############################################################################
203
+ #########################################################################
208
204
 
209
205
  def clean_auths
210
206
  @auths = false
@@ -212,86 +208,88 @@ module HelmWrapper
212
208
  @auths_attempted = false
213
209
  end
214
210
 
215
- ###############################################################################
211
+ #########################################################################
216
212
 
217
213
  def clean_repos
218
214
  @repos = false
219
215
 
220
216
  @chart.oci.each do |oci_repo|
221
- if oci_repo["active"] then
222
- logger.info("Logging out of OCI repository: #{oci_repo["name"]}")
217
+ next unless oci_repo['active']
223
218
 
224
- parameters = Array.new
225
- parameters.append("logout")
226
- parameters.append("\"#{oci_repo["url"]}\"")
227
- logger.error("Failed to logout of Helm OCI repository: #{oci_repo["name"]}, url: #{oci_repo["url"]}") unless run(action: "registry", parameters: parameters)
228
- end
219
+ logger.info("Logging out of OCI repository: #{oci_repo['name']}")
220
+
221
+ parameters = []
222
+ parameters.append('logout')
223
+ parameters.append("\"#{oci_repo['url']}\"")
224
+ logger.error("Failed to logout of Helm OCI repository: #{oci_repo['name']}, url: #{oci_repo['url']}") unless run(
225
+ action: 'registry', parameters: parameters
226
+ )
229
227
  end
230
228
 
231
229
  @chart.artefact.each do |artefact_repo|
232
- if artefact_repo["active"] then
233
- if artefact_repo["password"].nil? then
234
- logger.info("Not removing artefact repository: #{artefact_repo["name"]}, no credentials stored.")
230
+ if artefact_repo['active']
231
+ if artefact_repo['password'].nil?
232
+ logger.info("Not removing artefact repository: #{artefact_repo['name']}, no credentials stored.")
235
233
  else
236
- logger.info("Removing artefact repository: #{artefact_repo["name"]}")
237
-
238
- parameters = Array.new
239
- parameters.append("remove")
240
- parameters.append("\"#{artefact_repo["name"]}\"")
241
- logger.error("Failed to remove Helm repository: #{artefact_repo["name"]}, url: #{artefact_repo["url"]}") unless run(action: "repo", parameters: parameters)
234
+ logger.info("Removing artefact repository: #{artefact_repo['name']}")
235
+
236
+ parameters = []
237
+ parameters.append('remove')
238
+ parameters.append("\"#{artefact_repo['name']}\"")
239
+ logger.error("Failed to remove Helm repository: #{artefact_repo['name']}, url: #{artefact_repo['url']}") unless run(
240
+ action: 'repo', parameters: parameters
241
+ )
242
242
  end
243
243
  end
244
244
  end
245
-
246
- ENV.delete("HELM_EXPERIMENTAL_OCI")
247
245
  end
248
246
 
249
- ###############################################################################
247
+ #########################################################################
250
248
 
251
249
  def variable_files
252
- result = Array.new
250
+ result = []
253
251
 
254
252
  @config.variables.files.each do |file|
255
253
  result.append("--values=\"#{file}\"")
256
254
  end
257
255
 
258
- return result
256
+ result
259
257
  end
260
258
 
261
- ###############################################################################
259
+ #########################################################################
262
260
 
263
261
  def variable_strings
264
- result = Array.new
262
+ result = []
265
263
 
266
264
  @config.variables.values.each do |key, value|
267
- result.append("--set=\"#{key.to_s}=#{value}\"")
265
+ result.append("--set=\"#{key}=#{value}\"")
268
266
  end
269
267
 
270
- return result
268
+ result
271
269
  end
272
270
 
273
- ###############################################################################
271
+ #########################################################################
274
272
 
275
- def run(action:, parameters: Array.new, stdin: nil)
273
+ def run(action:, parameters: [], stdin: nil)
276
274
  result = false
277
275
 
278
- parameters.reject! { |item| not item.kind_of?(String) or item.strip.empty? }
276
+ parameters.reject! { |item| !item.is_a?(String) or item.strip.empty? }
279
277
 
280
- cmdline = [ "\"#{@binary.path}\"", action ].concat(parameters).join(" ")
278
+ cmdline = ["\"#{@binary.path}\"", action].concat(parameters).join(' ')
281
279
 
282
280
  if @@repo_actions.include?(action)
283
281
  begin
284
- out, status = Open3.capture2e(cmdline, :stdin_data=>stdin)
285
- logger.debug("Helm output:")
282
+ out, status = Open3.capture2e(cmdline, stdin_data: stdin)
283
+ logger.debug('Helm output:')
286
284
  logger.debug(out)
287
285
  result = status.success?
288
- rescue
286
+ rescue StandardError
289
287
  result = false
290
288
  end
291
289
  else
292
290
  logger.info("Starting Helm, action: #{action}")
293
291
 
294
- fatal("Running Helm with data for stdin can only be used when configuring repos!") unless stdin.nil?
292
+ fatal('Running Helm with data for stdin can only be used when configuring repos!') unless stdin.nil?
295
293
  puts("\n" + ('#' * 80) + "\n\n")
296
294
 
297
295
  result = system(cmdline) || false
@@ -299,28 +297,25 @@ module HelmWrapper
299
297
  puts("\n" + ('#' * 80) + "\n\n")
300
298
  end
301
299
 
302
- return result
300
+ result
303
301
  end
304
302
 
305
- ###############################################################################
303
+ #########################################################################
306
304
 
307
305
  def from_environment(variable:)
308
306
  logger.fatal("Environment variable: #{variable} does not exist") unless ENV.key?(variable)
309
307
  logger.fatal("Environment variable: #{variable} is blank!") if ENV[variable].strip.empty?
310
308
 
311
- return ENV[variable].strip
309
+ ENV[variable].strip
312
310
  end
313
311
 
314
- ###############################################################################
315
-
312
+ #########################################################################
316
313
  end
317
314
 
318
- ###############################################################################
319
-
315
+ ###########################################################################
320
316
  end
321
317
 
322
- ###############################################################################
323
-
318
+ #############################################################################
324
319
  end
325
320
 
326
321
  ###############################################################################
@@ -1,13 +1,11 @@
1
1
  ###############################################################################
2
2
 
3
3
  module HelmWrapper
4
+ #############################################################################
4
5
 
5
- ###############################################################################
6
-
7
- VERSION = '1.7.2'
8
-
9
- ###############################################################################
6
+ VERSION = '1.7.3'
10
7
 
8
+ #############################################################################
11
9
  end
12
10
 
13
11
  ###############################################################################
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: helm-wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.2
4
+ version: 1.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Lees
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-17 00:00:00.000000000 Z
11
+ date: 2022-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0'
102
102
  requirements: []
103
- rubygems_version: 3.3.7
103
+ rubygems_version: 3.3.26
104
104
  signing_key:
105
105
  specification_version: 4
106
106
  summary: A ruby wrapper for managing Helm binaries and chart deployment.