helm-wrapper 1.7.2 → 1.7.3

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: 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.