Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
We need a safe way to expose OSGI configuration via HTTP.
Requirements:
- all configs for a certain factory should be manageable
- they should have associated JCR nodes that contain the config properties
- only configs that are available through ConfigurationAdmin should be available
- the HTTP urls should have friendly names
- (Optional) the implementation should be general enough to be used for other configs other than replication if needed
For example: a configuration with name publish for org.apache.sling.replication.agent.impl.ReplicationAgentServiceFactory
should be mapped to /etc/replication/agent/publish
Problems with current implementation of JCR nodes created by JCR installed:
- Configuration files are read and created from /apps/.../config or /libs/.../config, and there is no easy way to determine which are active in the ConfigurationAdmin
- There is no way to restrict a repository path to create only configuration from a specified factory (making it unusable with relaxed ACLs)
- The url of a configuration is unfriendly (it contains the fully qualified name of the factory)
- The node types are not homogenous making it hard to use in a client application (some are nt:file, some are sling:OsgiConfig)