@@ -182,17 +182,17 @@ module K8sVault
182182 # Removed temporary KUBECONFIG, if present
183183 #
184184 # Return `nil`
185- def self.cleanup : Nil
185+ def self.cleanup (kubeconfigTemp : String ) : Nil
186186 K8sVault ::Log .debug " cleaning up"
187- File .delete(ENV [ " KUBECONFIG " ] ) rescue nil
187+ File .delete(kubeconfigTemp ) rescue nil
188188 end
189189
190190 # Runs everything
191191 def self.run (options : Array (String ))
192192 kubecontext = " _unset_"
193193 spawn_shell = false
194194 kubeconfigTemp = K8sVault ::KUBECONFIG_TEMP ;
195-
195+
196196 while options.size > 0
197197 case options.first
198198 when " -v" , " --version"
@@ -269,7 +269,7 @@ module K8sVault
269269
270270 # trap CTRL-C
271271 Signal ::INT .trap do
272- cleanup
272+ cleanup(kubeconfigTemp)
273273 exit 0
274274 end
275275
@@ -280,20 +280,20 @@ module K8sVault
280280 File .write(kubeconfigTemp, config.kubeconfig, perm = 0o0600 )
281281 rescue K8sVault ::UnconfiguredContextError
282282 K8sVault ::Log .error " \" #{ kubecontext } \" context is not found in #{ K8sVault ::K8SVAULT_CONFIG } "
283- cleanup
283+ cleanup(kubeconfigTemp)
284284 exit 1
285285 rescue K8sVault ::ConfigParseError
286286 K8sVault ::Log .error " unable to parse config file at #{ K8sVault ::K8SVAULT_CONFIG } "
287- cleanup
287+ cleanup(kubeconfigTemp)
288288 exit 1
289289 rescue KCE ::Exceptions ::ContextMissingError
290290 K8sVault ::Log .error " \" #{ kubecontext } \" context is not found in KUBECONFIG (#{ K8sVault ::KUBECONFIG } )"
291- cleanup
291+ cleanup(kubeconfigTemp)
292292 exit 1
293293 rescue ex
294294 K8sVault ::Log .debug " #{ ex.message } (#{ ex.class } )"
295295 K8sVault ::Log .error " unexpected error"
296- cleanup
296+ cleanup(kubeconfigTemp)
297297 exit 1
298298 end
299299
@@ -314,13 +314,13 @@ module K8sVault
314314 unless K8sVault .wait_for_connection(port: config.local_port.to_i, timeout: config.k8s_api_timeout.to_i)
315315 forwarder.signal(Signal ::TERM ) rescue nil
316316 forwarder.wait rescue nil
317- K8sVault .cleanup
317+ K8sVault .cleanup(kubeconfigTemp)
318318 exit 1
319319 end
320320 rescue ex
321321 K8sVault ::Log .debug " #{ ex.message } (#{ ex.class } )"
322322 K8sVault ::Log .error " failed to establish SSH session"
323- K8sVault .cleanup
323+ K8sVault .cleanup(kubeconfigTemp)
324324 exit 1
325325 end
326326
@@ -343,6 +343,6 @@ module K8sVault
343343
344344 forwarder.signal(Signal ::TERM ) rescue nil
345345 forwarder.wait rescue nil
346- K8sVault .cleanup
346+ K8sVault .cleanup(kubeconfigTemp)
347347 end
348348end
0 commit comments