By the way, ConfigurationPlugin is R7 so Karaf 4.3.x.

For Karaf 4.2.x, I will use the ${env} notation in cfg files using the same var 
names as working on 4.3.

Regards
JB

> Le 29 sept. 2020 à 05:56, Jean-Baptiste Onofre <j...@nanthrax.net> a écrit :
> 
> Hi,
> 
> I’ve updated the PR to use ConfigurationPlugin.
> 
> NB: when using ConfigurationPlugin, if you use configuration.getProperties() 
> you will have the default values (not interpolated). To get the actual 
> property values, you have to use configuration.getProcessedProperties(). With 
> configuration.getProcessedProperties(), you will the interpolated value.
> In order to avoid to confuse users, I also updated configRepository and 
> config:* commands to use getProcessedProperties() by default.
> 
> I’m doing a pass on other Karaf modules.
> 
> Regards
> JB
> 
>> Le 28 sept. 2020 à 11:39, Romain Manni-Bucau <rmannibu...@gmail.com> a écrit 
>> :
>> 
>> +1, I'd try to push for a built-in support -
>> (<pid>.<property_name>).toUpperCase(ROOT).replace('.', '_') - to make it
>> generic and not specific to some entries. It would also enable to not have
>> to rename these env variables or have to maintain some fallbacks.
>> What about just implementing a felix config admin configuration plugin?
>> sounds less invasive and better on the long run? Did you give it a try?
>> 
>> Romain Manni-Bucau
>> @rmannibucau <https://twitter.com/rmannibucau 
>> <https://twitter.com/rmannibucau>> |  Blog
>> <https://rmannibucau.metawerx.net/ <https://rmannibucau.metawerx.net/>> | 
>> Old Blog
>> <http://rmannibucau.wordpress.com <http://rmannibucau.wordpress.com/>> | 
>> Github <https://github.com/rmannibucau <https://github.com/rmannibucau>> |
>> LinkedIn <https://www.linkedin.com/in/rmannibucau 
>> <https://www.linkedin.com/in/rmannibucau>> | Book
>> <https://www.packtpub.com/application-development/java-ee-8-high-performance 
>> <https://www.packtpub.com/application-development/java-ee-8-high-performance>>
>> 
>> 
>> Le lun. 28 sept. 2020 à 11:12, Jean-Baptiste Onofre <j...@nanthrax.net 
>> <mailto:j...@nanthrax.net>> a
>> écrit :
>> 
>>> Fair enough (and I agree ;)).
>>> 
>>> Regards
>>> JB
>>> 
>>>> Le 28 sept. 2020 à 11:09, Grzegorz Grzybek <gr.grzy...@gmail.com> a
>>> écrit :
>>>> 
>>>> I'd stick to explicit approach for now and leave "implicit" one for
>>> later ;)
>>>> 
>>>> regards
>>>> Grzegorz Grzybek
>>>> 
>>>> pon., 28 wrz 2020 o 11:08 Jean-Baptiste Onofre <j...@nanthrax.net 
>>>> <mailto:j...@nanthrax.net> <mailto:
>>> j...@nanthrax.net <mailto:j...@nanthrax.net>>> napisał(a):
>>>> 
>>>>> Just to be clear: today I’m using an "explicit" approach, where the
>>> config
>>>>> contains something like:
>>>>> 
>>>>> sshPort=${env:KARAF_SSH_PORT:-8101}
>>>>> 
>>>>> But we can also have "implicit" approach (with some more changes
>>> required).
>>>>> 
>>>>> Regards
>>>>> JB
>>>>> 
>>>>>> Le 28 sept. 2020 à 11:07, Jean-Baptiste Onofre <j...@nanthrax.net 
>>>>>> <mailto:j...@nanthrax.net>> a
>>>>> écrit :
>>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> At beginning, I did a very simple change in Karaf Main: for instance,
>>>>> you would be able to do
>>>>>> 
>>>>>> Bin/karaf -Dpid:prop=value
>>>>>> 
>>>>>> And I init the configuration file with the value.
>>>>>> 
>>>>>> However, system properties are not super easy with docker.
>>>>>> 
>>>>>> That’s why I preferred the env variable approach.
>>>>>> 
>>>>>> Now, about env variable, I just leverage what we already have in Karaf
>>>>> (just updating the default configuration file).
>>>>>> 
>>>>>> I can do a new iteration where (in configadmin repository), I’m
>>> checking
>>>>> ALL env variables to find one matching.
>>>>>> It would mean something like:
>>>>>> 
>>>>>> $ export KARAF.MY_PID.prop=value
>>>>>> 
>>>>>> For instance.
>>>>>> 
>>>>>> We would need a "env variable format".
>>>>>> 
>>>>>> Thoughts ?
>>>>>> 
>>>>>> Regards
>>>>>> JB
>>>>>> 
>>>>>>> Le 28 sept. 2020 à 10:59, Grzegorz Grzybek <gr.grzy...@gmail.com 
>>>>>>> <mailto:gr.grzy...@gmail.com>
>>>>> <mailto:gr.grzy...@gmail.com <mailto:gr.grzy...@gmail.com> 
>>>>> <mailto:gr.grzy...@gmail.com <mailto:gr.grzy...@gmail.com>>>> a écrit :
>>>>>>> 
>>>>>>> Hello
>>>>>>> 
>>>>>>> Good idea!
>>>>>>> 
>>>>>>> Shouldn't configadmin do it by default?
>>>>>>> 
>>>>>>> Like dissect "KARAF_SSH_PORT" or similar env variables into:
>>>>>>> - prefix (KARAF_) - rejected
>>>>>>> - PID pointer (e.g., SSH → org.apache.karaf.shell)
>>>>>>> - property (e.g PORT → sshPort)
>>>>>>> ?
>>>>>>> 
>>>>>>> This way it could be done in one place... Just my random observation,
>>>>>>> because I can't dig this problem further for now ;)
>>>>>>> 
>>>>>>> regards
>>>>>>> Grzegorz Grzybek
>>>>>>> 
>>>>>>> pon., 28 wrz 2020 o 10:51 Jean-Baptiste Onofre <j...@nanthrax.net 
>>>>>>> <mailto:j...@nanthrax.net>
>>> <mailto:j...@nanthrax.net <mailto:j...@nanthrax.net>>
>>>>> <mailto:j...@nanthrax.net <mailto:j...@nanthrax.net> 
>>>>> <mailto:j...@nanthrax.net <mailto:j...@nanthrax.net>>> <mailto:
>>> j...@nanthrax.net <mailto:j...@nanthrax.net> <mailto:j...@nanthrax.net 
>>> <mailto:j...@nanthrax.net>> <mailto:j...@nanthrax.net 
>>> <mailto:j...@nanthrax.net> <mailto:
>>> j...@nanthrax.net <mailto:j...@nanthrax.net>>>>>
>>>>> napisał(a):
>>>>>>> 
>>>>>>>> Hi guys,
>>>>>>>> 
>>>>>>>> In order to easily use Karaf in docker container, I created the
>>>>> following
>>>>>>>> PR:
>>>>>>>> 
>>>>>>>> https://github.com/apache/karaf/pull/1203 
>>>>>>>> <https://github.com/apache/karaf/pull/1203> <
>>> https://github.com/apache/karaf/pull/1203 
>>> <https://github.com/apache/karaf/pull/1203>> <
>>>>> https://github.com/apache/karaf/pull/1203 
>>>>> <https://github.com/apache/karaf/pull/1203> <
>>> https://github.com/apache/karaf/pull/1203 
>>> <https://github.com/apache/karaf/pull/1203>>> <
>>>>> https://github.com/apache/karaf/pull/1203 <
>>> https://github.com/apache/karaf/pull/1203> <
>>>>> https://github.com/apache/karaf/pull/1203 <
>>> https://github.com/apache/karaf/pull/1203>>> <
>>>>>>>> https://github.com/apache/karaf/pull/1203 <
>>>>> https://github.com/apache/karaf/pull/1203> <
>>>>> https://github.com/apache/karaf/pull/1203 <
>>>>> https://github.com/apache/karaf/pull/1203>>>
>>>>>>>> 
>>>>>>>> The purpose is allow use to override some configuration properties
>>>>> using
>>>>>>>> env variables.
>>>>>>>> 
>>>>>>>> For instance, if you want to use 8102 instead of default 8101 ssh
>>> port
>>>>>>>> number, you can do:
>>>>>>>> 
>>>>>>>> $ export KARAF_SSH_PORT=8102
>>>>>>>> $ bin/karaf
>>>>>>>> 
>>>>>>>> I listed the environment variables here:
>>>>>>>> 
>>>>>>>> 
>>>>> 
>>> https://github.com/apache/karaf/blob/4eda325e73d1d7dfbc0508258bde582e93d4f05e/manual/src/main/asciidoc/user-guide/configuration.adoc
>>>  
>>> <https://github.com/apache/karaf/blob/4eda325e73d1d7dfbc0508258bde582e93d4f05e/manual/src/main/asciidoc/user-guide/configuration.adoc>
>>> <
>>> https://github.com/apache/karaf/blob/4eda325e73d1d7dfbc0508258bde582e93d4f05e/manual/src/main/asciidoc/user-guide/configuration.adoc
>>>> 
>>>>> <
>>>>> 
>>> https://github.com/apache/karaf/blob/4eda325e73d1d7dfbc0508258bde582e93d4f05e/manual/src/main/asciidoc/user-guide/configuration.adoc
>>>>>> 
>>>>>>>> <
>>>>>>>> 
>>>>> 
>>> https://github.com/apache/karaf/blob/4eda325e73d1d7dfbc0508258bde582e93d4f05e/manual/src/main/asciidoc/user-guide/configuration.adoc
>>>>> <
>>>>> 
>>> https://github.com/apache/karaf/blob/4eda325e73d1d7dfbc0508258bde582e93d4f05e/manual/src/main/asciidoc/user-guide/configuration.adoc
>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> I didn’t define environment variables for all properties. If you see
>>>>> some
>>>>>>>> properties that it would be interesting to override by env variables,
>>>>>>>> please let me know, I will update the PR.
>>>>>>>> 
>>>>>>>> NB: I will also update pax* to use similar approach.
>>>>>>>> 
>>>>>>>> Thoughts ?
>>>>>>>> 
>>>>>>>> Regards
>>>>>>>> JB
> 

Reply via email to