uffizzi-cli 2.4.3 → 2.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/uffizzi/cli/install.rb +42 -15
- data/lib/uffizzi/cli/uninstall.rb +11 -1
- data/lib/uffizzi/clients/api/api_client.rb +7 -0
- data/lib/uffizzi/services/account_service.rb +5 -0
- data/lib/uffizzi/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ef83eb18cf4f320ac6b596cc3b2d9ba72b6ed5a60e90e7dc54f61fa1e042630
|
4
|
+
data.tar.gz: 0a93840aa290162c4dc58a8ff3614fac4d58d988bd5296da5614db69524d0b43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 215e24c7486176be02a14265492195334b096c20458f3ab926cb4bc76a82955f3f05f5ead2f9d812ca622a07e28d8747b580e47a8ac7f50c7a017c4674addb21
|
7
|
+
data.tar.gz: ad0e2178d3ad1d440d8b29cc2e1abc031b2ee5bdb5a6ac7119db36d287d69c7b8ae648ea817013c7fc1ad1d96dcd575ed0df956b6ed24f9da993acc41ccae577
|
data/lib/uffizzi/cli/install.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require 'uffizzi'
|
4
4
|
require 'uffizzi/config_file'
|
5
5
|
require 'uffizzi/services/kubeconfig_service'
|
6
|
+
require 'uffizzi/services/account_service'
|
6
7
|
|
7
8
|
module Uffizzi
|
8
9
|
class Cli::Install < Thor
|
@@ -10,7 +11,7 @@ module Uffizzi
|
|
10
11
|
|
11
12
|
default_task :controller
|
12
13
|
|
13
|
-
desc 'controller [
|
14
|
+
desc 'controller [HOSTNAME]', 'Install uffizzi controller to cluster'
|
14
15
|
method_option :namespace, type: :string
|
15
16
|
method_option :email, type: :string, required: true
|
16
17
|
method_option :context, type: :string
|
@@ -19,14 +20,14 @@ module Uffizzi
|
|
19
20
|
def controller(hostname)
|
20
21
|
Uffizzi::AuthHelper.check_login
|
21
22
|
|
22
|
-
InstallService.kubectl_exists?
|
23
|
-
InstallService.helm_exists?
|
23
|
+
# InstallService.kubectl_exists?
|
24
|
+
# InstallService.helm_exists?
|
24
25
|
|
25
26
|
if options[:context].present? && options[:context] != InstallService.kubeconfig_current_context
|
26
27
|
InstallService.set_current_context(options[:context])
|
27
28
|
end
|
28
29
|
|
29
|
-
ask_confirmation
|
30
|
+
ask_confirmation(options[:namespace])
|
30
31
|
|
31
32
|
uri = parse_hostname(hostname)
|
32
33
|
installation_options = build_installation_options(uri)
|
@@ -40,7 +41,12 @@ module Uffizzi
|
|
40
41
|
Uffizzi.ui.say('Helm release is deployed')
|
41
42
|
|
42
43
|
controller_setting_params = build_controller_setting_params(uri, installation_options)
|
43
|
-
|
44
|
+
|
45
|
+
if existing_controller_setting.blank?
|
46
|
+
create_controller_settings(controller_setting_params)
|
47
|
+
set_account_installation
|
48
|
+
end
|
49
|
+
|
44
50
|
Uffizzi.ui.say('Controller settings are saved')
|
45
51
|
say_success(uri)
|
46
52
|
end
|
@@ -153,16 +159,8 @@ module Uffizzi
|
|
153
159
|
update_controller_settings(existing_controller_setting[:id], controller_setting_params)
|
154
160
|
end
|
155
161
|
|
156
|
-
def ask_confirmation
|
157
|
-
msg =
|
158
|
-
'This command will install Uffizzi into the default namespace of'\
|
159
|
-
" the '#{InstallService.kubeconfig_current_context}' context."\
|
160
|
-
"\r\n"\
|
161
|
-
"To install in a different place, use options '--namespace' and/or '--context'."\
|
162
|
-
"\r\n\r\n"\
|
163
|
-
"After installation, new environments created for account '#{account_name}' will be deployed to this host cluster."\
|
164
|
-
"\r\n\r\n"
|
165
|
-
|
162
|
+
def ask_confirmation(namespace)
|
163
|
+
msg = namespace.present? ? custom_namespace_installation_message(namespace) : default_installation_message
|
166
164
|
Uffizzi.ui.say(msg)
|
167
165
|
|
168
166
|
question = 'Okay to proceed?'
|
@@ -189,6 +187,15 @@ module Uffizzi
|
|
189
187
|
response.dig(:body, :controller_settings)
|
190
188
|
end
|
191
189
|
|
190
|
+
def set_account_installation
|
191
|
+
params = {
|
192
|
+
installation_type: AccountService::SELF_HOSTED_CONTROLLER_INSTALLATION_TYPE,
|
193
|
+
}
|
194
|
+
|
195
|
+
response = update_account(server, account_name, params)
|
196
|
+
Uffizzi::ResponseHelper.handle_failed_response(response) unless Uffizzi::ResponseHelper.ok?(response)
|
197
|
+
end
|
198
|
+
|
192
199
|
def update_controller_settings(controller_setting_id, params)
|
193
200
|
response = update_account_controller_settings(server, account_id, controller_setting_id, params)
|
194
201
|
Uffizzi::ResponseHelper.handle_failed_response(response) unless Uffizzi::ResponseHelper.ok?(response)
|
@@ -248,5 +255,25 @@ module Uffizzi
|
|
248
255
|
def existing_controller_setting
|
249
256
|
@existing_controller_setting ||= fetch_controller_settings[0]
|
250
257
|
end
|
258
|
+
|
259
|
+
def default_installation_message
|
260
|
+
"\r\n"\
|
261
|
+
"This command will install Uffizzi into the 'default' namespace of"\
|
262
|
+
" the '#{InstallService.kubeconfig_current_context}' context."\
|
263
|
+
"\r\n"\
|
264
|
+
"To install in a different place, use options '--namespace' and/or '--context'."\
|
265
|
+
"\r\n\r\n"\
|
266
|
+
"After installation, new environments created for account '#{account_name}' will be deployed to this host cluster."\
|
267
|
+
"\r\n\r\n"
|
268
|
+
end
|
269
|
+
|
270
|
+
def custom_namespace_installation_message(namespace)
|
271
|
+
"\r\n"\
|
272
|
+
"This command will install Uffizzi into the '#{namespace}' namespace of"\
|
273
|
+
" the '#{InstallService.kubeconfig_current_context}' context."\
|
274
|
+
"\r\n\r\n"\
|
275
|
+
"After installation, new environments created for account '#{account_name}' will be deployed to this host cluster."\
|
276
|
+
"\r\n\r\n"
|
277
|
+
end
|
251
278
|
end
|
252
279
|
end
|
@@ -11,7 +11,7 @@ module Uffizzi
|
|
11
11
|
|
12
12
|
default_task :controller
|
13
13
|
|
14
|
-
desc 'controller [
|
14
|
+
desc 'controller [HOSTNAME]', 'Install uffizzi controller to cluster'
|
15
15
|
method_option :namespace, type: :string
|
16
16
|
method_option :context, type: :string
|
17
17
|
def controller
|
@@ -26,6 +26,7 @@ module Uffizzi
|
|
26
26
|
|
27
27
|
ask_confirmation
|
28
28
|
delete_controller_settings
|
29
|
+
unset_account_installation
|
29
30
|
InstallService.helm_uninstall!(namespace)
|
30
31
|
|
31
32
|
helm_unset_repo
|
@@ -75,6 +76,15 @@ module Uffizzi
|
|
75
76
|
end
|
76
77
|
end
|
77
78
|
|
79
|
+
def unset_account_installation
|
80
|
+
params = {
|
81
|
+
installation_type: nil,
|
82
|
+
}
|
83
|
+
|
84
|
+
response = update_account(server, account_name, params)
|
85
|
+
Uffizzi::ResponseHelper.handle_failed_response(response) unless Uffizzi::ResponseHelper.ok?(response)
|
86
|
+
end
|
87
|
+
|
78
88
|
def namespace
|
79
89
|
options[:namespace] || InstallService::DEFAULT_NAMESPACE
|
80
90
|
end
|
@@ -87,6 +87,13 @@ module ApiClient
|
|
87
87
|
build_response(response)
|
88
88
|
end
|
89
89
|
|
90
|
+
def update_account(server, account_name, params)
|
91
|
+
uri = account_uri(server, account_name)
|
92
|
+
response = http_client.make_put_request(uri, params)
|
93
|
+
|
94
|
+
build_response(response)
|
95
|
+
end
|
96
|
+
|
90
97
|
def create_project(server, account_id, params)
|
91
98
|
uri = create_projects_uri(server, account_id)
|
92
99
|
response = http_client.make_post_request(uri, params)
|
data/lib/uffizzi/version.rb
CHANGED
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.
|
4
|
+
version: 2.4.5
|
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:
|
12
|
+
date: 2024-02-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -450,6 +450,7 @@ files:
|
|
450
450
|
- lib/uffizzi/helpers/project_helper.rb
|
451
451
|
- lib/uffizzi/promt.rb
|
452
452
|
- lib/uffizzi/response_helper.rb
|
453
|
+
- lib/uffizzi/services/account_service.rb
|
453
454
|
- lib/uffizzi/services/cluster/common_service.rb
|
454
455
|
- lib/uffizzi/services/cluster/create_service.rb
|
455
456
|
- lib/uffizzi/services/cluster/delete_service.rb
|