mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
vault: select a server with KRA for vault operations
This uses the same mechanism which is used for the CA. https://fedorahosted.org/freeipa/ticket/5302 Reviewed-By: Martin Basti <mbasti@redhat.com>
This commit is contained in:
parent
b035a2a114
commit
4b381b1503
@ -167,9 +167,6 @@ DEFAULT_CONFIG = (
|
|||||||
('ca_agent_install_port', None),
|
('ca_agent_install_port', None),
|
||||||
('ca_ee_install_port', None),
|
('ca_ee_install_port', None),
|
||||||
|
|
||||||
# KRA plugin
|
|
||||||
('kra_host', FQDN), # Set in Env._finalize_core()
|
|
||||||
|
|
||||||
# Topology plugin
|
# Topology plugin
|
||||||
('recommended_max_agmts', 4), # Recommended maximum number of replication
|
('recommended_max_agmts', 4), # Recommended maximum number of replication
|
||||||
# agreements
|
# agreements
|
||||||
|
@ -1906,6 +1906,26 @@ class kra(Backend):
|
|||||||
|
|
||||||
super(kra, self).__init__(api)
|
super(kra, self).__init__(api)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def kra_host(self):
|
||||||
|
"""
|
||||||
|
:return: host
|
||||||
|
as str
|
||||||
|
|
||||||
|
Select our KRA host.
|
||||||
|
"""
|
||||||
|
ldap2 = self.api.Backend.ldap2
|
||||||
|
if host_has_service(api.env.ca_host, ldap2, "KRA"):
|
||||||
|
return api.env.ca_host
|
||||||
|
if api.env.host != api.env.ca_host:
|
||||||
|
if host_has_service(api.env.host, ldap2, "KRA"):
|
||||||
|
return api.env.host
|
||||||
|
host = select_any_master(ldap2, "KRA")
|
||||||
|
if host:
|
||||||
|
return host
|
||||||
|
else:
|
||||||
|
return api.env.ca_host
|
||||||
|
|
||||||
def get_client(self):
|
def get_client(self):
|
||||||
"""
|
"""
|
||||||
Returns an authenticated KRA client to access KRA services.
|
Returns an authenticated KRA client to access KRA services.
|
||||||
@ -1925,7 +1945,7 @@ class kra(Backend):
|
|||||||
# https://fedorahosted.org/freeipa/ticket/4557
|
# https://fedorahosted.org/freeipa/ticket/4557
|
||||||
connection = PKIConnection(
|
connection = PKIConnection(
|
||||||
'https',
|
'https',
|
||||||
api.env.kra_host,
|
self.kra_host,
|
||||||
str(self.kra_port),
|
str(self.kra_port),
|
||||||
'kra')
|
'kra')
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user