uffizzi-cli 2.4.8 → 2.4.9

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: 8d357e75482392caf7a0dcf00cc15e527947af62ec9a00186ab79b94ccfc8b3e
4
- data.tar.gz: 3b8af8bc628b4ab6398cf4acfda863e7560e21861ae89dbcc82cdf0902e496bc
3
+ metadata.gz: 744480393ee81d335802bcb1008333c1e6c9b6f9870d7710dfff294698a1eb7a
4
+ data.tar.gz: cf43c7519e0621f9be3fbb18d9fd89fd0cf2a6ea0dc56d0b41662428e6d4b46c
5
5
  SHA512:
6
- metadata.gz: 3e0c676e7a8af1a2054e1155dea4b866447760d1b88ccea22cfed911a1231718f3f46d721d1a02c5df83e168c4b4f421343f9309b2cc35a4ad9283dacb2031c1
7
- data.tar.gz: d241444a8ee0e01406b42ff4797aed2e52c26fb386d330ed252ba94b7e2763d48224b55e6a00069386b05ee70c68b13e488901627f4a5a35c9555f583a936b8f
6
+ metadata.gz: ef39ee4ce26c553068d279f3960ba924b7458fbf439a4ffd0abbed363fa359cbf9707df59e8ee439ff06f091894836f67d7bcdb8f2c78879caa7b52120e2dfb2
7
+ data.tar.gz: 6c0471f16b076c5c8dedd2b714416c6514e03f9ee96b6d6aead5d5fca19556ac6f09e73b44a050ef07f7cdcfd3a72d9bb2b14902eda9931b5251830389aacc57
@@ -72,7 +72,7 @@ module Uffizzi
72
72
  end
73
73
 
74
74
  def wait_ip
75
- spinner = TTY::Spinner.new('[:spinner] Waiting IP addess...', format: :dots)
75
+ spinner = TTY::Spinner.new('[:spinner] Waiting on IP address...', format: :dots)
76
76
  spinner.auto_spin
77
77
 
78
78
  ip = nil
@@ -82,7 +82,7 @@ module Uffizzi
82
82
  ip = InstallService.get_controller_ip(namespace)
83
83
  break if ip.present?
84
84
 
85
- if try == 30
85
+ if try == 90
86
86
  spinner.error
87
87
 
88
88
  return 'unknown'
@@ -97,29 +97,6 @@ module Uffizzi
97
97
  ip
98
98
  end
99
99
 
100
- def wait_certificate_request_ready(uri)
101
- spinner = TTY::Spinner.new('[:spinner] Waiting create certificate for controller host...', format: :dots)
102
- spinner.auto_spin
103
-
104
- try = 0
105
-
106
- loop do
107
- requests = InstallService.get_certificate_request(namespace, uri)
108
- break if requests.all? { |r| r['status'].downcase == 'true' }
109
-
110
- if try == 60
111
- spinner.error
112
-
113
- return Uffizzi.ui.say('Stop waiting creation certificate')
114
- end
115
-
116
- try += 1
117
- sleep(2)
118
- end
119
-
120
- spinner.success
121
- end
122
-
123
100
  def build_helm_values(params)
124
101
  {
125
102
  global: {
@@ -220,7 +197,6 @@ module Uffizzi
220
197
 
221
198
  def say_success(uri)
222
199
  ip_address = wait_ip
223
- wait_certificate_request_ready(uri)
224
200
 
225
201
  msg = 'Your Uffizzi controller is ready. To configure DNS,'\
226
202
  " create a record for the hostname '*.#{uri.host}' pointing to '#{ip_address}'"
@@ -12,7 +12,7 @@ module Uffizzi
12
12
  default_task :controller
13
13
 
14
14
  desc 'controller [HOSTNAME]', 'Install uffizzi controller to cluster'
15
- method_option :namespace, type: :string
15
+ method_option :namespace, type: :string, aliases: '-n'
16
16
  method_option :context, type: :string
17
17
  def controller
18
18
  Uffizzi::AuthHelper.check_login
@@ -86,7 +86,7 @@ module Uffizzi
86
86
  end
87
87
 
88
88
  def namespace
89
- options[:namespace] || InstallService::DEFAULT_NAMESPACE
89
+ options[:namespace] || InstallService.current_namespace
90
90
  end
91
91
 
92
92
  def server
@@ -98,17 +98,6 @@ class InstallService
98
98
  load_balancers.map { |i| i['ip'] }[0]
99
99
  end
100
100
 
101
- def get_certificate_request(namespace, uri)
102
- cmd = "kubectl get certificaterequests -n #{namespace} -o json"
103
- res = execute_command(cmd, say: false)
104
- certificate_request = JSON.parse(res)['items'].detect { |i| i['metadata']['name'].include?(uri.host) }
105
-
106
- return [] if certificate_request.nil?
107
-
108
- conditions = certificate_request.dig('status', 'conditions') || []
109
- conditions.map { |c| c.slice('type', 'status') }
110
- end
111
-
112
101
  def build_controller_host(host)
113
102
  [DEFAULT_CONTROLLER_DOMAIN_PREFIX, host].join('.')
114
103
  end
@@ -130,6 +119,14 @@ class InstallService
130
119
  File.dirname(Uffizzi::ConfigFile.config_path)
131
120
  end
132
121
 
122
+ def current_namespace
123
+ path = KubeconfigService.default_path
124
+ kubeconfig = KubeconfigService.read_kubeconfig(path)
125
+ return if kubeconfig.nil?
126
+
127
+ KubeconfigService.get_current_namespace(kubeconfig) || DEFAULT_NAMESPACE
128
+ end
129
+
133
130
  private
134
131
 
135
132
  def execute_command(command, say: true, skip_error: false)
@@ -50,6 +50,12 @@ class KubeconfigService
50
50
  .dig('context', 'cluster')
51
51
  end
52
52
 
53
+ def get_current_namespace(kubeconfig)
54
+ get_cluster_contexts(kubeconfig)
55
+ .detect { |c| c['name'] == get_current_context(kubeconfig) }
56
+ .dig('context', 'namespace')
57
+ end
58
+
53
59
  def get_cluster_contexts(kubeconfig)
54
60
  kubeconfig.fetch('contexts', [])
55
61
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Uffizzi
4
- VERSION = '2.4.8'
4
+ VERSION = '2.4.9'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uffizzi-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.8
4
+ version: 2.4.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Thurman
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2024-03-15 00:00:00.000000000 Z
12
+ date: 2024-04-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport