stax-helm 0.0.14 → 0.0.15

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: 0cdcda1712d4055cb72d97ab0e1808fa1dfc0dea76085e369e4e0baa923cf189
4
- data.tar.gz: 3665c5e9bd4c61ff6d4e046a3413bc5dc25288a1ec0094293aab7a478ad5fd5b
3
+ metadata.gz: e79394ad245c22bd8f38859ef5a485978a3319f1dc2097816766fba719a37da9
4
+ data.tar.gz: 7b8e69cc84f800449c21ed46ec0008ba64d5d900e535b0054da77454eea402a7
5
5
  SHA512:
6
- metadata.gz: 9757beba5ab09ed274bf4c20956950166140664dfce1c62791bbac96cbd5e31a9b3f29c03f8bf47314f48fd12b0201c8895a188120c44c5518a4f958f82d1711
7
- data.tar.gz: fa70a7635960752b8c9814edc2024657252fde3800a1fb3556b7d13f67003cde4cd714d75c9d1dec5e2a5ba851775d027088a69b94287c3b2b3c5e0ae06c4607
6
+ metadata.gz: bec55e5a7430dc58e66a22bb2dd32a258fd2316b269b1a39a3aab6e982aab86872942e33d86d526dd614e7eea82fba9592b46a6840849546a9800ce48d257429
7
+ data.tar.gz: ec4174bfcce686383abe69285c84aa2faaec68e0dd8ab396b04a5b32860142b439549c459947896b13e483d550fa76cc835f5716014bab75c6e8e7d84f339f3b
@@ -22,6 +22,11 @@ module Stax
22
22
  def helm_selector
23
23
  "app.kubernetes.io/instance=#{helm_release_name}"
24
24
  end
25
+
26
+ ## override this to match a component in your helm release
27
+ def helm_component_selector(component)
28
+ "app.kubernetes.io/instance=#{helm_release_name},app.kubernetes.io/component=#{component}"
29
+ end
25
30
  end
26
31
 
27
32
  desc 'services', 'list services'
@@ -0,0 +1,32 @@
1
+ ## tasks to work on services
2
+ module Stax
3
+ module Helm
4
+ class Cmd < Base
5
+
6
+ no_commands do
7
+ def helm_services
8
+ jsonpath = '{.items[*].metadata.name}'
9
+ %x[kubectl get services -o=jsonpath='#{jsonpath}' -l #{helm_selector}].split
10
+ end
11
+ end
12
+
13
+ desc 'services', 'list services'
14
+ def services
15
+ kubectl_run(:get, :services, '-l', helm_selector)
16
+ end
17
+
18
+ map :svc => :services
19
+
20
+ desc 'port-forward', 'port forward a service'
21
+ method_option :component, aliases: '-c', type: :string, default: 'web', desc: 'component to forward'
22
+ method_option :ports, aliases: '-p', type: :array, default: nil, desc: 'local:remote ports'
23
+ def port_forward
24
+ svc = kubectl_json(:get, :svc, '-l', helm_component_selector(options[:component]))['items'].first
25
+ name = svc.dig('metadata', 'name')
26
+ ports = options.fetch(:ports, svc.dig('spec', 'ports').map { |p| p['port'] })
27
+ kubectl_run('port-forward', "service/#{name}", ports.join(' '))
28
+ end
29
+
30
+ end
31
+ end
32
+ end
@@ -1,5 +1,5 @@
1
1
  module Stax
2
2
  module Helm
3
- VERSION = '0.0.14'
3
+ VERSION = '0.0.15'
4
4
  end
5
5
  end
data/lib/stax/helm.rb CHANGED
@@ -3,6 +3,7 @@ require 'stax/helm/cmd'
3
3
  require 'stax/helm/kubectl'
4
4
  require 'stax/helm/ingress'
5
5
  require 'stax/helm/pod'
6
+ require 'stax/helm/service'
6
7
  require 'stax/helm/deployment'
7
8
  require 'stax/helm/jobs'
8
9
  require 'stax/helm/cronjobs'
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.14
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Lister
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-12 00:00:00.000000000 Z
11
+ date: 2022-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -90,6 +90,7 @@ files:
90
90
  - lib/stax/helm/kubectl.rb
91
91
  - lib/stax/helm/pod.rb
92
92
  - lib/stax/helm/runcmd.rb
93
+ - lib/stax/helm/service.rb
93
94
  - lib/stax/helm/stern.rb
94
95
  - lib/stax/helm/version.rb
95
96
  - stax-helm.gemspec
@@ -112,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
113
  - !ruby/object:Gem::Version
113
114
  version: '0'
114
115
  requirements: []
115
- rubygems_version: 3.1.4
116
+ rubygems_version: 3.1.6
116
117
  signing_key:
117
118
  specification_version: 4
118
119
  summary: Control helm charts with stax.