[
https://issues.apache.org/jira/browse/SLING-9898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17460885#comment-17460885
]
Stefan Seifert commented on SLING-9898:
---------------------------------------
here is an example of using the already existing
OsgiConfigurationOverrideProvider to apply caconfig via environment variables
using placeholders via the felix interpolation:
{{org.apache.sling.caconfig.impl.override.OsgiConfigurationOverrideProvider~siteconfig.cfg.json}}
{code:json}
{
"description": "Author/Publish hostnames for URL externalization",
"overrides": [
"io.wcm.handler.url.SiteConfig={\"siteUrlAuthor\":\"$[env:CMS_AEM_AUTHOR_URL;default=]\",\"siteUrl\":\"$[env:CMS_AEM_PUBLISH_URL;default=]\"}"
],
"enabled": true
}
{code}
i'm very hesitant adding interpolation support directly to caconfig. this get's
really complex for non-string data types, and we have to introduce a failsafe
and backward-compatible placeholder (and fallback) syntax. this is another
level of inheritance and fallback which makes caconfig itself even complexer
(and it's already a bit over-complex). so, i'm fine with the current solution
of "separated concerns" - interpolation from env variables is only supported in
osgi config, and we can chain that together with and override provider.
> Support interpolation in Context-Aware Configuration
> ----------------------------------------------------
>
> Key: SLING-9898
> URL: https://issues.apache.org/jira/browse/SLING-9898
> Project: Sling
> Issue Type: New Feature
> Affects Versions: Context-Aware Configuration Impl 1.5.0
> Reporter: Konrad Windszus
> Priority: Major
> Fix For: Context-Aware Configuration Impl 1.6.0
>
>
> Similar to https://issues.apache.org/jira/browse/SLING-7768 and
> https://github.com/apache/felix-dev/blob/master/configadmin-plugins/interpolation/README.md
> Context-Aware configurations should support interpolating values from at
> least environment variables.
> Although a similar behaviour could probably be achieved with a new Override
> Provider
> (https://sling.apache.org/documentation/bundles/context-aware-configuration/context-aware-configuration-override.html#built-in-override-providers),
> it would require a level of indirection.
> This feature is about directly referencing external values inside the
> Context-Aware Configuration.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)