stax-helm 0.0.9 → 0.0.13

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: 53e53de7fb96d2b35470594bbb80e1de7bcbcf41aad867d6d20217db8bc20aef
4
- data.tar.gz: 99f8d5f4a0964e66303803885d4f065d0979606f33cceed2afc7b5e82869f650
3
+ metadata.gz: e2cdcb3f21bb53a6c7414d4e4963ff49d8f3b5571266593538f299cbc1e55e46
4
+ data.tar.gz: 02b8f3d94f8588e053fad210ba527fc1dbe06720d7ba7cbf47a7b9e446a45a80
5
5
  SHA512:
6
- metadata.gz: 5cf3d1c0a868fdb26deb92346704bb3dacf507f28c3b70761b6525d3ecca93891fa0e1276533cfd3096913a1944d418469de7b7dbcf2383417803cc11fd7396c
7
- data.tar.gz: d581092b08654b29454a72ab0c1ff198d47caa0aa1663baa17123898bc0cd738d01994cb4f7f9daf20cd19542124f3e8d630d55188f2bacc632339b889c556b4
6
+ metadata.gz: c8f1580d8b7726b98abef55d23360bd6980859b7036a9cf2e9f4214b6e587500a7f133f7d264d91b620c1dd720a967ea9c2914e9551dbdff1797b19b3b1d6762
7
+ data.tar.gz: cccc3431eda4c2394459a986e8c5276fbe66d6539027853b843533ced4b37fe9dd6a34d8df4b2de540c73ee0065830935bcdfdbee8109952c6905f065ccb293a
@@ -8,7 +8,7 @@ module Stax
8
8
 
9
9
  ## make string safe to use in naming helm stuff
10
10
  def helm_safe(string)
11
- string.slice(0, 53).gsub(/[\W_]/, '-').downcase
11
+ string.slice(0, 53).gsub(/[\W_]/, '-').sub(/-+$/, '').downcase
12
12
  end
13
13
  end
14
14
 
@@ -1,3 +1,4 @@
1
+ require 'open3'
1
2
  require 'securerandom'
2
3
 
3
4
  module Stax
@@ -54,6 +55,7 @@ module Stax
54
55
  desc 'runcmd [CMD]', 'run dedicated interactive container'
55
56
  method_option :sleep, type: :string, default: '1h', description: 'kill container after time'
56
57
  method_option :keep, type: :boolean, default: false, description: 'do not delete job'
58
+ method_option :ttl, type: :numeric, default: 30, description: 'secs to keep job after pod terminates'
57
59
  def runcmd(*cmd)
58
60
  ## use default if not set
59
61
  cmd = Array(helm_run_cmd) if cmd.empty?
@@ -71,6 +73,7 @@ module Stax
71
73
  ## cleanup the container spec so we can use it in a Job
72
74
  spec.delete('livenessProbe')
73
75
  spec.delete('readinessProbe')
76
+ spec.delete('startupProbe')
74
77
  spec.delete('volumeMounts')
75
78
  spec['name'] = 'run'
76
79
  spec['args'] = ['sleep', options[:sleep]]
@@ -78,6 +81,9 @@ module Stax
78
81
  ## add container to Job template
79
82
  template[:spec][:template][:spec][:containers] = [ spec ]
80
83
 
84
+ ## add ttl to Job so it will be cleaned up after Pod terminates
85
+ template[:spec][:ttlSecondsAfterFinished] = options[:ttl]
86
+
81
87
  ## get service account and add to template
82
88
  service_account = deployment.dig('spec', 'template', 'spec', 'serviceAccountName')
83
89
  template[:spec][:template][:spec][:serviceAccountName] = service_account if service_account
@@ -1,5 +1,5 @@
1
1
  module Stax
2
2
  module Helm
3
- VERSION = '0.0.9'
3
+ VERSION = '0.0.13'
4
4
  end
5
5
  end
data/stax-helm.gemspec CHANGED
@@ -21,8 +21,9 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ['lib']
23
23
 
24
- spec.add_development_dependency 'bundler', '~> 1.14'
24
+ spec.add_development_dependency 'bundler', '~> 2'
25
25
  spec.add_development_dependency 'rake', '>= 12.3.3'
26
26
 
27
27
  spec.add_dependency('stax')
28
+ spec.add_dependency('open3')
28
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stax-helm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Lister
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-10 00:00:00.000000000 Z
11
+ date: 2022-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.14'
19
+ version: '2'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.14'
26
+ version: '2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: open3
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  description: Stax is a flexible set of ruby classes for wrangling your cloudformation
56
70
  stacks.
57
71
  email:
@@ -98,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
112
  - !ruby/object:Gem::Version
99
113
  version: '0'
100
114
  requirements: []
101
- rubygems_version: 3.0.3
115
+ rubygems_version: 3.1.4
102
116
  signing_key:
103
117
  specification_version: 4
104
118
  summary: Control helm charts with stax.