freeipa/install
Ade Lee a25fe00c62 Add a KRA to IPA
This patch adds the capability of installing a Dogtag KRA
to an IPA instance.  With this patch,  a KRA is NOT configured
by default when ipa-server-install is run.  Rather, the command
ipa-kra-install must be executed on an instance on which a Dogtag
CA has already been configured.

The KRA shares the same tomcat instance and DS instance as the
Dogtag CA.  Moreover, the same admin user/agent (and agent cert) can
be used for both subsystems.  Certmonger is also confgured to
monitor the new subsystem certificates.

To create a clone KRA, simply execute ipa-kra-install <replica_file>
on a replica on which a Dogtag CA has already been replicated.
ipa-kra-install will use the security domain to detect whether the
system being installed is a replica, and will error out if a needed
replica file is not provided.

The install scripts have been refactored somewhat to minimize
duplication of code.  A new base class dogtagintance.py has
been introduced containing code that is common to KRA and CA
installs.  This will become very useful when we add more PKI
subsystems.

The KRA will install its database as a subtree of o=ipaca,
specifically o=ipakra,o=ipaca.  This means that replication
agreements created to replicate CA data will also replicate KRA
data.  No new replication agreements are required.

Added dogtag plugin for KRA.  This is an initial commit providing
the basic vault functionality needed for vault.  This plugin will
likely be modified as we create the code to call some of these
functions.

Part of the work for: https://fedorahosted.org/freeipa/ticket/3872

The uninstallation option in ipa-kra-install is temporarily disabled.

Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Petr Viktorin <pviktori@redhat.com>
2014-08-22 09:59:31 +02:00
..
certmonger Check that renewed certificates coming from LDAP are actually renewed. 2014-07-30 16:04:21 +02:00
conf Add a KRA to IPA 2014-08-22 09:59:31 +02:00
ffextension Kerberos authentication extension makefiles 2012-10-04 18:07:34 -04:00
html webui: remove remnants of jquery-ui 2014-06-10 10:23:22 +02:00
migration ipaplatform: Move all filesystem paths to ipaplatform.paths module 2014-06-16 19:48:20 +02:00
po Add a KRA to IPA 2014-08-22 09:59:31 +02:00
restart_scripts Add a KRA to IPA 2014-08-22 09:59:31 +02:00
share Add container for certificate store. 2014-07-30 16:04:21 +02:00
tools Add a KRA to IPA 2014-08-22 09:59:31 +02:00
ui webui: fix group type padding 2014-08-21 14:10:35 +02:00
updates User Life Cycle: create containers and scoping DS plugins 2014-08-19 09:48:20 +02:00
wsgi ipaplatform: Move all filesystem paths to ipaplatform.paths module 2014-06-16 19:48:20 +02:00
configure.ac RCUE initial commit 2014-01-21 12:04:02 +01:00
Makefile.am Change group ownership of CRL publish directory 2013-07-16 12:17:40 +02:00
README.schema Add some basic rules for adding new schema 2010-08-27 13:40:37 -04:00

Ground rules on adding new schema

Brand new schema, particularly when written specifically for IPA, should be
added in share/*.ldif. Any new files need to be explicitly loaded in
ipaserver/install/dsinstance.py. These simply get copied directly into
the new instance schema directory.

Existing schema (e.g. in an LDAP draft) may either be added as a separate
ldif in share or as an update in the updates directory. The advantage of
adding the schema as an update is if 389-ds ever adds the schema then the
installation won't fail due to existing schema failing to load during
bootstrap.

If the new schema requires a new container then this should be added
to install/bootstrap-template.ldif.