stax-helm 0.0.10 → 0.0.14

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: 41a130565e0bc2e27d93808ebf89ea68235e11ee0df4f25df323058e00c1f34b
4
- data.tar.gz: 198184c00517bd4a3484407587fa1cd32cb83bb147af347f1f3de23f6e2463f9
3
+ metadata.gz: 0cdcda1712d4055cb72d97ab0e1808fa1dfc0dea76085e369e4e0baa923cf189
4
+ data.tar.gz: 3665c5e9bd4c61ff6d4e046a3413bc5dc25288a1ec0094293aab7a478ad5fd5b
5
5
  SHA512:
6
- metadata.gz: a9fd37aeb41f09306a65dd8c629a55a1e631cd7a4640066e6fd94af03933e37a88bb6bec23ac7893513995ac2245d29a052d9c5d5a678e73026bcc4b603ab3cb
7
- data.tar.gz: d6b3f40299829ea6720dbb51c3decce87902fb142c8e0a80045826a32948785dcb46a92fca4a9eb6a3f238c614491215c6fbb88fc095e5e1d91993f77e2a14d2
6
+ metadata.gz: 9757beba5ab09ed274bf4c20956950166140664dfce1c62791bbac96cbd5e31a9b3f29c03f8bf47314f48fd12b0201c8895a188120c44c5518a4f958f82d1711
7
+ data.tar.gz: fa70a7635960752b8c9814edc2024657252fde3800a1fb3556b7d13f67003cde4cd714d75c9d1dec5e2a5ba851775d027088a69b94287c3b2b3c5e0ae06c4607
@@ -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
@@ -38,7 +39,9 @@ module Stax
38
39
 
39
40
  ## name for Job to create based on container
40
41
  def helm_run_job
41
- "#{helm_release_name}-run-#{SecureRandom.hex(4)}"
42
+ suffix = "-run-#{SecureRandom.hex(4)}"
43
+ prefix = helm_release_name.slice(0,63-suffix.length).sub(/-+$/, '') # ensure total name is <=63 chars
44
+ prefix + suffix
42
45
  end
43
46
 
44
47
  ## default command to run
@@ -54,6 +57,7 @@ module Stax
54
57
  desc 'runcmd [CMD]', 'run dedicated interactive container'
55
58
  method_option :sleep, type: :string, default: '1h', description: 'kill container after time'
56
59
  method_option :keep, type: :boolean, default: false, description: 'do not delete job'
60
+ method_option :ttl, type: :numeric, default: 30, description: 'secs to keep job after pod terminates'
57
61
  def runcmd(*cmd)
58
62
  ## use default if not set
59
63
  cmd = Array(helm_run_cmd) if cmd.empty?
@@ -79,6 +83,9 @@ module Stax
79
83
  ## add container to Job template
80
84
  template[:spec][:template][:spec][:containers] = [ spec ]
81
85
 
86
+ ## add ttl to Job so it will be cleaned up after Pod terminates
87
+ template[:spec][:ttlSecondsAfterFinished] = options[:ttl]
88
+
82
89
  ## get service account and add to template
83
90
  service_account = deployment.dig('spec', 'template', 'spec', 'serviceAccountName')
84
91
  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.10'
3
+ VERSION = '0.0.14'
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.10
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Lister
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-23 00:00:00.000000000 Z
11
+ date: 2022-01-12 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.