...
There must be one LDAP backend DIT for all SIMP application data.
This is distinct from the DIT containing user accounts data.
Data to be stored must include simpkv data.
Data to be stored may in the future include other application data, (e.g., IP firewall data).
The simpkv data must be a subtree of the DIT.
The simpkv subtree must support partitioning the data into LDAP backend instances.
The simpkv subtree must allow storage of per-LDAP-backend-instance global and environment-specific key/value entries.
Entries may be stored in subtrees within the LDAP instance subtree.
Each key/value entry must be a leaf node in the LDAP instance subtree.
The DistinguishedName Distinguished Name (DN) to each key/value entry throughout the entire DIT must be unique.
The JSON value of the key/value entry must be stored in some form in the key/value entry.
The key/value entry may have a single attribute containing the JSON-encoded value.
The key/value entry may have multiple attributes that map to the value’s JSON attributes.
The tree must support efficient
simpkv::get
,simpkv::exists
, andsimpkv::list
operations.Folder and/or key objects may store data in attributes to leverage LDAP search capabilities.
The simpkv LDAP plugin should nothave to retrieve the entire tree or subtree in order to fulfill any of these operations.
Any custom schema
attributeType
orobjectClass
will be specified with an Object Identifier (OID) below the official SIMP Object Identifier (OID).
...