manageiq-appliance_console 3.1.0 → 3.2.0

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: 321a59af1bedf7724c6a91de23b21d132f721cc368a514035ff04fc137fa4736
4
- data.tar.gz: '04968551c5da4d87cc95696b4a608babc6f588b9eb14a3524b2d4791a20020ef'
3
+ metadata.gz: 4c51a1645cacd16b9f78f45db22f3a1ae65976639e4cf4b350fac41e3cb8e736
4
+ data.tar.gz: d8307195379d0abd4d7379aa02ec3d0a9a779845f801b537b62861c63153aed3
5
5
  SHA512:
6
- metadata.gz: 157cd575271810d91800e6ca1b2e7c6ef4194d7ec7bc750a40f311c1917ed526a23d8488fe8785da70605765e844b0894e019f3558b1a7138ab1ce91c222a7c9
7
- data.tar.gz: 85220ed73c634509697d25020b6f9023dd0f3c1524ec05d5bca79c9e27866b5b220c0d5f4be5b451682fcbe04ea2dd73965cebb009e34d07dd91a3e415d21940
6
+ metadata.gz: 703481bd2a07952b373444c4e1b2b7b65978341e2d6a9007ecbe66481a98b1b49122593149ce8b7b4109b7f148482e6281f090bae405112debd4c1a372bab4b2
7
+ data.tar.gz: 4a9b89883776c42b38861a371d657ffc4be786e9f109bc6a39c9c68b3df88ae4ccf701d4c0720b9dee95d28deada418ce8c2c21a25561760e6bbd3bd985791f5
@@ -102,21 +102,22 @@ module ManageIQ
102
102
  Example: 'amazon_aws_user'
103
103
  PROMPT
104
104
 
105
- @uri = ask_for_uri(*remote_file_prompt_args_for("s3"))
105
+ @filename = just_ask(*filename_prompt_args) unless action == :restore
106
+ @uri = ask_for_uri(*remote_file_prompt_args_for("s3"), :optional_path => true)
107
+ region = just_ask("Amazon Region for database file", "us-east-1")
106
108
  user = just_ask(access_key_prompt)
107
109
  pass = ask_for_password("Secret Access Key for #{user}")
108
- region = just_ask("Amazon Region for database file", "us-east-1")
110
+
111
+ params = {
112
+ :uri => uri,
113
+ :uri_username => user,
114
+ :uri_password => pass,
115
+ :aws_region => region
116
+ }
117
+ params[:remote_file_name] = filename if filename
109
118
 
110
119
  @task = "evm:db:#{action}:remote"
111
- @task_params = [
112
- "--",
113
- {
114
- :uri => uri,
115
- :uri_username => user,
116
- :uri_password => pass,
117
- :aws_region => region
118
- }
119
- ]
120
+ @task_params = ["--", params]
120
121
  end
121
122
 
122
123
  def ask_to_delete_backup_after_restore
@@ -7,10 +7,10 @@ module ApplianceConsole
7
7
  AUTH_PATH = "/authentication".freeze
8
8
 
9
9
  EXT_AUTH_OPTIONS = {
10
- "#{AUTH_PATH}/sso_enabled" => {:label => "Single Sign-On", :logic => true},
11
- "#{AUTH_PATH}/saml_enabled" => {:label => "SAML", :logic => true},
12
- "#{AUTH_PATH}/oidc_enabled" => {:label => "OIDC", :logic => true},
13
- "#{AUTH_PATH}/local_login_disabled" => {:label => "Local Login", :logic => false}
10
+ "#{AUTH_PATH}/sso_enabled" => {:label => "Single Sign-On", :logic => true},
11
+ "#{AUTH_PATH}/saml_enabled" => {:label => "SAML", :logic => true},
12
+ "#{AUTH_PATH}/oidc_enabled" => {:label => "OIDC", :logic => true},
13
+ "#{AUTH_PATH}/local_login_disabled" => {:label => "Local Login for SAML or OIDC", :logic => false}
14
14
  }.freeze
15
15
 
16
16
  include ManageIQ::ApplianceConsole::Logging
@@ -100,6 +100,8 @@ module ApplianceConsole
100
100
  configure_oidc!(params)
101
101
  elsif params.include?("/authentication/oidc_enabled=false") || params.include?("/authentication/saml_enabled=false")
102
102
  configure_none!(params)
103
+ else
104
+ params
103
105
  end
104
106
  end
105
107
 
@@ -8,28 +8,29 @@ module ApplianceConsole
8
8
  #
9
9
  # External Authentication Definitions
10
10
  #
11
- IPA_COMMAND = "/usr/bin/ipa".freeze
12
- IPA_INSTALL_COMMAND = "/usr/sbin/ipa-client-install".freeze
13
- IPA_GETKEYTAB = "/usr/sbin/ipa-getkeytab".freeze
14
-
15
- KERBEROS_CONFIG_FILE = "/etc/krb5.conf".freeze
16
-
17
- SSSD_CONFIG = "/etc/sssd/sssd.conf".freeze
18
- PAM_CONFIG = "/etc/pam.d/httpd-auth".freeze
19
- HTTP_KEYTAB = "/etc/http.keytab".freeze
20
- HTTP_REMOTE_USER = "/etc/httpd/conf.d/manageiq-remote-user.conf".freeze
21
- HTTP_EXTERNAL_AUTH = "/etc/httpd/conf.d/manageiq-external-auth.conf".freeze
11
+ IPA_COMMAND = "/usr/bin/ipa".freeze
12
+ IPA_INSTALL_COMMAND = "/usr/sbin/ipa-client-install".freeze
13
+ IPA_GETKEYTAB = "/usr/sbin/ipa-getkeytab".freeze
14
+
15
+ KERBEROS_CONFIG_FILE = "/etc/krb5.conf".freeze
16
+
17
+ SSSD_CONFIG = "/etc/sssd/sssd.conf".freeze
18
+ PAM_CONFIG = "/etc/pam.d/httpd-auth".freeze
19
+ HTTP_KEYTAB = "/etc/http.keytab".freeze
20
+ HTTP_REMOTE_USER = "/etc/httpd/conf.d/manageiq-remote-user.conf".freeze
21
+ HTTP_REMOTE_USER_OIDC = "/etc/httpd/conf.d/manageiq-remote-user-openidc.conf".freeze
22
+ HTTP_EXTERNAL_AUTH = "/etc/httpd/conf.d/manageiq-external-auth.conf".freeze
22
23
  HTTP_EXTERNAL_AUTH_TEMPLATE = "#{HTTP_EXTERNAL_AUTH}.erb".freeze
23
24
 
24
- GETSEBOOL_COMMAND = "/usr/sbin/getsebool".freeze
25
- SETSEBOOL_COMMAND = "/usr/sbin/setsebool".freeze
26
- GETENFORCE_COMMAND = "/usr/sbin/getenforce".freeze
25
+ GETSEBOOL_COMMAND = "/usr/sbin/getsebool".freeze
26
+ SETSEBOOL_COMMAND = "/usr/sbin/setsebool".freeze
27
+ GETENFORCE_COMMAND = "/usr/sbin/getenforce".freeze
27
28
 
28
- APACHE_USER = "apache".freeze
29
+ APACHE_USER = "apache".freeze
29
30
 
30
- TIMESTAMP_FORMAT = "%Y%m%d_%H%M%S".freeze
31
+ TIMESTAMP_FORMAT = "%Y%m%d_%H%M%S".freeze
31
32
 
32
- LDAP_ATTRS = {
33
+ LDAP_ATTRS = {
33
34
  "mail" => "REMOTE_USER_EMAIL",
34
35
  "givenname" => "REMOTE_USER_FIRSTNAME",
35
36
  "sn" => "REMOTE_USER_LASTNAME",
@@ -219,7 +220,11 @@ module ApplianceConsole
219
220
  end
220
221
 
221
222
  def self.config_status
222
- fetch_ipa_configuration("ipa_server") || fetch_sssd_domain || "not configured"
223
+ fetch_ipa_configuration("ipa_server") ||
224
+ fetch_sssd_domain ||
225
+ oidc_status ||
226
+ saml_status ||
227
+ "not configured"
223
228
  end
224
229
 
225
230
  def self.ipa_client_configured?
@@ -243,6 +248,14 @@ module ApplianceConsole
243
248
  config_file_read(SSSD_CONFIG)[/\[domain\/(.*)\]/, 1] if File.exist?(SSSD_CONFIG)
244
249
  end
245
250
 
251
+ def self.saml_status
252
+ "External Auth SAML" if File.exist?(HTTP_REMOTE_USER)
253
+ end
254
+
255
+ def self.oidc_status
256
+ "External Auth OpenID Connect" if File.exist?(HTTP_REMOTE_USER_OIDC)
257
+ end
258
+
246
259
  delegate :ipa_client_configured?, :config_file_read, :fetch_ipa_configuration, :config_status, :to => self
247
260
  end
248
261
  end
@@ -25,7 +25,7 @@ module ApplianceConsole
25
25
  SAMPLE_URLS[scheme]
26
26
  end
27
27
 
28
- def ask_for_uri(prompt, expected_scheme)
28
+ def ask_for_uri(prompt, expected_scheme, opts = {})
29
29
  require 'uri'
30
30
  just_ask(prompt, nil, nil, 'a valid URI') do |q|
31
31
  q.validate = lambda do |a|
@@ -36,14 +36,14 @@ module ApplianceConsole
36
36
  # validate it has a hostname/ip and a share
37
37
  u.scheme == expected_scheme &&
38
38
  (u.host =~ HOSTNAME_REGEXP || u.hostname =~ IP_REGEXP) &&
39
- !u.path.empty?
39
+ (opts[:optional_path] || !u.path.empty?)
40
40
  end
41
41
  end
42
42
  end
43
43
 
44
44
  def press_any_key
45
45
  say("\nPress any key to continue.")
46
- STDIN.noecho(&:getc)
46
+ STDIN.noecho(&:getch)
47
47
  end
48
48
 
49
49
  def clear_screen
@@ -1,5 +1,5 @@
1
1
  module ManageIQ
2
2
  module ApplianceConsole
3
- VERSION = '3.1.0'.freeze
3
+ VERSION = '3.2.0'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: manageiq-appliance_console
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ManageIQ Developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-16 00:00:00.000000000 Z
11
+ date: 2018-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord