core: config: split LocalConfig to allow code reuse

EngineLocalConfig - for engine.
NotifierLocalConfig - [future] for notifier.

Change-Id: I711d045b50b172e00455125363d870a61d2d6fa9
Signed-off-by: Alon Bar-Lev <alonbl@redhat.com>
core: config: support optional properties

Change-Id: I61975ab2c6c5b72c7eb0fe85b1ccef9eb2ef8fd9
Signed-off-by: Alon Bar-Lev <alonbl@redhat.com>
core: config: support sensitive keys

do not print sensitive keys' value to log.

Change-Id: I8dc10fb3eeb1cc97a03cc160133a84d6b2a23d87
Signed-off-by: Alon Bar-Lev <alonbl@redhat.com>
core: config: provide expand string for configuration

allow to expand strings such as "${ENGINE_ETC}/config" to proper value.
handy for various of configuration locations.

Change-Id: Ic54791d7ab6faa385a153158f21555a3d8ca49da
Signed-off-by: Alon Bar-Lev <alonbl@redhat.com>
pki: move configuration from vdc_options to configuration files

root application serves pki resources, in order to support variable
location we need to be able to access these without accessing the
database.

in addition, there is no point in storing file locations within
database, as if we use cluster we have no grantee to have these at the
other node.

handling the root application is not included in this patch.

Change-Id: I1764d9ca7a8c677401f721b3d89f45deff9c1f26
Signed-off-by: Alon Bar-Lev <alonbl@redhat.com>
root: serve root customizable location resources

resources are hard coded within root's web.xml, while in development
mode and in different distributions locations may be altered.

this change resolves resource name contained variables at ${xxx}
notation using LocalConfig.

Change-Id: I94f845d36bb075c238e50606187bc22316713cdd
Signed-off-by: Alon Bar-Lev <alonbl@redhat.com>