freeipa/install
Rob Crittenden 2f4b3972a0 Add plugin framework to LDAP updates.
There are two reasons for the plugin framework:
1. To provide a way of doing manual/complex LDAP changes without having
   to keep extending ldapupdate.py (like we did with managed entries).
2. Allows for better control of restarts.

There are two types of plugins, preop and postop. A preop plugin runs
before any file-based updates are loaded. A postop plugin runs after
all file-based updates are applied.

A preop plugin may update LDAP directly or craft update entries to be
applied with the file-based updates.

Either a preop or postop plugin may attempt to restart the dirsrv instance.
The instance is only restartable if ipa-ldap-updater is being executed
as root. A warning is printed if a restart is requested for a non-root
user.

Plugins are not executed by default. This is so we can use ldapupdate
to apply simple updates in commands like ipa-nis-manage.

https://fedorahosted.org/freeipa/ticket/1789
https://fedorahosted.org/freeipa/ticket/1790
https://fedorahosted.org/freeipa/ticket/2032
2011-11-22 23:57:10 -05:00
..
conf Revert "Always require SSL in the Kerberos authorization block." 2011-09-27 08:54:42 +02:00
html Fixed inconsistent image names. 2011-10-27 14:05:12 +00:00
migration ticket 2022 - modify codebase to utilize IPALogManager, obsoletes logging 2011-11-23 09:36:18 +01:00
po Ticket 1718 - Fix Spanish po translation file 2011-10-11 22:46:02 -04:00
share Add NT domain GUID attribute. 2011-11-21 18:52:48 -05:00
tools Add plugin framework to LDAP updates. 2011-11-22 23:57:10 -05:00
ui Fixed entity definition in test cases. 2011-11-18 15:57:00 +00:00
updates Add plugin framework to LDAP updates. 2011-11-22 23:57:10 -05:00
configure.ac Fixed inconsistent image names. 2011-10-27 14:05:12 +00:00
Makefile.am rename static to ui 2011-01-20 14:12:47 +00: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.